CodeDocs Vault

Tech stack

Languages & runtime

Frontend

Backend (daemon)

Desktop / packaged

Agent transport protocols

The daemon supports five distinct stream formats, one per family of CLIs:

Format Used by Parser
claude-stream-json Claude Code apps/daemon/src/claude-stream.ts
copilot-stream-json GitHub Copilot CLI apps/daemon/src/copilot-stream.ts
acp-json-rpc (Agent Client Protocol) Devin, Hermes, Kimi, Kiro apps/daemon/src/acp.ts
pi-rpc Pi (mariozechner/pi-ai) apps/daemon/src/pi-rpc.ts
json-event-stream Codex, Gemini, OpenCode, Cursor Agent apps/daemon/src/json-event-stream.ts
plain (fallback) Qwen and any other apps/daemon/src/json-event-stream.ts

Each maps the CLI's native event shape onto a unified { type: 'text_delta' | 'thinking_delta' | 'tool_use' | 'tool_result' | 'status' | 'usage' | 'done', … } event the browser consumes via SSE.

Media providers

apps/daemon/src/media-models.ts and media.ts describe a provider router dispatching to:

Provider Surfaces Notes
OpenAI image (gpt-image-2/1, dall-e-3), audio (gpt-4o-mini-tts) Auto-detects Azure OpenAI by base URL. Sync.
Volcengine (ByteDance) image (Seedream), video (Seedance 2.0 t2v / i2v with audio) Async task polling.
xAI Grok image, video, audio (grok-imagine-*) Hybrid sync + async.
HyperFrames video (HTML→MP4) Local renderer, no API key.
Stubs (intentional) placeholder generators Gated by OD_MEDIA_ALLOW_STUBS=1; otherwise 503.

Deployment

Why these picks (where the source/docs hint at it)