Generated banner for memorix
Generated logo for memorix

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.
— the description by AVIDS2

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.

Folders
FolderRoleFiles
.githubagent-config3
.windsurfagent-config2
assetsattachments32
docsdocs65
examplesexamples4
packagessource-code836
scriptsscripts18
srcsource-code382
teststests376
.codegraphfolder1
.opencodefolder1
.traefolder1
articlesfolder5
pluginsfolder64
stubsfolder1

The agent writes

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

  1. 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 hook
    • plugins/claude/memorix/hooks/hooks.json: memorix hook
    • plugins/claude/memorix/hooks/hooks.json: memorix hook
    • plugins/claude/memorix/hooks/hooks.json: memorix hook
    • plugins/claude/memorix/hooks/hooks.json: memorix hook
    • plugins/codebuddy/memorix/hooks/hooks.json: memorix hook --agent codebuddy
    • plugins/codebuddy/memorix/hooks/hooks.json: memorix hook --agent codebuddy
    • plugins/codebuddy/memorix/hooks/hooks.json: memorix hook --agent codebuddy
    • plugins/codebuddy/memorix/hooks/hooks.json: memorix hook --agent codebuddy
    • plugins/codebuddy/memorix/hooks/hooks.json: memorix hook --agent codebuddy
    • plugins/codex/memorix/hooks/hooks.json: memorix hook --agent codex
    • plugins/codex/memorix/hooks/hooks.json: memorix hook --agent codex
    • plugins/codex/memorix/hooks/hooks.json: memorix hook --agent codex
    • plugins/codex/memorix/hooks/hooks.json: memorix hook --agent codex
    • plugins/codex/memorix/hooks/hooks.json: memorix hook --agent codex
    • plugins/copilot/memorix/hooks/hooks.json: memorix hook --agent copilot
    • plugins/copilot/memorix/hooks/hooks.json: memorix hook --agent copilot
    • plugins/copilot/memorix/hooks/hooks.json: memorix hook --agent copilot
    • plugins/copilot/memorix/hooks/hooks.json: memorix hook --agent copilot
    • plugins/copilot/memorix/hooks/hooks.json: memorix hook --agent copilot
  2. Not scanned by AutoGineerAutoGineer could not scan everything it runs. https://www.npmjs.com/package/memorix
  3. 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.

ProblemWhat Memorix adds
The next session forgets what the last session learnedProject-scoped memory, session summaries, timelines, and detail retrieval
Different agents know different thingsOne local memory pool available through MCP, hooks, CLI, SDK, and the bundled terminal agent
Git records what changed, but agents cannot recall it wellGit Memory turns commits into searchable engineering facts
Architecture decisions disappear into old chatsReasoning Memory stores why choices were made, with alternatives and trade-offs
Static rule files driftGotchas, fixes, and project skills evolve from real work
Parallel agent work gets messymemorix 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.

CapabilityWhat it doesEntry point
Memory AutopilotA 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 MemorySearchable facts, fixes, gotchas, session summaries, and implementation notes scoped to the current Git projectmemorix memory, MCP memory tools
Curated Long-term MemoryDeliberately reviewed episodic, semantic, and procedural memory with source evidence. Only an explicitly portable user item can cross local projectsmemorix memory long-term
Code State and Code MemoryVersioned 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 MemoryCommit-derived engineering facts that answer what changed, where, and why it mattersmemorix ingest commit, git hook
Reasoning MemoryDesign rationale, alternatives, trade-offs, and risks that should survive beyond one chatmemorix reasoning, memory formation
Knowledge WorkspaceReview-gated source-backed claims, Markdown pages, and canonical project workflows; proposals never overwrite reviewed pages silentlymemorix knowledge, memorix knowledge workflow
Agent setupOne setup path for MCP, rules, hooks, skills, plugins, bundles, or extensions depending on the agentmemorix setup --agent <agent>
Agent doctorChecks whether agent MCP config and guidance are current, then repairs Memorix-owned entries when neededmemorix doctor agents, memorix repair agents
Hooks and skillsOptional capture from supported agents, plus reusable project skills promoted from durable knowledgememorix hooks, memorix skills
Dashboard and HTTPA local web UI and shared MCP endpoint for browsing memory, project state, teams, diagnostics, and preview-first cleanup, consolidation, deduplication, and retention actionsmemorix dashboard, memorix background start
Orchestration and team workTask planning, worker handoffs, file locks, messages, verification gates, and review loopsmemorix orchestrate, memorix team, memorix lock
memcodeA bundled terminal coding agent that already reads and writes the same project memorymemorix, memcode
CLI and SDKScriptable access for automation, imports/exports, diagnostics, and custom integrationsmemorix ..., createMemoryClient()
Optional multi-device syncPrivacy-filtered observation events with local SQLite kept canonical; default project scope, optional --scope user for every local project; GitHub JSONL, filesystem, S3, or Postgres relaymemorix 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:

