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.

pr-corecrates/core

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.

configsessionagenttooleventfindingprofiletokenirc
pr-llmcrates/llm

Streaming LLM provider abstraction. Provider factory (DeepSeek, OpenAI-compatible), concurrency-limited dispatch, retry with backoff, token-aware response streaming.

providerdeepseekconcurrencyretry
pr-agentcrates/agent

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.

coordinatorruntimecompactionhooksreflectionresumeipc
pr-toolscrates/tools

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.

searchwebcrawlextractverify_emailbrowsercomputergithubspawn
pr-mcpcrates/mcp

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.

clientserverbridge
pr-persistencecrates/persistence

SQLite/PostgreSQL persistence layer: sessions, agents, messages, findings, contacts, credentials, coworkers, channels, schedules, jobs, replay logs, and file history.

contactsjobscoworkersschedulescredentialsreplaypg
pr-memorycrates/memory

Semantic memory: append-only knowledge base with hybrid vector + BM25 search, entity graph, secret scanning, 5-outcome absorb pipeline, distillation, and automatic garbage collection.

absorbsearchgraphembeddistillgcsecrets
pr-servercrates/server

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.

authaguimetricsjobs_apimemory_apigovernance_api
pr-tuicrates/tui

Ratatui-based terminal interface: live agent tree, streaming output, event log, memory and jobs panels, approval flow, session replay, and mid-run steering.

appuieventstreaming
pr-lspcrates/lsp

Language Server Protocol integration. Auto-detects language servers (rust-analyzer, pyright, typescript-language-server), manages installations, and exposes code intelligence tools.

clientdetectinstalltool
pr-governancecrates/governance

Policy engine: capability-based governance, approval gates, tool allow/deny lists, supervisor integration, and session-bound policy enforcement.

lib
pr-supervisorcrates/supervisor

Supervisor runtime: lifecycle management, cross-session coordination, daemon oversight, and top-level process supervision.

lib

02Layers

How the crates connect

CLI
fathom binary
↓
Interfaces
pr-serverpr-tuipr-mcp
↓
Orchestration
pr-agentpr-toolspr-lsp
↓
Persistence
pr-persistencepr-memory
↓
Foundation
pr-corepr-llmpr-governancepr-supervisor

03Apps

Three companion apps

apps/computer

Playwright-based browser automation relay. Runs as a sidecar service, exposes a CDP-like API for the browser_* and computer_* tools. Docker image available.

TypeScriptPlaywrightNode.js
apps/desktop

Tauri v2 desktop wrapper. Bundles the web dashboard into a native window with system tray, notifications, and auto-launch. Built with React + TypeScript.

Tauri v2ReactRust
apps/web

Next.js 16 dashboard. Session monitoring, agent tree, memory stats, jobs management, live events, governance console, and coworker management. Talks to the server API.

Next.js 16ReactTypeScript

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.

website/

Astro 7 marketing site. Pages, components, i18n translations, Three.js scenes (orb, ocean, hero field), blog posts, agent pages, docs layout.

Astro 7MDXThree.jsi18n
whitepaper/

Technical whitepaper and slide deck: architecture, agent runtime, tools, multi-agent, orchestration, business model, benchmarks. HTML slides with custom CSS.

HTMLCSS
docs/

Crate-level documentation: architecture decisions, API reference, configuration, deployment guides, OSINT pipeline, troubleshooting, and memory system docs.

Markdown

05Stack

Dependencies & runtime

Language
Rust 2021 edition · MSRV 1.97
Async
tokio (full) · tokio-util · futures
HTTP
reqwest (rustls) · axum · SSE
CLI
clap (derive) · ratatui · crossterm
Database
rusqlite (WAL) · tokio-postgres · deadpool
Serialization
serde · serde_json · toml · schemars
LLM
OpenAI-compatible · DeepSeek · streaming · tiktoken-rs
Parsing
scraper · quick-xml · lopdf · phonenumber
Protocols
MCP client/server · LSP · SSE · CDP
License
Elastic License 2.0

Browse the full source

Every crate, every tool, every test — open in one repository.