Persistent conversational memory for AI coding assistants
Project description
Memory and coordination infrastructure for AI coding teams.
Search past sessions, preserve decisions, coordinate agents, and ship from one persistent system of record.
Website · Guide · Blog · @synapt_dev
synapt gives Claude Code, Codex CLI, OpenCode, and other MCP-compatible assistants persistent operational memory.
It closes the gap between a one-shot assistant and a real working team:
- recall prior sessions, file history, decisions, and unresolved work
- preserve context in journals, reminders, and knowledge nodes
- coordinate multiple agents through shared channels, directives, and task claims
- scale from solo recall on a laptop to multi-agent operational memory
Agent skill files for repository-native use live in:
.codex/skills/synapt/SKILL.md.claude/skills/synapt/SKILL.md
Three-command quickstart
For the default Claude Code path:
pip install synapt
claude mcp add synapt -- synapt server
synapt init
That gives you:
- a project-local
.synapt/memory store - indexed Claude Code and Codex transcripts
- Claude hooks for automatic archive/build flow
- the published Codex
dev-loopskill installed into${CODEX_HOME:-~/.codex}/skills/dev-loop/
Platform setup
Claude Code
Recommended:
pip install synapt
claude mcp add synapt -- synapt server
synapt init
Codex CLI
Install:
pip install synapt
Add to ~/.codex/config.toml:
[mcp_servers.synapt]
command = "synapt"
args = ["server"]
Then initialize the project:
synapt init
OpenCode
Add to ~/.config/opencode/opencode.json:
{
"mcp": {
"synapt": {
"type": "local",
"command": ["synapt", "server"],
"enabled": true
}
}
}
Then run:
synapt init
Manual MCP config
If your client accepts stdio MCP definitions directly, use:
{
"mcpServers": {
"synapt": {
"type": "stdio",
"command": "synapt",
"args": ["server"]
}
}
}
What synapt init does
Run from a project root:
synapt init
It will:
- archive project-relevant Claude Code and Codex transcripts
- build the
.synapt/recall/index/recall.dbsearch index - register the Synapt MCP server in Claude Code when the
claudeCLI is available - install Claude hooks for
SessionStart,SessionEnd, andPreCompact - deploy the packaged Codex
dev-loopskill - add
.synapt/to.gitignore
synapt recall setup remains available as the explicit recall-scoped equivalent.
Product tiers
synapt is one memory system with a clear adoption ladder:
1. Solo recall
Search prior sessions, file history, timelines, and journals on one machine.
synapt recall search "how did we fix auth"
synapt recall files "src/auth.py"
synapt recall timeline
2. Multi-agent memory
Add channels, directives, reminders, and task claims for coordinated execution across worktrees and agents.
recall_channel(action="join", channel="dev", name="Atlas")
recall_channel(action="intent", channel="dev", message="reviewing PR #403")
recall_channel(action="claim", channel="dev", message="m_abc123")
3. Dashboard
Expose the same shared operational memory in a browser-facing mission-control surface.
4. Spawn / orchestration
Use synapt as the memory and coordination substrate beneath higher-level agent orchestration.
Core features
- Hybrid search: BM25 + embeddings + reciprocal rank fusion + reranking
- File-aware recall: find where a file, bug, issue, or decision was handled before
- Journal + knowledge: durable summaries, extracted facts, contradictions, and timeline arcs
- Agent channels: shared append-only coordination across sessions and worktrees
- Cross-client memory: Claude Code and Codex transcripts converge into one searchable system
- Portable archive: export/import
.synapt-archivestate between machines - Plugin system: extend MCP tools and CLI commands through Python entry points
Benchmarks
LOCOMO
LOCOMO evaluates long conversational memory over 10 conversations and 1540 QA pairs.
All systems use gpt-4o-mini as the shared generation + judge backbone for fair comparison. Competitor data comes from the Engram paper and Mem0 paper.
| System | Overall | Multi-Hop | Temporal | Infra |
|---|---|---|---|---|
| Engram | 77.55 ± 0.13 | — | — | cloud (BM25+ColBERT+KG) |
| Memobase | 75.78 | 46.88 | 85.05 | cloud |
| memOS | 72.99 ± 0.14 | — | — | cloud |
| Full-Context | 72.90 | — | — | upper bound |
| synapt (audited) | 72.4 | 70.92 | 59.19 | Ministral 8B cloud enrich |
| synapt local-first | 72.4 | 67.02 | 61.06 | local 3B on M2 Air |
| Mem0 | 64.73 ± 0.17 | 51.15 | 55.51 | cloud GPT-4 |
| Zep | 42.29 ± 0.18 | — | — | cloud |
What matters for the pitch:
- synapt is competitive with the best published systems
- the local-first path remains strong on commodity hardware
- the system is explicit about benchmark methodology, retrieval tradeoffs, and judge-model drift
- the 72.4 LOCOMO score is the audited, reproducible number to cite
Sources:
CodeMemo
CodeMemo evaluates coding-memory tasks across factual recall, debugging context, architecture, temporal ordering, conventions, and cross-session continuity.
| System | Overall |
|---|---|
| synapt v0.6.2 | 90.51 |
| Mem0 | 76.00 |
Source:
Security and compliance
synapt is built for teams that care where memory lives and how it is inspected.
- Local-first by default: transcripts, channels, journals, and indexes live on disk under
.synapt/ - No mandatory cloud memory backend: core recall works locally
- Inspectable storage: JSONL transcripts plus SQLite/FTS5 state
- Portable backup path: export/import via
.synapt-archive - Optional remote behavior is explicit: sync and plugin integrations are opt-in
For disclosure and reporting policy, see SECURITY.md.
Example workflows
Search a prior fix:
synapt recall search "why did we disable snippets in retrieval-only mode"
Find a file’s prior context:
synapt recall files "src/synapt/recall/channel.py"
Run Codex on a timed review loop:
./scripts/codex-loop.sh \
--interval 60 \
--prompt "check #dev, review fresh PRs, or pick up the next unowned task. Post what you're doing in #dev." \
-- --full-auto
Why teams adopt it
Without memory, every new assistant session starts as a stranger.
With synapt, teams can:
- recover prior decisions instead of re-deriving them
- hand off work without losing context
- coordinate multiple agents without duplicating effort
- keep operational memory local, inspectable, and portable
That is the difference between an assistant demo and an operational system.
Project details
Release history Release notifications | RSS feed
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 synapt-0.12.1.tar.gz.
File metadata
- Download URL: synapt-0.12.1.tar.gz
- Upload date:
- Size: 331.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab416781dd3a3bd18dde866e604a73ebf348f6729b9dbbdc69d9f5d7882af3f2
|
|
| MD5 |
1f23ef0238af46a0f1ff0e6c67a379b0
|
|
| BLAKE2b-256 |
52533aa08dfc3b9a3af30d3599e966d99a28dd9d167ae1850a1a9350e7271157
|
File details
Details for the file synapt-0.12.1-py3-none-any.whl.
File metadata
- Download URL: synapt-0.12.1-py3-none-any.whl
- Upload date:
- Size: 347.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01dd8860d7d4fa4eed10207b95244cd2e2e829b28ed121284579057b0c85ded5
|
|
| MD5 |
eecad505d2ea665ebb6a9d909fd6d2c6
|
|
| BLAKE2b-256 |
29ecc0a92c3049d107c926c0ec906a4fca3723979e104658e801bee2c279f702
|