SurfaceWhat it doesMemorix entry
Setup commandInstalls the recommended one-time user-level Memorix integrationmemorix setup --agent <agent> --global
MCPGives an agent compact Memorix tools for project context, search, detail retrieval, storage, and resolutionbundled in setup packages or memorix serve
Usage guidanceTeaches an agent when and how to use Memorix without forcing memory lookup on every promptbundled or generated by memorix setup
HooksOptional capture of prompts, tool events, file edits, session lifecycle events, and native compaction checkpoints where the agent exposes thembundled or generated by memorix setup
Plugin or bundle packageInstalls plugin, compatible-bundle, or package files where the agent supports themClaude Code, Codex, CodeBuddy Code, GitHub Copilot CLI, Antigravity, OpenClaw, Hermes Agent, Oh-my-Pi, Pi
ExtensionInstalls extension files where the agent supports themGemini CLI
Local pluginInstalls local plugin files where the agent loads them directlyOpenCode
MCP/rules configWrites MCP, rules, steering, guidance, or hook config for IDEs and agents that expose those surfacesCursor, Windsurf, Kiro, Trae, DeepSeek Harness, WorkBuddy
SkillsTurns durable project knowledge into reusable task guidancememorix skills and memorix_promote
memcodeOpens the bundled terminal agent that already uses Memorix memorymemorix 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:

  • memorix CLI is the direct command surface for setup, memory search/store, Git Memory, import/export, dashboard, orchestration, diagnostics, and automation.

  • memorix serve is the stdio MCP bridge used by IDEs and coding agents. Its default tool profile is micro, so agents see only the compact core tool set.

  • memorix background start / memorix serve-http run 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.0

  • Git, 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, omp

memorix init is optional. It creates or updates TOML configuration:

  • ~/.memorix/config.toml for global defaults

  • <git-root>/memorix.toml for 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 --global

