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.1.tar.gz (331.3 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.1-py3-none-any.whl (347.3 kB view details)

Uploaded Python 3

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

Hashes for synapt-0.12.1.tar.gz
Algorithm Hash digest
SHA256 ab416781dd3a3bd18dde866e604a73ebf348f6729b9dbbdc69d9f5d7882af3f2
MD5 1f23ef0238af46a0f1ff0e6c67a379b0
BLAKE2b-256 52533aa08dfc3b9a3af30d3599e966d99a28dd9d167ae1850a1a9350e7271157

See more details on using hashes here.

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

Hashes for synapt-0.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 01dd8860d7d4fa4eed10207b95244cd2e2e829b28ed121284579057b0c85ded5
MD5 eecad505d2ea665ebb6a9d909fd6d2c6
BLAKE2b-256 29ecc0a92c3049d107c926c0ec906a4fca3723979e104658e801bee2c279f702

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