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/CONFIGURATION.md

Memorix Configuration Guide

Memorix uses TOML as its main configuration model:

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

  • project overrides: <git-root>/memorix.toml

The project file is loaded only after Memorix has resolved the real project root from .git. Config files do not decide project identity.

Legacy memorix.yml, .env, and ~/.memorix/config.json files are still read for compatibility, but new setup flows and docs use TOML.


Minimal Example

Run:

memorix init

The init wizard lets you choose:

  • Global defaults for personal multi-project workflows

  • Project config for repo-specific overrides

Example ~/.memorix/config.toml:

[agent]
provider = "deepseek"
model = "deepseek-chat"
base_url = "https://api.deepseek.com/v1"
api_key = "..."

[memory.llm]
provider = "openai"
model = "qwen3.5-flash"
base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key = "..."

[embedding]
provider = "api"
model = "text-embedding-v4"
base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key = "..."

# Optional HTTP rerank. Off unless provider = "http".
# [rerank]
# provider = "http"
# model = "rerank-model"
# base_url = "https://api.example.com/v1"

[memory]
inject = "minimal"
formation = "active"
auto_cleanup = true
sync_advisory = true

[git]
auto_hook = false
ingest_on_commit = true
max_diff_size = 500
skip_merge_commits = true
exclude_patterns = ["*.lock", "dist/**"]
noise_keywords = ["format", "typo"]

[codegraph]
exclude_patterns = ["vendor/**", "third_party/**", "generated/**"]
max_file_bytes = 2097152

# Optional: use an already-indexed local CodeGraph only when it is healthy.
external_context = "auto"
# external_command = "C:\\tools\\codegraph.cmd"
external_timeout_ms = 3000

[server]
transport = "stdio"
dashboard = true
dashboard_port = 3210

Global config.toml is local to your machine and is the normal place to keep provider credentials. Project memorix.toml should be treated as repo config: override models, switches, and behavior there, but do not commit credentials.


Resolution Order

Memorix resolves configuration in this order:

  1. explicit CLI flags

  2. process environment variables

  3. project <git-root>/memorix.toml

  4. global ~/.memorix/config.toml

  5. legacy compatibility files

  6. built-in defaults

Environment variables stay available for CI, MCP launchers, and temporary shell overrides. They are not the default user-facing setup path.

For the HTTP control plane, MEMORIX_HTTP_MAX_BODY_BYTES bounds JSON request bodies at 10 MiB by default and accepts values up to 64 MiB. Keep the default unless a trusted local client needs larger payloads; this limit is not an authentication boundary. MEMORIX_HTTP_AUTH_TOKEN enables Bearer-token authentication for every endpoint except /health. Non-loopback binds are refused unless this token is set or the operator explicitly sets MEMORIX_HTTP_ALLOW_UNAUTHENTICATED_BIND=1 behind a private network or authenticated reverse proxy.

If you want the simplest setup, configure ~/.memorix/config.toml once and stop there. Add <git-root>/memorix.toml only when a repository needs different models, memory behavior, or server defaults.


Configuration Lanes

[agent]

Used by memcode's interactive coding agent.

Common keys:

  • provider

  • model

  • base_url

  • api_key

This lane follows memcode's agent runtime behavior. /model, /login, and agent auth storage still own interactive model switching and login state. When [agent] is omitted, memcode falls back to [memory.llm] defaults without changing its interactive model commands.

[memory.llm]

Used by Memorix background memory intelligence:

  • memory formation

  • summarization

  • deduplication

  • optional LLM reranking fallback

  • cleanup assistance

Common keys:

  • provider

  • model

  • base_url

  • api_key

For OpenAI-compatible providers such as DashScope, DeepSeek-compatible gateways, or internal model gateways, use provider = "openai" and set base_url. Memorix uses an explicit provider path as-is: for example, https://ark.cn-beijing.volces.com/api/v3 remains /api/v3. Only a bare host without a versioned path receives the convenience suffix /v1.

Atlas Cloud is also available as a memory LLM preset in memorix init and the configuration TUI:

[memory.llm]
provider = "atlascloud"
model = "deepseek-ai/deepseek-v3.2"

The preset uses https://api.atlascloud.ai/v1 and the existing OpenAI-compatible chat completion transport. Set ATLASCLOUD_API_KEY or MEMORIX_LLM_API_KEY in your environment, or store api_key in your private global config. Do not put credentials in project TOML. Explicit model and base_url overrides still apply; model IDs must be available in your Atlas Cloud account. The Atlas preset does not fall back to OpenAI, Anthropic, or OpenRouter environment keys.