What 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.md guidance, 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 .codex config or change your model, approval, or sandbox settings. When Codex asks, review the plugin hook definition once with /hooks; --noHooks skips 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.json with --global, or .pi/mcp.json for project setup.

  • Cursor: writes Cursor MCP/rules/config entries in the chosen scope.

  • Gemini CLI: installs the extension package, GEMINI.md context, 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, and AGENTS.md guidance.

  • 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/memorix or .agents/plugins/memorix.

  • OpenClaw: installs an OpenClaw-compatible bundle with .mcp.json, official skills, and an OpenClaw HOOK.md/handler.ts hook pack.

  • Hermes Agent: installs into Hermes home (%LOCALAPPDATA%\hermes on native Windows, ~/.hermes elsewhere, or HERMES_HOME), enables the plugin in config.yaml, registers plugin hooks, slash/CLI commands, skills, and writes MCP config.

  • CodeBuddy Code: installs a user-scope local marketplace plugin under ~/.codebuddy/memorix-local with MCP, skills, and hooks. It does not change existing CodeBuddy model, permission, or settings files; CodeBuddy keeps third-party hook approval in its own /hooks flow.

  • Oh-my-Pi: installs an omp.extensions package with extension hook events, a memorix command, official skills, and writes MCP config.

  • DeepSeek Harness: writes a Memorix @deepseek-ai/dsh-mcp-client row into $DSH_HOME/cordis.patch.yml (default ~/.dsh/cordis.patch.yml), appends guidance to the harness AGENTS.md, and installs official skills under $DSH_HOME/skills. The row follows DSH's own shipped Memorix reference, so tools appear as mcp__memorix__*.

  • WorkBuddy: writes a Memorix MCP server row into ~/.workbuddy/mcp.json (or <project>/.workbuddy/mcp.json for project installs) and appends guidance to AGENTS.md. Tools appear as mcp__memorix__*; there is no hooks surface.

  • Grok Build: installs native lifecycle hooks under ~/.grok/hooks/memorix.json and guidance in ~/.grok/AGENTS.md. MCP stays host-owned by default; pass --mcp http to write [mcp_servers.memorix] with url = "http://localhost:3211/mcp". Project-local hooks require Grok /hooks-trust, while global hooks are trusted. Set GROK_HOME to 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 start

Then point the client at:

http://localhost:3211/mcp

In 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-run

Stop the background service and remove hooks:

memorix uninstall --background --hooks

Full cleanup:

memorix uninstall --yes --background --hooks --purge-data
npm uninstall -g memorix

memorix 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 workbench

The 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 --json

MiniMax 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> --json

memorix_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
memcode

This 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>

LayerStoresBest for
Observation Memoryfacts, gotchas, fixes, implementation notes"How does this work?"
Reasoning Memoryrationale, alternatives, constraints, risks"Why did we choose this?"
Git Memorycommit-derived engineering facts"What changed and where?"
Code Memoryfiles, symbols, import edges, and memory-to-code freshness"Which current code should I inspect first?"
Curated Long-term Memoryreviewed episodic events, stable facts, or reusable procedures with evidence"What should this agent still know or do later?"
Compact Continuityrecent 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 wantRun
Install an agent integration packagememorix setup --agent <agent> --global
Check or repair an agent integrationmemorix doctor agents --agent <agent>, memorix repair agents --agent <agent>
Manually expose stdio MCPmemorix serve
Run shared HTTP MCP plus dashboardmemorix background start
Debug HTTP MCP in the foregroundmemorix serve-http --port 3211
Inspect or manage memory directlymemorix memory, memorix reasoning, memorix session, memorix ingest, memorix media
Manage reviewed long-term memory`memorix memory long-term list
Retire memories from retrievalmemorix purge (current project), memorix purge --all --yes (everything)
Inspect native compaction continuity`memorix checkpoint list
Use the interactive terminal memory control planememorix workbench
Use the bundled terminal agentmemorix or memcode
Run orchestrated subagent workmemorix 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 pool

See 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 -d

Then open:

  • dashboard: http://localhost:3211

  • MCP: http://localhost:3211/mcp

  • health: 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 hereUse when
Docs MapYou want the shortest route to the right guide
Setup GuideInstalling, using memorix setup, choosing stdio vs HTTP
Integration SurfacesPlugin packages, MCP, project rules, hooks, and skills support
ConfigurationTOML config, model lanes, compatibility files
API ReferenceMCP tools and CLI commands
Git MemoryCommit ingestion and searchable engineering truth
DockerContainerized HTTP service
memcodeUsing the bundled terminal agent
Agent PlaybookAI-facing execution guide for install, binding, hooks, and troubleshooting
DevelopmentContributing, testing, release checks
ChangelogWhat 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 build

Community

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>

Apache 2.0

