Memorix

by avids2

Not rated
GitHub

About

Cross-agent memory bridge with knowledge graph, workspace sync, and auto-memory hooks. Supports Windsurf, Cursor, Claude Code, Codex, and VS Code Copilot.

Details

Author
avids2
Categories
Developer Tools, AI, Knowledge Base

Setup

Install Memorix in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/avids2/memorix

Follow the installation instructions in the repository README, then restart your MCP client.

Local-first shared memory layer for AI coding agents.
One project memory system for Claude Code, Codex, CodeBuddy Code, Cursor, Windsurf, Copilot, Gemini CLI, OpenCode, OpenClaw, Hermes Agent, Oh-my-Pi, Pi, Kiro, Antigravity, Trae, DeepSeek Harness, and any MCP-capable agent.

Shared Project Memory|MCP|Git Memory|Reasoning Memory|Plugins|Orchestration

Chinese|Install|Capabilities|Agents|Quick Start|Memory Model|memcode|Active Work|Docs

Maintainer status and the current public work boundary live inACTIVE_WORK.md. It is the repository's single living work tracker.

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

Memorix is local-first. SQLite is the canonical store, Orama handles search, and LLM-backed formation/embedding is optional. Without model keys, Memorix still works with local full-text retrieval.

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.

Memorix connects through the interfaces each agent already supports: plugin packages, MCP, project rules, hooks, skills, or the bundled terminal agent.memorix setupchooses the right setup for each agent and keeps stdio MCP as the default transport.

Works with agents that speak MCP, expose hooks/rules, or support plugin/package entries. One local-first memory layer shared across all of them.

SeeIntegration Surfacesfor the current support matrix and what each generated file means.

Use the same setup command without--globalonly 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, Docker, or multiple clients.

- Node.js>=22.18.0
- Git, because project identity is derived from the real Git root

npm install -g memorix memorix init --global # optional defaults memorix setup --agent claude --global # or codex, copilot, cursor, pi, gemini-cli, opencode, # codebuddy, windsurf, kiro, antigravity, trae, openclaw, hermes, omp

memorix initis optional. It creates or updates TOML configuration:

- ~/.memorix/config.tomlfor global defaults
- <git-root>/memorix.tomlfor optional project overrides

Legacymemorix.yml,.env, and~/.memorix/config.jsonare 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.codexconfiguration alone.

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

What it installs depends on the target agent, but the goal is the same: make Memorix available wherever you open that agent without asking you to wire every repo by hand.

- Claude Code: installs the Memorix plugin package, addsCLAUDE.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 user-level Pi package and official skills.
- 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 withplugin.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 anomp.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__*.

Need a quieter install? Add--noHooksfor 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 a manually managed Claude Code entry, add"alwaysLoad": trueinside thememorixserver object. This lets Claude Code expose Memorix tools during print-mode startup;memorix doctor agents --agent claudecan 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, Docker, or multiple clients using the same endpoint:

In HTTP mode, agents should bind the active repo explicitly withmemorix_session_start(projectRoot=...)when the client can provide the workspace path. Git remains the final source of truth for project identity.

Stop the background service and remove hooks:

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

memorix uninstallreports MCP config entries for manual cleanup instead of silently editing every MCP file it finds.

memorix --cwd /path/to/repo resume "continue release blocker" memorix checkpoint list memorix memory search --query "release blocker" memorix memory --help # Optional: activate one local agent identity for personal/team records and coordination. memorix identity join --agent-type codex --name codex-main memorix memory store --text "private investigation note" --visibility personal memorix task create --description "verify the release package" # Deliberate durable memory: create a candidate, then review it before it can enter a Workset. memorix memory long-term add --kind procedural --scope user --portability portable --title "Release verification preference" --text "Run focused tests and a packed-package smoke before publishing." --applicability "When publishing an npm package." memorix memory long-term qualify --id <id> --reason "The user explicitly confirmed this preference." memorix memory long-term approve --id <id> --reason "Reviewed for future local projects." memorix transfer export --format json --out ./.memorix-export.json memorix transfer import --file ./.memorix-export.json memorix reasoning search --query "why sqlite" memorix git-hook --force memorix ingest log --count 20 memorix workbench

The CLI is direct and does not depend on an MCP session. It binds to the current Git project, or to the project supplied with--cwd. Without an active identity it reads, writes, and exports project-visible memory only. Usememorix identity joinormemorix identity use --agent-id <id>only when you intentionally need personal/team memory or coordinated task actions;memorix identity clearreturns the terminal to project scope.--as <active-agent-id>is the one-command alternative for scripts. Both camelCase and kebab-case flags are accepted.

Media is opt-in. An explicit local import is copied into Memorix's local data directory, hashed, and kept outside the Git worktree. It becomes normal memory only when you attach it. Memorix never captures every screenshot or tool output. An asset may be up to the configured media limit (100 MiB by default). Automatic vision analysis is deliberately capped at 20 MiB; a larger image is still kept and can be attached, but Memorix records a clear text fallback instead of sending an oversized payload to a model provider.

