Repository
The source, crate by crate.
12 workspace crates, 3 apps, 50+ built-in tools, and a Rust CLI — everything in one public repository at github.com/yakushevhk/Fathom.
01Workspace
12 crates, one binary
Cargo workspace with resolver 2. Each crate is a focused module — together they compile into a single fathom binary, plus optional apps.
Shared types, config, error handling, event bus (IrcBus), session management, tool trait, token accounting, async jobs, daemon registry, and capability definitions. Foundation every other crate depends on.
Streaming LLM provider abstraction. Provider factory (DeepSeek, OpenAI-compatible), concurrency-limited dispatch, retry with backoff, token-aware response streaming.
Agent runtime: hierarchical agent loop, coordinator with fan-out, budget tracking, context compaction, doom-loop detection, process manager, task tree, goal mode with reflection, lifecycle hooks, and crash recovery.
50+ built-in tools: web search/fetch/crawl, file I/O, shell, Python/Node REPL, Git, PDF, LSP, browser CDP, computer use, OSINT extraction, email/social verification, CRM sync, memory, hub coordination, and spawn agent.
Model Context Protocol client and server. Client connects to external MCP servers over stdio or HTTP, discovers tools dynamically. Server exposes Fathom's tool registry to any MCP-compatible host.
SQLite/PostgreSQL persistence layer: sessions, agents, messages, findings, contacts, credentials, coworkers, channels, schedules, jobs, replay logs, and file history.
Semantic memory: append-only knowledge base with hybrid vector + BM25 search, entity graph, secret scanning, 5-outcome absorb pipeline, distillation, and automatic garbage collection.
Axum HTTP server: REST API for sessions, agents, jobs, memory, governance, credentials, coworkers, schedules, computer relay, and SSE event streaming. Prometheus metrics and AG-UI compatibility.
Ratatui-based terminal interface: live agent tree, streaming output, event log, memory and jobs panels, approval flow, session replay, and mid-run steering.
Language Server Protocol integration. Auto-detects language servers (rust-analyzer, pyright, typescript-language-server), manages installations, and exposes code intelligence tools.
Policy engine: capability-based governance, approval gates, tool allow/deny lists, supervisor integration, and session-bound policy enforcement.
Supervisor runtime: lifecycle management, cross-session coordination, daemon oversight, and top-level process supervision.
02Layers
How the crates connect
03Apps
Three companion apps
Playwright-based browser automation relay. Runs as a sidecar service, exposes a CDP-like API for the browser_* and computer_* tools. Docker image available.
Tauri v2 desktop wrapper. Bundles the web dashboard into a native window with system tray, notifications, and auto-launch. Built with React + TypeScript.
Next.js 16 dashboard. Session monitoring, agent tree, memory stats, jobs management, live events, governance console, and coworker management. Talks to the server API.
04Website
This site
47 pages across two builds: the marketing site (Astro 7, 30+ pages, i18n en/ru, Three.js visualizations) and technical documentation (MDX content collection). Deployed at fathom.uz.
Astro 7 marketing site. Pages, components, i18n translations, Three.js scenes (orb, ocean, hero field), blog posts, agent pages, docs layout.
Technical whitepaper and slide deck: architecture, agent runtime, tools, multi-agent, orchestration, business model, benchmarks. HTML slides with custom CSS.
Crate-level documentation: architecture decisions, API reference, configuration, deployment guides, OSINT pipeline, troubleshooting, and memory system docs.
05Stack
Dependencies & runtime
Browse the full source
Every crate, every tool, every test — open in one repository.