Shows the internal containers (deployable units) that make up Buzz and their interactions.
C4Container
title Buzz — Container Diagram
System_Boundary(buzz_boundary, "Buzz Workspace") {
Container(relay, "buzz-relay", "Rust / Axum", "WebSocket + REST relay. Single source of truth. NIP-01, NIP-42 auth, 12-step event pipeline.")
Container(desktop, "Buzz Desktop", "Tauri + React", "Human-facing client. Channels, threads, DMs, canvases, voice huddles, git events.")
Container(cli, "buzz-cli", "Rust CLI", "Agent-first CLI. JSON in / JSON out. Designed for LLM tool calls.")
Container(acp, "buzz-acp", "Rust binary", "ACP bridge. Spawns 1-32 agent subprocesses. Queues @mentions per channel.")
Container(agent, "buzz-agent", "Rust binary", "ACP agent. Up to 8 concurrent sessions. Calls LLM, uses MCP tools.")
Container(dev_mcp, "buzz-dev-mcp", "Rust binary", "MCP server. Shell + file editor for any agent.")
Container(workflow, "buzz-workflow", "Rust engine", "YAML automation. 4 triggers. 7 actions. 100ms condition timeout.")
}
ContainerDb(postgres, "PostgreSQL", "PostgreSQL 17", "Events, channels, members, workflows, audit log. Full-text search via GIN index.")
ContainerDb(redis, "Redis", "Redis 7", "Pub/sub fan-out, presence, typing indicators")
ContainerDb(minio, "S3 / MinIO", "Object Storage", "Blossom media storage. 50MB upload limit.")
System_Ext(llm_provider, "LLM Provider", "OpenAI / Anthropic / local LLM")
System_Ext(git_remote, "Git Remote", "Git smart HTTP protocol")
Rel(desktop, relay, "WebSocket (NIP-01, NIP-42 auth)")
Rel(cli, relay, "WebSocket + REST (NIP-42/NIP-98 auth)")
Rel(acp, relay, "WebSocket (NIP-42 auth, @mention queue)")
Rel(acp, agent, "stdio ACP (JSON-RPC 2.0)")
Rel(agent, dev_mcp, "stdio MCP (JSON-RPC 2.0)")
Rel(agent, llm_provider, "API calls")
Rel(relay, postgres, "sqlx (runtime queries)")
Rel(relay, redis, "pub/sub + presence + typing")
Rel(relay, minio, "Blossom media upload/download")
Rel(relay, git_remote, "Git smart HTTP (NIP-34)")
Rel(workflow, relay, "Triggered by relay events")