Minnie

Minnie waltd -- AI Proxy Service

FastAPI waltd proxy -- Anthropic API shim to Kevin via Tailscale + HolonEnvelope + cost stats tray.

Minnie waltd -- AI Proxy Service (v2026-08-02T101544Z-ab2bbdebf5) 2026-08-01 | FastAPI waltd proxy -- Anthropic API shim to Kevin via Tailscale + HolonEnvelope + cost stats tray. 1 - REQUEST HANDLING FastAPI app GET /health POST /v1/messages POST /api/ai/dispatch _anthropic_to_envelope _extract_prompt(body) HolonEnvelope creation KevinProxy dispatch(envelope) request envelope 2 - STATUS POLLING _fetch_status GET /status FastAPI app GET /status status request 3 - TRAY ICON _build_menu_items _fetch_status() menu item creation pystray Icon update_menu(icon) setup(icon) status data 1. FastAPI app receives request 2. _anthropic_to_envelope crea… 3. KevinProxy dispatches envel… 4. Kevin responds with result 5. _kevin_to_anthropic convert… 6. FastAPI app returns respons… HolonEnvelope creation payload { "job_id": "uuid4()", "product": "minnie", "task_type": "ai_query", "prompt": "_extract_prompt(body)", "context": "{...}", "source_filename": "job_id.json", "source_format": "anthropic_messages" } Kevin response payload { "output": "response text", "usage": { "input_tokens": 100, "output_tokens": 200 }, "cost_usd": 0.05, "saved_usd": 0.03, "provider": "openai" } KevinProxy dispatches requests over Tailscale with encryption and HMAC signing. Tray icon polls status every 30 seconds and updates menu items. Legend actor = initiates work · process = code path · store = state on disk · bus = durable queue · dashed = separate process cyan = request flow · pink = state read/write · dashed green = pull / return path · red = refusal

Provenance

This drawing is generated, not drawn. It is rebuilt from the source files below, so when they change the picture changes — a diagram here cannot quietly describe a system that no longer works this way.

Owner
Minnie
Slug
minnie-waltd
Rendered
2026-08-02T101544Z
From commit
ab2bbdebf5
Watches
5 paths
  • apps/minnie/waltd.py
  • apps/minnie/tray.py
  • apps/sibyl/daemon/kevin_proxy.py
  • apps/sibyl/daemon/tailnet_connector.py
  • apps/sibyl/ingestion/holon_envelope.py