This is opt-in background memory processing and may incur API charges. Setting ATLASCLOUD_API_KEY alone does not enable it. Embeddings and memcode's model registry are unchanged.

Requesty is available as a memory LLM preset in memorix init and the configuration TUI:

[memory.llm]
provider = "requesty"
model = "openai/gpt-4o-mini"

The preset uses https://router.requesty.ai/v1 and the existing OpenAI-compatible chat completion transport. Set REQUESTY_API_KEY or MEMORIX_LLM_API_KEY; the preset does not fall back to OpenAI, Anthropic, or OpenRouter environment keys. Model IDs use the vendor/model form, for example anthropic/claude-sonnet-4-5. To keep traffic in the EU, set base_url = "https://router.eu.requesty.ai/v1". Get a key at https://app.requesty.ai/api-keys.

API Route memory preset

API Route is available in memorix init and the configuration TUI as an optional memory LLM preset:

[memory.llm]
provider = "apiroute"
model = "deepseek-v4.1-flash"

The preset uses https://global.api-route.com/v1 and the existing OpenAI-compatible chat completion transport. Set API_ROUTE_API_KEY or MEMORIX_LLM_API_KEY, or store api_key in your private global config. Keep credentials out of project TOML. Explicit model and base_url overrides still apply; use IDs from the endpoint's /v1/models catalog without adding an extra vendor prefix.

API_ROUTE_API_KEY is used only when this memory preset is selected, and the preset does not borrow OpenAI, Anthropic, OpenRouter, Requesty, or Atlas Cloud keys. Setting the key alone does not enable paid background memory processing. Embeddings and memcode's model registry are unchanged. Image analysis requires explicitly selecting a vision-capable model; the default is for text memory.

Cheaper Inference memory preset

Cheaper Inference is available in memorix init and the configuration TUI as an optional memory LLM preset:

[memory.llm]
provider = "cheaperinference"
model = "gpt-5.4-mini"

The preset uses https://api.cheaperinference.com/v1 and the existing OpenAI-compatible chat completion transport. Set CHEAPER_INFERENCE_API_KEY or MEMORIX_LLM_API_KEY, or store api_key in your private global config. Keep credentials out of project TOML. Explicit model and base_url overrides still apply; use IDs from the endpoint's /v1/models catalog without adding an extra vendor prefix.

CHEAPER_INFERENCE_API_KEY is used only when this memory preset is selected, and the preset does not borrow OpenAI, Anthropic, OpenRouter, Requesty, API Route, or Atlas Cloud keys. Setting the key alone does not enable paid background memory processing. Embeddings and memcode's model registry are unchanged. Image analysis requires explicitly selecting a vision-capable model; the default is for text memory.

Runcrate memory preset

Runcrate serves open-weight models through an OpenAI-compatible API and is available in memorix init and the configuration TUI as an optional memory LLM preset:

[memory.llm]
provider = "runcrate"
model = "deepseek-ai/DeepSeek-V4.1-Flash"

The preset uses https://api.runcrate.ai/v1 and the existing OpenAI-compatible chat completion transport. Set RUNCRATE_API_KEY or MEMORIX_LLM_API_KEY, or store api_key in your private global config. Keep credentials out of project TOML. Explicit model and base_url overrides still apply; model IDs use the vendor/model form from the endpoint's /v1/models catalog, for example zai-org/GLM-5.3 or Qwen/Qwen3.6-35B-A3B. Get a key at https://runcrate.ai/dashboard/api-keys.

RUNCRATE_API_KEY is used only when this memory preset is selected, and the preset does not borrow OpenAI, Anthropic, OpenRouter, Requesty, API Route, Cheaper Inference, or Atlas Cloud keys. Setting the key alone does not enable paid background memory processing. Embeddings and memcode's model registry are unchanged. Image analysis requires explicitly selecting a vision-capable model such as moonshotai/Kimi-K3; the default is for text memory.

OrcaRouter custom endpoint

OrcaRouter works through the generic OpenAI-compatible gateway path. Keep the provider label as openai, set its base URL, and use an explicit model ID:

[memory.llm]
provider = "openai"
base_url = "https://api.orcarouter.ai/v1"
model = "openai/gpt-4o-mini"

[agent]
provider = "openai"
base_url = "https://api.orcarouter.ai/v1"
model = "openai/gpt-4o-mini"