memorix media import --path ./architecture.png --json memorix media attach --asset <asset-id> --title "Architecture diagram" --json memorix media list --kind image --json memorix media show --asset <asset-id> --json memorix media remove --asset <asset-id> --force --json # Controlled derivations: explicit, bounded, and attachable to memory. memorix media derive-pdf --asset <asset-id> --attach --json memorix media derive-audio --asset <asset-id> --attach --json # Legacy image analysis now uses the same controlled asset lifecycle. memorix ingest image --path ./architecture.png --json

MiniMax image generation is a deliberate CLI operation. Video generation returns a durable job immediately; inspect or cancel that job rather than waiting in an agent request.

# Configure MINIMAX_API_KEY in your user environment or .env, never in Git. memorix media generate image --prompt "A clean system architecture diagram" --json # Image-to-image with a reference image (MiniMax image-01 / image-01-live): memorix media generate image --prompt "Keep the subject, change the background" --image ./reference.png --json memorix media generate video --prompt "A short product walkthrough" --json memorix media status --job <media-job-id> --json memorix media cancel --job <media-job-id> --json

memorix_mediais the compact MCP companion in every profile, includingmicro. 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. SetMEMORIX_MCP_MEDIA_GENERATION=1only 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.

This opens memcode, a terminal coding agent that uses the same Memorix project memory as your MCP-connected agents.

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 askmemorix_storeto 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. Usememorix memory long-term approve|archive|supersedeto record the evidence-backed lifecycle. Only a manually created or user-confirmeduser + portableitem 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--brief-jsonwhen a CLI fallback needs the same bounded brief plus a receipt of what was selected or omitted;--jsonremains 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 adurable:<id>reference, so an agent can expand the full reviewed record throughmemorix_detailonly 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.

memorix servedefaults to--mode micro(9 tools) to keep MCP tool schemas small for agents.memorix setupwrites--mode liteinto the installed MCP config so every tool taught in the generated guidance is reachable. Use--mode teamfor coordination tools, or--mode fullfor advanced and compatibility tools such as checkpoint inspection.

Shortcuts and aliases:memorix search/remember/recentare direct query shortcuts,bg/bsstart the background service,hookruns the hook launcher, andmemorix config get|path|migrateinspects or migrates config files.

memorix orchestrateuses the current checkout for single-worker runs. When running multiple workers, it creates task worktrees under.worktrees/and merges successful task branches back. Use--isolatedto force worktree isolation for one worker,--no-worktreeto disable it,--allow-dirtyto run with uncommitted changes, and--no-auto-mergeto preserve task worktrees for manual review.

memcode is the terminal coding agent bundled with Memorix. It can read, edit, run commands, resume sessions, switch models, and use/memorycommands — all backed by the same project memory as your MCP-connected agents.

Use it when you want a terminal agent with memory already wired in.

one Git project -> one shared Memorix memory pool

Seedocs/MEMCODE.mdfor the memcode-specific guide.

[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 OpenRouter embeddings, useprovider = "api",base_url = "https://openrouter.ai/api/v1", andmodel = "qwen/qwen3-embedding-8b". Memorix acceptsOPENROUTER_API_KEYfor that embedding endpoint;MEMORIX_EMBEDDING_API_KEYremains the explicit override.

For controlled MiniMax media generation, setMINIMAX_API_KEY(global) orMINIMAX_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 requiresMEMORIX_MCP_MEDIA_GENERATION=1.

Docker is for the HTTP service, not stdio MCP:

- dashboard:http://localhost:3211
- MCP:http://localhost:3211/mcp
- health:http://localhost:3211/health

The container must be able to access the repository path passed asprojectRootfor project-scoped Git and config behavior.

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();

LLM-friendly summaries:llms.txtandllms-full.txt.

git clone https://github.com/AVIDS2/memorix.git cd memorix npm install npm run lint npm test npm run build

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.

Generated daily from GitHub stargazer events by GitHub Actions.

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

A Neo4j-based MCP server providing persistent memory and contextual assistance for Claude Code.

Provides perfect memory for AI-assisted development by capturing project context snapshots, enabling natural language search, evolution tracking, and code intelligence.

Graph-based long-term memory skill for AI (LLM) coding agents — faster context, fewer tokens, safer refactors

Your AI development companion. An MCP server that gives your AI persistent memory, structured specifications, and adaptive change management — so it builds what you actually want.

A persistent development partner that prevents context drift and maintains project memory across all development sessions.

Memtrace gives AI coding agents structural memory — your codebase as a live knowledge graph so agents stop re-deriving code structure from scratch and start reasoning from fact.

A memory for AI, without cloud service or fee, everything local (Most useful for coding)

Thrift Memory is a cost-first MCP memory server for coding agents that stop reloading large MEMORY.md, AGENTS.md, and project context files every session. It recalls only task-relevant memory under a hard token budget and returns a savings receipt: baselineTokens vs injectedTokens vs savedTokens.

Highly efficient context management for agentic AI: MCP code search, evidence packs, graph context, and memory for large projects.

Local code-knowledge graph + bi-temporal mistakes memory for AI coding agents. Serves a ranked structural packet instead of whole files on read/grep, and surfaces fixes your repo already reverted (mined from git history). Zero cloud, Apache-2.0.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.