<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 start or memorix serve-http --port 3211)

  • bundled terminal agent (memorix or memcode) that uses the same shared memory pool

  • local-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> --global is the default integration command for an existing coding agent or IDE

  • setup installs plugin packages where supported, MCP config, usage guidance, hooks, and skills according to agent capability

  • memorix serve remains the stdio MCP entry for IDEs and external agents; it defaults to the compact micro tool profile to avoid flooding agent context

  • memorix background start and memorix serve-http --port 3211 run the HTTP MCP service and dashboard

  • memorix / memcode open memcode, the bundled terminal agent

  • configuration is TOML-first: global ~/.memorix/config.toml, project <git-root>/memorix.toml

  • model lanes are separate: [memory.llm] for formation/rerank/summaries, [embedding] for semantic search, [agent] for the model memcode talks to while coding

  • legacy memorix.yml, .env, and ~/.memorix/config.json are compatibility inputs, not the recommended setup path

  • generated agent rules treat memorix_session_start as optional unless explicit session semantics matter

  • memorix_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 projection

  • Code 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 knowledge is 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 artifact

  • integration 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.md guidance while keeping MCP host-owned by default (--mcp http writes Grok config.toml); DeepSeek Harness receives an MCP patch row, AGENTS.md guidance, and skills; Cursor and other agents receive MCP/rules/hooks where supported

  • privacy-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:

  • projectRoot is a detection anchor

  • Git 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 init

Do not assume a plain folder path is enough.

Choose one runtime model intentionally

There are four practical entry points:

  • memorix setup --agent <agent> --global for installing Memorix into an existing agent

  • memorix serve for stdio MCP agents

  • memorix background start for an optional long-lived HTTP service

  • memorix serve-http --port 3211 for foreground HTTP service work

  • memorix / memcode for the bundled terminal agent in a TTY

For most agent integrations, use:

memorix setup --agent <agent> --global

This 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 serve

when 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 start

when 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 3211

when 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 memorix
Step 2. Ensure the workspace is a Git repo

If not:

git init
Step 3. Initialize config
memorix init --global

memorix init is a scope selector, not just a project config generator. It lets the user choose between:

  • Global defaults

  • Project config

Memorix writes TOML by default:

  • global defaults: ~/.memorix/config.toml

  • project 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> --global

Examples:

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 --global

What this installs depends on the target agent:

  • Claude Code: local memorix-local marketplace plugin, best-effort claude plugin install memorix@memorix-local, plugin-bundled stdio MCP, hooks, skills, plus CLAUDE.md guidance.

  • Codex: local Personal marketplace plugin under ~/plugins/memorix, marketplace entry at ~/.agents/plugins/marketplace.json, best-effort codex plugin add memorix@personal, plugin-bundled stdio MCP, skills, and SessionStart / UserPromptSubmit / PostToolUse / PreCompact / Stop hooks. It does not create project .codex files or overwrite model, approval, or sandbox settings. Codex asks the user to review plugin hooks once in /hooks before non-managed hooks run.

  • GitHub Copilot CLI: local plugin package under ~/.copilot/plugins/local/memorix, best-effort copilot 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.md context, 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.json MCP config, OpenCode skill, plus AGENTS.md guidance.

  • Grok Build: native hooks in ~/.grok/hooks/memorix.json and guidance in ~/.grok/AGENTS.md. Global hooks are trusted; project hooks require Grok /hooks-trust or --trust. MCP stays host-owned unless you pass --mcp http, which writes [mcp_servers.memorix] in Grok config.toml.

  • Antigravity: native plugin under ~/.gemini/config/plugins/memorix or .agents/plugins/memorix, with plugin.json, mcp_config.json, hooks.json, rules, and skills.

  • OpenClaw: OpenClaw-compatible bundle under ~/.openclaw/extensions/memorix, bundled .mcp.json, skills, and OpenClaw HOOK.md/handler.ts hook pack.

  • Hermes Agent: Hermes plugin under Hermes home (%LOCALAPPDATA%\hermes on native Windows, ~/.hermes elsewhere, or HERMES_HOME), enabled in config.yaml, with plugin hooks, slash command, CLI command, skills, and MCP config.

  • Oh-my-Pi: omp.extensions package linked through omp plugin link <path> when available, with extension hook events, a memorix command, skills, and MCP config.

  • Windsurf, Kiro, Trae: MCP config plus rules/hooks where supported.

  • DeepSeek Harness: a Memorix @deepseek-ai/dsh-mcp-client row in $DSH_HOME/cordis.patch.yml (default ~/.dsh/cordis.patch.yml), harness AGENTS.md guidance, and official skills under $DSH_HOME/skills. Tools appear as mcp__memorix__*; there is no hooks surface. Project-local setup writes project AGENTS.md guidance 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:

memorix

This 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
/config
Step 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 ensure

This 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 --global
Step 2. Ensure Git identity exists

If needed:

git init
Step 3. Start HTTP service
memorix background start

Main URLs:

  • MCP endpoint: http://localhost:3211/mcp

  • dashboard: 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 + start

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 ensure

macOS/Linux — add to shell profile (.bashrc, .zshrc):

memorix background ensure 2>/dev/null

Or 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.target

macOS 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:

  1. --cwd

  2. MEMORIX_PROJECT_ROOT

  3. process.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> --global

  • stdio 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 start

  • explicit memorix_session_start(projectRoot=...)

If the user asks for IDE integration files

Use:

memorix setup --agent <agent> --global

This 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> --global

This 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 .xxx directory into every repo

  • the user or agent can select only the integrations they actually need

Important:

  • many .cursor, .windsurf, .claude, .gemini, .opencode, etc. directories are not arbitrary clutter

  • they 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 --global
memorix 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-cli
memorix 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 --global
memorix git-hook

Purpose:

  • install a post-commit hook in the current Git repo

  • automatically ingest commits as Git Memory

Typical use:

memorix git-hook --force

8. What an Agent Should Do at Session Start

In HTTP service mode:

  1. Use memorix_search / memorix_detail when prior project context would materially help the task.

  2. Call memorix_session_start when explicit session semantics are useful: handoff, long-running work, restoring prior session context, coordination state, or project binding in a multi-project HTTP service.

  3. 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

  4. By default this only starts a lightweight session. It does not join orchestration coordination state.

  5. If the user wants orchestrated subagent coordination, either:

    • call memorix_session_start with joinTeam: true

    • or call team_manage(join) explicitly

  6. If project binding fails, stop using project-scoped tools until the path is corrected

  7. Then use:

    • memorix_search

    • memorix_detail

    • memorix_timeline as needed

In stdio / project-bound mode:

  • projectRoot is optional if the process is already launched from the correct workspace

  • a 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 --json or memorix doctor --receipt; receipts emit hashes/counts only and omit raw prompts, raw memory text, raw queries, tool payloads, and local file paths.

  • memorix orchestrate runs 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-dirty is set, and auto-merges successful task branches unless --no-auto-merge is set.


Core runtime
memorix serve
memorix background start
memorix serve-http --port 3211
memorix doctor
memorix doctor agents --agent <agent>
memorix status
Project 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-merge
Memory operations

Use MCP tools:

  • memorix_store

  • memorix_search

  • memorix_detail

  • memorix_timeline

  • memorix_resolve

  • memorix_deduplicate

  • memorix_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 init
2. Is the runtime mode correct?
  • stdio MCP client -> memorix serve

  • HTTP/dashboard/shared-service use case -> memorix background start by default, or memorix serve-http --port 3211 when foreground control is required

  • existing 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 status

If it shows "Not running" or "dead":

memorix background ensure

If 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 restart

Common 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-start

  • command (stdio) launches memorix serve on demand — no background needed; use memorix dashboard for 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> --global

Use 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 status

If outdated, re-run:

memorix hooks install --agent opencode
8. Are LLM and embedding secrets configured?

Check:

  • project .env

  • user ~/.memorix/.env

  • shell-injected env vars

Use:

memorix doctor