Use orcarouter/auto only when per-request routing is intended. For memory formation, structured output, and embeddings, a fixed namespaced model is more reproducible. Set MEMORIX_LLM_API_KEY and, when using an embedding model through the same gateway, set MEMORIX_EMBEDDING_API_KEY independently. When the provider is unavailable, Memorix keeps the durable local write and falls back to its documented heuristic/BM25 paths; it does not treat a remote provider outage as a storage failure.

[embedding]

Used by semantic/vector search. This lane is intentionally separate from [agent] and [memory.llm].

Common keys:

  • provider

  • model

  • base_url

  • api_key

  • dimensions

Provider values:

  • off

  • api

  • auto

  • fastembed

  • transformers

If embedding is unavailable, Memorix falls back to BM25/full-text search. transformers is no longer installed by default; install @huggingface/transformers explicitly in the project or global prefix where Memorix runs if you choose that provider. fastembed remains a supported local provider and is likewise not installed by default.

OpenRouter embeddings can use the official OpenRouter environment variable:

[embedding]
provider = "api"
model = "qwen/qwen3-embedding-8b"
base_url = "https://openrouter.ai/api/v1"

Then set OPENROUTER_API_KEY in your shell, user environment, or .env. You can still set MEMORIX_EMBEDDING_API_KEY when you want an explicit embedding key override; it takes priority over OPENROUTER_API_KEY.

When base_url points at OpenRouter and no model is configured, Memorix defaults to qwen/qwen3-embedding-8b (4096 dimensions) instead of the OpenAI-only default. The equivalent env-var form is MEMORIX_EMBEDDING=api, MEMORIX_EMBEDDING_BASE_URL=https://openrouter.ai/api/v1, MEMORIX_EMBEDDING_MODEL=qwen/qwen3-embedding-8b.

Requesty embeddings work the same way with base_url = "https://router.requesty.ai/v1". Memorix then accepts REQUESTY_API_KEY for the embedding endpoint and, when no model is configured, defaults to openai/text-embedding-3-small.

Large-store retrieval

Memorix does not cap the number of durable observations to make search fast. For a large store, the runtime keeps the complete records in SQLite and uses derived indexes for bounded candidate retrieval. The optional LanceDB package is installed with the package's optional dependencies and loaded only at runtime; if its native binary is unavailable, SQLite FTS5 and the Orama fallback continue to work.

MEMORIX_ORAMA_HYDRATION_THRESHOLD=10000   # working-set switch, not a quota
MEMORIX_SEMANTIC_INDEX=auto               # auto | off | orama
MEMORIX_SEMANTIC_INDEX_THRESHOLD=10000    # train ANN index after this many vectors

MEMORIX_SEMANTIC_INDEX=auto enables the local LanceDB shadow index when the optional native package is available. It stores vector IDs and filter metadata, while full memory text remains in SQLite. The semantic index uses HNSW with scalar quantization after its threshold is reached; before that, its table is still searchable without a training step. The derived index can be deleted and recreated by the background vector backfill without affecting durable memories.

[rerank]

Optional HTTP rerank for thorough search. Off by default. When provider = "http", Memorix POSTs a Cohere-compatible {model, query, documents} body to {base_url}/rerank (or an explicit /rerank path). Any compatible endpoint works — hosted APIs, TEI, vLLM, or a local gateway. Memorix sends the configured model string unchanged.

Common keys:

  • provider — off (default) or http

  • model — user-configured model id (no built-in default). Example: rerank-model

  • base_url — API root that serves /rerank, for example https://api.example.com/v1 or http://127.0.0.1:8080. When unset and provider = "http", Memorix inherits [memory.llm].base_url.

  • api_key — bearer token. When unset, inherits the memory LLM key (MEMORIX_LLM_API_KEY, MEMORIX_API_KEY, or [memory.llm].api_key) only if the effective base_url is the same trusted endpoint as [memory.llm].base_url. A different rerank URL requires MEMORIX_RERANK_API_KEY or rerank.api_key.

Environment overrides (highest priority after CLI flags):

MEMORIX_RERANK_PROVIDER=http
MEMORIX_RERANK_MODEL=rerank-model
MEMORIX_RERANK_BASE_URL=https://api.example.com/v1
# MEMORIX_RERANK_API_KEY=   # required when base_url is not the memory LLM endpoint

If the memory LLM lane already points at the same gateway, you can enable rerank with:

[rerank]
provider = "http"
model = "rerank-model"

or set MEMORIX_RERANK_PROVIDER=http and MEMORIX_RERANK_MODEL=.... Timeout is MEMORIX_RERANK_TIMEOUT_MS (default 30000). Thorough search with at least 3 candidates uses HTTP rerank when configured. On HTTP miss or timeout, Memorix keeps the original order and does not fall through to LLM rerank. LLM rerank remains available when HTTP rerank is off, on the existing thorough/heavy/ambiguous gate.

Image analysis (visual description for ingested images) runs on the LLM lane through an OpenAI-compatible vision endpoint, so it can also use OpenRouter with a multimodal model — for example qwen/qwen3-vl-8b-instruct via MEMORIX_LLM_BASE_URL=https://openrouter.ai/api/v1 and MEMORIX_LLM_MODEL=qwen/qwen3-vl-8b-instruct.

Controlled MiniMax media

MiniMax generation is separate from the text embedding lane. Set one of these outside Git only when you deliberately use image or video generation:

  • MINIMAX_API_KEY for the global endpoint

  • MINIMAX_CN_API_KEY for the China endpoint

  • optional MINIMAX_REGION=global|cn

  • optional image/video model and endpoint overrides for self-managed routing

The CLI is the normal generation path. memorix_media can import, attach, and inspect assets through MCP, but MCP generation is off by default. Set MEMORIX_MCP_MEDIA_GENERATION=1 only after you intentionally allow an agent to create provider-billed output. The default OpenRouter text embedder remains text-only; Memorix produces a media vector only when a provider explicitly declares compatibility with that media modality.

Controlled assets default to a 100 MiB import limit. Vision analysis has a separate 20 MiB cap so a large local file can remain a usable asset without creating an oversized chat-completions request.

Controlled audio transcription

Audio-to-text is a separate, opt-in derivative lane. Set the matching provider credential outside Git:

  • OPENAI_API_KEY with MEMORIX_TRANSCRIPTION_PROVIDER=openai

  • GROQ_API_KEY with MEMORIX_TRANSCRIPTION_PROVIDER=groq

  • optional MEMORIX_TRANSCRIPTION_MODEL=<provider model>

The conservative source limit is 25 MiB. The CLI is enabled when a credential is present; MCP-originated transcription remains disabled unless MEMORIX_MCP_MEDIA_TRANSCRIPTION=1 is set after reviewing provider billing.

Controlled PDF text derivation

PDF text extraction is a separate, opt-in derivative lane with no provider credentials. memorix media derive-pdf --asset <asset-id> parses the managed PDF locally (bundled PDF.js via unpdf, system fonts disabled) and stores a bounded text derivative with page and character limits (--maxPages, --maxChars). The MCP memorix_media tool accepts derive-pdf with the same bounds, and the derived text only enters normal memory when explicitly attached.

[memory]

Runtime memory behavior.

Common keys:

  • inject = "minimal" (full, minimal, silent)

  • formation = "active" (active, shadow, fallback)

  • auto_cleanup = true

  • sync_advisory = true

The same values are available in legacy YAML under behavior.*. Existing ~/.memorix/config.json behavior settings are retained only as a fallback for older installs.

[git]

Git-memory and hook behavior.

Common keys:

  • auto_hook = false

  • ingest_on_commit = true

  • max_diff_size = 500

  • skip_merge_commits = true

  • exclude_patterns = ["*.lock", "dist/**"]

  • noise_keywords = ["format", "typo"] (literal phrases, case-insensitive)

Project identity is still resolved from the real .git root. A project memorix.toml is an override file under that root; it does not create or rename the Memorix project ID.

[codegraph]

Code State, CodeGraph Memory, and Project Context scan/provider settings.

Common keys:

  • exclude_patterns = ["vendor/**", "third_party/**", "generated/**"]

  • max_file_bytes = 2097152 (2 MiB per source file by default)

  • auto_refresh = "auto" ("always" or "never" can force or disable built-in Code Memory scans)

  • external_context = "auto" ("off" keeps the built-in Lite provider only)

  • external_command = "C:\\tools\\codegraph.cmd" (optional path when CodeGraph is not on PATH)

  • external_timeout_ms = 3000 (bounded local semantic-query timeout; values are clamped to 5 seconds)

Legacy YAML uses codegraph.excludePatterns, codegraph.maxFileBytes, codegraph.externalContext, codegraph.externalCommand, and codegraph.externalTimeoutMs for the same settings.

