Self-hosted multi-agent AI system with persistent memory, Signal messaging, and a web UI.
Privacy-first. Runs on commodity hardware. No cloud dependencies beyond your LLM API key.
Quickstart · Configuration · Architecture · Architecture Guide · Technology · Data · Network · Packs · Vendoring · Releasing
Multiple AI agents working in concert with a human operator. Each agent has character, memory, and domain expertise. They persist understanding across sessions, coordinate through shared infrastructure, and evolve through use.
Not a chatbot framework. A distributed cognition system.
Aletheia is being rewritten in Rust. The target is a single static binary replacing the current Node.js gateway, Python memory sidecar, and shell scripts. The TypeScript runtime still runs production while the Rust crates reach feature parity.
Web UI (Svelte 5) Signal Messenger
| |
HTTP/SSE signal-cli (JSON-RPC)
| |
+----------+---------------+
|
+--------------+
| Gateway | Session management, tool execution,
| (:18789) | message routing, context assembly
+--------------+
/ | | \
Bindings (per-agent routing)
/ | | \
+------+ +------+ +------+ +------+
| nous | | nous | | nous | | nous | N agents, each with:
+------+ +------+ +------+ +------+ - SOUL.md (character)
| | | | - workspace files
v v v v - persistent memory
Claude Claude Claude Claude
See ARCHITECTURE.md for the full dependency graph and trait boundaries.
| Layer | Crates |
|---|---|
| Leaf | koina (errors, tracing), symbolon (auth) |
| Low | taxis (config), hermeneus (LLM), mneme (memory + embedded DB engine), organon (tools), agora (channels), melete (distillation) |
| Mid | nous (agent pipeline) |
| High | pylon (HTTP gateway) |
| Top | aletheia (binary entrypoint) |
Modules following the same Greek naming: koina, taxis, mneme, hermeneus, organon, nous, melete, symbolon, dianoia, agora, semeion, pylon, prostheke, daemon, portability.
Models: Anthropic (OAuth or API key). Complexity-based routing. Memory: Mem0 (Qdrant + Neo4j + Haiku extraction) for cross-agent long-term memory. SQLite for sessions. Observability: Optional self-hosted Langfuse.
git clone https://github.com/forkwright/aletheia.git && cd aletheia
./setup.sh # builds, installs CLI, opens browser
aletheia start # from next time onFull setup guide · Production deployment
Every name follows a deliberate naming philosophy. Greek provides precision where English flattens: nous over "agent" because these are minds, not tools. Mneme over "store" because memory is the function, not the container. See ALETHEIA.md for the manifesto, gnomon.md for the naming system.
Each agent has a workspace under nous/ with character, operations, and memory files. See nous/_example/ for a template, WORKSPACE_FILES.md for the full reference.
- Web UI - Svelte 5 at
/ui. Streaming, file upload, syntax highlighting, thinking visualization. - Signal - 15
!commands.!helpfor the list. - CLI -
aletheia helpfor the full command reference. - API - REST on port 18789. See ARCHITECTURE.md.
| Service | Port | Required |
|---|---|---|
| aletheia | 18789 | Yes |
| signal-cli | 8080 | For Signal |
| aletheia-memory | 8230 | Recommended |
| qdrant | 6333 | If using Mem0 |
| neo4j | 7474/7687 | If using Mem0 |
| langfuse | 3100 | Optional |
No telemetry. No phone-home. No analytics, crash reports, or beacon requests.
The only outbound connections are to services you explicitly configure (LLM provider, Signal). Everything else stays on your machine. See DATA.md for the data inventory, NETWORK.md for every network call the binary makes.
AGPL-3.0 (runtime) + Apache-2.0 (SDK/client). See LICENSING.md.