to 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 projectRoot as the final project identity

  • assume non-Git folders will behave like stable projects

  • mix up stdio and HTTP guidance in the same answer

  • promise that all .xxx integration directories can be physically merged

  • tell users "auto-update is implemented" unless you mean the real wired runtime feature

  • rely on stale generated plugin files when diagnosing current behavior

  • assume serverUrl HTTP mode will auto-start the background HTTP service — it cannot

  • tell users "just restart the IDE" when the fix is memorix background ensure

  • promise 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/mcp

  • Use memorix_session_start(projectRoot=...) with a path that is visible inside the container

  • If the repo is not mounted into the container, project-scoped Git/config semantics will fail closed

512 files · 453 not served here

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 calls
  • plugins/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 serve
  • plugins/claude/memorix/.mcp.json (memorix): memorix serve --mode lite
  • plugins/codebuddy/memorix/.mcp.json (memorix): memorix serve --mode lite
  • plugins/codex/memorix/.mcp.json (memorix): memorix serve --mode lite
  • plugins/copilot/memorix/.mcp.json (memorix): memorix serve --mode lite
  • plugins/gemini/memorix/gemini-extension.json (memorix): memorix serve --mode lite
  • plugins/openclaw/memorix/.mcp.json (memorix): memorix serve --mode lite

Hooks (20)

  • plugins/claude/memorix/hooks/hooks.json (SessionStart): memorix hook
  • plugins/claude/memorix/hooks/hooks.json (PostToolUse): memorix hook
  • plugins/claude/memorix/hooks/hooks.json (UserPromptSubmit): memorix hook
  • plugins/claude/memorix/hooks/hooks.json (PreCompact): memorix hook
  • plugins/claude/memorix/hooks/hooks.json (Stop): memorix hook
  • plugins/codebuddy/memorix/hooks/hooks.json (SessionStart): memorix hook --agent codebuddy
  • plugins/codebuddy/memorix/hooks/hooks.json (UserPromptSubmit): memorix hook --agent codebuddy
  • plugins/codebuddy/memorix/hooks/hooks.json (PostToolUse): memorix hook --agent codebuddy
  • plugins/codebuddy/memorix/hooks/hooks.json (PreCompact): memorix hook --agent codebuddy
  • plugins/codebuddy/memorix/hooks/hooks.json (Stop): memorix hook --agent codebuddy
  • plugins/codex/memorix/hooks/hooks.json (SessionStart): memorix hook --agent codex
  • plugins/codex/memorix/hooks/hooks.json (PostToolUse): memorix hook --agent codex
  • plugins/codex/memorix/hooks/hooks.json (UserPromptSubmit): memorix hook --agent codex
  • plugins/codex/memorix/hooks/hooks.json (PreCompact): memorix hook --agent codex
  • plugins/codex/memorix/hooks/hooks.json (Stop): memorix hook --agent codex
  • plugins/copilot/memorix/hooks/hooks.json (sessionStart): memorix hook --agent copilot
  • plugins/copilot/memorix/hooks/hooks.json (sessionEnd): memorix hook --agent copilot
  • plugins/copilot/memorix/hooks/hooks.json (userPromptSubmitted): memorix hook --agent copilot
  • plugins/copilot/memorix/hooks/hooks.json (postToolUse): memorix hook --agent copilot
  • plugins/copilot/memorix/hooks/hooks.json (preCompact): memorix hook --agent copilot

Binaries (5)

  • packages/memcode/examples/extensions/doom-overlay/doom/build/doom.wasm: ships native binaries
  • packages/tui/native/darwin/prebuilds/darwin-arm64/darwin-modifiers.node: ships native binaries
  • packages/tui/native/darwin/prebuilds/darwin-x64/darwin-modifiers.node: ships native binaries
  • packages/tui/native/win32/prebuilds/win32-arm64/win32-console-mode.node: ships native binaries
  • packages/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
GitHub avatar of AVIDS2AVIDS2
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