Talamus
Your AI agent forgets why a decision was made as soon as the session ends.
Talamus turns agent sessions, documents, notes, repos, and URLs into local, source-grounded Markdown memory that the next session can search and cite.
Markdown stays the source of truth. Search and graph stay on your machine. No hosted account or required embeddings.
Try the whole local retrieval loop first — no setup, account, LLM, or hook:
pipx install "talamus[mcp]"
talamus demo
talamus search "embedding"
talamus read "Embedding"
If local, inspectable agent memory should stay discoverable, click Star at the top of this page. It is the clearest signal that Talamus is worth maintaining in public.
Talamus is an open-source project by Ampres, an independent AI and open-source lab.
Connect an agent in 60 seconds
Copy-pasteable arc, with the reproducible version in scripts/demo/run_magic.py:
-
Set up the project brain.
talamus setupinitializes the brain, chooses an engine, installs MCP for Claude Code, Cursor, Codex, OpenCode, and OpenClaw when detected, asks once before installing the session-capture hook, and can probe the engine with one tiny live call.talamus setup -
Your agent session ends. The consented hook reads the transcript and git diff, applies the worth-remembering gate, writes only useful memory into this brain, and audits the event at
.talamus/logs/capture.log. -
A fresh session asks what happened and gets an answer from real notes, with sources.
talamus recall "why did we choose FTS5?" talamus ask "why did we choose FTS5?"
-
Reproduce the scripted demo without spending LLM calls, or run it with your real engine.
python scripts/demo/run_magic.py --fake python scripts/demo/run_magic.py --keep --engine claude-cli
What is different
TIME: notes have version history, facts have valid-time windows, and talamus ask --as-of 2026-01 answers from the brain as it was.
MEANING: the ontology is induced from evidence, versioned, promoted by measured rules, and used to cluster and route the brain.
VERIFIABILITY: every note carries provenance; talamus verify proposes corrections to review, and answers cite the notes they used.
Measured comparison
The one-screen benchmark is rendered at docs/benchmarks.md and committed at benchmarks/results/one-screen.md. Every number below traces to a committed artifact under benchmarks/results/.
| corpus | metric | Talamus | BM25 | MiniLM vector DB |
|---|---|---|---|---|
| SciFact, English-only turf | recall@10 | 0.797 | 0.776 | 0.783 |
| SciFact, English-only turf | nDCG | 0.664 | 0.652 | 0.645 |
| Book, cross-language + vague | hit@10 | 0.971 | 0.829 | 0.743 |
| Book, cross-language + vague | recall@10 | 0.929 | 0.771 | 0.700 |
Also measured in committed artifacts: −97.7% tokens per answer versus loading the brain into context, refusal 1.000 on out-of-scope questions, and search latency p95 72.6 ms at 10k notes / p50 624 ms at 100k.
The honest part: retrieval quality tracks the LLM you bring. With a strong expansion engine, talamus-smart leads a strong multilingual dense model (multilingual-e5) on every metric including ranking (nDCG 0.847 vs 0.837); with a weak or free one, e5 leads ranking while Talamus keeps the best hit/recall — and on a slow local engine, plain search beats --smart outright. Every number traces to a committed artifact; the losses stay on the table.
Engines
Bring the LLM you already have: claude-cli, codex-cli, antigravity-cli (agy), opencode, ollama, or anthropic-api.
Quickstart
pipx install "talamus[mcp]"
talamus setup
talamus ingest ./notes && talamus ask "what should I remember?"
Run talamus for the status dashboard, talamus quickstart for essential commands, or talamus ui for the local React workbench.
Install the consent-aware Talamus agent skill from skills.sh:
npx skills add ampres-ai/talamus --skill talamus-memory
OpenClaw can install the same standalone skill directly from ClawHub:
openclaw skills install @ampres-ai/talamus-memory
Installing the standalone skill does not install Talamus automatically. If the CLI is missing, the skill explains the isolated installation choices and asks before running one.
Gemini CLI can install Talamus directly from its extension gallery or from this
repository. The extension starts the pinned PyPI release through uvx, so it
does not modify the cloned source tree:
gemini extensions install https://github.com/ampres-ai/talamus --auto-update
goose can install the repository as an Open Plugin. This adds the consent-aware memory skill and starts the pinned local MCP server for each new CLI session:
goose plugin install https://github.com/ampres-ai/talamus.git
The plugin requires uv on PATH; uvx downloads Talamus and its MCP
dependencies into an isolated cache on first use.
Containerized MCP (the brain remains in the mounted local folder):
docker run --rm -i -v "$PWD:/data" ghcr.io/ampres-ai/talamus:1.1.0
Links
Docs: quickstart, local-first agent memory, agent install guide, commands, agent tool calling, configuration, benchmarks, architecture, design principles, evaluation, multi-brain, ontology.
Project: security, contributing, roadmap, changelog.
Maintained by Ampres. Source code and issue tracking live at ampres-ai/talamus.
Development
pip install -e ".[dev,mcp]"
python dev.py
python dev.py runs ruff, format check, mypy, and unittest. Product behavior changes should update user docs in the same change.
License
Apache-2.0.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file talamus-1.1.0.tar.gz.
File metadata
- Download URL: talamus-1.1.0.tar.gz
- Upload date:
- Size: 396.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0073281506fd6b18d2db043f5c45106ca9a6b36f4e2a56e56cb6f7e77e275e1
|
|
| MD5 |
f1f62cfd23da67321ff7dd4d40b78be6
|
|
| BLAKE2b-256 |
913b62531a2e6d2ff381990d630b639f38c437699dac58921115adf939c22f68
|
Provenance
The following attestation bundles were made for talamus-1.1.0.tar.gz:
Publisher:
publish.yml on ampres-ai/talamus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
talamus-1.1.0.tar.gz -
Subject digest:
c0073281506fd6b18d2db043f5c45106ca9a6b36f4e2a56e56cb6f7e77e275e1 - Sigstore transparency entry: 2212687817
- Sigstore integration time:
-
Permalink:
ampres-ai/talamus@6d887df6210f970224ff1a3da9f6d60c9436aef1 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ampres-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6d887df6210f970224ff1a3da9f6d60c9436aef1 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file talamus-1.1.0-py3-none-any.whl.
File metadata
- Download URL: talamus-1.1.0-py3-none-any.whl
- Upload date:
- Size: 319.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9058922e925366f0f28079863d1b2b7c2a34cf231086354904c411ddf25511ac
|
|
| MD5 |
8eeba5fb3a8cfb39b1bd737595963ede
|
|
| BLAKE2b-256 |
6f9198821abb107beb0153328135efe69ab75d2534ae9b5e9479ad312eca369b
|
Provenance
The following attestation bundles were made for talamus-1.1.0-py3-none-any.whl:
Publisher:
publish.yml on ampres-ai/talamus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
talamus-1.1.0-py3-none-any.whl -
Subject digest:
9058922e925366f0f28079863d1b2b7c2a34cf231086354904c411ddf25511ac - Sigstore transparency entry: 2212687896
- Sigstore integration time:
-
Permalink:
ampres-ai/talamus@6d887df6210f970224ff1a3da9f6d60c9436aef1 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ampres-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6d887df6210f970224ff1a3da9f6d60c9436aef1 -
Trigger Event:
workflow_dispatch
-
Statement type: