memorix
Memory server
First committed by AVIDS2
Published in AVIDS2/memorix. Publisher page
926 GitHub stars
What it is
Local-first shared memory layer for AI coding agents across MCP clients, Git history, reasoning context, and project sessions.
Summary from the brain’s metadata
Local-first shared memory layer for AI coding agents across MCP clients, Git history, reasoning context, and project sessions. One project memory system for Claude Code, Codex, CodeBuddy Code, Cursor, Windsurf, Copilot, Gemini CLI, OpenCode, Grok Build, OpenClaw, Hermes Agent, Oh-my-Pi, Pi, Kiro, Antigravity, Trae, DeepSeek Harness, WorkBuddy, and any MCP-capable agent.
How it works
Memory model: Hybrid
AutoGineer overview, from the brain’s own files
Memory model: Hybrid. Folders: .github (agent config, 3 files); .windsurf (agent config, 2 files); assets (attachments, 32 files); docs (docs, 65 files); examples (examples, 4 files); packages (source code, 836 files); scripts (scripts, 18 files); src (source code, 382 files). The agent writes CLAUDE.md.
| Folder | Role | Files |
|---|---|---|
| .github | agent-config | 3 |
| .windsurf | agent-config | 2 |
| assets | attachments | 32 |
| docs | docs | 65 |
| examples | examples | 4 |
| packages | source-code | 836 |
| scripts | scripts | 18 |
| src | source-code | 382 |
| tests | tests | 376 |
| .codegraph | folder | 1 |
| .opencode | folder | 1 |
| .trae | folder | 1 |
| articles | folder | 5 |
| plugins | folder | 64 |
| stubs | folder | 1 |
The agent writes
- CLAUDE.md evidence: README.md
Requirements
Apps: Docker
Runtimes: Node.js >=22.18.0, Bun
Databases: LanceDB, PostgreSQL, SQLite
API keys (by name): ANTHROPIC_API_KEY, API_ROUTE_API_KEY, ATLASCLOUD_API_KEY, CHEAPER_INFERENCE_API_KEY, GROQ_API_KEY, MEMORIX_API_KEY, MEMORIX_EMBEDDING_API_KEY, MEMORIX_HTTP_AUTH_TOKEN, MEMORIX_LLM_API_KEY, MEMORIX_RERANK_API_KEY, MINIMAX_API_KEY, MINIMAX_CN_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY, REQUESTY_API_KEY, RUNCRATE_API_KEY
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Google Antigravity, Kiro, OpenCode, Amp, Roo Code, Cline, JetBrains Junie, Devin (ex-Windsurf)
Set it up
This brain runs code automatically: 20 hooks (claude-code, codex). Review plugins/claude/memorix/hooks/hooks.json, plugins/codebuddy/memorix/hooks/hooks.json, plugins/codex/memorix/hooks/hooks.json, plugins/copilot/memorix/hooks/hooks.json before opening the folder in Claude Code. No step below turns a hook on for you.
plugins/claude/memorix/hooks/hooks.json:memorix hookplugins/claude/memorix/hooks/hooks.json:memorix hookplugins/claude/memorix/hooks/hooks.json:memorix hookplugins/claude/memorix/hooks/hooks.json:memorix hookplugins/claude/memorix/hooks/hooks.json:memorix hookplugins/codebuddy/memorix/hooks/hooks.json:memorix hook --agent codebuddyplugins/codebuddy/memorix/hooks/hooks.json:memorix hook --agent codebuddyplugins/codebuddy/memorix/hooks/hooks.json:memorix hook --agent codebuddyplugins/codebuddy/memorix/hooks/hooks.json:memorix hook --agent codebuddyplugins/codebuddy/memorix/hooks/hooks.json:memorix hook --agent codebuddyplugins/codex/memorix/hooks/hooks.json:memorix hook --agent codexplugins/codex/memorix/hooks/hooks.json:memorix hook --agent codexplugins/codex/memorix/hooks/hooks.json:memorix hook --agent codexplugins/codex/memorix/hooks/hooks.json:memorix hook --agent codexplugins/codex/memorix/hooks/hooks.json:memorix hook --agent codexplugins/copilot/memorix/hooks/hooks.json:memorix hook --agent copilotplugins/copilot/memorix/hooks/hooks.json:memorix hook --agent copilotplugins/copilot/memorix/hooks/hooks.json:memorix hook --agent copilotplugins/copilot/memorix/hooks/hooks.json:memorix hook --agent copilotplugins/copilot/memorix/hooks/hooks.json:memorix hook --agent copilot
- Not scanned by AutoGineerAutoGineer could not scan everything it runs. https://www.npmjs.com/package/memorix
First committed by AVIDS2. Published in AVIDS2/memorix. Licence: Apache License 2.0.
Usage
AutoGineer’s guidance for this type of brain
Add the server to your AI tool’s MCP configuration (see Set it up); your agent then stores and recalls memories through its tools.
Documentation by AVIDS2
<p align="center"> <img src="https://raw.githubusercontent.com/AVIDS2/memorix/main/assets/readme-hero.svg" alt="Memorix" width="720"> </p>
<h1 align="center">Memorix</h1>
<p align="center"> <strong>Local-first shared memory layer for AI coding agents.</strong><br> One project memory system for Claude Code, Codex, CodeBuddy Code, Cursor, Windsurf, Copilot, Gemini CLI, OpenCode, Grok Build, OpenClaw, Hermes Agent, Oh-my-Pi, Pi, Kiro, Antigravity, Trae, DeepSeek Harness, WorkBuddy, and any MCP-capable agent. </p>
<p align="center"> <a href="https://www.npmjs.com/package/memorix"><img src="https://img.shields.io/npm/v/memorix.svg?style=for-the-badge&logo=npm&color=cb3837" alt="npm"></a> <a href="https://www.npmjs.com/package/memorix"><img src="https://img.shields.io/npm/dm/memorix.svg?style=for-the-badge&logo=npm&label=monthly%20downloads&color=7c3aed" alt="monthly downloads"></a> <a href="https://github.com/AVIDS2/memorix/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/AVIDS2/memorix/ci.yml?style=for-the-badge&label=CI&logo=github" alt="CI"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-2563eb?style=for-the-badge" alt="license"></a> <a href="https://github.com/AVIDS2/memorix"><img src="https://img.shields.io/github/stars/AVIDS2/memorix?style=for-the-badge&logo=github&color=facc15" alt="stars"></a> </p>
<p align="center"> <a href="https://registry.modelcontextprotocol.io/?q=io.github.AVIDS2%2Fmemorix">Listed in the official MCP Registry</a> <br> <a href="https://mcptoplist.com/server/io.github.AVIDS2%2Fmemorix"><img src="https://mcptoplist.com/badge/io.github.AVIDS2%2Fmemorix.svg" alt="View Memorix on MCP Toplist"></a> </p>
<p align="center"> <strong>Shared Project Memory</strong> | <strong>MCP</strong> | <strong>Git Memory</strong> | <strong>Reasoning Memory</strong> | <strong>Plugins</strong> | <strong>Orchestration</strong> </p>
<p align="center"> <a href="https://mem.rglens.com">Website</a> | <a href="README.zh-CN.md">Chinese</a> | <a href="#install">Install</a> | <a href="#capabilities">Capabilities</a> | <a href="#works-with-your-agent">Agents</a> | <a href="#quick-start">Quick Start</a> | <a href="#memory-model">Memory Model</a> | <a href="#memcode-bundled-terminal-agent">memcode</a> | <a href="ACTIVE_WORK.md">Active Work</a> | <a href="#docs">Docs</a> </p>
Maintainer status and the current public work boundary live in ACTIVE_WORK.md. It is the repository's single living work tracker.
<h2 id="what-memorix-is"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-overview.svg"><img src="assets/tags/section-overview.svg" alt="Memorix" height="32" /></picture></h2>
Memorix gives the AI coding agents you already use a shared, searchable project memory that survives new chats, IDE switches, terminal sessions, and handoffs. The memory lives under the Git project, not inside one chat window or one tool.
Use Claude Code today, Codex tomorrow, and Cursor in the afternoon. The agent can change; the project memory stays the same.
Use Memorix when you keep re-explaining the same project to a new agent session: the last session already figured something out, another IDE cannot see it, or a design decision is buried in a chat you cannot find anymore.
| Problem | What Memorix adds |
|---|---|
| The next session forgets what the last session learned | Project-scoped memory, session summaries, timelines, and detail retrieval |
| Different agents know different things | One local memory pool available through MCP, hooks, CLI, SDK, and the bundled terminal agent |
| Git records what changed, but agents cannot recall it well | Git Memory turns commits into searchable engineering facts |
| Architecture decisions disappear into old chats | Reasoning Memory stores why choices were made, with alternatives and trade-offs |
| Static rule files drift | Gotchas, fixes, and project skills evolve from real work |
| Parallel agent work gets messy | memorix orchestrate coordinates task context, handoffs, locks, verification, and review loops |
Memorix is local-first. SQLite is the canonical store. Small projects use the in-process Orama path; larger projects use a persistent SQLite FTS5 candidate index and, when available, an optional local LanceDB semantic shadow index. Both indexes are rebuildable and are never a limit on how many durable memories you can keep. LLM-backed formation and embedding remain optional.
Capabilities
Memorix is more than a memory store. It also installs agent integrations, keeps useful work events, turns commits into project facts, exposes a local control plane, and can coordinate multi-agent work when a task needs it.
| Capability | What it does | Entry point |
|---|---|---|
| Memory Autopilot | A bounded task Workset with start files, current memory, source-backed knowledge, workflow starts, cautions, and verification. Compact JSON receipts keep fallback CLI use bounded too. | memorix context "..." --brief-json, memorix resume "..." --brief-json, memorix_project_context |
| Observation Memory | Searchable facts, fixes, gotchas, session summaries, and implementation notes scoped to the current Git project | memorix memory, MCP memory tools |
| Curated Long-term Memory | Deliberately reviewed episodic, semantic, and procedural memory with source evidence. Only an explicitly portable user item can cross local projects | memorix memory long-term |
| Code State and Code Memory | Versioned local code snapshots, source-backed TypeScript/JavaScript symbols and relations, file/symbol links, and freshness checks. Other languages keep the honest Lite fallback; an already-indexed local CodeGraph or SCIP result can add a bounded external outline without taking over the local index. | memorix codegraph status|refresh|init|sync, automatic context refresh |
| Git Memory | Commit-derived engineering facts that answer what changed, where, and why it matters | memorix ingest commit, git hook |
| Reasoning Memory | Design rationale, alternatives, trade-offs, and risks that should survive beyond one chat | memorix reasoning, memory formation |
| Knowledge Workspace | Review-gated source-backed claims, Markdown pages, and canonical project workflows; proposals never overwrite reviewed pages silently | memorix knowledge, memorix knowledge workflow |
| Agent setup | One setup path for MCP, rules, hooks, skills, plugins, bundles, or extensions depending on the agent | memorix setup --agent <agent> |
| Agent doctor | Checks whether agent MCP config and guidance are current, then repairs Memorix-owned entries when needed | memorix doctor agents, memorix repair agents |
| Hooks and skills | Optional capture from supported agents, plus reusable project skills promoted from durable knowledge | memorix hooks, memorix skills |
| Dashboard and HTTP | A local web UI and shared MCP endpoint for browsing memory, project state, teams, diagnostics, and preview-first cleanup, consolidation, deduplication, and retention actions | memorix dashboard, memorix background start |
| Orchestration and team work | Task planning, worker handoffs, file locks, messages, verification gates, and review loops | memorix orchestrate, memorix team, memorix lock |
| memcode | A bundled terminal coding agent that already reads and writes the same project memory | memorix, memcode |
| CLI and SDK | Scriptable access for automation, imports/exports, diagnostics, and custom integrations | memorix ..., createMemoryClient() |
| Optional multi-device sync | Privacy-filtered observation events with local SQLite kept canonical; default project scope, optional --scope user for every local project; GitHub JSONL, filesystem, S3, or Postgres relay | memorix sync store status|push|pull |
<h2 id="works-with-your-agent"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-agents.svg"><img src="assets/tags/section-agents.svg" alt="Works with every agent" height="32" /></picture></h2>
Memorix connects through the interfaces each agent already supports: plugin packages, MCP, project rules, hooks, skills, or the bundled terminal agent. memorix setup chooses the right setup for each agent and keeps stdio MCP as the default transport.
<table> <tr> <td align="center" width="12.5%"> <a href="https://claude.com/product/claude-code"><img src="https://github.com/anthropics.png?size=120" alt="Claude Code" width="48" height="48"></a><br> <strong>Claude Code</strong><br> <sub>official plugin + MCP + hooks + skills</sub> </td> <td align="center" width="12.5%"> <a href="https://github.com/openai/codex"><img src="https://github.com/openai.png?size=120" alt="Codex CLI" width="48" height="48"></a><br> <strong>Codex CLI</strong><br> <sub>official plugin + MCP + AGENTS.md</sub> </td> <td align="center" width="12.5%"> <a href="https://github.com/features/copilot"><img src="https://github.githubassets.com/images/modules/site/copilot/copilot.png" alt="GitHub Copilot CLI" width="48" height="48"></a><br> <strong>GitHub Copilot CLI</strong><br> <sub>plugin + MCP + hooks + skills</sub> </td> <td align="center" width="12.5%"> <a href="https://cursor.com"><picture><source media="(prefers-color-scheme: dark)" srcset="https://svgl.app/library/cursor_dark.svg"><img src="https://svgl.app/library/cursor_light.svg" alt="Cursor" width="48" height="48"></picture></a><br> <strong>Cursor</strong><br> <sub>MCP + rules + skills</sub> </td> <td align="center" width="12.5%"> <a href="https://windsurf.com"><picture><source media="(prefers-color-scheme: dark)" srcset="https://svgl.app/library/windsurf-dark.svg"><img src="https://svgl.app/library/windsurf-light.svg" alt="Windsurf" width="48" height="48"></picture></a><br> <strong>Windsurf</strong><br> <sub>MCP + rules + hooks</sub> </td> <td align="center" width="12.5%"> <a href="https://github.com/google-gemini/gemini-cli"><img src="https://github.com/google-gemini.png?size=120" alt="Gemini CLI" width="48" height="48"></a><br> <strong>Gemini CLI</strong><br> <sub>extension + MCP + hooks + skills</sub> </td> </tr> <tr> <td align="center" width="12.5%"> <a href="https://github.com/opencode-ai/opencode"><picture><source media="(prefers-color-scheme: dark)" srcset="https://svgl.app/library/opencode-dark.svg"><img src="https://svgl.app/library/opencode.svg" alt="OpenCode" width="48" height="48"></picture></a><br> <strong>OpenCode</strong><br> <sub>local plugin + MCP + skills + AGENTS.md</sub> </td> <td align="center" width="12.5%"> <a href="https://pi.dev"><img src="https://pi.dev/favicon.svg" alt="pi coding agent" width="48" height="48"></a><br> <strong>pi coding agent</strong><br> <sub>package + extension + skill</sub> </td> <td align="center" width="12.5%"> <a href="https://kiro.dev"><img src="https://kiro.dev/icon.svg" alt="Kiro" width="48" height="48"></a><br> <strong>Kiro</strong><br> <sub>MCP + steering + hooks</sub> </td> <td align="center" width="12.5%"> <a href="https://antigravity.google"><img src="https://antigravity.google/assets/image/antigravity-logo.png" alt="Antigravity" width="48" height="48"></a><br> <strong>Antigravity</strong><br> <sub>plugin + MCP + hooks + skills</sub> </td> <td align="center" width="12.5%"> <a href="https://www.trae.ai"><img src="https://github.com/Trae-AI.png?size=120" alt="Trae" width="48" height="48"></a><br> <strong>Trae</strong><br> <sub>MCP + project rules</sub> </td> <td align="center" width="12.5%"> <img src="https://raw.githubusercontent.com/AVIDS2/memorix/main/assets/logo.png" alt="memcode" width="48" height="48"><br> <strong>memcode</strong><br> <sub>bundled terminal agent</sub> </td> </tr> <tr> <td align="center" width="12.5%"> <a href="https://docs.openclaw.ai"><img src="https://raw.githubusercontent.com/openclaw/openclaw/main/ui/public/favicon.svg" alt="OpenClaw" width="48" height="48"></a><br> <strong>OpenClaw</strong><br> <sub>bundle + MCP + hooks + skills</sub> </td> <td align="center" width="12.5%"> <a href="https://hermes-agent.nousresearch.com"><img src="https://hermes-agent.nousresearch.com/icon.png" alt="Hermes Agent" width="48" height="48"></a><br> <strong>Hermes Agent</strong><br> <sub>plugin + MCP + hooks + skills</sub> </td> <td align="center" width="12.5%"> <a href="https://omp.sh"><img src="https://omp.sh/favicon.png" alt="Oh-my-Pi" width="48" height="48"></a><br> <strong>Oh-my-Pi</strong><br> <sub>package + MCP + hooks + skills</sub> </td> <td align="center" width="12.5%"> <a href="https://github.com/deepseek-ai/deepseek-harness"><img src="https://github.com/deepseek-ai.png?size=120" alt="DeepSeek Harness" width="48" height="48"></a><br> <strong>DeepSeek Harness</strong><br> <sub>MCP patch + AGENTS.md + skills</sub> </td> <td align="center" width="12.5%"> <a href="https://modelcontextprotocol.io"><img src="https://github.com/modelcontextprotocol.png?size=120" alt="Any MCP Client" width="48" height="48"></a><br> <strong>Any MCP Client</strong><br> <sub>stdio or HTTP MCP</sub> </td> <td align="center" width="12.5%"> <a href="https://github.com/xai-org/grok-build"><picture><source media="(prefers-color-scheme: dark)" srcset="https://media.x.ai/v1/website/spacexai-symbol-white-transparent-0c31957f.png"><img src="https://media.x.ai/v1/website/spacexai-symbol-black-transparent-6435cf42.png" alt="Grok Build" width="48" height="48"></picture></a><br> <strong>Grok Build</strong><br> <sub>native hooks + AGENTS.md</sub> </td> </tr> </table>
<p align="center"> <sub>Works with agents that speak MCP, expose hooks/rules, or support plugin/package entries. One local-first memory layer shared across all of them.</sub> </p>
Integration surfaces:
| Surface | What it does | Memorix entry |
|---|---|---|
| Setup command | Installs the recommended one-time user-level Memorix integration | memorix setup --agent <agent> --global |
| MCP | Gives an agent compact Memorix tools for project context, search, detail retrieval, storage, and resolution | bundled in setup packages or memorix serve |
| Usage guidance | Teaches an agent when and how to use Memorix without forcing memory lookup on every prompt | bundled or generated by memorix setup |
| Hooks | Optional capture of prompts, tool events, file edits, session lifecycle events, and native compaction checkpoints where the agent exposes them | bundled or generated by memorix setup |
| Plugin or bundle package | Installs plugin, compatible-bundle, or package files where the agent supports them | Claude Code, Codex, CodeBuddy Code, GitHub Copilot CLI, Antigravity, OpenClaw, Hermes Agent, Oh-my-Pi, Pi |
| Extension | Installs extension files where the agent supports them | Gemini CLI |
| Local plugin | Installs local plugin files where the agent loads them directly | OpenCode |
| MCP/rules config | Writes MCP, rules, steering, guidance, or hook config for IDEs and agents that expose those surfaces | Cursor, Windsurf, Kiro, Trae, DeepSeek Harness, WorkBuddy |
| Skills | Turns durable project knowledge into reusable task guidance | memorix skills and memorix_promote |
| memcode | Opens the bundled terminal agent that already uses Memorix memory | memorix or memcode |
See Integration Surfaces for the current support matrix and what each generated file means.
Use the same setup command without --global only when you intentionally want repo-local guidance, rules, or hooks in the current Git project.
CLI, MCP, and HTTP are different entry points:
memorixCLI is the direct command surface for setup, memory search/store, Git Memory, import/export, dashboard, orchestration, diagnostics, and automation.memorix serveis the stdio MCP bridge used by IDEs and coding agents. Its default tool profile ismicro, so agents see only the compact core tool set.memorix background start/memorix serve-httprun the HTTP service for a shared endpoint, dashboard, VPS Docker deployment, or multiple clients.
Multi-device store sync is opt-in and separate from HTTP sharing. It never
uploads the live SQLite database or WAL files. By default it only relays
qualified project-visible observations for the current Git project; personal,
agent-targeted, candidate, and ephemeral records stay local. Pass --scope user
to include every local project. Set MEMORIX_SYNC_PROVIDER and inspect
memorix sync store status --json before the first push.
<h2 id="install"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-install.svg"><img src="assets/tags/section-install.svg" alt="Install" height="32" /></picture></h2>
Requirements:
Node.js
>=22.18.0Git, because project identity is derived from the real Git root
Install and initialize:
npm install -g memorix
memorix init --global # optional defaults
memorix setup --agent claude --global # or codex, copilot, cursor, pi, gemini-cli, opencode,
# codebuddy, windsurf, kiro, antigravity, trae, openclaw, hermes, ompmemorix init is optional. It creates or updates TOML configuration:
~/.memorix/config.tomlfor global defaults<git-root>/memorix.tomlfor optional project overrides
Legacy memorix.yml, .env, and ~/.memorix/config.json are still read for compatibility, but new setup flows use TOML.
If you want repo-local guidance or hooks for a specific repository, run the same setup command from inside that repo without --global. Codex is the exception: its supported path is the user-level plugin install, so Memorix leaves project .codex configuration alone.
<h2 id="quick-start"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-quick-start.svg"><img src="assets/tags/section-quick-start.svg" alt="Quick Start" height="32" /></picture></h2>
Connect an existing agent
Use the setup command first. The global form is the normal one-time install:
memorix setup --agent claude --global
memorix setup --agent codex --global
memorix setup --agent copilot --global
memorix setup --agent cursor --global
memorix setup --agent pi --global
memorix setup --agent gemini-cli --global
memorix setup --agent opencode --global
memorix setup --agent windsurf --global
memorix setup --agent kiro --global
memorix setup --agent antigravity --global
memorix setup --agent trae --global
memorix setup --agent openclaw --global
memorix setup --agent hermes --global
memorix setup --agent codebuddy --global
memorix setup --agent omp --global
memorix setup --agent dsh --global
memorix setup --agent workbuddy --global
memorix setup --agent grok --globalWhat it installs depends on the target agent, but the goal is the same: make Memorix available wherever you open that agent without asking you to wire every repo by hand.
Claude Code: installs the Memorix plugin package, adds
CLAUDE.mdguidance, and enables hook capture when you do not pass--noHooks.Codex: installs one user-level Memorix plugin with bundled stdio MCP, skills, and lifecycle hooks. It does not write project-local
.codexconfig or change your model, approval, or sandbox settings. When Codex asks, review the plugin hook definition once with/hooks;--noHooksskips automatic capture.GitHub Copilot CLI: installs the Copilot plugin package and official Memorix skills.
Pi: installs the Pi extension/skills package and native MCP config (Pi 1.0+):
~/.pi/agent/mcp.jsonwith--global, or.pi/mcp.jsonfor project setup.Cursor: writes Cursor MCP/rules/config entries in the chosen scope.
Gemini CLI: installs the extension package,
GEMINI.mdcontext, hooks, and skills. Antigravity CLI has an official Gemini CLI migration path, but Gemini CLI remains an active standalone target.OpenCode: installs the local plugin file,
opencode.json, skills, andAGENTS.mdguidance.Windsurf, Kiro, Trae: write the MCP/rules/hooks files the target supports.
Antigravity: installs the official plugin package with
plugin.json,mcp_config.json,hooks.json, rules, and skills under~/.gemini/config/plugins/memorixor.agents/plugins/memorix.OpenClaw: installs an OpenClaw-compatible bundle with
.mcp.json, official skills, and an OpenClawHOOK.md/handler.tshook pack.Hermes Agent: installs into Hermes home (
%LOCALAPPDATA%\hermeson native Windows,~/.hermeselsewhere, orHERMES_HOME), enables the plugin inconfig.yaml, registers plugin hooks, slash/CLI commands, skills, and writes MCP config.CodeBuddy Code: installs a user-scope local marketplace plugin under
~/.codebuddy/memorix-localwith MCP, skills, and hooks. It does not change existing CodeBuddy model, permission, or settings files; CodeBuddy keeps third-party hook approval in its own/hooksflow.Oh-my-Pi: installs an
omp.extensionspackage with extension hook events, amemorixcommand, official skills, and writes MCP config.DeepSeek Harness: writes a Memorix
@deepseek-ai/dsh-mcp-clientrow into$DSH_HOME/cordis.patch.yml(default~/.dsh/cordis.patch.yml), appends guidance to the harnessAGENTS.md, and installs official skills under$DSH_HOME/skills. The row follows DSH's own shipped Memorix reference, so tools appear asmcp__memorix__*.WorkBuddy: writes a Memorix MCP server row into
~/.workbuddy/mcp.json(or<project>/.workbuddy/mcp.jsonfor project installs) and appends guidance toAGENTS.md. Tools appear asmcp__memorix__*; there is no hooks surface.Grok Build: installs native lifecycle hooks under
~/.grok/hooks/memorix.jsonand guidance in~/.grok/AGENTS.md. MCP stays host-owned by default; pass--mcp httpto write[mcp_servers.memorix]withurl = "http://localhost:3211/mcp". Project-local hooks require Grok/hooks-trust, while global hooks are trusted. SetGROK_HOMEto use a custom Grok home.
Need a quieter install? Add --noHooks for targets where setup can control hook capture separately from the host's official package entry. It keeps MCP and guidance, but skips Memorix hook capture.
If you intentionally want repo-local guidance or hooks, run the same command inside that repository without --global.
If your agent only needs a manual MCP entry, use stdio:
{
"mcpServers": {
"memorix": {
"command": "memorix",
"args": ["serve"]
}
}
}For an npm-based MCP client or registry tester, use the complete command
npx -y memorix serve. The serve argument matters: memorix without
arguments opens the bundled memcode terminal agent when run by a human, while
MCP clients should start the stdio server explicitly.
For a manually managed Claude Code entry, add "alwaysLoad": true inside the memorix server object. This lets Claude Code expose Memorix tools during print-mode startup; memorix doctor agents --agent claude can detect and repair a missing setting.
HTTP is not required for normal setup. Use it only when you intentionally want a shared background service, dashboard, VPS Docker deployment, or multiple clients using the same endpoint. Local development uses the Node service directly and does not require Docker:
memorix background startThen point the client at:
http://localhost:3211/mcpIn HTTP mode, agents should bind the active repo explicitly with memorix_session_start(projectRoot=...) when the client can provide the workspace path. Git remains the final source of truth for project identity.
Uninstall
Preview what will be removed:
memorix uninstall --dry-runStop the background service and remove hooks:
memorix uninstall --background --hooksFull cleanup:
memorix uninstall --yes --background --hooks --purge-data
npm uninstall -g memorixmemorix uninstall reports MCP config entries for manual cleanup instead of silently editing every MCP file it finds.
Work from the CLI
memorix --cwd /path/to/repo resume "continue release blocker"
memorix checkpoint list
memorix memory search --query "release blocker"
memorix memory --help
# Optional: activate one local agent identity for personal/team records and coordination.
memorix identity join --agent-type codex --name codex-main
memorix memory store --text "private investigation note" --visibility personal
memorix task create --description "verify the release package"
# Deliberate durable memory: create a candidate, then review it before it can enter a Workset.
memorix memory long-term add --kind procedural --scope user --portability portable --title "Release verification preference" --text "Run focused tests and a packed-package smoke before publishing." --applicability "When publishing an npm package."
memorix memory long-term qualify --id <id> --reason "The user explicitly confirmed this preference."
memorix memory long-term approve --id <id> --reason "Reviewed for future local projects."
memorix transfer export --format json --out ./.memorix-export.json
memorix transfer import --file ./.memorix-export.json
memorix reasoning search --query "why sqlite"
memorix git-hook --force
memorix ingest log --count 20
memorix workbenchThe CLI is direct and does not depend on an MCP session. It binds to the current Git project, or to the project supplied with --cwd. Without an active identity it reads, writes, and exports project-visible memory only. Use memorix identity join or memorix identity use --agent-id <id> only when you intentionally need personal/team memory or coordinated task actions; memorix identity clear returns the terminal to project scope. --as <active-agent-id> is the one-command alternative for scripts. Both camelCase and kebab-case flags are accepted.
Manage controlled media
Media is opt-in. An explicit local import is copied into Memorix's local data directory, hashed, and kept outside the Git worktree. It becomes normal memory only when you attach it. Memorix never captures every screenshot or tool output. An asset may be up to the configured media limit (100 MiB by default). Automatic vision analysis is deliberately capped at 20 MiB; a larger image is still kept and can be attached, but Memorix records a clear text fallback instead of sending an oversized payload to a model provider.
memorix media import --path ./architecture.png --json
memorix media attach --asset <asset-id> --title "Architecture diagram" --json
memorix media list --kind image --json
memorix media show --asset <asset-id> --json
memorix media remove --asset <asset-id> --force --json
# Controlled derivations: explicit, bounded, and attachable to memory.
memorix media derive-pdf --asset <asset-id> --attach --json
memorix media derive-audio --asset <asset-id> --attach --json
# Legacy image analysis now uses the same controlled asset lifecycle.
memorix ingest image --path ./architecture.png --jsonMiniMax image generation is a deliberate CLI operation. Video generation returns a durable job immediately; inspect or cancel that job rather than waiting in an agent request.
# Configure MINIMAX_API_KEY in your user environment or .env, never in Git.
memorix media generate image --prompt "A clean system architecture diagram" --json
# Image-to-image with a reference image (MiniMax image-01 / image-01-live):
memorix media generate image --prompt "Keep the subject, change the background" --image ./reference.png --json
memorix media generate video --prompt "A short product walkthrough" --json
memorix media status --job <media-job-id> --json
memorix media cancel --job <media-job-id> --jsonmemorix_media is the compact MCP companion in every profile, including
micro. It supports import, attach, list, show, PDF/audio derivations,
generation, and job status. MCP image and video generation are disabled by
default because they may incur provider costs.
Set MEMORIX_MCP_MEDIA_GENERATION=1 only after you deliberately want an agent
to request billed MiniMax output. The normal OpenRouter text embedding lane is
still text-only; media vectors are created only by a provider that explicitly
declares support for that modality. Text descriptions and attachments remain a
useful ordinary retrieval fallback.
Use the bundled terminal agent
memorix
# or
memcodeThis opens memcode, a terminal coding agent that uses the same Memorix project memory as your MCP-connected agents.
<h2 id="memory-model"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-memory-model.svg"><img src="assets/tags/section-memory-model.svg" alt="Memory Model" height="32" /></picture></h2>
| Layer | Stores | Best for |
|---|---|---|
| Observation Memory | facts, gotchas, fixes, implementation notes | "How does this work?" |
| Reasoning Memory | rationale, alternatives, constraints, risks | "Why did we choose this?" |
| Git Memory | commit-derived engineering facts | "What changed and where?" |
| Code Memory | files, symbols, import edges, and memory-to-code freshness | "Which current code should I inspect first?" |
| Curated Long-term Memory | reviewed episodic events, stable facts, or reusable procedures with evidence | "What should this agent still know or do later?" |
| Compact Continuity | recent host-native compact summaries or lifecycle markers | "What survived the last context compaction?" |
Search is project-scoped by default. scope="global" searches across projects. The search boosts Git Memory for "what changed" questions and reasoning records for "why" questions.
Long-term memory is deliberately not an automatic dump of every note. A source observation, Claim, workflow, session, and code snapshot keep their existing roles. An agent may ask memorix_store to create an additional long-term record; an explicit request auto-qualifies and enters task briefs as a durable anchor, while hook-captured or Git-derived candidates stay pending until qualified. Approval stays an explicit operator review. Use memorix memory long-term approve|archive|supersede to record the evidence-backed lifecycle. Only a manually created or user-confirmed user + portable item may be considered in another local project; project code, Git facts, tests, workflows, sessions, and observations cannot be promoted into portable user memory.
memorix context "..." is the default Memory Autopilot entry. It builds a compact task-lensed brief for agents: bugfix tasks lean toward tests and repros, release tasks lean toward package/changelog/build checks, onboarding tasks lean toward docs and entry points, and stale or unrelated memories stay in warning lanes instead of flooding the prompt. Use --fallback --brief-json when MCP is unavailable and a CLI fallback needs the same bounded brief plus a receipt of what was selected or omitted; --json remains the detailed diagnostic form. A normal new task does not receive an old-session dump. For an explicit continuation, memorix resume "..." adds only the latest useful session summary, up to three readable durable anchors, and at most one recent source-labelled host compact checkpoint. A durable anchor carries a durable:<id> reference, so an agent can expand the full reviewed record through memorix_detail only when needed. Keyword matches stay primary; when no reviewed durable item matches and an embedding provider is configured, Memorix makes one 1.8-second, no-retry semantic fallback for paraphrases or cross-language tasks. A slow or unavailable provider simply leaves the normal keyword-only Workset intact. A checkpoint is lifecycle evidence, not durable memory or a transcript backup. Agents should read the suggested files before trusting stored memory.
<h2 id="runtime-modes"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-runtime.svg"><img src="assets/tags/section-runtime.svg" alt="Runtime Modes" height="32" /></picture></h2>
| You want | Run |
|---|---|
| Install an agent integration package | memorix setup --agent <agent> --global |
| Check or repair an agent integration | memorix doctor agents --agent <agent>, memorix repair agents --agent <agent> |
| Manually expose stdio MCP | memorix serve |
| Run shared HTTP MCP plus dashboard | memorix background start |
| Debug HTTP MCP in the foreground | memorix serve-http --port 3211 |
| Inspect or manage memory directly | memorix memory, memorix reasoning, memorix session, memorix ingest, memorix media |
| Manage reviewed long-term memory | `memorix memory long-term list |
| Retire memories from retrieval | memorix purge (current project), memorix purge --all --yes (everything) |
| Inspect native compaction continuity | `memorix checkpoint list |
| Use the interactive terminal memory control plane | memorix workbench |
| Use the bundled terminal agent | memorix or memcode |
| Run orchestrated subagent work | memorix orchestrate --goal "..." |
memorix serve defaults to --mode micro (9 tools) to keep MCP tool schemas small for agents. memorix setup writes --mode lite (21 tools) into the installed MCP config so the normal memory, continuity, and session surface is reachable. Use --mode team (29 tools) for coordination tools, or --mode full (48 tools) for advanced and compatibility tools such as checkpoint inspection.
Shortcuts and aliases: memorix search / remember / recent are direct query shortcuts, bg/bs start the background service, hook runs the hook launcher, and memorix config get|path|migrate inspects or migrates config files.
memorix orchestrate uses the current checkout for single-worker runs. When running multiple workers, it creates task worktrees under .worktrees/ and merges successful task branches back. Use --isolated to force worktree isolation for one worker, --no-worktree to disable it, --allow-dirty to run with uncommitted changes, and --no-auto-merge to preserve task worktrees for manual review.
<h2 id="memcode-bundled-terminal-agent"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-memcode.svg"><img src="assets/tags/section-memcode.svg" alt="memcode" height="32" /></picture></h2>
memcode is the terminal coding agent bundled with Memorix. It can read, edit, run commands, resume sessions, switch models, and use /memory commands — all backed by the same project memory as your MCP-connected agents.
Use it when you want a terminal agent with memory already wired in.
one Git project -> one shared Memorix memory poolSee docs/MEMCODE.md for the memcode-specific guide.
<h2 id="configuration"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-configuration.svg"><img src="assets/tags/section-configuration.svg" alt="Configuration" height="32" /></picture></h2>
Minimal ~/.memorix/config.toml:
[agent]
provider = "openai"
model = "gpt-4o"
api_key = "..."
[memory.llm]
provider = "openai"
model = "gpt-4o-mini"
api_key = "..."
[embedding]
provider = "auto"
[memory]
inject = "minimal"
formation = "active"Use [memory.llm] and [embedding] for Memorix memory quality and retrieval. Use [agent] for the model memcode talks to while coding. Keep credentials in global config or environment variables, and do not commit secrets.
For the optional Atlas Cloud memory preset, run memorix init and choose Atlas
Cloud, or set provider = "atlascloud" in [memory.llm]. It uses the
OpenAI-compatible https://api.atlascloud.ai/v1 endpoint and reads
ATLASCLOUD_API_KEY or the explicit MEMORIX_LLM_API_KEY.
For OpenRouter embeddings, use provider = "api", base_url = "https://openrouter.ai/api/v1", and model = "qwen/qwen3-embedding-8b". Memorix accepts OPENROUTER_API_KEY for that embedding endpoint; MEMORIX_EMBEDDING_API_KEY remains the explicit override.
For Requesty, choose Requesty in memorix init or set provider = "requesty" in [memory.llm] (endpoint https://router.requesty.ai/v1, key from REQUESTY_API_KEY or MEMORIX_LLM_API_KEY). Requesty embeddings use provider = "api", base_url = "https://router.requesty.ai/v1", and model = "openai/text-embedding-3-small" with REQUESTY_API_KEY.
For API Route, choose API Route in memorix init or set provider = "apiroute" in [memory.llm]. The preset uses https://global.api-route.com/v1 and deepseek-v4.1-flash, with your own API_ROUTE_API_KEY or MEMORIX_LLM_API_KEY. It is opt-in memory LLM processing; embeddings and memcode's model registry are configured separately. See configuration.
For Cheaper Inference, choose Cheaper Inference in memorix init or set provider = "cheaperinference" in [memory.llm]. The preset uses https://api.cheaperinference.com/v1 and gpt-5.4-mini, with your own CHEAPER_INFERENCE_API_KEY or MEMORIX_LLM_API_KEY. It is opt-in memory LLM processing; embeddings and memcode's model registry are configured separately. See configuration.
For Runcrate, choose Runcrate in memorix init or set provider = "runcrate" in [memory.llm]. The preset uses https://api.runcrate.ai/v1 and the open-weight deepseek-ai/DeepSeek-V4.1-Flash, with your own RUNCRATE_API_KEY or MEMORIX_LLM_API_KEY. It is opt-in memory LLM processing; embeddings and memcode's model registry are configured separately. See configuration.
For controlled MiniMax media generation, set MINIMAX_API_KEY (global) or
MINIMAX_CN_API_KEY (China region) in your environment or .env. The media
library never stores that key, a signed output URL, or base64 payloads. CLI
generation is explicit; MCP generation additionally requires
MEMORIX_MCP_MEDIA_GENERATION=1.
<h2 id="docker"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-docker.svg"><img src="assets/tags/section-docker.svg" alt="Docker" height="32" /></picture></h2>
Docker is a VPS/hosted HTTP deployment option, not a requirement for local development or stdio MCP:
docker compose up --build -dThen open:
dashboard:
http://localhost:3211MCP:
http://localhost:3211/mcphealth:
http://localhost:3211/health
The container must be able to access the repository path passed as projectRoot for project-scoped Git and config behavior.
<h2 id="sdk"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-sdk.svg"><img src="assets/tags/section-sdk.svg" alt="SDK" height="32" /></picture></h2>
Use Memorix directly from TypeScript:
import { createMemoryClient } from 'memorix/sdk';
const client = await createMemoryClient({ projectRoot: '/path/to/repo' });
await client.store({
entityName: 'auth-module',
type: 'decision',
title: 'Use JWT for API auth',
narrative: 'Chose JWT because the API is stateless and used by multiple clients.',
});
const results = await client.search({ query: 'auth decision' });
await client.close();<h2 id="docs"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-docs.svg"><img src="assets/tags/section-docs.svg" alt="Docs" height="32" /></picture></h2>
| Start here | Use when |
|---|---|
| Docs Map | You want the shortest route to the right guide |
| Setup Guide | Installing, using memorix setup, choosing stdio vs HTTP |
| Integration Surfaces | Plugin packages, MCP, project rules, hooks, and skills support |
| Configuration | TOML config, model lanes, compatibility files |
| API Reference | MCP tools and CLI commands |
| Git Memory | Commit ingestion and searchable engineering truth |
| Docker | Containerized HTTP service |
| memcode | Using the bundled terminal agent |
| Agent Playbook | AI-facing execution guide for install, binding, hooks, and troubleshooting |
| Development | Contributing, testing, release checks |
| Changelog | What changed in each release |
LLM-friendly summaries: llms.txt and llms-full.txt.
<h2 id="development"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-development.svg"><img src="assets/tags/section-development.svg" alt="Development" height="32" /></picture></h2>
git clone https://github.com/AVIDS2/memorix.git
cd memorix
npm install
npm run lint
npm test
npm run buildCommunity
Desktop and shell integrations built on Memorix:
omarchy-memorix — a native Omarchy shell bar widget: pool stats, live global search, per-project breakdown, recent memories, and a workbench launcher. Read-only over
~/.memorix/data; no daemons, no telemetry.
Built something on top of Memorix? Open a PR to list it here.
<h2 id="acknowledgements"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-acknowledgements.svg"><img src="assets/tags/section-acknowledgements.svg" alt="Acknowledgements" height="32" /></picture></h2>
Memorix draws from the MCP ecosystem and prior memory projects such as mcp-memory-service, MemCP, claude-mem, and Mem0. memcode is based on the Pi coding-agent codebase and adapts its terminal-agent model for the Memorix ecosystem.
<h2 id="license"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/tags/light/section-license.svg"><img src="assets/tags/section-license.svg" alt="License" height="32" /></picture></h2>
<h2 id="star-history">Star History</h2>
<a href="https://github.com/AVIDS2/memorix/stargazers"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://mem.rglens.com/metrics/star-history-dark.svg"> <source media="(prefers-color-scheme: light)" srcset="https://mem.rglens.com/metrics/star-history-light.svg"> <img alt="Memorix Star History" src="https://mem.rglens.com/metrics/star-history-light.svg" width="100%"> </picture> </a>
<sub>Updated automatically from GitHub's privacy-safe star history API. No generated PRs.</sub>
docs/DESIGN_DECISIONS.md
Memorix 设计决策记录
最后更新: 2026-03-09 (v1.0.0) 记录所有重要的架构和设计决策及其背后的理由
ADR-017: Memory Kernel and Derived-View Boundary
状态: 已采纳(1.11 重构基线)
背景: 1.10.x 已经同时包含 SQLite、FTS、Orama、Lance、CodeGraph、 hooks、MCP、HTTP、CLI 和 Dashboard。它们曾依靠约定共享状态,导致派生索引 膨胀、lazy mode 无声降级、检索排序回归和后台任务“成功但没有工作”。
决策: 保持 SQLite 为 canonical record plane,抽出一个 Memory Kernel, 用统一的 Runtime Facade、RetrievalPlan/Receipt、DerivedView 和 MaintenanceResult 契约连接所有宿主和派生视图。结构、历史和经验记忆可以有 不同索引,但不能有多个互相竞争的真相源。
理由:
新功能只应依赖 kernel contract,不应直接穿透到另一个宿主的 singleton;
派生视图必须能够报告 stale/degraded/rebuilding,并且可独立重建;
canonical write 与 embedding、graph、rerank、LLM 等副作用解耦;
同一个 RetrievalPlan 让 MCP、CLI、HTTP 和 Dashboard 产生可比较的结果;
事件/版本/来源保留审计能力,为未来 relay 和时间推理留下迁移路径。
不做:
不立即把 SQLite 换成云端数据库;
不为了“架构重写”删除现有 MCP/CLI 兼容面;
不把所有 observation 自动提升为长期记忆或图谱事实;
不新增一个向量数据库来掩盖生命周期和检索策略问题。
影响:
1.11 先抽接口和门面,再逐个迁移宿主;
每个派生视图必须有 rebuild/compact/status 测试;
发布门槛增加检索质量、资源上限和降级语义测试;
当前大模块可渐进拆分,避免一次性高风险迁移。
决策编号规则
ADR-XXX: Architecture Decision Record (架构决策)按时间顺序编号
ADR-001: 采用 MCP Protocol 而非自定义协议
状态: 已采纳
背景: 需要让 Memorix 与多种 AI Agent (Cursor, Windsurf, Claude Code 等) 通信。
决策: 使用 MCP (Model Context Protocol) 作为通信协议。
理由:
MCP 是 Anthropic 制定的开放标准,被多数 AI IDE 支持
stdio 传输模式简单可靠,无需 HTTP 服务器
已有
@modelcontextprotocol/sdk官方 SDK兼容 MCP Official Memory Server 的工具命名
影响:
日志必须输出到
stderr(stdout 被 MCP 协议占用)工具必须返回
{ content: [{ type: 'text', text: ... }] }格式不能主动推送消息给 Agent,只能响应工具调用
ADR-002: 双存储模型 (Knowledge Graph + Observations)
状态: 已采纳
背景: MCP Official Memory Server 只有知识图谱,表达能力有限。
决策: 采用双存储:
Knowledge Graph (MCP 兼容): Entity + Relation
Structured Observations (claude-mem 启发): 带类型、事实、概念的丰富记录
理由:
Knowledge Graph 适合存储实体关系 (who/what)
Observations 适合存储事件和上下文 (when/why/how)
两者通过
entityName关联保持与 MCP Official Memory Server 工具 API 100% 兼容
权衡:
增加了存储复杂度
需要两套持久化机制 (JSONL vs JSON)
observation 的 entity 引用可能与图谱不同步
ADR-003: 3层渐进式披露
状态: 已采纳
背景: AI Agent 的上下文窗口有限,全量返回记忆会浪费 token。
决策: 采用 claude-mem 的 3层渐进式披露:
L1 Search: 紧凑索引 (~50-100 tokens/条)
L2 Timeline: 时间线上下文
L3 Detail: 完整详情 (~500-1000 tokens/条)
理由:
claude-mem 验证了此模式的有效性 (27K stars, ~10x token 节省)
Agent 可以先浏览索引,再按需获取详情
Token 预算管理让 Agent 控制成本
影响:
需要 3 个 MCP 工具而非 1 个搜索工具
Agent 需要学习使用 Progressive Disclosure 工作流
在工具描述中嵌入了 Progressive Disclosure 使用提示
ADR-004: Orama 作为搜索引擎
状态: 已采纳
背景: 需要全文搜索和向量搜索能力。
考虑的方案:
| 方案 | 优点 | 缺点 |
|---|---|---|
| SQLite FTS5 | 成熟, 持久化 | 无向量搜索, 需要 native addon |
| Orama | 纯 JS, 支持向量, 轻量 | 内存中, 重启需重建 |
| Meilisearch | 功能丰富 | 需要额外进程 |
| pgvector | 强大的向量搜索 | 太重, 需要 PostgreSQL |
决策: 采用 Orama。
理由:
纯 JavaScript, 零 native 依赖
内置 BM25 全文搜索
支持向量搜索 (可选)
可嵌入到进程中, 无需额外服务
通过 npx 安装时无编译步骤
权衡:
内存中运行 — 重启需要重建索引 (
reindexObservations)大量数据时内存占用可能较高
Orama 的某些 where 过滤行为不太直观
ADR-005: 全局共享数据目录
状态: 已采纳
背景: 需要让不同 Agent 共享同一个项目的记忆数据。
决策: 数据存储在 ~/.memorix/data/<projectId>/。
理由:
所有 Agent 都可以访问同一个目录
projectId 基于 Git remote URL, 保证同一项目的唯一性
不污染项目目录
不需要用户额外配置
权衡:
多个 Agent 同时写入可能冲突 (无文件锁)
非 Git 项目的 projectId 可能不稳定 (基于目录名)
用户数据不跟随 Git (需要手动备份)
ADR-006: 可选 Embedding (优雅降级)
状态: 已采纳
背景: 向量搜索显著提升搜索质量,但 fastembed 有 ~30MB 模型下载。
决策: Embedding 作为可选功能,不安装时自动降级为纯全文搜索。
理由:
降低入门门槛 — npx 即用
全文搜索 (BM25) 对于大多数场景已足够好
需要向量搜索的高级用户可以安装 fastembed
避免首次启动时的长时间模型下载
实现:
getEmbeddingProvider()尝试动态 importSchema 根据 provider 是否存在动态调整
搜索自动选择 fulltext 或 hybrid 模式
ADR-007: Hooks 系统实现隐式记忆
状态: 已采纳
背景: 依赖 Agent 主动调用 memorix_store 不可靠 — Agent 可能忘记存储重要信息。
决策: 实现 Hooks 系统,自动从 Agent 的操作中抓取值得记忆的信息。
架构: stdin JSON → Normalizer → Pattern Detector → Handler → Store
理由:
不依赖 Agent 的记忆意识
通过模式检测过滤噪音,只记录有价值的信息
30秒冷却期防止信息过载
多 Agent 格式统一化确保跨平台兼容
权衡:
增加了实现复杂度
模式检测可能有误报/漏报
不同 Agent 的 Hook 接入方式差异大
需要维护每个 Agent 的格式适配
ADR-008: 指数衰减的记忆保留
状态: 已采纳
背景: 随着时间推移,记忆会越来越多,需要管理过期记忆。
决策: 采用指数衰减 + 免疫机制。
公式: score = base × e^(-age/retention) × accessBoost
理由:
指数衰减符合人类记忆的遗忘曲线
高重要性和高访问频率的记忆自然保留
免疫机制保护关键知识不被遗忘
三区域分类 (Active/Stale/Archive) 提供清晰的生命周期
当前限制:
只有报告功能,没有实际的自动归档/删除
high重要性默认免疫 — 这意味着 gotcha/decision/trade-off 永远存在未来需要添加
memorix_compact工具来实际归档
ADR-009: JSONL 格式存储知识图谱
状态: 已采纳
背景: MCP Official Memory Server 使用单文件 JSON 存储整个图谱。
决策: 使用 JSONL (JSON Lines) 格式分开存储 entities 和 relations。
理由:
每行一个记录,便于追加写入
与 MCP Official Memory Server 的数据模型兼容
便于外部工具处理 (grep, jq)
文件损坏时只影响单行而非整个文件
权衡:
读取需要逐行解析
不支持原子更新(需要全文重写)
与 MCP Official Server 的单文件 JSON 格式不完全相同
ADR-010: 实体自动抽取 (MAGMA 启发)
状态: 已采纳
背景: 用户提供的概念和文件列表通常不完整。
决策: 使用正则表达式从 observation 内容中自动抽取实体。
理由:
灵感来自 MemCP 的 RegexEntityExtractor (MAGMA 论文)
零额外依赖 — 纯正则匹配
自动丰富的概念和文件列表提升搜索召回率
因果语言检测帮助推断关系类型
权衡:
正则表达式的准确率有限 (可能误匹配)
不支持中文标识符
无法理解语义关系 — 只做词汇级别匹配
未来可以考虑用 LLM 替代正则做更智能的抽取
ADR-011: 跨 Agent 工作空间同步
状态: 已采纳
背景: 用户经常在多个 AI IDE 之间切换,每次都要重新配置 MCP servers、规则等。
决策: 实现一键式工作空间迁移 — MCP configs + Rules + Workflows + Skills。
理由:
这是 Memorix 独有的差异化功能
减少用户在 Agent 之间切换的摩擦
集中管理避免配置不一致
支持选择性同步 (
items参数)
实现要点:
每个 Agent 一个 MCP 配置适配器 (parse ↔ generate)
每个 Agent 一个规则格式适配器
Workflow 格式转换
Skills 目录复制
Apply 操作带备份和回滚
ADR-012: CLI 使用 Citty 框架
状态: 已采纳
背景: 需要一个轻量级 CLI 框架来定义命令。
考虑的方案: Commander, Yargs, Citty, CAC
决策: 使用 Citty (UnJS 生态)。
理由:
轻量级, 无额外依赖
TypeScript 原生支持
与 UnJS 生态其他工具 (如 Nitro, Nuxt) 一致
支持子命令定义
自动生成 help 信息
ADR-013: 工具合并 (41 → 22 默认)
状态: 已采纳 (v1.0.0)
背景: 工具数量膨胀到 41 个,超出多数 IDE 的工具槽位限制。
决策:
Team 工具: 13 个合并为 4 个 (使用
action参数模式)KG 工具: 9 个改为可选 (通过
~/.memorix/settings.json启用)Export+Import: 2 个合并为 1 个
memorix_transfer
理由:
多数用户不需要知识图谱工具,默认隐藏减少器噪
action参数模式是 MCP 工具的最佳实践(减少工具数量,保留功能)22 个默认工具在所有 IDE 工具槽位限制内
ADR-014: 团队协作 (team-state.json)
状态: 已采纳 (v1.0.0)
背景: 多个 Agent 在同一工作区并行工作时,缺乏协调机制。
决策: 基于文件的团队状态共享,包含 4 个工具:注册/文件锁/任务板/消息。
理由:
文件锁防止多 Agent 同时编辑同一文件
任务板让 Agent 之间分工协作
消息、任务与轮询共同提供显式的异步协作,而不是假设跨 IDE 实时通信
team-state.json简单可靠,无需额外服务
生产加固:
Inbox 上限 200 条,自动淡化旧消息
文件锁 10min TTL 自动释放
Agent 离开时自动释放所有锁 + 清空 Inbox
孤儿任务自动救援
ADR-015: 启动自动清理
状态: 已采纳 (v1.0.0)
背景: 用户往往忘记手动运行 memorix_retention 和 memorix_consolidate。
决策: 在 deferredInit 中自动执行:
archiveExpired()— 归档过期记忆有 LLM:
deduplicateMemory()— 语义去重无 LLM:
executeConsolidation()— Jaccard 相似度合并
理由:
零人工维护,用户无需知道记忆管理细节
配置了 LLM 的用户想要更高质量,每次仅消耗几百 token
在 MCP 握手后的后台任务中执行,不影响主流程
ADR-016: LLM 增强模式 (可选)
状态: 已采纳 (v0.11.0)
背景: 纯启发式去重质量有限,LLM 可以提供更智能的记忆管理。
决策: 可选 LLM 集成,提供三项能力:
叙述压缩: 存储前压缩冗余内容 (~27% token 节省)
搜索重排序: 按语义相关性重新排序 (60% 查询改善)
写入时去重: 写入时检测重复和冲突
理由:
所有 LLM 功能均为可选,不配置时默认用启发式引擎
智能过滤确保 LLM 仅在有意义时被调用
支持 OpenAI/Anthropic/OpenRouter 及任何兼容接口
配置优先级: 环境变量 >
~/.memorix/config.json> 自动检测
512 files · 453 not served here
- .codegraph/.gitignore (not served here)
- .dockerignore (not served here)
- .env.example (not served here)
- .gitattributes (not served here)
- .github/hooks/memorix.json (not served here)
- .github/workflows/ci.yml (not served here)
- .github/workflows/publish.yml (not served here)
- .gitignore (not served here)
- .gitmodules (not served here)
- .npmignore (not served here)
- .opencode/plugins/memorix.js (not served here)
- .trae/rules/project_rules.md (not served here)
- .windsurf/workflows/deploy.md (not served here)
- .windsurf/workflows/pr-review.md (not served here)
- ACTIVE_WORK.md
- ATTRIBUTION.md
- AUTOGINEER-RUNS.md
- CHANGELOG.md
- CLAUDE.md
- Dockerfile (not served here)
- GEMINI.md
- LICENSE
- README.md
- README.zh-CN.md
- TEAM.md
- articles/dev-to-en.md (not served here)
- articles/product-hunt-en.md (not served here)
- articles/reddit-en.md (not served here)
- articles/show-hn-en.md (not served here)
- articles/xiaohongshu-zh.md (not served here)
- assets/logo.png (not served here)
- assets/readme-hero.svg (not served here)
- assets/readme-logo-bridge.png (not served here)
- assets/readme-tui-workbench.png (not served here)
- assets/tags/light/section-acknowledgements.svg (not served here)
- assets/tags/light/section-agents.svg (not served here)
- assets/tags/light/section-configuration.svg (not served here)
- assets/tags/light/section-development.svg (not served here)
- assets/tags/light/section-docker.svg (not served here)
- assets/tags/light/section-docs.svg (not served here)
- assets/tags/light/section-install.svg (not served here)
- assets/tags/light/section-license.svg (not served here)
- assets/tags/light/section-memcode.svg (not served here)
- assets/tags/light/section-memory-model.svg (not served here)
- assets/tags/light/section-overview.svg (not served here)
- assets/tags/light/section-quick-start.svg (not served here)
- assets/tags/light/section-runtime.svg (not served here)
- assets/tags/light/section-sdk.svg (not served here)
- assets/tags/section-acknowledgements.svg (not served here)
- assets/tags/section-agents.svg (not served here)
- assets/tags/section-configuration.svg (not served here)
- assets/tags/section-development.svg (not served here)
- assets/tags/section-docker.svg (not served here)
- assets/tags/section-docs.svg (not served here)
- assets/tags/section-install.svg (not served here)
- assets/tags/section-license.svg (not served here)
- assets/tags/section-memcode.svg (not served here)
- assets/tags/section-memory-model.svg (not served here)
- assets/tags/section-overview.svg (not served here)
- assets/tags/section-quick-start.svg (not served here)
- assets/tags/section-runtime.svg (not served here)
- assets/tags/section-sdk.svg (not served here)
- bun.lock (not served here)
- compose.yaml (not served here)
- docs/1.2.0-CLAIM-LEDGER.md
- docs/1.2.0-CODE-STATE.md
- docs/1.2.0-DEVELOPMENT-CHARTER.md
- docs/1.2.0-DYNAMIC-LIFECYCLE.md
- docs/1.2.0-EVALUATION-HARNESS.md
- docs/1.2.0-IMPLEMENTATION-PLAN.md
- docs/1.2.0-KNOWLEDGE-WORKFLOW-RESEARCH.md
- docs/1.2.0-KNOWLEDGE-WORKSPACE.md
- docs/1.2.0-PRODUCT-STORY.md
- docs/1.2.0-PROVIDER-QUALITY.md
- docs/1.2.0-WORKFLOW-INHERITANCE.md
- docs/1.2.0-WORKSET-RETRIEVAL.md
- docs/1.2.2-MEMORY-CONTROL-PLANE.md
- docs/1.2.4-PERSISTENT-MEMORY-DELIVERY.md
- docs/1.2.5-RETRIEVAL-PERFORMANCE.md
- docs/1.2.7-CONTEXT-CONTINUITY.md
- docs/1.3-MEMORY-ARCHITECTURE.md
- docs/1.3.3-MULTIMODAL-MEDIA-AND-MCP-COMPAT.md
- docs/1.4.2-EVIDENCE-GOVERNED-MEMORY-SPEC.md
- docs/1.4.3-CONTROLLED-AUDIO-TRANSCRIPTS.md
- docs/1.4.3-CONTROLLED-PDF-DERIVATIONS.md
- docs/1.4.3-GRAPH-EVIDENCE-EXPANSION.md
- docs/1.4.5-AGENT-AUTO-MEMORY-RESEARCH.md
- docs/1.8.0-RELEASE-CANDIDATE-SPEC.md
- docs/1.8.7-CODEGRAPH.md
- docs/AGENT_OPERATOR_PLAYBOOK.md
- docs/AI_CONTEXT.md
- docs/API_REFERENCE.md
- docs/ARCHITECTURE.md
- docs/CLOUD_SYNC_AND_MULTI_AGENT_RESEARCH.md
- docs/CONFIGURATION.md
- docs/DASHBOARD.md
- docs/DESIGN_DECISIONS.md
- docs/DEVELOPMENT.md
- docs/DOCKER.md
- docs/GIT_MEMORY.md
- docs/INTEGRATIONS.md
- docs/KNOWN_ISSUES_AND_ROADMAP.md
- docs/MEMCODE.md
- docs/MEMORY_FORMATION_PIPELINE.md
- docs/MODULES.md
- docs/MULTI-DEVICE-SYNC-RESEARCH.md
- docs/PERFORMANCE.md
- docs/PI_UPSTREAM.md
- docs/README.md
- docs/ROADMAP-1.9.12-2.0.md
- docs/SETUP.md
- docs/hooks-architecture.md
- docs/knowledge/workflows/memorix-release.md (not served here)
- docs/memcode/DESIGN.md (not served here)
- docs/memcode/HANDOFF.md (not served here)
- docs/superpowers/plans/2026-06-12-memcode-native-hooks-plan.md (not served here)
- docs/superpowers/plans/2026-06-14-unified-toml-config-plan.md (not served here)
- docs/superpowers/plans/2026-06-29-agent-autopilot-entrypoints.md (not served here)
- docs/superpowers/plans/2026-06-29-auto-context-layer.md (not served here)
- docs/superpowers/plans/2026-06-29-codegraph-memory-mvp.md (not served here)
- docs/superpowers/plans/2026-07-02-memory-autopilot-1.1.5.md (not served here)
- docs/superpowers/plans/2026-07-07-task-lensed-memory-brief.md (not served here)
- docs/superpowers/specs/2026-06-12-memcode-native-hooks-design.md (not served here)
- docs/superpowers/specs/2026-06-14-unified-toml-config-design.md (not served here)
- docs/superpowers/specs/2026-06-29-auto-context-layer-design.md (not served here)
- docs/superpowers/specs/2026-06-29-codegraph-memory-context-fabric-design.md (not served here)
- docs/superpowers/specs/2026-07-02-memory-autopilot-1.1.5-design.md (not served here)
- docs/superpowers/specs/2026-07-07-task-lensed-memory-brief-design.md (not served here)
- docs/superpowers/specs/2026-07-14-runtime-integrity-1.1.11-design.md (not served here)
- examples/CLAUDE.md (not served here)
- examples/claude-desktop-config.json (not served here)
- examples/cursor-mcp.json (not served here)
- examples/windsurf-mcp.json (not served here)
- llms-full.txt (not served here)
- llms.txt (not served here)
- memorix.example.yml (not served here)
- package-lock.json (not served here)
- package.json (not served here)
- packages/agent-core/README.md (not served here)
- packages/agent-core/docs/agent-harness.md (not served here)
- packages/agent-core/docs/durable-harness.md (not served here)
- packages/agent-core/docs/hooks.md (not served here)
- packages/agent-core/docs/observability.md (not served here)
- packages/agent-core/package.json (not served here)
- packages/agent-core/src/agent-loop.ts (not served here)
- packages/agent-core/src/agent.ts (not served here)
- packages/agent-core/src/harness/agent-harness.ts (not served here)
- packages/agent-core/src/harness/compaction/branch-summarization.ts (not served here)
- packages/agent-core/src/harness/compaction/compaction.ts (not served here)
- packages/agent-core/src/harness/compaction/utils.ts (not served here)
- packages/agent-core/src/harness/env/nodejs.ts (not served here)
- packages/agent-core/src/harness/messages.ts (not served here)
- packages/agent-core/src/harness/prompt-templates.ts (not served here)
- packages/agent-core/src/harness/session/jsonl-repo.ts (not served here)
- packages/agent-core/src/harness/session/jsonl-storage.ts (not served here)
- packages/agent-core/src/harness/session/memory-repo.ts (not served here)
- packages/agent-core/src/harness/session/memory-storage.ts (not served here)
- packages/agent-core/src/harness/session/repo-utils.ts (not served here)
- packages/agent-core/src/harness/session/session.ts (not served here)
- packages/agent-core/src/harness/session/uuid.ts (not served here)
- packages/agent-core/src/harness/skills.ts (not served here)
- packages/agent-core/src/harness/system-prompt.ts (not served here)
- packages/agent-core/src/harness/types.ts (not served here)
- packages/agent-core/src/harness/utils/shell-output.ts (not served here)
- packages/agent-core/src/harness/utils/truncate.ts (not served here)
- packages/agent-core/src/index.ts (not served here)
- packages/agent-core/src/node.ts (not served here)
- packages/agent-core/src/proxy.ts (not served here)
- packages/agent-core/src/types.ts (not served here)
- packages/agent-core/test/agent-loop.test.ts (not served here)
- packages/agent-core/test/agent.test.ts (not served here)
- packages/agent-core/test/e2e.test.ts (not served here)
- packages/agent-core/test/harness/agent-harness-stream.test.ts (not served here)
- packages/agent-core/test/harness/agent-harness.test.ts (not served here)
- packages/agent-core/test/harness/compaction.test.ts (not served here)
- packages/agent-core/test/harness/nodejs-env.test.ts (not served here)
- packages/agent-core/test/harness/prompt-templates.test.ts (not served here)
- packages/agent-core/test/harness/repo.test.ts (not served here)
- packages/agent-core/test/harness/resource-formatting.test.ts (not served here)
- packages/agent-core/test/harness/session-test-utils.ts (not served here)
- packages/agent-core/test/harness/session-uuid.test.ts (not served here)
- packages/agent-core/test/harness/session.test.ts (not served here)
- packages/agent-core/test/harness/skills.test.ts (not served here)
- packages/agent-core/test/harness/storage.test.ts (not served here)
- packages/agent-core/test/harness/system-prompt.test.ts (not served here)
- packages/agent-core/test/harness/truncate.test.ts (not served here)
- packages/agent-core/test/utils/calculate.ts (not served here)
- packages/agent-core/test/utils/get-current-time.ts (not served here)
- packages/agent-core/tsconfig.build.json (not served here)
- packages/agent-core/tsconfig.json (not served here)
- packages/agent-core/vitest.config.ts (not served here)
- packages/agent-core/vitest.harness.config.ts (not served here)
- packages/ai/README.md (not served here)
- packages/ai/bedrock-provider.d.ts (not served here)
- packages/ai/bedrock-provider.js (not served here)
- packages/ai/package.json (not served here)
- packages/ai/scripts/generate-image-models.ts (not served here)
- packages/ai/scripts/generate-models.ts (not served here)
- packages/ai/scripts/generate-test-image.ts (not served here)
- packages/ai/src/api-registry.ts (not served here)
- packages/ai/src/bedrock-provider.ts (not served here)
- packages/ai/src/cli.ts (not served here)
- packages/ai/src/env-api-keys.ts (not served here)
- packages/ai/src/image-models.generated.ts (not served here)
- packages/ai/src/image-models.ts (not served here)
- packages/ai/src/images-api-registry.ts (not served here)
- packages/ai/src/images.ts (not served here)
- packages/ai/src/index.ts (not served here)
- packages/ai/src/minimax-models.ts (not served here)
- packages/ai/src/models.generated.ts (not served here)
- packages/ai/src/models.ts (not served here)
- packages/ai/src/oauth.ts (not served here)
- packages/ai/src/providers/amazon-bedrock.ts (not served here)
- packages/ai/src/providers/anthropic.ts (not served here)
- packages/ai/src/providers/azure-openai-responses.ts (not served here)
- packages/ai/src/providers/cloudflare.ts (not served here)
- packages/ai/src/providers/faux.ts (not served here)
- packages/ai/src/providers/github-copilot-headers.ts (not served here)
- packages/ai/src/providers/google-shared.ts (not served here)
- packages/ai/src/providers/google-vertex.ts (not served here)
- packages/ai/src/providers/google.ts (not served here)
- packages/ai/src/providers/images/minimax.ts (not served here)
- packages/ai/src/providers/images/openrouter.ts (not served here)
- packages/ai/src/providers/images/register-builtins.ts (not served here)
- packages/ai/src/providers/mistral.ts (not served here)
- packages/ai/src/providers/openai-codex-responses.ts (not served here)
- packages/ai/src/providers/openai-completions.ts (not served here)
- packages/ai/src/providers/openai-prompt-cache.ts (not served here)
- packages/ai/src/providers/openai-responses-shared.ts (not served here)
- packages/ai/src/providers/openai-responses.ts (not served here)
- packages/ai/src/providers/register-builtins.ts (not served here)
- packages/ai/src/providers/simple-options.ts (not served here)
- packages/ai/src/providers/transform-messages.ts (not served here)
- packages/ai/src/session-resources.ts (not served here)
- packages/ai/src/stream.ts (not served here)
- packages/ai/src/types.ts (not served here)
- packages/ai/src/utils/abort-signals.ts (not served here)
- packages/ai/src/utils/diagnostics.ts (not served here)
- packages/ai/src/utils/event-stream.ts (not served here)
- packages/ai/src/utils/hash.ts (not served here)
- packages/ai/src/utils/headers.ts (not served here)
- packages/ai/src/utils/json-parse.ts (not served here)
- packages/ai/src/utils/node-http-proxy.ts (not served here)
- packages/ai/src/utils/oauth/anthropic.ts (not served here)
- packages/ai/src/utils/oauth/device-code.ts (not served here)
- packages/ai/src/utils/oauth/github-copilot.ts (not served here)
- packages/ai/src/utils/oauth/index.ts (not served here)
- packages/ai/src/utils/oauth/oauth-page.ts (not served here)
- packages/ai/src/utils/oauth/openai-codex.ts (not served here)
- packages/ai/src/utils/oauth/pkce.ts (not served here)
- packages/ai/src/utils/oauth/types.ts (not served here)
- packages/ai/src/utils/overflow.ts (not served here)
- packages/ai/src/utils/sanitize-unicode.ts (not served here)
- packages/ai/src/utils/typebox-helpers.ts (not served here)
- packages/ai/src/utils/validation.ts (not served here)
- packages/ai/test/abort.test.ts (not served here)
- packages/ai/test/anthropic-adaptive-thinking-models.test.ts (not served here)
- packages/ai/test/anthropic-eager-tool-input-compat.test.ts (not served here)
- packages/ai/test/anthropic-eager-tool-input-e2e.test.ts (not served here)
- packages/ai/test/anthropic-empty-thinking-signature-compat.test.ts (not served here)
- packages/ai/test/anthropic-force-adaptive-thinking.test.ts (not served here)
- packages/ai/test/anthropic-long-cache-retention-e2e.test.ts (not served here)
- packages/ai/test/anthropic-oauth.test.ts (not served here)
- packages/ai/test/anthropic-opus-4-8-smoke.test.ts (not served here)
- packages/ai/test/anthropic-sse-parsing.test.ts (not served here)
- packages/ai/test/anthropic-temperature-compat.test.ts (not served here)
- packages/ai/test/anthropic-thinking-disable.test.ts (not served here)
- packages/ai/test/anthropic-tool-name-normalization.test.ts (not served here)
- packages/ai/test/azure-openai-base-url.test.ts (not served here)
- packages/ai/test/azure-utils.ts (not served here)
- packages/ai/test/bedrock-convert-messages.test.ts (not served here)
- packages/ai/test/bedrock-custom-headers.test.ts (not served here)
- packages/ai/test/bedrock-endpoint-resolution.test.ts (not served here)
- packages/ai/test/bedrock-models.test.ts (not served here)
- packages/ai/test/bedrock-thinking-payload.test.ts (not served here)
- packages/ai/test/bedrock-utils.ts (not served here)
- packages/ai/test/cache-retention.test.ts (not served here)
- packages/ai/test/cloudflare-utils.ts (not served here)
- packages/ai/test/codex-websocket-cached-probe.ts (not served here)
- packages/ai/test/context-overflow.test.ts (not served here)
- packages/ai/test/cross-provider-handoff.test.ts (not served here)
- packages/ai/test/data/red-circle.png (not served here)
- packages/ai/test/empty.test.ts (not served here)
- packages/ai/test/env-api-keys.test.ts (not served here)
- packages/ai/test/faux-provider.test.ts (not served here)
- packages/ai/test/fireworks-models.test.ts (not served here)
- packages/ai/test/generate-models-fallback.test.ts (not served here)
- packages/ai/test/github-copilot-anthropic.test.ts (not served here)
- packages/ai/test/github-copilot-oauth.test.ts (not served here)
- packages/ai/test/google-shared-convert-tools.test.ts (not served here)
- packages/ai/test/google-shared-gemini3-unsigned-tool-call.test.ts (not served here)
- packages/ai/test/google-shared-image-tool-result-routing.test.ts (not served here)
- packages/ai/test/google-thinking-disable.test.ts (not served here)
- packages/ai/test/google-thinking-signature.test.ts (not served here)
- packages/ai/test/google-vertex-api-key-resolution.test.ts (not served here)
- packages/ai/test/image-tool-result.test.ts (not served here)
- packages/ai/test/images.test.ts (not served here)
- packages/ai/test/interleaved-thinking.test.ts (not served here)
- packages/ai/test/lazy-module-load.test.ts (not served here)
- packages/ai/test/live-test-gate.test.ts (not served here)
- packages/ai/test/live-test-gate.ts (not served here)
- packages/ai/test/minimax-flash.test.ts (not served here)
- packages/ai/test/minimax-images.test.ts (not served here)
- packages/ai/test/minimax-models.test.ts (not served here)
- packages/ai/test/minimax-video-input.test.ts (not served here)
- packages/ai/test/mistral-reasoning-mode.test.ts (not served here)
- packages/ai/test/mistral-tool-schema.test.ts (not served here)
- packages/ai/test/node-http-proxy.test.ts (not served here)
- packages/ai/test/oauth-device-code.test.ts (not served here)
- packages/ai/test/oauth.ts (not served here)
- packages/ai/test/openai-codex-cache-affinity-e2e.test.ts (not served here)
- packages/ai/test/openai-codex-oauth.test.ts (not served here)
- packages/ai/test/openai-codex-stream.test.ts (not served here)
- packages/ai/test/openai-completions-cache-control-format.test.ts (not served here)
- packages/ai/test/openai-completions-empty-tools.test.ts (not served here)
- packages/ai/test/openai-completions-prompt-cache.test.ts (not served here)
- packages/ai/test/openai-completions-response-model.test.ts (not served here)
- packages/ai/test/openai-completions-retry.test.ts (not served here)
- packages/ai/test/openai-completions-thinking-as-text.test.ts (not served here)
- packages/ai/test/openai-completions-tool-choice.test.ts (not served here)
- packages/ai/test/openai-completions-tool-result-images.test.ts (not served here)
- packages/ai/test/openai-responses-cache-affinity-e2e.test.ts (not served here)
- packages/ai/test/openai-responses-copilot-provider.test.ts (not served here)
- packages/ai/test/openai-responses-foreign-toolcall-id.test.ts (not served here)
- packages/ai/test/openai-responses-message-id.test.ts (not served here)
- packages/ai/test/openai-responses-partial-json-cleanup.test.ts (not served here)
- packages/ai/test/openai-responses-reasoning-replay-e2e.test.ts (not served here)
- packages/ai/test/openai-responses-tool-result-images.test.ts (not served here)
- packages/ai/test/openrouter-cache-write-repro.test.ts (not served here)
- packages/ai/test/openrouter-images.test.ts (not served here)
- packages/ai/test/overflow.test.ts (not served here)
- packages/ai/test/responseid.test.ts (not served here)
- packages/ai/test/setup.ts (not served here)
- packages/ai/test/stream.test.ts (not served here)
- packages/ai/test/supports-xhigh.test.ts (not served here)
- packages/ai/test/together-models.test.ts (not served here)
- packages/ai/test/tokens.test.ts (not served here)
- packages/ai/test/tool-call-id-normalization.test.ts (not served here)
- packages/ai/test/tool-call-without-result.test.ts (not served here)
- packages/ai/test/total-tokens.test.ts (not served here)
- packages/ai/test/transform-messages-copilot-openai-to-anthropic.test.ts (not served here)
- packages/ai/test/unicode-surrogate.test.ts (not served here)
- packages/ai/test/validation.test.ts (not served here)
- packages/ai/test/xhigh.test.ts (not served here)
- packages/ai/test/xiaomi-models.test.ts (not served here)
- packages/ai/test/xiaomi-token-plan-ams-anthropic-empty-signature-smoke.test.ts (not served here)
- packages/ai/test/zen.test.ts (not served here)
- packages/ai/tsconfig.build.json (not served here)
- packages/ai/tsconfig.json (not served here)
- packages/ai/vitest.config.ts (not served here)
- packages/memcode/.gitignore (not served here)
- packages/memcode/README.md (not served here)
- packages/memcode/docs/compaction.md (not served here)
- packages/memcode/docs/containerization.md (not served here)
- packages/memcode/docs/custom-provider.md (not served here)
- packages/memcode/docs/development.md (not served here)
- packages/memcode/docs/docs.json (not served here)
- packages/memcode/docs/extensions.md (not served here)
- packages/memcode/docs/images/doom-extension.png (not served here)
- packages/memcode/docs/images/interactive-mode.png (not served here)
- packages/memcode/docs/images/tree-view.png (not served here)
- packages/memcode/docs/index.md (not served here)
- packages/memcode/docs/json.md (not served here)
- packages/memcode/docs/keybindings.md (not served here)
- packages/memcode/docs/models.md (not served here)
- packages/memcode/docs/packages.md (not served here)
- packages/memcode/docs/prompt-templates.md (not served here)
- packages/memcode/docs/providers.md (not served here)
- packages/memcode/docs/quickstart.md (not served here)
- packages/memcode/docs/rpc.md (not served here)
- packages/memcode/docs/sdk.md (not served here)
- packages/memcode/docs/security.md (not served here)
- packages/memcode/docs/session-format.md (not served here)
- packages/memcode/docs/sessions.md (not served here)
- packages/memcode/docs/settings.md (not served here)
- packages/memcode/docs/shell-aliases.md (not served here)
- packages/memcode/docs/skills.md (not served here)
- packages/memcode/docs/terminal-setup.md (not served here)
- packages/memcode/docs/termux.md (not served here)
- packages/memcode/docs/themes.md (not served here)
- packages/memcode/docs/tmux.md (not served here)
- packages/memcode/docs/tui.md (not served here)
- packages/memcode/docs/usage.md (not served here)
- packages/memcode/docs/windows.md (not served here)
- packages/memcode/examples/README.md (not served here)
- packages/memcode/examples/extensions/README.md (not served here)
- packages/memcode/examples/extensions/auto-commit-on-exit.ts (not served here)
- packages/memcode/examples/extensions/bash-spawn-hook.ts (not served here)
- packages/memcode/examples/extensions/bookmark.ts (not served here)
- packages/memcode/examples/extensions/border-status-editor.ts (not served here)
- packages/memcode/examples/extensions/built-in-tool-renderer.ts (not served here)
- packages/memcode/examples/extensions/claude-rules.ts (not served here)
- packages/memcode/examples/extensions/commands.ts (not served here)
- packages/memcode/examples/extensions/confirm-destructive.ts (not served here)
- packages/memcode/examples/extensions/custom-compaction.ts (not served here)
- packages/memcode/examples/extensions/custom-footer.ts (not served here)
- packages/memcode/examples/extensions/custom-header.ts (not served here)
- packages/memcode/examples/extensions/custom-provider-anthropic/.gitignore (not served here)
- packages/memcode/examples/extensions/custom-provider-anthropic/index.ts (not served here)
- packages/memcode/examples/extensions/custom-provider-anthropic/package-lock.json (not served here)
- packages/memcode/examples/extensions/custom-provider-anthropic/package.json (not served here)
- packages/memcode/examples/extensions/custom-provider-gitlab-duo/.gitignore (not served here)
- packages/memcode/examples/extensions/custom-provider-gitlab-duo/index.ts (not served here)
- packages/memcode/examples/extensions/custom-provider-gitlab-duo/package.json (not served here)
- packages/memcode/examples/extensions/custom-provider-gitlab-duo/test.ts (not served here)
- packages/memcode/examples/extensions/dirty-repo-guard.ts (not served here)
- packages/memcode/examples/extensions/doom-overlay/.gitignore (not served here)
- packages/memcode/examples/extensions/doom-overlay/README.md (not served here)
- packages/memcode/examples/extensions/doom-overlay/doom-component.ts (not served here)
- packages/memcode/examples/extensions/doom-overlay/doom-engine.ts (not served here)
- packages/memcode/examples/extensions/doom-overlay/doom-keys.ts (not served here)
- packages/memcode/examples/extensions/doom-overlay/doom/build.sh (not served here)
- packages/memcode/examples/extensions/doom-overlay/doom/build/doom.js (not served here)
- packages/memcode/examples/extensions/doom-overlay/doom/build/doom.wasm (not served here)
- packages/memcode/examples/extensions/doom-overlay/doom/doomgeneric_pi.c (not served here)
- packages/memcode/examples/extensions/doom-overlay/index.ts (not served here)
- packages/memcode/examples/extensions/doom-overlay/wad-finder.ts (not served here)
- packages/memcode/examples/extensions/dynamic-resources/SKILL.md (not served here)
- packages/memcode/examples/extensions/dynamic-resources/dynamic.json (not served here)
- packages/memcode/examples/extensions/dynamic-resources/dynamic.md (not served here)
- packages/memcode/examples/extensions/dynamic-resources/index.ts (not served here)
- packages/memcode/examples/extensions/dynamic-tools.ts (not served here)
- packages/memcode/examples/extensions/event-bus.ts (not served here)
- packages/memcode/examples/extensions/file-trigger.ts (not served here)
- packages/memcode/examples/extensions/git-checkpoint.ts (not served here)
- packages/memcode/examples/extensions/git-merge-and-resolve.ts (not served here)
- packages/memcode/examples/extensions/github-issue-autocomplete.ts (not served here)
- packages/memcode/examples/extensions/gondolin/.gitignore (not served here)
- packages/memcode/examples/extensions/gondolin/index.ts (not served here)
- packages/memcode/examples/extensions/gondolin/package-lock.json (not served here)
- packages/memcode/examples/extensions/gondolin/package.json (not served here)
- packages/memcode/examples/extensions/handoff.ts (not served here)
- packages/memcode/examples/extensions/hello.ts (not served here)
- packages/memcode/examples/extensions/hidden-thinking-label.ts (not served here)
- packages/memcode/examples/extensions/inline-bash.ts (not served here)
- packages/memcode/examples/extensions/input-transform-streaming.ts (not served here)
- packages/memcode/examples/extensions/input-transform.ts (not served here)
- packages/memcode/examples/extensions/interactive-shell.ts (not served here)
- packages/memcode/examples/extensions/mac-system-theme.ts (not served here)
- packages/memcode/examples/extensions/message-renderer.ts (not served here)
- packages/memcode/examples/extensions/minimal-mode.ts (not served here)
- packages/memcode/examples/extensions/modal-editor.ts (not served here)
- packages/memcode/examples/extensions/model-status.ts (not served here)
- packages/memcode/examples/extensions/notify.ts (not served here)
- packages/memcode/examples/extensions/overlay-qa-tests.ts (not served here)
- packages/memcode/examples/extensions/overlay-test.ts (not served here)
- packages/memcode/examples/extensions/permission-gate.ts (not served here)
- packages/memcode/examples/extensions/pirate.ts (not served here)
- packages/memcode/examples/extensions/plan-mode/README.md (not served here)
- packages/memcode/examples/extensions/plan-mode/index.ts (not served here)
- packages/memcode/examples/extensions/plan-mode/utils.ts (not served here)
- packages/memcode/examples/extensions/preset.ts (not served here)
- packages/memcode/examples/extensions/project-trust.ts (not served here)
- packages/memcode/examples/extensions/prompt-customizer.ts (not served here)
- packages/memcode/examples/extensions/protected-paths.ts (not served here)
- packages/memcode/examples/extensions/provider-payload.ts (not served here)
- packages/memcode/examples/extensions/qna.ts (not served here)
- packages/memcode/examples/extensions/question.ts (not served here)
- packages/memcode/examples/extensions/questionnaire.ts (not served here)
- packages/memcode/examples/extensions/rainbow-editor.ts (not served here)
- packages/memcode/examples/extensions/reload-runtime.ts (not served here)
- packages/memcode/examples/extensions/rpc-demo.ts (not served here)
- packages/memcode/examples/extensions/sandbox/.gitignore (not served here)
- packages/memcode/examples/extensions/sandbox/index.ts (not served here)
- packages/memcode/examples/extensions/sandbox/package-lock.json (not served here)
- packages/memcode/examples/extensions/sandbox/package.json (not served here)
- packages/memcode/examples/extensions/send-user-message.ts (not served here)
- packages/memcode/examples/extensions/session-name.ts (not served here)
- packages/memcode/examples/extensions/shutdown-command.ts (not served here)
- packages/memcode/examples/extensions/snake.ts (not served here)
- packages/memcode/examples/extensions/space-invaders.ts (not served here)
- packages/memcode/examples/extensions/ssh.ts (not served here)
- packages/memcode/examples/extensions/status-line.ts (not served here)
- packages/memcode/examples/extensions/structured-output.ts (not served here)
- packages/memcode/examples/extensions/subagent/README.md (not served here)
- packages/memcode/examples/extensions/subagent/agents.ts (not served here)
- packages/memcode/examples/extensions/subagent/agents/planner.md (not served here)
- packages/memcode/examples/extensions/subagent/agents/reviewer.md (not served here)
- packages/memcode/examples/extensions/subagent/agents/scout.md (not served here)
- packages/memcode/examples/extensions/subagent/agents/worker.md (not served here)
- packages/memcode/examples/extensions/subagent/index.ts (not served here)
- packages/memcode/examples/extensions/subagent/prompts/implement-and-review.md (not served here)
- packages/memcode/examples/extensions/subagent/prompts/implement.md (not served here)
- packages/memcode/examples/extensions/subagent/prompts/scout-and-plan.md (not served here)
- packages/memcode/examples/extensions/summarize.ts (not served here)
- packages/memcode/examples/extensions/system-prompt-header.ts (not served here)
- packages/memcode/examples/extensions/tic-tac-toe.ts (not served here)
- packages/memcode/examples/extensions/timed-confirm.ts (not served here)
- packages/memcode/examples/extensions/titlebar-spinner.ts (not served here)
- packages/memcode/examples/extensions/todo.ts (not served here)
- packages/memcode/examples/extensions/tool-override.ts (not served here)
- packages/memcode/examples/extensions/tools.ts (not served here)
- packages/memcode/examples/extensions/trigger-compact.ts (not served here)
- packages/memcode/examples/extensions/truncated-tool.ts (not served here)
- packages/memcode/examples/extensions/widget-placement.ts (not served here)
- packages/memcode/examples/extensions/with-deps/.gitignore (not served here)
- packages/memcode/examples/extensions/with-deps/index.ts (not served here)
- packages/memcode/examples/extensions/with-deps/package-lock.json (not served here)
- packages/memcode/examples/extensions/with-deps/package.json (not served here)
- packages/memcode/examples/extensions/working-indicator.ts (not served here)
- packages/memcode/examples/extensions/working-message-test.ts (not served here)
- packages/memcode/examples/rpc-extension-ui.ts (not served here)
- packages/memcode/examples/sdk/01-minimal.ts (not served here)
- packages/memcode/examples/sdk/02-custom-model.ts (not served here)
- packages/memcode/examples/sdk/03-custom-prompt.ts (not served here)
- packages/memcode/examples/sdk/04-skills.ts (not served here)
- packages/memcode/examples/sdk/05-tools.ts (not served here)
- packages/memcode/examples/sdk/06-extensions.ts (not served here)
- packages/memcode/examples/sdk/07-context-files.ts (not served here)
- packages/memcode/examples/sdk/08-prompt-templates.ts (not served here)
- packages/memcode/examples/sdk/09-api-keys-and-oauth.ts (not served here)
- server.json
Advantages
- Local-first: the memory stays in files or a database on your own machine (a rule-derived fact from the brain’s files, evidence: README.md)
- Works with 14 MCP clients (a rule-derived fact from the brain’s files, evidence: README.md)
- Open licence (Apache-2.0) (a rule-derived fact from the brain’s files)
Limitations
- Needs an API key (ANTHROPIC_API_KEY, API_ROUTE_API_KEY, ATLASCLOUD_API_KEY) (a rule-derived fact from the brain’s files, evidence: README.md)
- Needs a database (LanceDB, PostgreSQL, SQLite) (a rule-derived fact from the brain’s files, evidence: README.md)
- Runs code automatically: review what it runs before you open it (a rule-derived fact from the brain’s files)
- No ZIP download: install it from its source (a rule-derived fact from the brain’s files)
Security
Risk level: Low risk
This brain runs
Agent instructions that run or fetch something (23)
CLAUDE.md:CLI fallback: only after MCP is confirmed unavailable, run `memorix context --task "<current task>"` from the shell instead of skipping memory or hand-writing tool callsplugins/claude/memorix/SKILL.md:Run `memorix context --task "<task>" --fallback --brief-json` only after MCP is unavailable, disabled, or not discoverable, and pass the user's real task text.plugins/claude/memorix/skills/memorix-git-memory/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Search what changed | `memorix_search` with a change-focused query | `memorix memory search --query "what changed <topic>"` | | Inspect a git-backed memory | `memorix_detail` | `memorix memory detail --id <id>` | | Ingest current co …[+257 chars]plugins/claude/memorix/skills/memorix-memory/SKILL.md:Run `memorix context --task "<task>" --fallback --brief-json` from the shell only after MCP is unavailable, disabled, or not discoverable, and pass the user's real task text.plugins/claude/memorix/skills/memorix-orchestrate/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Run managed subagent execution | CLI | `memorix orchestrate --goal "<goal>" --agents claude:1,codex:1` | | Register coordination identity | `team_manage` action `join` | `memorix team join --agentType <agent>` | | Create or inspect …[+385 chars]plugins/claude/memorix/skills/memorix-troubleshooting/SKILL.md:| Symptom | Check | CLI fallback | |---|---|---| | MCP tools missing | host MCP config and restart | `memorix setup --agent <agent>` | | Unsure project is bound | project status | `memorix status` and `git status` | | HTTP MCP stale or unbound | background health and explicit session bi …[+33 chars]plugins/codebuddy/memorix/skills/memorix-git-memory/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Search what changed | `memorix_search` with a change-focused query | `memorix memory search --query "what changed <topic>"` | | Inspect a git-backed memory | `memorix_detail` | `memorix memory detail --id <id>` | | Ingest current co …[+257 chars]plugins/codebuddy/memorix/skills/memorix-memory/SKILL.md:Run `memorix context --task "<task>" --fallback --brief-json` from the shell only after MCP is unavailable, disabled, or not discoverable, and pass the user's real task text.plugins/codebuddy/memorix/skills/memorix-orchestrate/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Run managed subagent execution | CLI | `memorix orchestrate --goal "<goal>" --agents claude:1,codex:1` | | Register coordination identity | `team_manage` action `join` | `memorix team join --agentType <agent>` | | Create or inspect …[+385 chars]plugins/codebuddy/memorix/skills/memorix-troubleshooting/SKILL.md:| Symptom | Check | CLI fallback | |---|---|---| | MCP tools missing | host MCP config and restart | `memorix setup --agent <agent>` | | Unsure project is bound | project status | `memorix status` and `git status` | | HTTP MCP stale or unbound | background health and explicit session bi …[+33 chars]plugins/codex/memorix/skills/memorix-git-memory/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Search what changed | `memorix_search` with a change-focused query | `memorix memory search --query "what changed <topic>"` | | Inspect a git-backed memory | `memorix_detail` | `memorix memory detail --id <id>` | | Ingest current co …[+257 chars]plugins/codex/memorix/skills/memorix-memory/SKILL.md:Run `memorix context --task "<task>" --fallback --brief-json` only after MCP is unavailable, disabled, or not discoverable, and pass the user's real task text.plugins/codex/memorix/skills/memorix-orchestrate/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Run managed subagent execution | CLI | `memorix orchestrate --goal "<goal>" --agents claude:1,codex:1` | | Register coordination identity | `team_manage` action `join` | `memorix team join --agentType <agent>` | | Create or inspect …[+385 chars]plugins/codex/memorix/skills/memorix-troubleshooting/SKILL.md:| Symptom | Check | CLI fallback | |---|---|---| | MCP tools missing | host MCP config and restart | `memorix setup --agent <agent>` | | Unsure project is bound | project status | `memorix status` and `git status` | | HTTP MCP stale or unbound | background health and explicit session bi …[+33 chars]plugins/copilot/memorix/skills/memorix-git-memory/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Search what changed | `memorix_search` with a change-focused query | `memorix memory search --query "what changed <topic>"` | | Inspect a git-backed memory | `memorix_detail` | `memorix memory detail --id <id>` | | Ingest current co …[+257 chars]plugins/copilot/memorix/skills/memorix-memory/SKILL.md:Run `memorix context --task "<task>" --fallback --brief-json` only after MCP is unavailable, disabled, or not discoverable, and pass the user's real task text.plugins/copilot/memorix/skills/memorix-orchestrate/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Run managed subagent execution | CLI | `memorix orchestrate --goal "<goal>" --agents claude:1,codex:1` | | Register coordination identity | `team_manage` action `join` | `memorix team join --agentType <agent>` | | Create or inspect …[+385 chars]plugins/copilot/memorix/skills/memorix-troubleshooting/SKILL.md:| Symptom | Check | CLI fallback | |---|---|---| | MCP tools missing | host MCP config and restart | `memorix setup --agent <agent>` | | Unsure project is bound | project status | `memorix status` and `git status` | | HTTP MCP stale or unbound | background health and explicit session bi …[+33 chars]plugins/cursor/memorix/skills/memorix-git-memory/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Search what changed | `memorix_search` with a change-focused query | `memorix memory search --query "what changed <topic>"` | | Inspect a git-backed memory | `memorix_detail` | `memorix memory detail --id <id>` | | Ingest current co …[+257 chars]plugins/cursor/memorix/skills/memorix-memory/SKILL.md:Run `memorix context --task "<task>" --fallback --brief-json` only after MCP is unavailable, disabled, or not discoverable, and pass the user's real task text.plugins/cursor/memorix/skills/memorix-orchestrate/SKILL.md:| Situation | Prefer | CLI fallback | |---|---|---| | Run managed subagent execution | CLI | `memorix orchestrate --goal "<goal>" --agents claude:1,codex:1` | | Register coordination identity | `team_manage` action `join` | `memorix team join --agentType <agent>` | | Create or inspect …[+385 chars]plugins/cursor/memorix/skills/memorix-troubleshooting/SKILL.md:| Symptom | Check | CLI fallback | |---|---|---| | MCP tools missing | host MCP config and restart | `memorix setup --agent <agent>` | | Unsure project is bound | project status | `memorix status` and `git status` | | HTTP MCP stale or unbound | background health and explicit session bi …[+33 chars]plugins/gemini/memorix/GEMINI.md:Run `memorix context --task "<task>" --fallback --brief-json` only after MCP is unavailable, disabled, or not discoverable, and pass the user's real task text.
MCP servers (7)
README.md(memorix):memorix serveplugins/claude/memorix/.mcp.json(memorix):memorix serve --mode liteplugins/codebuddy/memorix/.mcp.json(memorix):memorix serve --mode liteplugins/codex/memorix/.mcp.json(memorix):memorix serve --mode liteplugins/copilot/memorix/.mcp.json(memorix):memorix serve --mode liteplugins/gemini/memorix/gemini-extension.json(memorix):memorix serve --mode liteplugins/openclaw/memorix/.mcp.json(memorix):memorix serve --mode lite
Hooks (20)
plugins/claude/memorix/hooks/hooks.json(SessionStart):memorix hookplugins/claude/memorix/hooks/hooks.json(PostToolUse):memorix hookplugins/claude/memorix/hooks/hooks.json(UserPromptSubmit):memorix hookplugins/claude/memorix/hooks/hooks.json(PreCompact):memorix hookplugins/claude/memorix/hooks/hooks.json(Stop):memorix hookplugins/codebuddy/memorix/hooks/hooks.json(SessionStart):memorix hook --agent codebuddyplugins/codebuddy/memorix/hooks/hooks.json(UserPromptSubmit):memorix hook --agent codebuddyplugins/codebuddy/memorix/hooks/hooks.json(PostToolUse):memorix hook --agent codebuddyplugins/codebuddy/memorix/hooks/hooks.json(PreCompact):memorix hook --agent codebuddyplugins/codebuddy/memorix/hooks/hooks.json(Stop):memorix hook --agent codebuddyplugins/codex/memorix/hooks/hooks.json(SessionStart):memorix hook --agent codexplugins/codex/memorix/hooks/hooks.json(PostToolUse):memorix hook --agent codexplugins/codex/memorix/hooks/hooks.json(UserPromptSubmit):memorix hook --agent codexplugins/codex/memorix/hooks/hooks.json(PreCompact):memorix hook --agent codexplugins/codex/memorix/hooks/hooks.json(Stop):memorix hook --agent codexplugins/copilot/memorix/hooks/hooks.json(sessionStart):memorix hook --agent copilotplugins/copilot/memorix/hooks/hooks.json(sessionEnd):memorix hook --agent copilotplugins/copilot/memorix/hooks/hooks.json(userPromptSubmitted):memorix hook --agent copilotplugins/copilot/memorix/hooks/hooks.json(postToolUse):memorix hook --agent copilotplugins/copilot/memorix/hooks/hooks.json(preCompact):memorix hook --agent copilot
Binaries (5)
packages/memcode/examples/extensions/doom-overlay/doom/build/doom.wasm:ships native binariespackages/tui/native/darwin/prebuilds/darwin-arm64/darwin-modifiers.node:ships native binariespackages/tui/native/darwin/prebuilds/darwin-x64/darwin-modifiers.node:ships native binariespackages/tui/native/win32/prebuilds/win32-arm64/win32-console-mode.node:ships native binariespackages/tui/native/win32/prebuilds/win32-x64/win32-console-mode.node:ships native binaries
- Low risk: scripts-present (scripts/benchmark-retrieval.mjs)
- Low risk: scripts-present (scripts/large-store-gate.mjs)
Attribution and licence
- First committed by
AVIDS2
- Declared authors
- AVIDS2 (declared in package.json)
- Publisher
- Le_Ho (Community)
- Source
- AVIDS2/memorix · commit 6745280
- Licence
- Apache License 2.0 (files served here)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Contributors
- AVIDS2, noirgif, Tom-Ma-Ming, octo-patch, DennyHo0917
AutoGineer is not affiliated with or endorsed by AVIDS2.
Install from source
453 of its files are not served here, so there is no ZIP. AVIDS2/memorix at 6745280