Developers have origin for code. Origin gives AI work its own source of truth: local-first memory for sessions, decisions, lessons, project status, and wiki pages that carry across chats, projects, and time.
Your agent gets searchable memory, graph context, and hybrid retrieval. You get Markdown session logs, wiki pages, and a git-backed artifact trail under ~/.origin/.
Origin runs quietly in the background: it stores what matters, deduplicates repeat facts, links related ideas, distills wiki pages, and keeps provenance attached.
Status: Early preview. Expect fast iteration and some sharp edges.
/plugin marketplace add 7xuanlu/origin
/plugin install origin@7xuanlu
/init
If Claude Code asks for a restart after installing, restart once, then run /init. The plugin handles daemon setup, MCP wiring, local memory setup, and the first round-trip check.
Then try /brief, /capture <decision>, or /handoff inside Claude Code.
Plugin details and daily commands: plugin/.
Set up the local Origin runtime:
npx -y @7xuanlu/origin setupThat installs the origin CLI, origin-server daemon, and origin-mcp connector into ~/.origin/bin/, configures local memory, registers the daemon with launchd, and verifies status.
For terminal use, start with origin status, origin recall <query>, or origin store <text>. CLI details: crates/origin-cli.
Then add the MCP connector to Cursor, Codex, VS Code, Claude Desktop, Gemini CLI, or any client that accepts a JSON mcpServers entry:
{
"mcpServers": {
"origin": {
"command": "npx",
"args": ["-y", "origin-mcp"]
}
}
}The origin-mcp connector runs on demand and talks to the local Origin daemon from setup above.
Origin follows the rhythm of an AI work session, with five verbs you use directly:
- Session starts —
/brief [topic]loads project status, identity, preferences, and topic-relevant memories so the agent walks in with context. - During work —
/capture <thing>saves a decision, lesson, gotcha, or project fact in flow./recall <query>looks anything up. - Session ends —
/handoffwrites what changed, what's still open, and where to continue, so the next run picks up cleanly. - Between sessions — the daemon deduplicates overlapping captures and links related ideas in the background.
/distillsynthesizes wiki pages from clusters of related memories when you want a deliberate pass. - Next session —
/briefbrings it all back through the plugin ororigin-mcp, without replaying full chat history.
Full skill reference: plugin/skills.
No cloud sync or telemetry by default. Local models and Anthropic keys are opt-in for automatic distill cycles.
- Atomic memory layer: every capture is stored first as a typed memory with source agent, confidence, stability, and supersession metadata.
- Hybrid retrieval on libSQL: memories, pages, FTS5 text search, vector embeddings, and graph context live in one local store your MCP clients can query.
- Distill cycles: run
/distillmanually today, or add a local model/API key for background extraction, page refreshes, recaps, and richer graph links. - Source-backed pages: pages keep source memory IDs, stale reasons, and revision state so distillation can refresh them without losing provenance.
- Background enrichment and decay: post-ingest passes link entities, enrich titles, grow matching pages, and update effective confidence based on memory type, access, and age.
- Knowledge graph context: people, projects, tools, observations, and relations become retrievable context instead of isolated notes.
- Review before trust: low-confidence captures, pending revisions, protected-memory conflicts, contradictions, and supersession chains can surface instead of silently entering context.
- Project-scoped context: skills infer the current repo or workspace so captures, recalls, and pages stay tied to the work at hand.
- Local artifacts: Markdown pages live in
~/.origin/pages/, session logs and project status live under~/.origin/sessions/, and~/.origin/keeps local git history you can inspect, revert, or symlink into Obsidian.
Retrieval quality on standard long-memory benchmarks. Numbers come from BGE-Base-EN-v1.5-Q embeddings combined with FTS5 and Reciprocal Rank Fusion. Harness at crates/origin-core/src/eval/; update workflow in docs/eval.
Token efficiency on LoCoMo: 168 tokens per query instead of 4,505 for full replay, with 19% more relevant context than basic vector search.
| Benchmark | Recall@5 | MRR | NDCG@10 |
|---|---|---|---|
| LongMemEval (oracle, 500 Q) | 88.0% | 74.2% | 79.0% |
| LoCoMo (locomo10) | 67.3% | 58.9% | 64.0% |
Origin is daemon-first. origin-server owns the local database, embeddings, distill cycles, knowledge graph, and HTTP API on 127.0.0.1:7878. The plugin, MCP server, CLI, and local tools are thin clients over that daemon.
| Path | What lives there |
|---|---|
| crates/origin-core | Storage, search, embeddings, distill cycles, graph, pages, export, eval. |
| crates/origin-server | Local daemon and HTTP API. |
| crates/origin-mcp | MCP server, tools, npm package. |
| crates/origin-cli | User CLI for setup, service management, search, recall, store, list, agents, model/key setup, and doctor. |
| plugin/ | Claude Code plugin (plugin.json, skills, hooks, .mcp.json). Marketplace entry at root .claude-plugin/marketplace.json lists this plugin via source: "./plugin". |
| docs/eval | Benchmark workflow and methodology. |
Full contributor map: CLAUDE.md.
Most users should install through the Claude Code plugin. For local development:
git clone https://github.com/7xuanlu/origin.git
cd origin
cargo build --workspace
cargo run -p origin-serverBuild details for the daemon, MCP server, CLI, and core crates live in the crate READMEs linked above.
- Not a chat UI. Keep using Claude, ChatGPT, Cursor, or your agent of choice.
- Not a notes app or Notion / Obsidian replacement. Markdown exists so you can read the artifact anywhere.
- Not a memory infrastructure SDK. Origin is for people using AI, not as a backend for other apps.
- Best for work that spans sessions, projects, and weeks. One-off chats may not need it.
Bug fixes, eval cases, docs, and features are welcome. Start with CONTRIBUTING.md. Architecture and development rules are in CLAUDE.md. Security reports: SECURITY.md. Please also read the Code of Conduct.
Origin is licensed under Apache-2.0. This includes the local runtime, CLI, MCP server, shared types, and Claude Code plugin files in this repo.
The permissive license keeps the daemon boundary usable for MCP clients and downstream local tools.
Adjacent work shaping this space:
- Andrej Karpathy's LLM-wiki note, which helped make the raw-to-wiki pattern legible to the community.
- Claude Code's
MEMORY.md, the simplest version of the idea, and the one Origin aims to cooperate with. - PAI, claude-memory-compiler, Palinode: different shapes of the same direction.

