Overview / Brain
One shared vault · markdown · self-hosted

AgentiBrain.

The closed-loop vault.

"Where the workforce remembers what it learned today, so it doesn't relearn tomorrow."

The closed loop

Not a static memory. A vault that thinks.

Agents emit markers as they work@lesson for non-obvious learnings, @milestone for deliverables, @signal for things broken or at risk, @decision for architectural choices. The AgentiHooks brain-adapter scans the agent's output and posts every marker to the brain via POST /marker.

A tick engine runs every ~2 hours. It clusters raw markers into Arcs (hot focus blocks the brain remembers), runs LLM-assisted synthesis on each arc, scores arc heat, decays cold ones, and consolidates the long-term knowledge.

The brain broadcasts back. AgentiHooks pulls /feed + /signal from the kb-router and publishes onto the broadcast channel. Every active session receives the latest fleet knowledge on its next UserPromptSubmit — never stale by more than one turn.

Why it matters. A lesson learned by core-03 at 14:00 lands in spec-01's next prompt. The whole workforce learns at once.

@lesson non-obvious learnings the agent picked up
@milestone a block, task, or deliverable is done
@signal something is broken, at risk, or needs attention
@decision an architectural choice was made
~2h tick cluster · synthesise · decay · broadcast

Five services. One markdown vault.

Self-hosted on a laptop (Docker Compose) or Kubernetes (six Helm charts). Bring your own LLM, your own embeddings, your own vault path. No SaaS lock-in.

🔗

kb-router :8103

Brain HTTP contract: /feed, /signal, /marker, /tick, /ingest. Federated search across the vault. Bearer-auth. The single endpoint every agent talks to.

HTTP API
📁

obsidian-reader :8101

Read-only access to the vault: list, read, search, bounded inbox writes. The vault is plain markdown — open it in Obsidian and edit it by hand any time.

Vault access
🧮

embeddings :8102

pgvector wrapper exposing /embed and /search behind an OpenAI-compatible interface. Bring any embedding model that speaks OpenAI's protocol.

Semantic
🔧

mcp :8104

MCP retrieval tools: kb_search, kb_brief, brain_search_arcs, brain_get_arc. The brain becomes an MCP server every Claude Code session can call directly.

MCP server
⏲️

tick-engine

Hybrid 2-hour tick: deterministic clustering of raw markers + optional LLM synthesis to consolidate arcs. Runs as a CronJob on Kubernetes or a scheduled service on Docker Compose.

Cron
🚨

amygdala

Sub-system that promotes severity-nuclear signals into a fleet-wide alert. Overrides everything — even quiet broadcasts. The brain's reflex arc for "halt non-critical work, the operator needs to know now".

Alarm bus
Arcs

The brain works in arcs — because so do we.

An Arc is the operator's term for an obsessive, multi-day focus block where real work happens — an afternoon to two days of hyper-focus on a feature, a refactor, a key piece of the system. Each arc has its own mission, its own identity, its own compartment.

The agentibrain-kernel reifies arcs in software: hot arcs live in the vault, get heat-scored each tick, decay when cold, get synthesised into long-term knowledge. The fleet boots aware of the arcs that matter.

Arcs are higher-order than sessions and tasks. A session is one Claude Code transcript. A task is a one-shot dispatch job. An arc spans many sessions and many tasks — it's the *theme*, the obsession, the through-line you keep coming back to this week.

"Your AI fleet remembers what you're obsessed with this week, not just what you typed five minutes ago."

HOT ARCS · brain feed LIVE

From: brain-adapter · To: every active agent

Active focus blocks ranked by heat — injected on next UserPromptSubmit.

2026-05-03 9705e5e1 · heat 4 2026-04-29 7242ddf3 · heat 3 2026-04-28 9705e5e1 · heat 3 2026-04-26 8425afcc · heat 3

Filesystem-first. No proprietary store.

The vault is a directory of markdown files you can git clone, open in Obsidian, search with grep, edit with vim. Postgres + pgvector accelerate semantic search; Redis carries the broadcast streams; everything else is plain text on disk.

📝

It's just markdown.

Inspectable, diffable, durable

Every arc, every signal, every lesson is a markdown file in a folder. find works. grep works. git diff works. If the brain service falls over, the vault is still there. If you want to back it up, rsync the folder. If you want to leave the platform, your knowledge moves with you.

🌐

Self-hosted, no telemetry.

Your knowledge stays on your machine

The brain doesn't phone home. There's no SaaS sidecar, no analytics pixel, no opt-out flag. Bring your own LLM (Ollama, OpenAI, LiteLLM gateway). Bring your own embeddings. Bring your own storage. The whole pipeline is open source and inspectable.

⚙️

Two install paths, one contract.

Laptop or Kubernetes — same HTTP API

Docker Compose for laptop and headless servers (8 containers come up with one command). Six Helm charts for Kubernetes (kb-router, obsidian-reader, embeddings, mcp, brain-cron, optional brain-keeper). Same five services, same HTTP contract, same vault layout. Migrate from one to the other without changing a line of agent code.

One brain. Every agent. Real time.

Self-hosted. Filesystem-first. The workforce's institutional memory, on a clock.

Read the AgentiBrain docs
git clone agentibrain-kernel && docker compose up -d