How watchfire-io/watchfire works
Watchfire is a local-first AI coding-agent orchestrator: users register projects, define context and tasks, launch isolated agent runs, then monitor and review results. Its desktop, CLI/TUI, Telegram bridge, and MCP server expose overlapping controls over a daemon that owns project, task, agent, and integration services. The README documents the major workflows; sampled source confirms selected daemon, GUI, and MCP relationships. Unsampled subsystem links are omitted where their callers could not be verified.
Main entry points: server/server.go Daemon RPC Server · agent/manager.go Agent Manager · task/manager.go Task Manager · mcpserver/server.go MCP Tool Server
Components 23
User Interfaces
- Desktop Views
gui/src/renderer/src/App.tsx - GUI gRPC Client
gui/src/renderer/src/lib/grpc-client.ts - CLI Commands
internal/cli/root.go - Terminal UI
internal/tui/tui.go
Daemon Core
- Daemon RPC Server
internal/daemon/server/server.go - Project Manager
internal/daemon/project/manager.go - Task Manager
internal/daemon/task/manager.go - Project and Task Files
internal/config/tasks.go
Agent Execution
- Agent Manager
internal/daemon/agent/manager.go - Agent Backends
internal/daemon/agent/backend/backend.go - Git Worktrees
internal/daemon/agent/worktree.go - Live Agent Sessions
internal/daemon/agent/process.go
Remote Control
- Telegram Bridge
internal/daemon/telegram/bridge.go - Inbound Integrations
internal/daemon/echo/server.go - Event Relay
internal/daemon/relay/dispatcher.go - MCP Tool Server
internal/mcpserver/server.go
Review and Context
- Insights and Digests
internal/daemon/insights/project.go - Diff and Branch Review
internal/daemon/diff/diff.go - Project Context
internal/cli/definition.go
Other components
- Operator
- MCP Client Agent
- Telegram Service
- Chat and Webhook Services
Connections 25
- Operator → Desktop Views: manages projects
README.md - Desktop Views → GUI gRPC Client: requests daemon data
- GUI gRPC Client → Daemon RPC Server: sends gRPC
- Operator → CLI Commands: runs commands
README.md - Operator → Terminal UI: supervises runs
README.md - Daemon RPC Server → Project Manager: dispatches project work
internal/daemon/server/server.go - Daemon RPC Server → Task Manager: dispatches task work
internal/daemon/server/server.go - Daemon RPC Server → Agent Manager: dispatches agent work
internal/daemon/server/server.go - Project Manager → Project and Task Files: registers projects
internal/daemon/project/manager.go - Task Manager → Project and Task Files: saves tasks
internal/daemon/task/manager.go - Operator → Project Context: defines context
README.md - Operator → Task Manager: creates scoped tasks
README.md - Agent Manager → Agent Backends: starts agents
internal/daemon/agent/manager.go - Agent Manager → Git Worktrees: isolates runs
README.md - Agent Manager → Live Agent Sessions: manages sessions
internal/daemon/agent/manager.go - Operator → MCP Tool Server: requests factory tools
README.md - MCP Client Agent → MCP Tool Server: calls tools
README.md - MCP Tool Server → Daemon RPC Server: translates to RPC
internal/mcpserver/server.go - Operator → Telegram Bridge: pairs and supervises
README.md - Telegram Bridge → Telegram Service: polls and replies
README.md - Daemon RPC Server → Inbound Integrations: registers handlers
internal/daemon/server/server.go - Inbound Integrations → Chat and Webhook Services: receives events
- Daemon RPC Server → Event Relay: dispatches notifications
- Operator → Insights and Digests: reviews activity
README.md - Operator → Diff and Branch Review: reviews agent changes
README.md