These patterns extend Memorix's built-in CodeGraph excludes (node_modules, build outputs, worktrees, and similar generated directories). Matching paths are skipped during CodeGraph indexing and hidden from Project Context / Context Pack suggested reads. Files larger than max_file_bytes are also skipped so a generated or minified source file cannot monopolize an incremental scan. Raise the limit only for a repository where that file is intentional source.

Built-in CodeGraph keeps the latest two completed snapshots, removes stale symbols and dependent edges after a successful refresh, and reclaims SQLite WAL and free pages when derived data was removed. auto_refresh = "never" is useful for large BM25-only stores that do not need code indexing; memorix codegraph refresh remains available for an explicit scan.

external_context = "auto" is deliberately conservative. Memorix checks for an already-initialized local .codegraph index and uses it only when its status matches the current project and has no pending changes. It never runs codegraph init, index, or sync, and it never sends repository content to a remote service. A valid external response contributes only a small semantic outline to the current task Workset; raw code is neither copied into the Workset nor persisted as Memorix knowledge. See 1.2 Provider Quality for the complete contract.

[server]

Server and dashboard behavior.

Common keys:

  • transport = "stdio" — advisory. An explicit memorix serve-http still runs on HTTP and prints a notice; this key documents the intended mode.

  • port = 3211 — default listener port for memorix serve-http when --port is not given.

  • dashboard = true

  • dashboard_port = 3210 — default port for memorix dashboard when --port is not given.

Optional store sync

Store sync is disabled unless MEMORIX_SYNC_PROVIDER is explicitly set. It replicates approved project-visible observation events, never the live SQLite file or its -wal / -shm companions. The local SQLite store remains the canonical read/write store. Default scope is the current Git project. Pass --scope user to relay every local project through a separate user-global named per-user namespace. Set the same stable value on that user's devices; the value is required so operators sharing one remote cannot silently share a default namespace.

MEMORIX_SYNC_PROVIDER=fs|github|s3|postgres
MEMORIX_SYNC_USER_NAMESPACE=your-stable-user-id   # required with --scope user

The filesystem relay needs MEMORIX_SYNC_FS_ROOT. The GitHub relay needs a private relay repository and token:

MEMORIX_SYNC_GITHUB_REPO=owner/repository
MEMORIX_SYNC_GITHUB_TOKEN=...
MEMORIX_SYNC_GITHUB_BRANCH=memorix-sync        # optional

For S3-compatible storage, set the usual bucket/endpoint/credentials/region variables and optionally put all Memorix objects below a shared-bucket prefix:

MEMORIX_SYNC_S3_BUCKET=...
MEMORIX_SYNC_S3_ENDPOINT=...
MEMORIX_SYNC_S3_ACCESS_KEY_ID=...
MEMORIX_SYNC_S3_SECRET_ACCESS_KEY=...
MEMORIX_SYNC_S3_REGION=auto
MEMORIX_SYNC_S3_PREFIX=memorix       # optional, relative key prefix

S3-compatible and Postgres details are documented in the multi-device sync plan and acceptance contract. Credentials are read from the process environment and are never written to project config or sync event bodies. A copied data directory must be rotated before it can publish:

memorix sync store device rotate

Use memorix sync store status --json first. It reports the current project namespace, eligible/excluded records, pending outbox work, and conflicts without creating a remote branch or uploading anything.

Reserved sections (parsed, not yet enforced)

These sections exist so future releases do not need a config format change. Today no runtime behavior reads them; set them only as forward-looking notes.

  • [team] (enabled, workspace_collection) — coordination defaults.

  • [hooks] (native_memcode, external_agents) — hook bootstrap policy.

  • The former mcpServers key in memorix.yml was removed: no code ever consumed it, and Memorix is not an MCP aggregator. Unknown keys are ignored, so old files keep loading.


Compatibility

These files are still read when TOML is absent or incomplete:

  • legacy project memorix.yml

  • legacy user ~/.memorix/memorix.yml

  • project .env

  • user ~/.memorix/.env

  • legacy ~/.memorix/config.json

New commands should create TOML. Existing users do not need to migrate immediately.

Useful commands:

memorix config path
memorix config get agent.model
memorix status

To create one global file from existing local settings:

memorix config migrate --global

To create a project override file without writing local credentials:

memorix config migrate

memorix status shows the active project, search mode, and resolved configuration lanes with sensitive values redacted.

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