Skip to main content

Persistent conversational memory for AI coding assistants

Project description

Synapt

PyPI Python License

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-loop skill 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:

  1. archive project-relevant Claude Code and Codex transcripts
  2. build the .synapt/recall/index/recall.db search index
  3. register the Synapt MCP server in Claude Code when the claude CLI is available
  4. install Claude hooks for SessionStart, SessionEnd, and PreCompact
  5. deploy the packaged Codex dev-loop skill
  6. 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-archive state 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

synapt-0.12.0.tar.gz (331.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

synapt-0.12.0-py3-none-any.whl (347.7 kB view details)

Uploaded Python 3

File details

Details for the file synapt-0.12.0.tar.gz.

File metadata

  • Download URL: synapt-0.12.0.tar.gz
  • Upload date:
  • Size: 331.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for synapt-0.12.0.tar.gz
Algorithm Hash digest
SHA256 4b4b95762667b840befc38a3eb1ee0ac7d7edab04521fca76d44ce0eb699a6fd
MD5 86e56544918408aa40512914706b834a
BLAKE2b-256 bbcf8308a811d9df94de67e65c01d74c7447c7dfb577989d516827931db7c8bd

See more details on using hashes here.

File details

Details for the file synapt-0.12.0-py3-none-any.whl.

File metadata

  • Download URL: synapt-0.12.0-py3-none-any.whl
  • Upload date:
  • Size: 347.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for synapt-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 81becb58af476d90142c5ed3d11fb0e997452e25ba616190c23153dafba47349
MD5 64e153425b3764953a90f18aeae89ca5
BLAKE2b-256 ffff5e34a3f796c53246d01c4cca2561b84e8621ab644c9638d9fb4a0f5ad4aa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page