memorix
Memory server
First committed by AVIDS2
Published in AVIDS2/memorix. Publisher page
926 GitHub stars
What it is
Local-first shared memory layer for AI coding agents across MCP clients, Git history, reasoning context, and project sessions.
Summary from the brain’s metadata
Local-first shared memory layer for AI coding agents across MCP clients, Git history, reasoning context, and project sessions. One project memory system for Claude Code, Codex, CodeBuddy Code, Cursor, Windsurf, Copilot, Gemini CLI, OpenCode, Grok Build, OpenClaw, Hermes Agent, Oh-my-Pi, Pi, Kiro, Antigravity, Trae, DeepSeek Harness, WorkBuddy, and any MCP-capable agent.
How it works
Memory model: Hybrid
AutoGineer overview, from the brain’s own files
Memory model: Hybrid. Folders: .github (agent config, 3 files); .windsurf (agent config, 2 files); assets (attachments, 32 files); docs (docs, 65 files); examples (examples, 4 files); packages (source code, 836 files); scripts (scripts, 18 files); src (source code, 382 files). The agent writes CLAUDE.md.
| Folder | Role | Files |
|---|---|---|
| .github | agent-config | 3 |
| .windsurf | agent-config | 2 |
| assets | attachments | 32 |
| docs | docs | 65 |
| examples | examples | 4 |
| packages | source-code | 836 |
| scripts | scripts | 18 |
| src | source-code | 382 |
| tests | tests | 376 |
| .codegraph | folder | 1 |
| .opencode | folder | 1 |
| .trae | folder | 1 |
| articles | folder | 5 |
| plugins | folder | 64 |
| stubs | folder | 1 |
The agent writes
- CLAUDE.md evidence: README.md
Requirements
Apps: Docker
Runtimes: Node.js >=22.18.0, Bun
Databases: LanceDB, PostgreSQL, SQLite
API keys (by name): ANTHROPIC_API_KEY, API_ROUTE_API_KEY, ATLASCLOUD_API_KEY, CHEAPER_INFERENCE_API_KEY, GROQ_API_KEY, MEMORIX_API_KEY, MEMORIX_EMBEDDING_API_KEY, MEMORIX_HTTP_AUTH_TOKEN, MEMORIX_LLM_API_KEY, MEMORIX_RERANK_API_KEY, MINIMAX_API_KEY, MINIMAX_CN_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY, REQUESTY_API_KEY, RUNCRATE_API_KEY
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Google Antigravity, Kiro, OpenCode, Amp, Roo Code, Cline, JetBrains Junie, Devin (ex-Windsurf)
Set it up
This brain runs code automatically: 20 hooks (claude-code, codex). Review plugins/claude/memorix/hooks/hooks.json, plugins/codebuddy/memorix/hooks/hooks.json, plugins/codex/memorix/hooks/hooks.json, plugins/copilot/memorix/hooks/hooks.json before opening the folder in Claude Code. No step below turns a hook on for you.
plugins/claude/memorix/hooks/hooks.json:memorix hookplugins/claude/memorix/hooks/hooks.json:memorix hookplugins/claude/memorix/hooks/hooks.json:memorix hookplugins/claude/memorix/hooks/hooks.json:memorix hookplugins/claude/memorix/hooks/hooks.json:memorix hookplugins/codebuddy/memorix/hooks/hooks.json:memorix hook --agent codebuddyplugins/codebuddy/memorix/hooks/hooks.json:memorix hook --agent codebuddyplugins/codebuddy/memorix/hooks/hooks.json:memorix hook --agent codebuddyplugins/codebuddy/memorix/hooks/hooks.json:memorix hook --agent codebuddyplugins/codebuddy/memorix/hooks/hooks.json:memorix hook --agent codebuddyplugins/codex/memorix/hooks/hooks.json:memorix hook --agent codexplugins/codex/memorix/hooks/hooks.json:memorix hook --agent codexplugins/codex/memorix/hooks/hooks.json:memorix hook --agent codexplugins/codex/memorix/hooks/hooks.json:memorix hook --agent codexplugins/codex/memorix/hooks/hooks.json:memorix hook --agent codexplugins/copilot/memorix/hooks/hooks.json:memorix hook --agent copilotplugins/copilot/memorix/hooks/hooks.json:memorix hook --agent copilotplugins/copilot/memorix/hooks/hooks.json:memorix hook --agent copilotplugins/copilot/memorix/hooks/hooks.json:memorix hook --agent copilotplugins/copilot/memorix/hooks/hooks.json:memorix hook --agent copilot
- Not scanned by AutoGineerAutoGineer could not scan everything it runs. https://www.npmjs.com/package/memorix
First committed by AVIDS2. Published in AVIDS2/memorix. Licence: Apache License 2.0.
Usage
AutoGineer’s guidance for this type of brain
Add the server to your AI tool’s MCP configuration (see Set it up); your agent then stores and recalls memories through its tools.
Documentation by AVIDS2
<p align="center"> <img src="https://raw.githubusercontent.com/AVIDS2/memorix/main/assets/readme-hero.svg" alt="Memorix" width="720"> </p>
<h1 align="center">Memorix</h1>
<p align="center"> <strong>Local-first shared memory layer for AI coding agents.</strong><br> One project memory system for Claude Code, Codex, CodeBuddy Code, Cursor, Windsurf, Copilot, Gemini CLI, OpenCode, Grok Build, OpenClaw, Hermes Agent, Oh-my-Pi, Pi, Kiro, Antigravity, Trae, DeepSeek Harness, WorkBuddy, and any MCP-capable agent. </p>
<p align="center"> <a href="https://www.npmjs.com/package/memorix"><img src="https://img.shields.io/npm/v/memorix.svg?style=for-the-badge&logo=npm&color=cb3837" alt="npm"></a> <a href="https://www.npmjs.com/package/memorix"><img src="https://img.shields.io/npm/dm/memorix.svg?style=for-the-badge&logo=npm&label=monthly%20downloads&color=7c3aed" alt="monthly downloads"></a> <a href="https://github.com/AVIDS2/memorix/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/AVIDS2/memorix/ci.yml?style=for-the-badge&label=CI&logo=github" alt="CI"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-2563eb?style=for-the-badge" alt="license"></a> <a href="https://github.com/AVIDS2/memorix"><img src="https://img.shields.io/github/stars/AVIDS2/memorix?style=for-the-badge&logo=github&color=facc15" alt="stars"></a> </p>
<p align="center"> <a href="https://registry.modelcontextprotocol.io/?q=io.github.AVIDS2%2Fmemorix">Listed in the official MCP Registry</a> <br> <a href="https://mcptoplist.com/server/io.github.AVIDS2%2Fmemorix"><img src="https://mcptoplist.com/badge/io.github.AVIDS2%2Fmemorix.svg" alt="View Memorix on MCP Toplist"></a> </p>
<p align="center"> <strong>Shared Project Memory</strong> | <strong>MCP</strong> | <strong>Git Memory</strong> | <strong>Reasoning Memory</strong> | <strong>Plugins</strong> | <strong>Orchestration</strong> </p>
<p align="center"> <a href="https://mem.rglens.com">Website</a> | <a href="README.zh-CN.md">Chinese</a> | <a href="#install">Install</a> | <a href="#capabilities">Capabilities</a> | <a href="#works-with-your-agent">Agents</a> | <a href="#quick-start">Quick Start</a> | <a href="#memory-model">Memory Model</a> | <a href="#memcode-bundled-terminal-agent">memcode</a> | <a href="ACTIVE_WORK.md">Active Work</a> | <a href="#docs">Docs</a> </p>
Maintainer status and the current public work boundary live in ACTIVE_WORK.md. It is the repository's single living work tracker.
<h2 id="what-memorix-is"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-overview.svg"><img src="assets/tags/section-overview.svg" alt="Memorix" height="32" /></picture></h2>
Memorix gives the AI coding agents you already use a shared, searchable project memory that survives new chats, IDE switches, terminal sessions, and handoffs. The memory lives under the Git project, not inside one chat window or one tool.
Use Claude Code today, Codex tomorrow, and Cursor in the afternoon. The agent can change; the project memory stays the same.
Use Memorix when you keep re-explaining the same project to a new agent session: the last session already figured something out, another IDE cannot see it, or a design decision is buried in a chat you cannot find anymore.
| Problem | What Memorix adds |
|---|---|
| The next session forgets what the last session learned | Project-scoped memory, session summaries, timelines, and detail retrieval |
| Different agents know different things | One local memory pool available through MCP, hooks, CLI, SDK, and the bundled terminal agent |
| Git records what changed, but agents cannot recall it well | Git Memory turns commits into searchable engineering facts |
| Architecture decisions disappear into old chats | Reasoning Memory stores why choices were made, with alternatives and trade-offs |
| Static rule files drift | Gotchas, fixes, and project skills evolve from real work |
| Parallel agent work gets messy | memorix orchestrate coordinates task context, handoffs, locks, verification, and review loops |
Memorix is local-first. SQLite is the canonical store. Small projects use the in-process Orama path; larger projects use a persistent SQLite FTS5 candidate index and, when available, an optional local LanceDB semantic shadow index. Both indexes are rebuildable and are never a limit on how many durable memories you can keep. LLM-backed formation and embedding remain optional.
Capabilities
Memorix is more than a memory store. It also installs agent integrations, keeps useful work events, turns commits into project facts, exposes a local control plane, and can coordinate multi-agent work when a task needs it.
| Capability | What it does | Entry point |
|---|---|---|
| Memory Autopilot | A bounded task Workset with start files, current memory, source-backed knowledge, workflow starts, cautions, and verification. Compact JSON receipts keep fallback CLI use bounded too. | memorix context "..." --brief-json, memorix resume "..." --brief-json, memorix_project_context |
| Observation Memory | Searchable facts, fixes, gotchas, session summaries, and implementation notes scoped to the current Git project | memorix memory, MCP memory tools |
| Curated Long-term Memory | Deliberately reviewed episodic, semantic, and procedural memory with source evidence. Only an explicitly portable user item can cross local projects | memorix memory long-term |
| Code State and Code Memory | Versioned local code snapshots, source-backed TypeScript/JavaScript symbols and relations, file/symbol links, and freshness checks. Other languages keep the honest Lite fallback; an already-indexed local CodeGraph or SCIP result can add a bounded external outline without taking over the local index. | memorix codegraph status|refresh|init|sync, automatic context refresh |
| Git Memory | Commit-derived engineering facts that answer what changed, where, and why it matters | memorix ingest commit, git hook |
| Reasoning Memory | Design rationale, alternatives, trade-offs, and risks that should survive beyond one chat | memorix reasoning, memory formation |
| Knowledge Workspace | Review-gated source-backed claims, Markdown pages, and canonical project workflows; proposals never overwrite reviewed pages silently | memorix knowledge, memorix knowledge workflow |
| Agent setup | One setup path for MCP, rules, hooks, skills, plugins, bundles, or extensions depending on the agent | memorix setup --agent <agent> |
| Agent doctor | Checks whether agent MCP config and guidance are current, then repairs Memorix-owned entries when needed | memorix doctor agents, memorix repair agents |
| Hooks and skills | Optional capture from supported agents, plus reusable project skills promoted from durable knowledge | memorix hooks, memorix skills |
| Dashboard and HTTP | A local web UI and shared MCP endpoint for browsing memory, project state, teams, diagnostics, and preview-first cleanup, consolidation, deduplication, and retention actions | memorix dashboard, memorix background start |
| Orchestration and team work | Task planning, worker handoffs, file locks, messages, verification gates, and review loops | memorix orchestrate, memorix team, memorix lock |
| memcode | A bundled terminal coding agent that already reads and writes the same project memory | memorix, memcode |
| CLI and SDK | Scriptable access for automation, imports/exports, diagnostics, and custom integrations | memorix ..., createMemoryClient() |
| Optional multi-device sync | Privacy-filtered observation events with local SQLite kept canonical; default project scope, optional --scope user for every local project; GitHub JSONL, filesystem, S3, or Postgres relay | memorix sync store status|push|pull |
<h2 id="works-with-your-agent"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-agents.svg"><img src="assets/tags/section-agents.svg" alt="Works with every agent" height="32" /></picture></h2>
Memorix connects through the interfaces each agent already supports: plugin packages, MCP, project rules, hooks, skills, or the bundled terminal agent. memorix setup chooses the right setup for each agent and keeps stdio MCP as the default transport.
<table> <tr> <td align="center" width="12.5%"> <a href="https://claude.com/product/claude-code"><img src="https://github.com/anthropics.png?size=120" alt="Claude Code" width="48" height="48"></a><br> <strong>Claude Code</strong><br> <sub>official plugin + MCP + hooks + skills</sub> </td> <td align="center" width="12.5%"> <a href="https://github.com/openai/codex"><img src="https://github.com/openai.png?size=120" alt="Codex CLI" width="48" height="48"></a><br> <strong>Codex CLI</strong><br> <sub>official plugin + MCP + AGENTS.md</sub> </td> <td align="center" width="12.5%"> <a href="https://github.com/features/copilot"><img src="https://github.githubassets.com/images/modules/site/copilot/copilot.png" alt="GitHub Copilot CLI" width="48" height="48"></a><br> <strong>GitHub Copilot CLI</strong><br> <sub>plugin + MCP + hooks + skills</sub> </td> <td align="center" width="12.5%"> <a href="https://cursor.com"><picture><source media="(prefers-color-scheme: dark)" srcset="https://svgl.app/library/cursor_dark.svg"><img src="https://svgl.app/library/cursor_light.svg" alt="Cursor" width="48" height="48"></picture></a><br> <strong>Cursor</strong><br> <sub>MCP + rules + skills</sub> </td> <td align="center" width="12.5%"> <a href="https://windsurf.com"><picture><source media="(prefers-color-scheme: dark)" srcset="https://svgl.app/library/windsurf-dark.svg"><img src="https://svgl.app/library/windsurf-light.svg" alt="Windsurf" width="48" height="48"></picture></a><br> <strong>Windsurf</strong><br> <sub>MCP + rules + hooks</sub> </td> <td align="center" width="12.5%"> <a href="https://github.com/google-gemini/gemini-cli"><img src="https://github.com/google-gemini.png?size=120" alt="Gemini CLI" width="48" height="48"></a><br> <strong>Gemini CLI</strong><br> <sub>extension + MCP + hooks + skills</sub> </td> </tr> <tr> <td align="center" width="12.5%"> <a href="https://github.com/opencode-ai/opencode"><picture><source media="(prefers-color-scheme: dark)" srcset="https://svgl.app/library/opencode-dark.svg"><img src="https://svgl.app/library/opencode.svg" alt="OpenCode" width="48" height="48"></picture></a><br> <strong>OpenCode</strong><br> <sub>local plugin + MCP + skills + AGENTS.md</sub> </td> <td align="center" width="12.5%"> <a href="https://pi.dev"><img src="https://pi.dev/favicon.svg" alt="pi coding agent" width="48" height="48"></a><br> <strong>pi coding agent</strong><br> <sub>package + extension + skill</sub> </td> <td align="center" width="12.5%"> <a href="https://kiro.dev"><img src="https://kiro.dev/icon.svg" alt="Kiro" width="48" height="48"></a><br> <strong>Kiro</strong><br> <sub>MCP + steering + hooks</sub> </td> <td align="center" width="12.5%"> <a href="https://antigravity.google"><img src="https://antigravity.google/assets/image/antigravity-logo.png" alt="Antigravity" width="48" height="48"></a><br> <strong>Antigravity</strong><br> <sub>plugin + MCP + hooks + skills</sub> </td> <td align="center" width="12.5%"> <a href="https://www.trae.ai"><img src="https://github.com/Trae-AI.png?size=120" alt="Trae" width="48" height="48"></a><br> <strong>Trae</strong><br> <sub>MCP + project rules</sub> </td> <td align="center" width="12.5%"> <img src="https://raw.githubusercontent.com/AVIDS2/memorix/main/assets/logo.png" alt="memcode" width="48" height="48"><br> <strong>memcode</strong><br> <sub>bundled terminal agent</sub> </td> </tr> <tr> <td align="center" width="12.5%"> <a href="https://docs.openclaw.ai"><img src="https://raw.githubusercontent.com/openclaw/openclaw/main/ui/public/favicon.svg" alt="OpenClaw" width="48" height="48"></a><br> <strong>OpenClaw</strong><br> <sub>bundle + MCP + hooks + skills</sub> </td> <td align="center" width="12.5%"> <a href="https://hermes-agent.nousresearch.com"><img src="https://hermes-agent.nousresearch.com/icon.png" alt="Hermes Agent" width="48" height="48"></a><br> <strong>Hermes Agent</strong><br> <sub>plugin + MCP + hooks + skills</sub> </td> <td align="center" width="12.5%"> <a href="https://omp.sh"><img src="https://omp.sh/favicon.png" alt="Oh-my-Pi" width="48" height="48"></a><br> <strong>Oh-my-Pi</strong><br> <sub>package + MCP + hooks + skills</sub> </td> <td align="center" width="12.5%"> <a href="https://github.com/deepseek-ai/deepseek-harness"><img src="https://github.com/deepseek-ai.png?size=120" alt="DeepSeek Harness" width="48" height="48"></a><br> <strong>DeepSeek Harness</strong><br> <sub>MCP patch + AGENTS.md + skills</sub> </td> <td align="center" width="12.5%"> <a href="https://modelcontextprotocol.io"><img src="https://github.com/modelcontextprotocol.png?size=120" alt="Any MCP Client" width="48" height="48"></a><br> <strong>Any MCP Client</strong><br> <sub>stdio or HTTP MCP</sub> </td> <td align="center" width="12.5%"> <a href="https://github.com/xai-org/grok-build"><picture><source media="(prefers-color-scheme: dark)" srcset="https://media.x.ai/v1/website/spacexai-symbol-white-transparent-0c31957f.png"><img src="https://media.x.ai/v1/website/spacexai-symbol-black-transparent-6435cf42.png" alt="Grok Build" width="48" height="48"></picture></a><br> <strong>Grok Build</strong><br> <sub>native hooks + AGENTS.md</sub> </td> </tr> </table>
<p align="center"> <sub>Works with agents that speak MCP, expose hooks/rules, or support plugin/package entries. One local-first memory layer shared across all of them.</sub> </p>
Integration surfaces:
| Surface | What it does | Memorix entry |
|---|---|---|
| Setup command | Installs the recommended one-time user-level Memorix integration | memorix setup --agent <agent> --global |
| MCP | Gives an agent compact Memorix tools for project context, search, detail retrieval, storage, and resolution | bundled in setup packages or memorix serve |
| Usage guidance | Teaches an agent when and how to use Memorix without forcing memory lookup on every prompt | bundled or generated by memorix setup |
| Hooks | Optional capture of prompts, tool events, file edits, session lifecycle events, and native compaction checkpoints where the agent exposes them | bundled or generated by memorix setup |
| Plugin or bundle package | Installs plugin, compatible-bundle, or package files where the agent supports them | Claude Code, Codex, CodeBuddy Code, GitHub Copilot CLI, Antigravity, OpenClaw, Hermes Agent, Oh-my-Pi, Pi |
| Extension | Installs extension files where the agent supports them | Gemini CLI |
| Local plugin | Installs local plugin files where the agent loads them directly | OpenCode |
| MCP/rules config | Writes MCP, rules, steering, guidance, or hook config for IDEs and agents that expose those surfaces | Cursor, Windsurf, Kiro, Trae, DeepSeek Harness, WorkBuddy |
| Skills | Turns durable project knowledge into reusable task guidance | memorix skills and memorix_promote |
| memcode | Opens the bundled terminal agent that already uses Memorix memory | memorix or memcode |
See Integration Surfaces for the current support matrix and what each generated file means.
Use the same setup command without --global only when you intentionally want repo-local guidance, rules, or hooks in the current Git project.
CLI, MCP, and HTTP are different entry points:
memorixCLI is the direct command surface for setup, memory search/store, Git Memory, import/export, dashboard, orchestration, diagnostics, and automation.memorix serveis the stdio MCP bridge used by IDEs and coding agents. Its default tool profile ismicro, so agents see only the compact core tool set.memorix background start/memorix serve-httprun the HTTP service for a shared endpoint, dashboard, VPS Docker deployment, or multiple clients.
Multi-device store sync is opt-in and separate from HTTP sharing. It never
uploads the live SQLite database or WAL files. By default it only relays
qualified project-visible observations for the current Git project; personal,
agent-targeted, candidate, and ephemeral records stay local. Pass --scope user
to include every local project. Set MEMORIX_SYNC_PROVIDER and inspect
memorix sync store status --json before the first push.
<h2 id="install"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-install.svg"><img src="assets/tags/section-install.svg" alt="Install" height="32" /></picture></h2>
Requirements:
Node.js
>=22.18.0Git, because project identity is derived from the real Git root
Install and initialize:
npm install -g memorix
memorix init --global # optional defaults
memorix setup --agent claude --global # or codex, copilot, cursor, pi, gemini-cli, opencode,
# codebuddy, windsurf, kiro, antigravity, trae, openclaw, hermes, ompmemorix init is optional. It creates or updates TOML configuration:
~/.memorix/config.tomlfor global defaults<git-root>/memorix.tomlfor optional project overrides
Legacy memorix.yml, .env, and ~/.memorix/config.json are still read for compatibility, but new setup flows use TOML.
If you want repo-local guidance or hooks for a specific repository, run the same setup command from inside that repo without --global. Codex is the exception: its supported path is the user-level plugin install, so Memorix leaves project .codex configuration alone.
<h2 id="quick-start"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-quick-start.svg"><img src="assets/tags/section-quick-start.svg" alt="Quick Start" height="32" /></picture></h2>
Connect an existing agent
Use the setup command first. The global form is the normal one-time install:
memorix setup --agent claude --global
memorix setup --agent codex --global
memorix setup --agent copilot --global
memorix setup --agent cursor --global
memorix setup --agent pi --global
memorix setup --agent gemini-cli --global
memorix setup --agent opencode --global
memorix setup --agent windsurf --global
memorix setup --agent kiro --global
memorix setup --agent antigravity --global
memorix setup --agent trae --global
memorix setup --agent openclaw --global
memorix setup --agent hermes --global
memorix setup --agent codebuddy --global
memorix setup --agent omp --global
memorix setup --agent dsh --global
memorix setup --agent workbuddy --global
memorix setup --agent grok --globalWhat it installs depends on the target agent, but the goal is the same: make Memorix available wherever you open that agent without asking you to wire every repo by hand.
Claude Code: installs the Memorix plugin package, adds
CLAUDE.mdguidance, and enables hook capture when you do not pass--noHooks.Codex: installs one user-level Memorix plugin with bundled stdio MCP, skills, and lifecycle hooks. It does not write project-local
.codexconfig or change your model, approval, or sandbox settings. When Codex asks, review the plugin hook definition once with/hooks;--noHooksskips automatic capture.GitHub Copilot CLI: installs the Copilot plugin package and official Memorix skills.
Pi: installs the Pi extension/skills package and native MCP config (Pi 1.0+):
~/.pi/agent/mcp.jsonwith--global, or.pi/mcp.jsonfor project setup.Cursor: writes Cursor MCP/rules/config entries in the chosen scope.
Gemini CLI: installs the extension package,
GEMINI.mdcontext, hooks, and skills. Antigravity CLI has an official Gemini CLI migration path, but Gemini CLI remains an active standalone target.OpenCode: installs the local plugin file,
opencode.json, skills, andAGENTS.mdguidance.Windsurf, Kiro, Trae: write the MCP/rules/hooks files the target supports.
Antigravity: installs the official plugin package with
plugin.json,mcp_config.json,hooks.json, rules, and skills under~/.gemini/config/plugins/memorixor.agents/plugins/memorix.OpenClaw: installs an OpenClaw-compatible bundle with
.mcp.json, official skills, and an OpenClawHOOK.md/handler.tshook pack.Hermes Agent: installs into Hermes home (
%LOCALAPPDATA%\hermeson native Windows,~/.hermeselsewhere, orHERMES_HOME), enables the plugin inconfig.yaml, registers plugin hooks, slash/CLI commands, skills, and writes MCP config.CodeBuddy Code: installs a user-scope local marketplace plugin under
~/.codebuddy/memorix-localwith MCP, skills, and hooks. It does not change existing CodeBuddy model, permission, or settings files; CodeBuddy keeps third-party hook approval in its own/hooksflow.Oh-my-Pi: installs an
omp.extensionspackage with extension hook events, amemorixcommand, official skills, and writes MCP config.DeepSeek Harness: writes a Memorix
@deepseek-ai/dsh-mcp-clientrow into$DSH_HOME/cordis.patch.yml(default~/.dsh/cordis.patch.yml), appends guidance to the harnessAGENTS.md, and installs official skills under$DSH_HOME/skills. The row follows DSH's own shipped Memorix reference, so tools appear asmcp__memorix__*.WorkBuddy: writes a Memorix MCP server row into
~/.workbuddy/mcp.json(or<project>/.workbuddy/mcp.jsonfor project installs) and appends guidance toAGENTS.md. Tools appear asmcp__memorix__*; there is no hooks surface.Grok Build: installs native lifecycle hooks under
~/.grok/hooks/memorix.jsonand guidance in~/.grok/AGENTS.md. MCP stays host-owned by default; pass--mcp httpto write[mcp_servers.memorix]withurl = "http://localhost:3211/mcp". Project-local hooks require Grok/hooks-trust, while global hooks are trusted. SetGROK_HOMEto use a custom Grok home.
Need a quieter install? Add --noHooks for targets where setup can control hook capture separately from the host's official package entry. It keeps MCP and guidance, but skips Memorix hook capture.
If you intentionally want repo-local guidance or hooks, run the same command inside that repository without --global.
If your agent only needs a manual MCP entry, use stdio:
{
"mcpServers": {
"memorix": {
"command": "memorix",
"args": ["serve"]
}
}
}For an npm-based MCP client or registry tester, use the complete command
npx -y memorix serve. The serve argument matters: memorix without
arguments opens the bundled memcode terminal agent when run by a human, while
MCP clients should start the stdio server explicitly.
For a manually managed Claude Code entry, add "alwaysLoad": true inside the memorix server object. This lets Claude Code expose Memorix tools during print-mode startup; memorix doctor agents --agent claude can detect and repair a missing setting.
HTTP is not required for normal setup. Use it only when you intentionally want a shared background service, dashboard, VPS Docker deployment, or multiple clients using the same endpoint. Local development uses the Node service directly and does not require Docker:
memorix background startThen point the client at:
http://localhost:3211/mcpIn HTTP mode, agents should bind the active repo explicitly with memorix_session_start(projectRoot=...) when the client can provide the workspace path. Git remains the final source of truth for project identity.
Uninstall
Preview what will be removed:
memorix uninstall --dry-runStop the background service and remove hooks:
memorix uninstall --background --hooksFull cleanup:
memorix uninstall --yes --background --hooks --purge-data
npm uninstall -g memorixmemorix uninstall reports MCP config entries for manual cleanup instead of silently editing every MCP file it finds.
Work from the CLI
memorix --cwd /path/to/repo resume "continue release blocker"
memorix checkpoint list
memorix memory search --query "release blocker"
memorix memory --help
# Optional: activate one local agent identity for personal/team records and coordination.
memorix identity join --agent-type codex --name codex-main
memorix memory store --text "private investigation note" --visibility personal
memorix task create --description "verify the release package"
# Deliberate durable memory: create a candidate, then review it before it can enter a Workset.
memorix memory long-term add --kind procedural --scope user --portability portable --title "Release verification preference" --text "Run focused tests and a packed-package smoke before publishing." --applicability "When publishing an npm package."
memorix memory long-term qualify --id <id> --reason "The user explicitly confirmed this preference."
memorix memory long-term approve --id <id> --reason "Reviewed for future local projects."
memorix transfer export --format json --out ./.memorix-export.json
memorix transfer import --file ./.memorix-export.json
memorix reasoning search --query "why sqlite"
memorix git-hook --force
memorix ingest log --count 20
memorix workbenchThe CLI is direct and does not depend on an MCP session. It binds to the current Git project, or to the project supplied with --cwd. Without an active identity it reads, writes, and exports project-visible memory only. Use memorix identity join or memorix identity use --agent-id <id> only when you intentionally need personal/team memory or coordinated task actions; memorix identity clear returns the terminal to project scope. --as <active-agent-id> is the one-command alternative for scripts. Both camelCase and kebab-case flags are accepted.
Manage controlled media
Media is opt-in. An explicit local import is copied into Memorix's local data directory, hashed, and kept outside the Git worktree. It becomes normal memory only when you attach it. Memorix never captures every screenshot or tool output. An asset may be up to the configured media limit (100 MiB by default). Automatic vision analysis is deliberately capped at 20 MiB; a larger image is still kept and can be attached, but Memorix records a clear text fallback instead of sending an oversized payload to a model provider.
memorix media import --path ./architecture.png --json
memorix media attach --asset <asset-id> --title "Architecture diagram" --json
memorix media list --kind image --json
memorix media show --asset <asset-id> --json
memorix media remove --asset <asset-id> --force --json
# Controlled derivations: explicit, bounded, and attachable to memory.
memorix media derive-pdf --asset <asset-id> --attach --json
memorix media derive-audio --asset <asset-id> --attach --json
# Legacy image analysis now uses the same controlled asset lifecycle.
memorix ingest image --path ./architecture.png --jsonMiniMax image generation is a deliberate CLI operation. Video generation returns a durable job immediately; inspect or cancel that job rather than waiting in an agent request.
# Configure MINIMAX_API_KEY in your user environment or .env, never in Git.
memorix media generate image --prompt "A clean system architecture diagram" --json
# Image-to-image with a reference image (MiniMax image-01 / image-01-live):
memorix media generate image --prompt "Keep the subject, change the background" --image ./reference.png --json
memorix media generate video --prompt "A short product walkthrough" --json
memorix media status --job <media-job-id> --json
memorix media cancel --job <media-job-id> --jsonmemorix_media is the compact MCP companion in every profile, including
micro. It supports import, attach, list, show, PDF/audio derivations,
generation, and job status. MCP image and video generation are disabled by
default because they may incur provider costs.
Set MEMORIX_MCP_MEDIA_GENERATION=1 only after you deliberately want an agent
to request billed MiniMax output. The normal OpenRouter text embedding lane is
still text-only; media vectors are created only by a provider that explicitly
declares support for that modality. Text descriptions and attachments remain a
useful ordinary retrieval fallback.
Use the bundled terminal agent
memorix
# or
memcodeThis opens memcode, a terminal coding agent that uses the same Memorix project memory as your MCP-connected agents.
<h2 id="memory-model"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-memory-model.svg"><img src="assets/tags/section-memory-model.svg" alt="Memory Model" height="32" /></picture></h2>
| Layer | Stores | Best for |
|---|---|---|
| Observation Memory | facts, gotchas, fixes, implementation notes | "How does this work?" |
| Reasoning Memory | rationale, alternatives, constraints, risks | "Why did we choose this?" |
| Git Memory | commit-derived engineering facts | "What changed and where?" |
| Code Memory | files, symbols, import edges, and memory-to-code freshness | "Which current code should I inspect first?" |
| Curated Long-term Memory | reviewed episodic events, stable facts, or reusable procedures with evidence | "What should this agent still know or do later?" |
| Compact Continuity | recent host-native compact summaries or lifecycle markers | "What survived the last context compaction?" |
Search is project-scoped by default. scope="global" searches across projects. The search boosts Git Memory for "what changed" questions and reasoning records for "why" questions.
Long-term memory is deliberately not an automatic dump of every note. A source observation, Claim, workflow, session, and code snapshot keep their existing roles. An agent may ask memorix_store to create an additional long-term record; an explicit request auto-qualifies and enters task briefs as a durable anchor, while hook-captured or Git-derived candidates stay pending until qualified. Approval stays an explicit operator review. Use memorix memory long-term approve|archive|supersede to record the evidence-backed lifecycle. Only a manually created or user-confirmed user + portable item may be considered in another local project; project code, Git facts, tests, workflows, sessions, and observations cannot be promoted into portable user memory.
memorix context "..." is the default Memory Autopilot entry. It builds a compact task-lensed brief for agents: bugfix tasks lean toward tests and repros, release tasks lean toward package/changelog/build checks, onboarding tasks lean toward docs and entry points, and stale or unrelated memories stay in warning lanes instead of flooding the prompt. Use --fallback --brief-json when MCP is unavailable and a CLI fallback needs the same bounded brief plus a receipt of what was selected or omitted; --json remains the detailed diagnostic form. A normal new task does not receive an old-session dump. For an explicit continuation, memorix resume "..." adds only the latest useful session summary, up to three readable durable anchors, and at most one recent source-labelled host compact checkpoint. A durable anchor carries a durable:<id> reference, so an agent can expand the full reviewed record through memorix_detail only when needed. Keyword matches stay primary; when no reviewed durable item matches and an embedding provider is configured, Memorix makes one 1.8-second, no-retry semantic fallback for paraphrases or cross-language tasks. A slow or unavailable provider simply leaves the normal keyword-only Workset intact. A checkpoint is lifecycle evidence, not durable memory or a transcript backup. Agents should read the suggested files before trusting stored memory.
<h2 id="runtime-modes"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-runtime.svg"><img src="assets/tags/section-runtime.svg" alt="Runtime Modes" height="32" /></picture></h2>
| You want | Run |
|---|---|
| Install an agent integration package | memorix setup --agent <agent> --global |
| Check or repair an agent integration | memorix doctor agents --agent <agent>, memorix repair agents --agent <agent> |
| Manually expose stdio MCP | memorix serve |
| Run shared HTTP MCP plus dashboard | memorix background start |
| Debug HTTP MCP in the foreground | memorix serve-http --port 3211 |
| Inspect or manage memory directly | memorix memory, memorix reasoning, memorix session, memorix ingest, memorix media |
| Manage reviewed long-term memory | `memorix memory long-term list |
| Retire memories from retrieval | memorix purge (current project), memorix purge --all --yes (everything) |
| Inspect native compaction continuity | `memorix checkpoint list |
| Use the interactive terminal memory control plane | memorix workbench |
| Use the bundled terminal agent | memorix or memcode |
| Run orchestrated subagent work | memorix orchestrate --goal "..." |
memorix serve defaults to --mode micro (9 tools) to keep MCP tool schemas small for agents. memorix setup writes --mode lite (21 tools) into the installed MCP config so the normal memory, continuity, and session surface is reachable. Use --mode team (29 tools) for coordination tools, or --mode full (48 tools) for advanced and compatibility tools such as checkpoint inspection.
Shortcuts and aliases: memorix search / remember / recent are direct query shortcuts, bg/bs start the background service, hook runs the hook launcher, and memorix config get|path|migrate inspects or migrates config files.
memorix orchestrate uses the current checkout for single-worker runs. When running multiple workers, it creates task worktrees under .worktrees/ and merges successful task branches back. Use --isolated to force worktree isolation for one worker, --no-worktree to disable it, --allow-dirty to run with uncommitted changes, and --no-auto-merge to preserve task worktrees for manual review.
<h2 id="memcode-bundled-terminal-agent"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-memcode.svg"><img src="assets/tags/section-memcode.svg" alt="memcode" height="32" /></picture></h2>
memcode is the terminal coding agent bundled with Memorix. It can read, edit, run commands, resume sessions, switch models, and use /memory commands — all backed by the same project memory as your MCP-connected agents.
Use it when you want a terminal agent with memory already wired in.
one Git project -> one shared Memorix memory poolSee docs/MEMCODE.md for the memcode-specific guide.
<h2 id="configuration"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-configuration.svg"><img src="assets/tags/section-configuration.svg" alt="Configuration" height="32" /></picture></h2>
Minimal ~/.memorix/config.toml:
[agent]
provider = "openai"
model = "gpt-4o"
api_key = "..."
[memory.llm]
provider = "openai"
model = "gpt-4o-mini"
api_key = "..."
[embedding]
provider = "auto"
[memory]
inject = "minimal"
formation = "active"Use [memory.llm] and [embedding] for Memorix memory quality and retrieval. Use [agent] for the model memcode talks to while coding. Keep credentials in global config or environment variables, and do not commit secrets.
For the optional Atlas Cloud memory preset, run memorix init and choose Atlas
Cloud, or set provider = "atlascloud" in [memory.llm]. It uses the
OpenAI-compatible https://api.atlascloud.ai/v1 endpoint and reads
ATLASCLOUD_API_KEY or the explicit MEMORIX_LLM_API_KEY.
For OpenRouter embeddings, use provider = "api", base_url = "https://openrouter.ai/api/v1", and model = "qwen/qwen3-embedding-8b". Memorix accepts OPENROUTER_API_KEY for that embedding endpoint; MEMORIX_EMBEDDING_API_KEY remains the explicit override.
For Requesty, choose Requesty in memorix init or set provider = "requesty" in [memory.llm] (endpoint https://router.requesty.ai/v1, key from REQUESTY_API_KEY or MEMORIX_LLM_API_KEY). Requesty embeddings use provider = "api", base_url = "https://router.requesty.ai/v1", and model = "openai/text-embedding-3-small" with REQUESTY_API_KEY.
For API Route, choose API Route in memorix init or set provider = "apiroute" in [memory.llm]. The preset uses https://global.api-route.com/v1 and deepseek-v4.1-flash, with your own API_ROUTE_API_KEY or MEMORIX_LLM_API_KEY. It is opt-in memory LLM processing; embeddings and memcode's model registry are configured separately. See configuration.
For Cheaper Inference, choose Cheaper Inference in memorix init or set provider = "cheaperinference" in [memory.llm]. The preset uses https://api.cheaperinference.com/v1 and gpt-5.4-mini, with your own CHEAPER_INFERENCE_API_KEY or MEMORIX_LLM_API_KEY. It is opt-in memory LLM processing; embeddings and memcode's model registry are configured separately. See configuration.
For Runcrate, choose Runcrate in memorix init or set provider = "runcrate" in [memory.llm]. The preset uses https://api.runcrate.ai/v1 and the open-weight deepseek-ai/DeepSeek-V4.1-Flash, with your own RUNCRATE_API_KEY or MEMORIX_LLM_API_KEY. It is opt-in memory LLM processing; embeddings and memcode's model registry are configured separately. See configuration.
For controlled MiniMax media generation, set MINIMAX_API_KEY (global) or
MINIMAX_CN_API_KEY (China region) in your environment or .env. The media
library never stores that key, a signed output URL, or base64 payloads. CLI
generation is explicit; MCP generation additionally requires
MEMORIX_MCP_MEDIA_GENERATION=1.
<h2 id="docker"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-docker.svg"><img src="assets/tags/section-docker.svg" alt="Docker" height="32" /></picture></h2>
Docker is a VPS/hosted HTTP deployment option, not a requirement for local development or stdio MCP:
docker compose up --build -dThen open:
dashboard:
http://localhost:3211MCP:
http://localhost:3211/mcphealth:
http://localhost:3211/health
The container must be able to access the repository path passed as projectRoot for project-scoped Git and config behavior.
<h2 id="sdk"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-sdk.svg"><img src="assets/tags/section-sdk.svg" alt="SDK" height="32" /></picture></h2>
Use Memorix directly from TypeScript:
import { createMemoryClient } from 'memorix/sdk';
const client = await createMemoryClient({ projectRoot: '/path/to/repo' });
await client.store({
entityName: 'auth-module',
type: 'decision',
title: 'Use JWT for API auth',
narrative: 'Chose JWT because the API is stateless and used by multiple clients.',
});
const results = await client.search({ query: 'auth decision' });
await client.close();<h2 id="docs"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-docs.svg"><img src="assets/tags/section-docs.svg" alt="Docs" height="32" /></picture></h2>
| Start here | Use when |
|---|---|
| Docs Map | You want the shortest route to the right guide |
| Setup Guide | Installing, using memorix setup, choosing stdio vs HTTP |
| Integration Surfaces | Plugin packages, MCP, project rules, hooks, and skills support |
| Configuration | TOML config, model lanes, compatibility files |
| API Reference | MCP tools and CLI commands |
| Git Memory | Commit ingestion and searchable engineering truth |
| Docker | Containerized HTTP service |
| memcode | Using the bundled terminal agent |
| Agent Playbook | AI-facing execution guide for install, binding, hooks, and troubleshooting |
| Development | Contributing, testing, release checks |
| Changelog | What changed in each release |
LLM-friendly summaries: llms.txt and llms-full.txt.
<h2 id="development"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-development.svg"><img src="assets/tags/section-development.svg" alt="Development" height="32" /></picture></h2>
git clone https://github.com/AVIDS2/memorix.git
cd memorix
npm install
npm run lint
npm test
npm run buildCommunity
Desktop and shell integrations built on Memorix:
omarchy-memorix — a native Omarchy shell bar widget: pool stats, live global search, per-project breakdown, recent memories, and a workbench launcher. Read-only over
~/.memorix/data; no daemons, no telemetry.
Built something on top of Memorix? Open a PR to list it here.
<h2 id="acknowledgements"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-acknowledgements.svg"><img src="assets/tags/section-acknowledgements.svg" alt="Acknowledgements" height="32" /></picture></h2>
Memorix draws from the MCP ecosystem and prior memory projects such as mcp-memory-service, MemCP, claude-mem, and Mem0. memcode is based on the Pi coding-agent codebase and adapts its terminal-agent model for the Memorix ecosystem.
<h2 id="license"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-license.svg"><img src="assets/tags/section-license.svg" alt="License" height="32" /></picture></h2>
<h2 id="star-history">Star History</h2>
<a href="https://github.com/AVIDS2/memorix/stargazers"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://mem.rglens.com/metrics/star-history-dark.svg"> <source media="(prefers-color-scheme: light)" srcset="https://mem.rglens.com/metrics/star-history-light.svg"> <img alt="Memorix Star History" src="https://mem.rglens.com/metrics/star-history-light.svg" width="100%"> </picture> </a>
<sub>Updated automatically from GitHub's privacy-safe star history API. No generated PRs.</sub>
docs/AGENT_OPERATOR_PLAYBOOK.md
Memorix Agent Playbook
Primary operating guide for coding agents that need to install, configure, bind, and use Memorix correctly.
This document is written for AI coding agents, not for human-first browsing. If you are an agent helping a user adopt Memorix, use this file as the execution guide before you attempt installation, integration, or troubleshooting.
1. What Memorix Is
Memorix is a local-first shared memory layer for AI software work.
It is designed for software work, not generic chat memory. Its core value is that multiple coding agents and IDEs can share:
Observation Memory: what changed, how something works, gotchas, problem-solution notes
Reasoning Memory: why a decision was made, alternatives, trade-offs, risks
Git Memory: structured engineering truth derived from commits
It supports:
agent setup packages (
memorix setup --agent <agent> --global)stdio MCP (
memorix serve)HTTP MCP service + dashboard (
memorix background startormemorix serve-http --port 3211)bundled terminal agent (
memorixormemcode) that uses the same shared memory poollocal-first project-scoped memory
cross-agent recall across Cursor, Claude Code, Codex, CodeBuddy Code, Windsurf, Gemini CLI, GitHub Copilot, OpenCode, Grok Build, OpenClaw, Hermes Agent, Oh-my-Pi, Pi, Kiro, Antigravity, Trae, DeepSeek Harness, and WorkBuddy
Current 1.4 Baseline
For the 1.4 release line, the visible product shape is:
memorix setup --agent <agent> --globalis the default integration command for an existing coding agent or IDEsetup installs plugin packages where supported, MCP config, usage guidance, hooks, and skills according to agent capability
memorix serveremains the stdio MCP entry for IDEs and external agents; it defaults to the compactmicrotool profile to avoid flooding agent contextmemorix background startandmemorix serve-http --port 3211run the HTTP MCP service and dashboardmemorix/memcodeopen memcode, the bundled terminal agentconfiguration is TOML-first: global
~/.memorix/config.toml, project<git-root>/memorix.tomlmodel lanes are separate:
[memory.llm]for formation/rerank/summaries,[embedding]for semantic search,[agent]for the model memcode talks to while codinglegacy
memorix.yml,.env, and~/.memorix/config.jsonare compatibility inputs, not the recommended setup pathgenerated agent rules treat
memorix_session_startas optional unless explicit session semantics mattermemorix_project_context/memorix context "..."is the normal black-box entry for non-trivial coding work: it assembles a bounded task Workset instead of injecting a generic memory dump;memorix resume "..."is the explicit CLI continuation projectionCode State keeps local snapshots and freshness links; a healthy pre-existing local CodeGraph index can add a bounded semantic outline, but Memorix never initializes or synchronizes that external index itself
memorix knowledgeis an explicit review path for source-backed Markdown knowledge and canonical workflows. Do not initialize a versioned workspace or apply a proposal unless the user asks for that managed artifactintegration surfaces are agent-specific: Claude Code, Codex, GitHub Copilot CLI, Antigravity, and Hermes receive plugin packages; OpenClaw receives a compatible bundle; Pi and Oh-my-Pi receive package entries; Gemini CLI receives an extension package; OpenCode receives a plugin file and skill; Grok Build receives native hooks and
AGENTS.mdguidance while keeping MCP host-owned by default (--mcp httpwrites Grokconfig.toml); DeepSeek Harness receives an MCP patch row, AGENTS.md guidance, and skills; Cursor and other agents receive MCP/rules/hooks where supportedprivacy-safe diagnostics and receipts avoid raw chat, memory text, query text, tool payloads, and local file paths
2. Operating Principles You Must Respect
CLI is the direct command surface; MCP is the integration layer
For direct use, prefer memorix ... commands first. In the 1.4 line, the CLI covers session, memory, reviewed long-term memory, Code State, knowledge workspaces, reasoning, retention, formation, audit, transfer, skills, orchestration coordination, sync, controlled media, ingest workflows, and the bundled terminal agent.
Do not ask memory-only users to join coordination state. A lightweight session is enough for memory, retrieval, reasoning, and continuation. Use joinTeam / team_manage(join) only for explicit task/message/lock coordination or for CLI-agent work managed by memorix orchestrate.
An unbound terminal is intentionally project-scoped: it reads and writes project-visible memory only. Use memorix identity join --agent-type <agent> or memorix identity use --agent-id <id> only when an operator explicitly needs personal/team memory or coordinated task actions. memorix identity clear removes that local selection; --as <agent-id> is the one-command script form and still requires an active member of the current project.
Long-term memory is a reviewed layer, not a generic global note store. memorix memory long-term add creates a candidate; qualify and approve are explicit audit transitions before it can appear in a bounded task Workset. A project-derived observation, code fact, Git fact, test, session, Claim, or workflow stays project-bound. Only manual or user-confirmed user + portable records can cross local projects for the same local installation identity. When one is task-matched in a Workset, it is intentionally usable background even if its origin differs; use its durable:<id> reference with memorix_detail only when the full record is needed. Use archive or supersede when a durable item is no longer current.
--cwd <git-project> is the canonical way to run direct CLI work from outside a repository. It changes the command's project anchor only; Git remains the source of truth for final project identity. Existing directories are canonicalized to their real filesystem paths before binding, which prevents macOS aliases such as /var and /private/var from splitting one project or hiding a Claude local MCP entry.
Use MCP when:
an IDE or agent needs tool calls
you are integrating Memorix into an MCP-capable client
you need the optional graph-compatibility tools that intentionally remain MCP-only
Use the CLI when:
a human is operating Memorix directly
you are on SSH / Docker / CI / NAS and want direct control
you want readable, stable command namespaces instead of raw tool payloads
Git is the source of truth for project identity
Memorix is project-scoped by default.
Important:
projectRootis a detection anchorGit identity is the final project identity
If the workspace is not a Git repository:
project-safe memory will not bind correctly
some commands may fail closed
the right first step is usually:
git initDo not assume a plain folder path is enough.
Choose one runtime model intentionally
There are four practical entry points:
memorix setup --agent <agent> --globalfor installing Memorix into an existing agentmemorix servefor stdio MCP agentsmemorix background startfor an optional long-lived HTTP servicememorix serve-http --port 3211for foreground HTTP service workmemorix/memcodefor the bundled terminal agent in a TTY
For most agent integrations, use:
memorix setup --agent <agent> --globalThis installs the recommended integration package or config for that agent. Use raw memorix serve only when manually wiring an MCP client.
The two server runtime modes are:
Use:
memorix servewhen the MCP client launches Memorix directly from the current workspace and stdio transport is enough.
Stdio MCP defaults to --mode micro and exposes only the core project-context/search/detail/store tools. Use --mode lite for sessions, timeline, reasoning, transfer, and retention tools; --mode team for coordination tools; and --mode full only for advanced or compatibility surfaces.
Prefer:
memorix background startwhen the user wants:
HTTP MCP transport
dashboard
multiple agents or sessions
explicit task/message/handoff/lock coordination
one shared HTTP service process
Default recommendation: if the user wants memory inside an existing IDE or agent, start with memorix setup --agent <agent> --global. Use memorix serve only for manual MCP wiring. Use the CLI for direct workflows and automation because it does not depend on an IDE's MCP session lifecycle. Use memcode only when the user wants the bundled terminal agent. Reach for HTTP only when a shared background service, multi-client MCP access, a VPS Docker deployment, or a live dashboard endpoint is actually needed. Local development runs Node directly.
Use:
memorix serve-http --port 3211when the user wants the same HTTP service in the foreground for debugging, manual supervision, or a custom port.
In HTTP mode, always bind the project explicitly
At the beginning of a new project session, call:
{
"agent": "your-agent-name",
"projectRoot": "ABSOLUTE_WORKSPACE_PATH"
}through memorix_session_start.
Do not assume the HTTP connection alone tells Memorix which project the user means.
The HTTP service is normally started with memorix background start; the same project-binding rules apply when you run memorix serve-http --port 3211 in the foreground.
HTTP MCP sessions idle out after 12 hours by default. An expired session now
receives a fast 404 reinitialize hint instead of a generic transport failure.
If the user's HTTP MCP client needs a longer idle period, set
MEMORIX_SESSION_TIMEOUT_MS before starting or restarting the service.
Example: MEMORIX_SESSION_TIMEOUT_MS=86400000 keeps sessions alive for 24
hours. Set it to 0 only when the host has its own reliable session cleanup.
Do not confuse project config and global config
Memorix intentionally supports both:
project-level settings and integrations
global-level defaults
Your job as an agent is to choose the smallest scope that matches the user's goal.
Generated guidance must match that scope:
Project guidance may say "this repository/project" because it lives in the repo or workspace.
Global/plugin skill guidance must not say "this project uses Memorix." It should say "use Memorix when the active workspace has Memorix tools available."
Do not install or document a fake plugin surface for agents that only expose MCP/rules/config. Use the agent's official entry point.
3. Fastest Valid Setup
Use this path when the user wants the quickest possible adoption.
Step 1. Install Memorix
npm install -g memorixStep 2. Ensure the workspace is a Git repo
If not:
git initStep 3. Initialize config
memorix init --globalmemorix init is a scope selector, not just a project config generator. It lets the user choose between:
Global defaultsProject config
Memorix writes TOML by default:
global defaults:
~/.memorix/config.tomlproject overrides:
<git-root>/memorix.toml
Use global config for personal provider credentials. Use project config for repo-specific model choices, memory behavior, server defaults, and Git Memory settings. Do not commit secrets.
Step 4. Install the agent integration
For an existing agent or IDE:
memorix setup --agent <agent> --globalExamples:
memorix setup --agent claude --global
memorix setup --agent codex --global
memorix setup --agent copilot --global
memorix setup --agent cursor --global
memorix setup --agent pi --global
memorix setup --agent gemini-cli --global
memorix setup --agent opencode --global
memorix setup --agent openclaw --global
memorix setup --agent hermes --global
memorix setup --agent omp --global
memorix setup --agent grok --globalWhat this installs depends on the target agent:
Claude Code: local
memorix-localmarketplace plugin, best-effortclaude plugin install memorix@memorix-local, plugin-bundled stdio MCP, hooks, skills, plusCLAUDE.mdguidance.Codex: local Personal marketplace plugin under
~/plugins/memorix, marketplace entry at~/.agents/plugins/marketplace.json, best-effortcodex plugin add memorix@personal, plugin-bundled stdio MCP, skills, andSessionStart/UserPromptSubmit/PostToolUse/PreCompact/Stophooks. It does not create project.codexfiles or overwrite model, approval, or sandbox settings. Codex asks the user to review plugin hooks once in/hooksbefore non-managed hooks run.GitHub Copilot CLI: local plugin package under
~/.copilot/plugins/local/memorix, best-effortcopilot plugin install <local-path>, plugin-bundled stdio MCP, hooks, and skills.Cursor: Cursor MCP config,
.cursor/rules/memorix.mdc, skills, and hook guidance through Cursor's project config surfaces.Pi: user Pi package with extension-based hook capture and a Memorix skill, registered through
pi install <path> --approve; project-local setup uses-l.Gemini CLI: local extension package under
~/.gemini/extensions/memorix, extension-bundled stdio MCP,GEMINI.mdcontext, hooks, commands, and skills. Antigravity CLI has an official Gemini CLI migration path, but Gemini CLI remains a separate target.OpenCode: local plugin file,
opencode.jsonMCP config, OpenCode skill, plusAGENTS.mdguidance.Grok Build: native hooks in
~/.grok/hooks/memorix.jsonand guidance in~/.grok/AGENTS.md. Global hooks are trusted; project hooks require Grok/hooks-trustor--trust. MCP stays host-owned unless you pass--mcp http, which writes[mcp_servers.memorix]in Grokconfig.toml.Antigravity: native plugin under
~/.gemini/config/plugins/memorixor.agents/plugins/memorix, withplugin.json,mcp_config.json,hooks.json, rules, and skills.OpenClaw: OpenClaw-compatible bundle under
~/.openclaw/extensions/memorix, bundled.mcp.json, skills, and OpenClawHOOK.md/handler.tshook pack.Hermes Agent: Hermes plugin under Hermes home (
%LOCALAPPDATA%\hermeson native Windows,~/.hermeselsewhere, orHERMES_HOME), enabled inconfig.yaml, with plugin hooks, slash command, CLI command, skills, and MCP config.Oh-my-Pi:
omp.extensionspackage linked throughomp plugin link <path>when available, with extension hook events, amemorixcommand, skills, and MCP config.Windsurf, Kiro, Trae: MCP config plus rules/hooks where supported.
DeepSeek Harness: a Memorix
@deepseek-ai/dsh-mcp-clientrow in$DSH_HOME/cordis.patch.yml(default~/.dsh/cordis.patch.yml), harnessAGENTS.mdguidance, and official skills under$DSH_HOME/skills. Tools appear asmcp__memorix__*; there is no hooks surface. Project-local setup writes projectAGENTS.mdguidance and.dsh/skills, while the MCP row stays in the harness-level patch file.
Run the same setup command without --global only when you intentionally want repo-local guidance, rules, or hooks for a single Git project.
If the user wants the bundled terminal agent:
memorixThis opens the memcode TUI. It uses the same Memorix memory pool as MCP-connected agents. Useful slash commands include:
/help
/model switch
/memory status
/memory search
/memory show
/memory hooks
/resume
/tree
/fork
/git status
/git diff
/configStep 5. Manual MCP config only when setup is not enough
Generic stdio MCP example:
{
"mcpServers": {
"memorix": {
"command": "memorix",
"args": ["serve"]
}
}
}Generic HTTP MCP example:
{
"mcpServers": {
"memorix": {
"transport": "http",
"url": "http://localhost:3211/mcp"
}
}
}⚠ serverUrl mode requires the background HTTP service to already be running.
The serverUrl config is a pure HTTP client — it connects to an endpoint but does NOT start the server.
If the service is down, the MCP client receives ECONNREFUSED with no auto-recovery.
To guarantee the server is available before the IDE connects, use:
memorix background ensureThis command checks health and auto-starts if needed. Add it to your shell profile or IDE startup script.
Some IDEs (Windsurf, Cursor) use serverUrl in their MCP config and do not support preflight commands.
For those, the background must be started manually or via OS startup (see §4 Step 3b below).
If you choose HTTP mode, do not stop at the URL. The agent must also bind each project session with memorix_session_start(projectRoot=ABSOLUTE_WORKSPACE_PATH) when the workspace path is available.
The setup path is best for:
one workspace
one agent/IDE
quick validation
minimal moving parts
4. Full HTTP Service Setup
Use this path when the user wants the full Memorix product model.
Step 1. Install and initialize
npm install -g memorix
memorix init --globalStep 2. Ensure Git identity exists
If needed:
git initStep 3. Start HTTP service
memorix background startMain URLs:
MCP endpoint:
http://localhost:3211/mcpdashboard:
http://localhost:3211
Companion commands:
memorix background status # Show running state and health
memorix background ensure # Auto-start if not running (idempotent, silent when healthy)
memorix background logs # Show recent log output
memorix background stop # Stop the background HTTP service
memorix background restart # Stop + startStep 3b. Make the HTTP service persistent (recommended)
memorix background start spawns a detached process that survives the terminal, but it does not survive system reboots or user logouts.
The background HTTP service is a persistent server — it is designed to run continuously in the background, not to be auto-launched by MCP clients on demand.
To make it truly persistent:
Windows — add to shell profile ($PROFILE):
memorix background ensuremacOS/Linux — add to shell profile (.bashrc, .zshrc):
memorix background ensure 2>/dev/nullOr supervise memorix serve-http directly so a crash or reboot restarts the control plane.
Linux systemd user unit (~/.config/systemd/user/memorix-http.service):
[Unit]
Description=Memorix HTTP MCP control plane
After=default.target
[Service]
Type=simple
ExecStart=/usr/bin/env memorix serve-http --host 127.0.0.1 --port 3211
Environment=PATH=%h/.local/bin:/usr/local/bin:/usr/bin
Restart=on-failure
RestartSec=3
[Install]
WantedBy=default.targetmacOS LaunchAgent (~/Library/LaunchAgents/com.memorix.http.plist). Point ProgramArguments at which memorix:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.memorix.http</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/memorix</string>
<string>serve-http</string>
<string>--host</string>
<string>127.0.0.1</string>
<string>--port</string>
<string>3211</string>
</array>
<key>KeepAlive</key>
<true/>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>Why this matters: IDEs that use serverUrl (Windsurf, Cursor HTTP mode) connect to http://localhost:3211/mcp but cannot start the server. If the service is down, the IDE shows an MCP error with no recovery path. The user must run memorix background start or ensure manually.
At startup, serve-http seeds its default project root from:
--cwdMEMORIX_PROJECT_ROOTprocess.cwd()
Memorix deliberately does not restore a previously remembered project root: a server launched from an unrelated directory must wait for an explicit project root or MCP/session binding rather than risk cross-project memory access.
Step 4. Bind each HTTP session explicitly
At session start, call:
{
"agent": "your-agent-name",
"projectRoot": "ABSOLUTE_WORKSPACE_PATH"
}through memorix_session_start.
This is the right path for:
dashboard users
multi-agent workflows
explicit task/message/handoff/lock coordination
multiple concurrent sessions
debugging project binding and config provenance
5. Agent Decision Tree
Use this routing logic when helping a user.
If the user says:
"I just want it working quickly"
"I only need Cursor / Claude Code / Codex"
"I don't care about dashboard"
Choose:
memorix setup --agent <agent> --globalstdio MCP as the default transport
If the user says:
"I want dashboard"
"I want HTTP MCP"
"I want multiple agents / IDEs at once"
"I want shared HTTP MCP or a live dashboard endpoint"
Choose:
memorix background startexplicit
memorix_session_start(projectRoot=...)
If the user asks for IDE integration files
Use:
memorix setup --agent <agent> --globalThis is the default integration package when you want the global/user-level install.
Use memorix integrate --agent <agent> only when the user explicitly wants the older/manual generation path or wants to update one generated integration surface without running full setup.
Setup may write plugin packages, MCP config, project rules, settings, instruction files, or local plugin files depending on the target. See INTEGRATIONS.md for the public matrix.
If the user asks for hooks
Use:
memorix hooks install --agent <agent> --globalThis is also explicit and opt-in.
Use memorix hooks install --agent <agent> --global when the host supports a user-level/global hook surface and the user wants hooks without rewriting a repo. Use the project-scoped form when the user wants hooks only for the current repository.
Use it as a fallback when the user only wants hook capture files. Do not assume the user wants every supported IDE directory generated.
6. Generated Dot Directories: What They Mean
Memorix now favors explicit, per-agent installation.
That means:
it does not need to spray every supported
.xxxdirectory into every repothe user or agent can select only the integrations they actually need
Important:
many
.cursor,.windsurf,.claude,.gemini,.opencode, etc. directories are not arbitrary clutterthey are often part of the target IDE's own discovery protocol
do not promise that all of them can be physically merged into one folder without breaking agent discovery
What you can say safely:
Memorix supports on-demand generation
it does not require generating every integration at once
different agents still expect their own directory or config path
7. Hooks vs Integrations
Do not confuse these.
memorix setup
Purpose:
install the recommended Memorix integration package or config for a specific target
write plugin packages, MCP config, rules, settings, instruction files, hooks, or plugin files according to agent capability
Typical use:
memorix setup --agent claude --global
memorix setup --agent codex --global
memorix setup --agent cursor --global
memorix setup --agent opencode --globalmemorix integrate
Purpose:
fallback/manual generation for IDE/agent integration files
update rules, settings, instruction files, or plugin files for a specific target without the full setup package
Typical use:
memorix integrate --agent cursor
memorix integrate --agent opencode
memorix integrate --agent gemini-climemorix hooks install
Purpose:
install auto-capture hooks for supported agents
generate a local plugin where that is the agent's hook mechanism, currently OpenCode
Typical use:
memorix hooks install --agent cursor --global
memorix hooks install --agent opencode --globalmemorix git-hook
Purpose:
install a post-commit hook in the current Git repo
automatically ingest commits as Git Memory
Typical use:
memorix git-hook --force8. What an Agent Should Do at Session Start
In HTTP service mode:
Use
memorix_search/memorix_detailwhen prior project context would materially help the task.Call
memorix_session_startwhen explicit session semantics are useful: handoff, long-running work, restoring prior session context, coordination state, or project binding in a multi-project HTTP service.When calling
memorix_session_start, pass:agent— display name (e.g."cursor-frontend")agentType— optional agent/client type for coordination role mapping (e.g."windsurf","cursor","claude-code","codex","gemini-cli")projectRoot= absolute workspace path when the client knows it
By default this only starts a lightweight session. It does not join orchestration coordination state.
If the user wants orchestrated subagent coordination, either:
call
memorix_session_startwithjoinTeam: trueor call
team_manage(join)explicitly
If project binding fails, stop using project-scoped tools until the path is corrected
Then use:
memorix_searchmemorix_detailmemorix_timelineas needed
In stdio / project-bound mode:
projectRootis optional if the process is already launched from the correct workspacea session bind is optional; keep this path lightweight unless the user explicitly needs session, handoff, or orchestration coordination semantics
Important boundary:
team_manage(join)does not make separate Cursor, Windsurf, Codex, or TUI conversation windows magically talk to each other.For real autonomous multi-agent implementation loops, use
memorix orchestrate; it launches CLI agents, coordinates work through tasks/context, and runs verification/fix/review gates.Shared memory means stored memories are searchable across clients in the same Git project. It does not mean every chat message is mirrored automatically.
For support/debugging, use
memorix receipt --jsonormemorix doctor --receipt; receipts emit hashes/counts only and omit raw prompts, raw memory text, raw queries, tool payloads, and local file paths.memorix orchestrateruns one worker in the current checkout by default. For multiple workers it creates task worktrees under.worktrees/, fails closed if isolation cannot be created, rejects dirty Git state unless--allow-dirtyis set, and auto-merges successful task branches unless--no-auto-mergeis set.
9. Recommended Command Set for Agents
Core runtime
memorix serve
memorix background start
memorix serve-http --port 3211
memorix doctor
memorix doctor agents --agent <agent>
memorix statusProject setup
memorix init --global
memorix setup --agent <agent> --global
memorix repair agents --agent <agent>
memorix integrate --agent <agent>
memorix hooks install --agent <agent>
memorix git-hook --force
memorix orchestrate --goal "<goal>" --isolated
memorix orchestrate --goal "<goal>" --no-auto-mergeMemory operations
Use MCP tools:
memorix_storememorix_searchmemorix_detailmemorix_timelinememorix_resolvememorix_deduplicatememorix_store_reasoning
10. Installation and Troubleshooting Checklist
If Memorix "doesn't work", check these in order.
0. Is the agent integration stale?
Run:
memorix doctor agents --agent <agent>If it reports stale MCP command paths, missing memorix MCP entries, missing Claude alwaysLoad, or outdated Memory Autopilot guidance, run:
memorix repair agents --agent <agent>Repair only rewrites Memorix-owned MCP entries, Memorix-owned guidance blocks, and an explicitly targeted Codex Memorix plugin bundle. It does not edit unrelated user config, grant Codex hook trust, or turn on a user-disabled Codex plugin; review hooks in /hooks and enable a disabled plugin in /plugins.
1. Is the workspace a Git repo?
If not, run:
git init2. Is the runtime mode correct?
stdio MCP client ->
memorix serveHTTP/dashboard/shared-service use case ->
memorix background startby default, ormemorix serve-http --port 3211when foreground control is requiredexisting IDE/agent integration ->
memorix setup --agent <agent> --global
3. Is the background HTTP service actually running?
If the MCP client reports ECONNREFUSED on localhost:3211:
memorix background statusIf it shows "Not running" or "dead":
memorix background ensureIf the client is connected but starts failing after a long inactive period,
check for the explicit stale-session 404 reinitialize hint rather than
treating it as a project-binding failure. The default idle window is 12 hours;
restart with a longer window only when the client genuinely needs it:
$env:MEMORIX_SESSION_TIMEOUT_MS = "86400000"
memorix background restartCommon causes of the background dying:
System reboot or user logout (background is not a system service)
Unhandled error in the service process (now logged to
~/.memorix/background.log)Terminal that started it was closed before the process fully detached (rare on Node.js v20+)
The heartbeat file ~/.memorix/background.heartbeat is updated every 30 seconds while the service is alive. If status reports a dead process with a recent heartbeat, the service crashed — check the log file.
4. Is the MCP config pointing to the right command?
On Windows, some clients behave better with memorix.cmd than bare memorix.
serverUrl vs command mode:
serverUrl(HTTP) requires the background to already be running — it cannot auto-startcommand(stdio) launchesmemorix serveon demand — no background needed; usememorix dashboardfor a standalone read-mostly dashboard and CLI orchestration tools for coordinated subagent workflows
If using serverUrl and the background keeps disappearing, consider switching to stdio mode as a fallback.
5. In HTTP mode, did the session bind with projectRoot?
If not, the agent may drift into the wrong project bucket or fail closed.
6. Did the user install the integration they actually need?
Use:
memorix setup --agent <agent> --globalUse memorix integrate --agent <agent> or memorix hooks install --agent <agent> only for fallback/manual updates of one surface.
7. Is the generated plugin/hook stale?
OpenCode in particular now supports stale-install detection through:
memorix hooks statusIf outdated, re-run:
memorix hooks install --agent opencode8. Are LLM and embedding secrets configured?
Check:
project
.envuser
~/.memorix/.envshell-injected env vars
Use:
memorix doctorto inspect active runtime status.
9. Does a fresh CLI install report a better-sqlite3 binding error?
On the supported Node 22 runtime, current Memorix releases automatically use
Node's built-in SQLite with the same local memorix.db when the optional
better-sqlite3 native binary is unavailable. Upgrade the package and rerun
the command; do not delete the data directory or create a replacement database.
Node may print its own experimental SQLite warning on that fallback path. It is not a memory-loss condition. If Memorix instead reports that SQLite is unavailable, confirm the installed Node version satisfies the package engine and include the exact error when filing an issue.
10. Does doctor report degraded or unavailable storage?
Treat this as a real storage failure, not as an empty project. The active SQLite backend is the source of truth for observations, sessions, and mini-skills; derived search indexes may fall back, but they must not hide a database failure.
Run memorix doctor --json and keep the reported error. A transient
cross-process SQLITE_BUSY is retried automatically. A persistent runtime
error is surfaced instead of returning empty memory. Stop or pause a long
maintenance operation and retry after the database is writable. For several
agent harnesses sharing one local store, prefer one memorix background start
control plane so writes are serialized by one owner; WAL does not allow
multiple simultaneous writers.
11. What Not to Do
Do not:
treat
projectRootas the final project identityassume non-Git folders will behave like stable projects
mix up stdio and HTTP guidance in the same answer
promise that all
.xxxintegration directories can be physically mergedtell users "auto-update is implemented" unless you mean the real wired runtime feature
rely on stale generated plugin files when diagnosing current behavior
assume
serverUrlHTTP mode will auto-start the background HTTP service — it cannottell users "just restart the IDE" when the fix is
memorix background ensurepromise the background HTTP service survives reboots without OS-level startup config
12. When This Document Should Be Read First
If a user asks any of these:
"Install Memorix for me"
"Set up Memorix in Cursor / Claude Code / Codex / Windsurf / OpenCode / Gemini CLI"
"Why isn't Memorix binding to my project?"
"Why does it fail in this workspace?"
"How should I use serve vs serve-http?"
"What files will this create?"
"Why does my MCP client show ECONNREFUSED / connection refused?"
"Why did the background HTTP service disappear?"
read this document first, then act.
This playbook is the canonical AI-facing guide for installation, project binding, integration, hooks, troubleshooting, and safe usage.
Docker Note
When Memorix runs in Docker on a VPS/hosted machine, treat it as an HTTP service deployment, not a stdio MCP process. Docker is not required for local development.
Connect IDEs and agents to
http://host:3211/mcpUse
memorix_session_start(projectRoot=...)with a path that is visible inside the containerIf the repo is not mounted into the container, project-scoped Git/config semantics will fail closed
512 files · 453 not served here
- .codegraph/.gitignore (not served here)
- .dockerignore (not served here)
- .env.example (not served here)
- .gitattributes (not served here)
- .github/hooks/memorix.json (not served here)
- .github/workflows/ci.yml (not served here)
- .github/workflows/publish.yml (not served here)
- .gitignore (not served here)
- .gitmodules (not served here)
- .npmignore (not served here)
- .opencode/plugins/memorix.js (not served here)
- .trae/rules/project_rules.md (not served here)
- .windsurf/workflows/deploy.md (not served here)
- .windsurf/workflows/pr-review.md (not served here)
- ACTIVE_WORK.md
- ATTRIBUTION.md
- AUTOGINEER-RUNS.md
- CHANGELOG.md
- CLAUDE.md
- Dockerfile (not served here)
- GEMINI.md
- LICENSE
- README.md
- README.zh-CN.md
- TEAM.md
- articles/dev-to-en.md (not served here)
- articles/product-hunt-en.md (not served here)
- articles/reddit-en.md (not served here)
- articles/show-hn-en.md (not served here)
- articles/xiaohongshu-zh.md (not served here)
- assets/logo.png (not served here)
- assets/readme-hero.svg (not served here)
- assets/readme-logo-bridge.png (not served here)
- assets/readme-tui-workbench.png (not served here)
- assets/tags/light/section-acknowledgements.svg (not served here)
- assets/tags/light/section-agents.svg (not served here)
- assets/tags/light/section-configuration.svg (not served here)
- assets/tags/light/section-development.svg (not served here)
- assets/tags/light/section-docker.svg (not served here)
- assets/tags/light/section-docs.svg (not served here)
- assets/tags/light/section-install.svg (not served here)
- assets/tags/light/section-license.svg (not served here)
- assets/tags/light/section-memcode.svg (not served here)
- assets/tags/light/section-memory-model.svg (not served here)
- assets/tags/light/section-overview.svg (not served here)
- assets/tags/light/section-quick-start.svg (not served here)
- assets/tags/light/section-runtime.svg (not served here)
- assets/tags/light/section-sdk.svg (not served here)
- assets/tags/section-acknowledgements.svg (not served here)
- assets/tags/section-agents.svg (not served here)
- assets/tags/section-configuration.svg (not served here)
- assets/tags/section-development.svg (not served here)
- assets/tags/section-docker.svg (not served here)
- assets/tags/section-docs.svg (not served here)
- assets/tags/section-install.svg (not served here)
- assets/tags/section-license.svg (not served here)
- assets/tags/section-memcode.svg (not served here)
- assets/tags/section-memory-model.svg (not served here)
- assets/tags/section-overview.svg (not served here)
- assets/tags/section-quick-start.svg (not served here)
- assets/tags/section-runtime.svg (not served here)
- assets/tags/section-sdk.svg (not served here)
- bun.lock (not served here)
- compose.yaml (not served here)
- docs/1.2.0-CLAIM-LEDGER.md
- docs/1.2.0-CODE-STATE.md
- docs/1.2.0-DEVELOPMENT-CHARTER.md
- docs/1.2.0-DYNAMIC-LIFECYCLE.md
- docs/1.2.0-EVALUATION-HARNESS.md
- docs/1.2.0-IMPLEMENTATION-PLAN.md
- docs/1.2.0-KNOWLEDGE-WORKFLOW-RESEARCH.md
- docs/1.2.0-KNOWLEDGE-WORKSPACE.md
- docs/1.2.0-PRODUCT-STORY.md
- docs/1.2.0-PROVIDER-QUALITY.md
- docs/1.2.0-WORKFLOW-INHERITANCE.md
- docs/1.2.0-WORKSET-RETRIEVAL.md
- docs/1.2.2-MEMORY-CONTROL-PLANE.md
- docs/1.2.4-PERSISTENT-MEMORY-DELIVERY.md
- docs/1.2.5-RETRIEVAL-PERFORMANCE.md
- docs/1.2.7-CONTEXT-CONTINUITY.md
- docs/1.3-MEMORY-ARCHITECTURE.md
- docs/1.3.3-MULTIMODAL-MEDIA-AND-MCP-COMPAT.md
- docs/1.4.2-EVIDENCE-GOVERNED-MEMORY-SPEC.md
- docs/1.4.3-CONTROLLED-AUDIO-TRANSCRIPTS.md
- docs/1.4.3-CONTROLLED-PDF-DERIVATIONS.md
- docs/1.4.3-GRAPH-EVIDENCE-EXPANSION.md
- docs/1.4.5-AGENT-AUTO-MEMORY-RESEARCH.md
- docs/1.8.0-RELEASE-CANDIDATE-SPEC.md
- docs/1.8.7-CODEGRAPH.md
- docs/AGENT_OPERATOR_PLAYBOOK.md
- docs/AI_CONTEXT.md
- docs/API_REFERENCE.md
- docs/ARCHITECTURE.md
- docs/CLOUD_SYNC_AND_MULTI_AGENT_RESEARCH.md
- docs/CONFIGURATION.md
- docs/DASHBOARD.md
- docs/DESIGN_DECISIONS.md
- docs/DEVELOPMENT.md
- docs/DOCKER.md
- docs/GIT_MEMORY.md
- docs/INTEGRATIONS.md
- docs/KNOWN_ISSUES_AND_ROADMAP.md
- docs/MEMCODE.md
- docs/MEMORY_FORMATION_PIPELINE.md
- docs/MODULES.md
- docs/MULTI-DEVICE-SYNC-RESEARCH.md
- docs/PERFORMANCE.md
- docs/PI_UPSTREAM.md
- docs/README.md
- docs/ROADMAP-1.9.12-2.0.md
- docs/SETUP.md
- docs/hooks-architecture.md
- docs/knowledge/workflows/memorix-release.md (not served here)
- docs/memcode/DESIGN.md (not served here)
- docs/memcode/HANDOFF.md (not served here)
- docs/superpowers/plans/2026-06-12-memcode-native-hooks-plan.md (not served here)
- docs/superpowers/plans/2026-06-14-unified-toml-config-plan.md (not served here)
- docs/superpowers/plans/2026-06-29-agent-autopilot-entrypoints.md (not served here)
- docs/superpowers/plans/2026-06-29-auto-context-layer.md (not served here)
- docs/superpowers/plans/2026-06-29-codegraph-memory-mvp.md (not served here)
- docs/superpowers/plans/2026-07-02-memory-autopilot-1.1.5.md (not served here)
- docs/superpowers/plans/2026-07-07-task-lensed-memory-brief.md (not served here)
- docs/superpowers/specs/2026-06-12-memcode-native-hooks-design.md (not served here)
- docs/superpowers/specs/2026-06-14-unified-toml-config-design.md (not served here)
- docs/superpowers/specs/2026-06-29-auto-context-layer-design.md (not served here)
- docs/superpowers/specs/2026-06-29-codegraph-memory-context-fabric-design.md (not served here)
- docs/superpowers/specs/2026-07-02-memory-autopilot-1.1.5-design.md (not served here)
- docs/superpowers/specs/2026-07-07-task-lensed-memory-brief-design.md (not served here)
- docs/superpowers/specs/2026-07-14-runtime-integrity-1.1.11-design.md (not served here)
- examples/CLAUDE.md (not served here)
- examples/claude-desktop-config.json (not served here)
- examples/cursor-mcp.json (not served here)
- examples/windsurf-mcp.json (not served here)
- llms-full.txt (not served here)
- llms.txt (not served here)
- memorix.example.yml (not served here)
- package-lock.json (not served here)
- package.json (not served here)
- packages/agent-core/README.md (not served here)
- packages/agent-core/docs/agent-harness.md (not served here)
- packages/agent-core/docs/durable-harness.md (not served here)
- packages/agent-core/docs/hooks.md (not served here)
- packages/agent-core/docs/observability.md (not served here)
- packages/agent-core/package.json (not served here)
- packages/agent-core/src/agent-loop.ts (not served here)
- packages/agent-core/src/agent.ts (not served here)
- packages/agent-core/src/harness/agent-harness.ts (not served here)
- packages/agent-core/src/harness/compaction/branch-summarization.ts (not served here)
- packages/agent-core/src/harness/compaction/compaction.ts (not served here)
- packages/agent-core/src/harness/compaction/utils.ts (not served here)
- packages/agent-core/src/harness/env/nodejs.ts (not served here)
- packages/agent-core/src/harness/messages.ts (not served here)
- packages/agent-core/src/harness/prompt-templates.ts (not served here)
- packages/agent-core/src/harness/session/jsonl-repo.ts (not served here)
- packages/agent-core/src/harness/session/jsonl-storage.ts (not served here)
- packages/agent-core/src/harness/session/memory-repo.ts (not served here)
- packages/agent-core/src/harness/session/memory-storage.ts (not served here)
- packages/agent-core/src/harness/session/repo-utils.ts (not served here)
- packages/agent-core/src/harness/session/session.ts (not served here)
- packages/agent-core/src/harness/session/uuid.ts (not served here)
- packages/agent-core/src/harness/skills.ts (not served here)
- packages/agent-core/src/harness/system-prompt.ts (not served here)
- packages/agent-core/src/harness/types.ts (not served here)
- packages/agent-core/src/harness/utils/shell-output.ts (not served here)
- packages/agent-core/src/harness/utils/truncate.ts (not served here)
- packages/agent-core/src/index.ts (not served here)
- packages/agent-core/src/node.ts (not served here)
- packages/agent-core/src/proxy.ts (not served here)
- packages/agent-core/src/types.ts (not served here)
- packages/agent-core/test/agent-loop.test.ts (not served here)
- packages/agent-core/test/agent.test.ts (not served here)
- packages/agent-core/test/e2e.test.ts (not served here)
- packages/agent-core/test/harness/agent-harness-stream.test.ts (not served here)
- packages/agent-core/test/harness/agent-harness.test.ts (not served here)
- packages/agent-core/test/harness/compaction.test.ts (not served here)
- packages/agent-core/test/harness/nodejs-env.test.ts (not served here)
- packages/agent-core/test/harness/prompt-templates.test.ts (not served here)
- packages/agent-core/test/harness/repo.test.ts (not served here)
- packages/agent-core/test/harness/resource-formatting.test.ts (not served here)
- packages/agent-core/test/harness/session-test-utils.ts (not served here)
- packages/agent-core/test/harness/session-uuid.test.ts (not served here)
- packages/agent-core/test/harness/session.test.ts (not served here)
- packages/agent-core/test/harness/skills.test.ts (not served here)
- packages/agent-core/test/harness/storage.test.ts (not served here)
- packages/agent-core/test/harness/system-prompt.test.ts (not served here)
- packages/agent-core/test/harness/truncate.test.ts (not served here)
- packages/agent-core/test/utils/calculate.ts (not served here)
- packages/agent-core/test/utils/get-current-time.ts (not served here)
- packages/agent-core/tsconfig.build.json (not served here)
- packages/agent-core/tsconfig.json (not served here)
- packages/agent-core/vitest.config.ts (not served here)
- packages/agent-core/vitest.harness.config.ts (not served here)
- packages/ai/README.md (not served here)
- packages/ai/bedrock-provider.d.ts (not served here)
- packages/ai/bedrock-provider.js (not served here)
- packages/ai/package.json (not served here)
- packages/ai/scripts/generate-image-models.ts (not served here)
- packages/ai/scripts/generate-models.ts (not served here)
- packages/ai/scripts/generate-test-image.ts (not served here)
- packages/ai/src/api-registry.ts (not served here)
- packages/ai/src/bedrock-provider.ts (not served here)
- packages/ai/src/cli.ts (not served here)
- packages/ai/src/env-api-keys.ts (not served here)
- packages/ai/src/image-models.generated.ts (not served here)
- packages/ai/src/image-models.ts (not served here)
- packages/ai/src/images-api-registry.ts (not served here)
- packages/ai/src/images.ts (not served here)
- packages/ai/src/index.ts (not served here)
- packages/ai/src/minimax-models.ts (not served here)
- packages/ai/src/models.generated.ts (not served here)
- packages/ai/src/models.ts (not served here)
- packages/ai/src/oauth.ts (not served here)
- packages/ai/src/providers/amazon-bedrock.ts (not served here)
- packages/ai/src/providers/anthropic.ts (not served here)
- packages/ai/src/providers/azure-openai-responses.ts (not served here)
- packages/ai/src/providers/cloudflare.ts (not served here)
- packages/ai/src/providers/faux.ts (not served here)
- packages/ai/src/providers/github-copilot-headers.ts (not served here)
- packages/ai/src/providers/google-shared.ts (not served here)
- packages/ai/src/providers/google-vertex.ts (not served here)
- packages/ai/src/providers/google.ts (not served here)
- packages/ai/src/providers/images/minimax.ts (not served here)
- packages/ai/src/providers/images/openrouter.ts (not served here)
- packages/ai/src/providers/images/register-builtins.ts (not served here)
- packages/ai/src/providers/mistral.ts (not served here)
- packages/ai/src/providers/openai-codex-responses.ts (not served here)
- packages/ai/src/providers/openai-completions.ts (not served here)
- packages/ai/src/providers/openai-prompt-cache.ts (not served here)
- packages/ai/src/providers/openai-responses-shared.ts (not served here)
- packages/ai/src/providers/openai-responses.ts (not served here)
- packages/ai/src/providers/register-builtins.ts (not served here)
- packages/ai/src/providers/simple-options.ts (not served here)
- packages/ai/src/providers/transform-messages.ts (not served here)
- packages/ai/src/session-resources.ts (not served here)
- packages/ai/src/stream.ts (not served here)
- packages/ai/src/types.ts (not served here)
- packages/ai/src/utils/abort-signals.ts (not served here)
- packages/ai/src/utils/diagnostics.ts (not served here)
- packages/ai/src/utils/event-stream.ts (not served here)
- packages/ai/src/utils/hash.ts (not served here)
- packages/ai/src/utils/headers.ts (not served here)
- packages/ai/src/utils/json-parse.ts (not served here)
- packages/ai/src/utils/node-http-proxy.ts (not served here)
- packages/ai/src/utils/oauth/anthropic.ts (not served here)
- packages/ai/src/utils/oauth/device-code.ts (not served here)
- packages/ai/src/utils/oauth/github-copilot.ts (not served here)
- packages/ai/src/utils/oauth/index.ts (not served here)
- packages/ai/src/utils/oauth/oauth-page.ts (not served here)
- packages/ai/src/utils/oauth/openai-codex.ts (not served here)
- packages/ai/src/utils/oauth/pkce.ts (not served here)
- packages/ai/src/utils/oauth/types.ts (not served here)
- packages/ai/src/utils/overflow.ts (not served here)
- packages/ai/src/utils/sanitize-unicode.ts (not served here)
- packages/ai/src/utils/typebox-helpers.ts (not served here)
- packages/ai/src/utils/validation.ts (not served here)
- packages/ai/test/abort.test.ts (not served here)
- packages/ai/test/anthropic-adaptive-thinking-models.test.ts (not served here)
- packages/ai/test/anthropic-eager-tool-input-compat.test.ts (not served here)
- packages/ai/test/anthropic-eager-tool-input-e2e.test.ts (not served here)
- packages/ai/test/anthropic-empty-thinking-signature-compat.test.ts (not served here)
- packages/ai/test/anthropic-force-adaptive-thinking.test.ts (not served here)
- packages/ai/test/anthropic-long-cache-retention-e2e.test.ts (not served here)
- packages/ai/test/anthropic-oauth.test.ts (not served here)
- packages/ai/test/anthropic-opus-4-8-smoke.test.ts (not served here)
- packages/ai/test/anthropic-sse-parsing.test.ts (not served here)
- packages/ai/test/anthropic-temperature-compat.test.ts (not served here)
- packages/ai/test/anthropic-thinking-disable.test.ts (not served here)
- packages/ai/test/anthropic-tool-name-normalization.test.ts (not served here)
- packages/ai/test/azure-openai-base-url.test.ts (not served here)
- packages/ai/test/azure-utils.ts (not served here)
- packages/ai/test/bedrock-convert-messages.test.ts (not served here)
- packages/ai/test/bedrock-custom-headers.test.ts (not served here)
- packages/ai/test/bedrock-endpoint-resolution.test.ts (not served here)
- packages/ai/test/bedrock-models.test.ts (not served here)
- packages/ai/test/bedrock-thinking-payload.test.ts (not served here)
- packages/ai/test/bedrock-utils.ts (not served here)
- packages/ai/test/cache-retention.test.ts (not served here)
- packages/ai/test/cloudflare-utils.ts (not served here)
- packages/ai/test/codex-websocket-cached-probe.ts (not served here)
- packages/ai/test/context-overflow.test.ts (not served here)
- packages/ai/test/cross-provider-handoff.test.ts (not served here)
- packages/ai/test/data/red-circle.png (not served here)
- packages/ai/test/empty.test.ts (not served here)
- packages/ai/test/env-api-keys.test.ts (not served here)
- packages/ai/test/faux-provider.test.ts (not served here)
- packages/ai/test/fireworks-models.test.ts (not served here)
- packages/ai/test/generate-models-fallback.test.ts (not served here)
- packages/ai/test/github-copilot-anthropic.test.ts (not served here)
- packages/ai/test/github-copilot-oauth.test.ts (not served here)
- packages/ai/test/google-shared-convert-tools.test.ts (not served here)
- packages/ai/test/google-shared-gemini3-unsigned-tool-call.test.ts (not served here)
- packages/ai/test/google-shared-image-tool-result-routing.test.ts (not served here)
- packages/ai/test/google-thinking-disable.test.ts (not served here)
- packages/ai/test/google-thinking-signature.test.ts (not served here)
- packages/ai/test/google-vertex-api-key-resolution.test.ts (not served here)
- packages/ai/test/image-tool-result.test.ts (not served here)
- packages/ai/test/images.test.ts (not served here)
- packages/ai/test/interleaved-thinking.test.ts (not served here)
- packages/ai/test/lazy-module-load.test.ts (not served here)
- packages/ai/test/live-test-gate.test.ts (not served here)
- packages/ai/test/live-test-gate.ts (not served here)
- packages/ai/test/minimax-flash.test.ts (not served here)
- packages/ai/test/minimax-images.test.ts (not served here)
- packages/ai/test/minimax-models.test.ts (not served here)
- packages/ai/test/minimax-video-input.test.ts (not served here)
- packages/ai/test/mistral-reasoning-mode.test.ts (not served here)
- packages/ai/test/mistral-tool-schema.test.ts (not served here)
- packages/ai/test/node-http-proxy.test.ts (not served here)
- packages/ai/test/oauth-device-code.test.ts (not served here)
- packages/ai/test/oauth.ts (not served here)
- packages/ai/test/openai-codex-cache-affinity-e2e.test.ts (not served here)
- packages/ai/test/openai-codex-oauth.test.ts (not served here)
- packages/ai/test/openai-codex-stream.test.ts (not served here)
- packages/ai/test/openai-completions-cache-control-format.test.ts (not served here)
- packages/ai/test/openai-completions-empty-tools.test.ts (not served here)
- packages/ai/test/openai-completions-prompt-cache.test.ts (not served here)
- packages/ai/test/openai-completions-response-model.test.ts (not served here)
- packages/ai/test/openai-completions-retry.test.ts (not served here)
- packages/ai/test/openai-completions-thinking-as-text.test.ts (not served here)
- packages/ai/test/openai-completions-tool-choice.test.ts (not served here)
- packages/ai/test/openai-completions-tool-result-images.test.ts (not served here)
- packages/ai/test/openai-responses-cache-affinity-e2e.test.ts (not served here)
- packages/ai/test/openai-responses-copilot-provider.test.ts (not served here)
- packages/ai/test/openai-responses-foreign-toolcall-id.test.ts (not served here)
- packages/ai/test/openai-responses-message-id.test.ts (not served here)
- packages/ai/test/openai-responses-partial-json-cleanup.test.ts (not served here)
- packages/ai/test/openai-responses-reasoning-replay-e2e.test.ts (not served here)
- packages/ai/test/openai-responses-tool-result-images.test.ts (not served here)
- packages/ai/test/openrouter-cache-write-repro.test.ts (not served here)
- packages/ai/test/openrouter-images.test.ts (not served here)
- packages/ai/test/overflow.test.ts (not served here)
- packages/ai/test/responseid.test.ts (not served here)
- packages/ai/test/setup.ts (not served here)
- packages/ai/test/stream.test.ts (not served here)
- packages/ai/test/supports-xhigh.test.ts (not served here)
- packages/ai/test/together-models.test.ts (not served here)
- packages/ai/test/tokens.test.ts (not served here)
- packages/ai/test/tool-call-id-normalization.test.ts (not served here)
- packages/ai/test/tool-call-without-result.test.ts (not served here)
- packages/ai/test/total-tokens.test.ts (not served here)
- packages/ai/test/transform-messages-copilot-openai-to-anthropic.test.ts (not served here)
- packages/ai/test/unicode-surrogate.test.ts (not served here)
- packages/ai/test/validation.test.ts (not served here)
- packages/ai/test/xhigh.test.ts (not served here)
- packages/ai/test/xiaomi-models.test.ts (not served here)
- packages/ai/test/xiaomi-token-plan-ams-anthropic-empty-signature-smoke.test.ts (not served here)
- packages/ai/test/zen.test.ts (not served here)
- packages/ai/tsconfig.build.json (not served here)
- packages/ai/tsconfig.json (not served here)
- packages/ai/vitest.config.ts (not served here)
- packages/memcode/.gitignore (not served here)
- packages/memcode/README.md (not served here)
- packages/memcode/docs/compaction.md (not served here)
- packages/memcode/docs/containerization.md (not served here)
- packages/memcode/docs/custom-provider.md (not served here)
- packages/memcode/docs/development.md (not served here)
- packages/memcode/docs/docs.json (not served here)
- packages/memcode/docs/extensions.md (not served here)
- packages/memcode/docs/images/doom-extension.png (not served here)
- packages/memcode/docs/images/interactive-mode.png (not served here)
- packages/memcode/docs/images/tree-view.png (not served here)
- packages/memcode/docs/index.md (not served here)
- packages/memcode/docs/json.md (not served here)
- packages/memcode/docs/keybindings.md (not served here)
- packages/memcode/docs/models.md (not served here)
- packages/memcode/docs/packages.md (not served here)
- packages/memcode/docs/prompt-templates.md (not served here)
- packages/memcode/docs/providers.md (not served here)
- packages/memcode/docs/quickstart.md (not served here)
- packages/memcode/docs/rpc.md (not served here)
- packages/memcode/docs/sdk.md (not served here)
- packages/memcode/docs/security.md (not served here)
- packages/memcode/docs/session-format.md (not served here)
- packages/memcode/docs/sessions.md (not served here)
- packages/memcode/docs/settings.md (not served here)
- packages/memcode/docs/shell-aliases.md (not served here)
- packages/memcode/docs/skills.md (not served here)
- packages/memcode/docs/terminal-setup.md (not served here)
- packages/memcode/docs/termux.md (not served here)
- packages/memcode/docs/themes.md (not served here)
- packages/memcode/docs/tmux.md (not served here)
- packages/memcode/docs/tui.md (not served here)
- packages/memcode/docs/usage.md (not served here)
- packages/memcode/docs/windows.md (not served here)
- packages/memcode/examples/README.md (not served here)
- packages/memcode/examples/extensions/README.md (not served here)
- packages/memcode/examples/extensions/auto-commit-on-exit.ts (not served here)
- packages/memcode/examples/extensions/bash-spawn-hook.ts (not served here)
- packages/memcode/examples/extensions/bookmark.ts (not served here)
- packages/memcode/examples/extensions/border-status-editor.ts (not served here)
- packages/memcode/examples/extensions/built-in-tool-renderer.ts (not served here)
- packages/memcode/examples/extensions/claude-rules.ts (not served here)
- packages/memcode/examples/extensions/commands.ts (not served here)
- packages/memcode/examples/extensions/confirm-destructive.ts (not served here)
- packages/memcode/examples/extensions/custom-compaction.ts (not served here)
- packages/memcode/examples/extensions/custom-footer.ts (not served here)
- packages/memcode/examples/extensions/custom-header.ts (not served here)
- packages/memcode/examples/extensions/custom-provider-anthropic/.gitignore (not served here)
- packages/memcode/examples/extensions/custom-provider-anthropic/index.ts (not served here)
- packages/memcode/examples/extensions/custom-provider-anthropic/package-lock.json (not served here)
- packages/memcode/examples/extensions/custom-provider-anthropic/package.json (not served here)
- packages/memcode/examples/extensions/custom-provider-gitlab-duo/.gitignore (not served here)
- packages/memcode/examples/extensions/custom-provider-gitlab-duo/index.ts (not served here)
- packages/memcode/examples/extensions/custom-provider-gitlab-duo/package.json (not served here)
- packages/memcode/examples/extensions/custom-provider-gitlab-duo/test.ts (not served here)
- packages/memcode/examples/extensions/dirty-repo-guard.ts (not served here)
- packages/memcode/examples/extensions/doom-overlay/.gitignore (not served here)
- packages/memcode/examples/extensions/doom-overlay/README.md (not served here)
- packages/memcode/examples/extensions/doom-overlay/doom-component.ts (not served here)
- packages/memcode/examples/extensions/doom-overlay/doom-engine.ts (not served here)
- packages/memcode/examples/extensions/doom-overlay/doom-keys.ts (not served here)
- packages/memcode/examples/extensions/doom-overlay/doom/build.sh (not served here)
- packages/memcode/examples/extensions/doom-overlay/doom/build/doom.js (not served here)
- packages/memcode/examples/extensions/doom-overlay/doom/build/doom.wasm (not served here)
- packages/memcode/examples/extensions/doom-overlay/doom/doomgeneric_pi.c (not served here)
- packages/memcode/examples/extensions/doom-overlay/index.ts (not served here)
- packages/memcode/examples/extensions/doom-overlay/wad-finder.ts (not served here)
- packages/memcode/examples/extensions/dynamic-resources/SKILL.md (not served here)
- packages/memcode/examples/extensions/dynamic-resources/dynamic.json (not served here)
- packages/memcode/examples/extensions/dynamic-resources/dynamic.md (not served here)
- packages/memcode/examples/extensions/dynamic-resources/index.ts (not served here)
- packages/memcode/examples/extensions/dynamic-tools.ts (not served here)
- packages/memcode/examples/extensions/event-bus.ts (not served here)
- packages/memcode/examples/extensions/file-trigger.ts (not served here)
- packages/memcode/examples/extensions/git-checkpoint.ts (not served here)
- packages/memcode/examples/extensions/git-merge-and-resolve.ts (not served here)
- packages/memcode/examples/extensions/github-issue-autocomplete.ts (not served here)
- packages/memcode/examples/extensions/gondolin/.gitignore (not served here)
- packages/memcode/examples/extensions/gondolin/index.ts (not served here)
- packages/memcode/examples/extensions/gondolin/package-lock.json (not served here)
- packages/memcode/examples/extensions/gondolin/package.json (not served here)
- packages/memcode/examples/extensions/handoff.ts (not served here)
- packages/memcode/examples/extensions/hello.ts (not served here)
- packages/memcode/examples/extensions/hidden-thinking-label.ts (not served here)
- packages/memcode/examples/extensions/inline-bash.ts (not served here)
- packages/memcode/examples/extensions/input-transform-streaming.ts (not served here)
- packages/memcode/examples/extensions/input-transform.ts (not served here)
- packages/memcode/examples/extensions/interactive-shell.ts (not served here)
- packages/memcode/examples/extensions/mac-system-theme.ts (not served here)
- packages/memcode/examples/extensions/message-renderer.ts (not served here)
- packages/memcode/examples/extensions/minimal-mode.ts (not served here)
- packages/memcode/examples/extensions/modal-editor.ts (not served here)
- packages/memcode/examples/extensions/model-status.ts (not served here)
- packages/memcode/examples/extensions/notify.ts (not served here)
- packages/memcode/examples/extensions/overlay-qa-tests.ts (not served here)
- packages/memcode/examples/extensions/overlay-test.ts (not served here)
- packages/memcode/examples/extensions/permission-gate.ts (not served here)
- packages/memcode/examples/extensions/pirate.ts (not served here)
- packages/memcode/examples/extensions/plan-mode/README.md (not served here)
- packages/memcode/examples/extensions/plan-mode/index.ts (not served here)
- packages/memcode/examples/extensions/plan-mode/utils.ts (not served here)
- packages/memcode/examples/extensions/preset.ts (not served here)
- packages/memcode/examples/extensions/project-trust.ts (not served here)
- packages/memcode/examples/extensions/prompt-customizer.ts (not served here)
- packages/memcode/examples/extensions/protected-paths.ts (not served here)
- packages/memcode/examples/extensions/provider-payload.ts (not served here)
- packages/memcode/examples/extensions/qna.ts (not served here)
- packages/memcode/examples/extensions/question.ts (not served here)
- packages/memcode/examples/extensions/questionnaire.ts (not served here)
- packages/memcode/examples/extensions/rainbow-editor.ts (not served here)
- packages/memcode/examples/extensions/reload-runtime.ts (not served here)
- packages/memcode/examples/extensions/rpc-demo.ts (not served here)
- packages/memcode/examples/extensions/sandbox/.gitignore (not served here)
- packages/memcode/examples/extensions/sandbox/index.ts (not served here)
- packages/memcode/examples/extensions/sandbox/package-lock.json (not served here)
- packages/memcode/examples/extensions/sandbox/package.json (not served here)
- packages/memcode/examples/extensions/send-user-message.ts (not served here)
- packages/memcode/examples/extensions/session-name.ts (not served here)
- packages/memcode/examples/extensions/shutdown-command.ts (not served here)
- packages/memcode/examples/extensions/snake.ts (not served here)
- packages/memcode/examples/extensions/space-invaders.ts (not served here)
- packages/memcode/examples/extensions/ssh.ts (not served here)
- packages/memcode/examples/extensions/status-line.ts (not served here)
- packages/memcode/examples/extensions/structured-output.ts (not served here)
- packages/memcode/examples/extensions/subagent/README.md (not served here)
- packages/memcode/examples/extensions/subagent/agents.ts (not served here)
- packages/memcode/examples/extensions/subagent/agents/planner.md (not served here)
- packages/memcode/examples/extensions/subagent/agents/reviewer.md (not served here)
- packages/memcode/examples/extensions/subagent/agents/scout.md (not served here)
- packages/memcode/examples/extensions/subagent/agents/worker.md (not served here)
- packages/memcode/examples/extensions/subagent/index.ts (not served here)
- packages/memcode/examples/extensions/subagent/prompts/implement-and-review.md (not served here)
- packages/memcode/examples/extensions/subagent/prompts/implement.md (not served here)
- packages/memcode/examples/extensions/subagent/prompts/scout-and-plan.md (not served here)
- packages/memcode/examples/extensions/summarize.ts (not served here)
- packages/memcode/examples/extensions/system-prompt-header.ts (not served here)
- packages/memcode/examples/extensions/tic-tac-toe.ts (not served here)
- packages/memcode/examples/extensions/timed-confirm.ts (not served here)
- packages/memcode/examples/extensions/titlebar-spinner.ts (not served here)
- packages/memcode/examples/extensions/todo.ts (not served here)
- packages/memcode/examples/extensions/tool-override.ts (not served here)
- packages/memcode/examples/extensions/tools.ts (not served here)
- packages/memcode/examples/extensions/trigger-compact.ts (not served here)
- packages/memcode/examples/extensions/truncated-tool.ts (not served here)
- packages/memcode/examples/extensions/widget-placement.ts (not served here)
- packages/memcode/examples/extensions/with-deps/.gitignore (not served here)
- packages/memcode/examples/extensions/with-deps/index.ts (not served here)
- packages/memcode/examples/extensions/with-deps/package-lock.json (not served here)
- packages/memcode/examples/extensions/with-deps/package.json (not served here)
- packages/memcode/examples/extensions/working-indicator.ts (not served here)
- packages/memcode/examples/extensions/working-message-test.ts (not served here)
- packages/memcode/examples/rpc-extension-ui.ts (not served here)
- packages/memcode/examples/sdk/01-minimal.ts (not served here)
- packages/memcode/examples/sdk/02-custom-model.ts (not served here)
- packages/memcode/examples/sdk/03-custom-prompt.ts (not served here)
- packages/memcode/examples/sdk/04-skills.ts (not served here)
- packages/memcode/examples/sdk/05-tools.ts (not served here)
- packages/memcode/examples/sdk/06-extensions.ts (not served here)
- packages/memcode/examples/sdk/07-context-files.ts (not served here)
- packages/memcode/examples/sdk/08-prompt-templates.ts (not served here)
- packages/memcode/examples/sdk/09-api-keys-and-oauth.ts (not served here)
- server.json
Advantages
- Local-first: the memory stays in files or a database on your own machine (a rule-derived fact from the brain’s files, evidence: README.md)
- Works with 14 MCP clients (a rule-derived fact from the brain’s files, evidence: README.md)
- Open licence (Apache-2.0) (a rule-derived fact from the brain’s files)
Limitations
- Needs an API key (ANTHROPIC_API_KEY, API_ROUTE_API_KEY, ATLASCLOUD_API_KEY) (a rule-derived fact from the brain’s files, evidence: README.md)
- Needs a database (LanceDB, PostgreSQL, SQLite) (a rule-derived fact from the brain’s files, evidence: README.md)
- Runs code automatically: review what it runs before you open it (a rule-derived fact from the brain’s files)
- No ZIP download: install it from its source (a rule-derived fact from the brain’s files)
Security
Risk level: Low risk
This brain runs
Agent instructions that run or fetch something (23)
CLAUDE.md:CLI fallback: only after MCP is confirmed unavailable, run `memorix context --task "<current task>"` from the shell instead of skipping memory or hand-writing tool callsplugins/claude/memorix/SKILL.md:Run `memorix context --task "<task>" --fallback --brief-json` only after MCP is unavailable, disabled, or not discoverable, and pass the user's real task text.plugins/claude/memorix/skills/memorix-git-memory/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Search what changed | `memorix_search` with a change-focused query | `memorix memory search --query "what changed <topic>"` | | Inspect a git-backed memory | `memorix_detail` | `memorix memory detail --id <id>` | | Ingest current co …[+257 chars]plugins/claude/memorix/skills/memorix-memory/SKILL.md:Run `memorix context --task "<task>" --fallback --brief-json` from the shell only after MCP is unavailable, disabled, or not discoverable, and pass the user's real task text.plugins/claude/memorix/skills/memorix-orchestrate/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Run managed subagent execution | CLI | `memorix orchestrate --goal "<goal>" --agents claude:1,codex:1` | | Register coordination identity | `team_manage` action `join` | `memorix team join --agentType <agent>` | | Create or inspect …[+385 chars]plugins/claude/memorix/skills/memorix-troubleshooting/SKILL.md:| Symptom | Check | CLI fallback | |---|---|---| | MCP tools missing | host MCP config and restart | `memorix setup --agent <agent>` | | Unsure project is bound | project status | `memorix status` and `git status` | | HTTP MCP stale or unbound | background health and explicit session bi …[+33 chars]plugins/codebuddy/memorix/skills/memorix-git-memory/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Search what changed | `memorix_search` with a change-focused query | `memorix memory search --query "what changed <topic>"` | | Inspect a git-backed memory | `memorix_detail` | `memorix memory detail --id <id>` | | Ingest current co …[+257 chars]plugins/codebuddy/memorix/skills/memorix-memory/SKILL.md:Run `memorix context --task "<task>" --fallback --brief-json` from the shell only after MCP is unavailable, disabled, or not discoverable, and pass the user's real task text.plugins/codebuddy/memorix/skills/memorix-orchestrate/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Run managed subagent execution | CLI | `memorix orchestrate --goal "<goal>" --agents claude:1,codex:1` | | Register coordination identity | `team_manage` action `join` | `memorix team join --agentType <agent>` | | Create or inspect …[+385 chars]plugins/codebuddy/memorix/skills/memorix-troubleshooting/SKILL.md:| Symptom | Check | CLI fallback | |---|---|---| | MCP tools missing | host MCP config and restart | `memorix setup --agent <agent>` | | Unsure project is bound | project status | `memorix status` and `git status` | | HTTP MCP stale or unbound | background health and explicit session bi …[+33 chars]plugins/codex/memorix/skills/memorix-git-memory/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Search what changed | `memorix_search` with a change-focused query | `memorix memory search --query "what changed <topic>"` | | Inspect a git-backed memory | `memorix_detail` | `memorix memory detail --id <id>` | | Ingest current co …[+257 chars]plugins/codex/memorix/skills/memorix-memory/SKILL.md:Run `memorix context --task "<task>" --fallback --brief-json` only after MCP is unavailable, disabled, or not discoverable, and pass the user's real task text.plugins/codex/memorix/skills/memorix-orchestrate/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Run managed subagent execution | CLI | `memorix orchestrate --goal "<goal>" --agents claude:1,codex:1` | | Register coordination identity | `team_manage` action `join` | `memorix team join --agentType <agent>` | | Create or inspect …[+385 chars]plugins/codex/memorix/skills/memorix-troubleshooting/SKILL.md:| Symptom | Check | CLI fallback | |---|---|---| | MCP tools missing | host MCP config and restart | `memorix setup --agent <agent>` | | Unsure project is bound | project status | `memorix status` and `git status` | | HTTP MCP stale or unbound | background health and explicit session bi …[+33 chars]plugins/copilot/memorix/skills/memorix-git-memory/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Search what changed | `memorix_search` with a change-focused query | `memorix memory search --query "what changed <topic>"` | | Inspect a git-backed memory | `memorix_detail` | `memorix memory detail --id <id>` | | Ingest current co …[+257 chars]plugins/copilot/memorix/skills/memorix-memory/SKILL.md:Run `memorix context --task "<task>" --fallback --brief-json` only after MCP is unavailable, disabled, or not discoverable, and pass the user's real task text.plugins/copilot/memorix/skills/memorix-orchestrate/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Run managed subagent execution | CLI | `memorix orchestrate --goal "<goal>" --agents claude:1,codex:1` | | Register coordination identity | `team_manage` action `join` | `memorix team join --agentType <agent>` | | Create or inspect …[+385 chars]plugins/copilot/memorix/skills/memorix-troubleshooting/SKILL.md:| Symptom | Check | CLI fallback | |---|---|---| | MCP tools missing | host MCP config and restart | `memorix setup --agent <agent>` | | Unsure project is bound | project status | `memorix status` and `git status` | | HTTP MCP stale or unbound | background health and explicit session bi …[+33 chars]plugins/cursor/memorix/skills/memorix-git-memory/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Search what changed | `memorix_search` with a change-focused query | `memorix memory search --query "what changed <topic>"` | | Inspect a git-backed memory | `memorix_detail` | `memorix memory detail --id <id>` | | Ingest current co …[+257 chars]plugins/cursor/memorix/skills/memorix-memory/SKILL.md:Run `memorix context --task "<task>" --fallback --brief-json` only after MCP is unavailable, disabled, or not discoverable, and pass the user's real task text.plugins/cursor/memorix/skills/memorix-orchestrate/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Run managed subagent execution | CLI | `memorix orchestrate --goal "<goal>" --agents claude:1,codex:1` | | Register coordination identity | `team_manage` action `join` | `memorix team join --agentType <agent>` | | Create or inspect …[+385 chars]plugins/cursor/memorix/skills/memorix-troubleshooting/SKILL.md:| Symptom | Check | CLI fallback | |---|---|---| | MCP tools missing | host MCP config and restart | `memorix setup --agent <agent>` | | Unsure project is bound | project status | `memorix status` and `git status` | | HTTP MCP stale or unbound | background health and explicit session bi …[+33 chars]plugins/gemini/memorix/GEMINI.md:Run `memorix context --task "<task>" --fallback --brief-json` only after MCP is unavailable, disabled, or not discoverable, and pass the user's real task text.
MCP servers (7)
README.md(memorix):memorix serveplugins/claude/memorix/.mcp.json(memorix):memorix serve --mode liteplugins/codebuddy/memorix/.mcp.json(memorix):memorix serve --mode liteplugins/codex/memorix/.mcp.json(memorix):memorix serve --mode liteplugins/copilot/memorix/.mcp.json(memorix):memorix serve --mode liteplugins/gemini/memorix/gemini-extension.json(memorix):memorix serve --mode liteplugins/openclaw/memorix/.mcp.json(memorix):memorix serve --mode lite
Hooks (20)
plugins/claude/memorix/hooks/hooks.json(SessionStart):memorix hookplugins/claude/memorix/hooks/hooks.json(PostToolUse):memorix hookplugins/claude/memorix/hooks/hooks.json(UserPromptSubmit):memorix hookplugins/claude/memorix/hooks/hooks.json(PreCompact):memorix hookplugins/claude/memorix/hooks/hooks.json(Stop):memorix hookplugins/codebuddy/memorix/hooks/hooks.json(SessionStart):memorix hook --agent codebuddyplugins/codebuddy/memorix/hooks/hooks.json(UserPromptSubmit):memorix hook --agent codebuddyplugins/codebuddy/memorix/hooks/hooks.json(PostToolUse):memorix hook --agent codebuddyplugins/codebuddy/memorix/hooks/hooks.json(PreCompact):memorix hook --agent codebuddyplugins/codebuddy/memorix/hooks/hooks.json(Stop):memorix hook --agent codebuddyplugins/codex/memorix/hooks/hooks.json(SessionStart):memorix hook --agent codexplugins/codex/memorix/hooks/hooks.json(PostToolUse):memorix hook --agent codexplugins/codex/memorix/hooks/hooks.json(UserPromptSubmit):memorix hook --agent codexplugins/codex/memorix/hooks/hooks.json(PreCompact):memorix hook --agent codexplugins/codex/memorix/hooks/hooks.json(Stop):memorix hook --agent codexplugins/copilot/memorix/hooks/hooks.json(sessionStart):memorix hook --agent copilotplugins/copilot/memorix/hooks/hooks.json(sessionEnd):memorix hook --agent copilotplugins/copilot/memorix/hooks/hooks.json(userPromptSubmitted):memorix hook --agent copilotplugins/copilot/memorix/hooks/hooks.json(postToolUse):memorix hook --agent copilotplugins/copilot/memorix/hooks/hooks.json(preCompact):memorix hook --agent copilot
Binaries (5)
packages/memcode/examples/extensions/doom-overlay/doom/build/doom.wasm:ships native binariespackages/tui/native/darwin/prebuilds/darwin-arm64/darwin-modifiers.node:ships native binariespackages/tui/native/darwin/prebuilds/darwin-x64/darwin-modifiers.node:ships native binariespackages/tui/native/win32/prebuilds/win32-arm64/win32-console-mode.node:ships native binariespackages/tui/native/win32/prebuilds/win32-x64/win32-console-mode.node:ships native binaries
- Low risk: scripts-present (scripts/benchmark-retrieval.mjs)
- Low risk: scripts-present (scripts/large-store-gate.mjs)
Attribution and licence
- First committed by
AVIDS2
- Declared authors
- AVIDS2 (declared in package.json)
- Publisher
- Le_Ho (Community)
- Source
- AVIDS2/memorix · commit 6745280
- Licence
- Apache License 2.0 (files served here)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Contributors
- AVIDS2, noirgif, Tom-Ma-Ming, octo-patch, DennyHo0917
AutoGineer is not affiliated with or endorsed by AVIDS2.
Install from source
453 of its files are not served here, so there is no ZIP. AVIDS2/memorix at 6745280