memorX
你的AI会准确地从你停止的地方开始——在提交、计划和会话中。
一个安装命令。通过Claude Code挂钩实现零摩擦捕捉。实时本地仪表板,以便您可以 *看见* 你的AI记忆。Single Go二进制,零运行时依赖,100%本地。
go install github.com/arbazkhan971/memorx/cmd/devmem@latest
memorx install # wires Claude Code hooks + MCP server in one shot
memorx dashboard # open http://127.0.0.1:37778 — live memory stream就是这样。打开克劳德代码,每个会话都会自动知道你在哪里停了下来。
______________________________________________________________________
为什么选择memorX
每个AI编码CLI(Claude Code、Codex、Cursor、Windsurf、Gemini CLI)都患有健忘症。关闭会话,失去所有上下文。切换工具,从头开始。你每节课浪费5-10分钟重新解释你的项目、决定和进度。
memorX修复了这个问题。一个二进制文件,可以在任何地方工作,记住一切。
你得到了什么
- 零摩擦捕捉 --5 Claude Code生命周期挂钩自动捕获会话、提交和决策。无需工具调用。
- 实时本地网络仪表板 —
memorx dashboard打开一个实时web UI,显示活动功能、计划进度、内存流、git时间线和搜索。嵌入二进制文件中,不需要Node或Bun。 - 跨流程实时事件流 --SSE驱动的实时更新通过钩子子命令、MCP服务器和仪表板,通过一个基于小文件的事件日志在
.memory/events.jsonl. - 每次会议自动简报 --the
SessionStarthook在每次新的Claude Code对话中都注入一个“欢迎回来”的摘要。 - 成绩单摘要 --on
SessionEnd,memorX读取Claude Code JSONL转录并存储基于规则的摘要(工具计数、编辑的文件、提交、决策)。没有LLM调用,完全确定。 - Git原生 —
PostToolUse挂钩手表git commit自动同步提交与意图分类(feature/bugfix/re重构),将提交与计划步骤相匹配。 - 计划持久性 --计划在会话中存活,自动跟踪提交的进度。
- 双时态事实 --跟踪现在的真实情况和以前的真实情况(矛盾解决、时间旅行查询)。
- 内存链接 --A-MEM/Zettelkasten风格相关记忆之间的联系。
- 三层渐进式披露搜索 —
memorx_search_index→memorx_timeline→memorx_get_memory,象征高效召回。 - 隐私标签 --把任何东西包起来 `
… ` 在存储边界处被剥离。跨钩子、MCP工具和导入统一工作。
- 通用MCP --适用于Claude Code、Cursor、Codex、Windsurf、Gemini CLI——任何MCP客户端。
安装
一个命令(推荐)
go install github.com/arbazkhan971/memorx/cmd/devmem@latest
memorx installmemorx install 检测Claude代码,将钩子条目写入 ~/.claude/settings.json,通过注册MCP服务器 claude mcp add,并创建 ~/.memorx/settings.jsonIdempotent和无损-重新运行是安全的,并且保留了现有的非memorx钩子。
验证
memorx doctor # self-test: DB, hooks, binary on PATH手动设置(其他MCP客户端)
# Claude Code
claude mcp add -s user --transport stdio memorx -- memorx
# Cursor — add to .cursor/mcp.json:
{ "mcpServers": { "memorx": { "command": "memorx", "transport": "stdio" } } }仪表盘
memorx dashboard # :37778 by default
memorx dashboard --port 8080 # custom port仪表板显示:
- 活动功能 带分支+计划进度条
- 内存计数 (特征、注释、事实、提交、会话)
- 现场活动流 (钩子和MCP工具写入时实时更新)
- 最近的回忆 带有类型标签(决策/阻止/注释/…)
- 最近的提交 带有意图标签(feat/fix/re重构/…)
- 搜索框 --所有笔记的实时全文搜索
纯Go net/http +通过嵌入HTML //go:embed.没有节点,没有打包器,没有外部进程。
直播流如何跨流程工作
MCP服务器、钩子子命令和仪表板都在中运行 单独的过程。他们通过一个小小的JSONL事件日志共享更新 .memory/events.jsonl:
- 任何发布事件的进程(钩子、MCP工具)都会在日志中附加一行。
- 仪表板的后台goroutine跟踪文件,并将每个新条目重新发布到其进程内代理中。
- SSE用户
/api/events接收直播流。
当日志超过1 MB时,它会被机会主义地截断为最后256个事件,因此它永远不会无限增长。
运作原理
┌─ Claude Code session ─────────────────────────────────────┐
│ │
│ SessionStart ──────▶ memorx hook session-start │
│ └▶ briefing injected into context │
│ │
│ you prompt ────────▶ memorx hook user-prompt-submit │
│ └▶ observation stored (auto) │
│ │
│ Claude runs Edit ──▶ (captured by transcript) │
│ │
│ Claude runs Bash ──▶ memorx hook post-tool-use │
│ (git commit) └▶ sync commits, classify intent, │
│ match to plan steps │
│ │
│ SessionEnd ────────▶ memorx hook session-end │
│ └▶ transcript summarized, │
│ session closed with summary │
└───────────────────────────────────────────────────────────┘
│
▼
.memory/memory.db (SQLite, WAL)
.memory/events.jsonl (live event log)
│
▼
memorx dashboard (localhost:37778)所有钩子都是单个钩子的子命令 memorx 二进制——它们与MCP服务器共享相同的DB连接池和相同的代码。没有单独的工作进程,没有端口冲突,没有孤立守护进程。
CLI参考
memorx Run MCP stdio server (default, for MCP clients)
memorx install Install hooks & MCP config into Claude Code
memorx dashboard [--port N]
Start local web dashboard (default :37778)
memorx hook Run a Claude Code lifecycle hook
Events: session-start, user-prompt-submit,
post-tool-use, stop, session-end
memorx doctor Self-test: DB, hooks, binary on PATH
memorx version Print version
memorx help Show this helpMCP工具(76个工具)
memorX暴露 76个MCP工具 涵盖核心内存、搜索、git同步、计划、会话、分析、时间旅行、预测智能、自愈、多智能体、合规性和工作流集成。亮点:
| 工具 | 它做什么 |
|---|---|
memorx_briefing | 快速“欢迎回来”——你正在做什么 |
memorx_remember | 保存笔记、决定、拦截器、进度更新或下一步。自动链接到相关记忆 |
memorx_search | FTS5+跨所有内存类型的三元组搜索 |
memorx_search_index | 新 紧凑的命中指数(约30个令牌/命中)——取数前过滤 |
memorx_timeline | 新 内存或最近订阅源周围的时间窗口 |
memorx_get_memory | 新 带有链接的特定内存ID的完整详细信息 |
memorx_observe | 新 轻量级观察捕捉(由钩子使用) |
memorx_sync | 拉取git提交,分类意图,自动匹配计划步骤 |
memorx_save_plan | 存储一个包含可跟踪步骤的计划,以在会话中幸存下来 |
memorx_end_session | 使用摘要结束会话--下一个会话会自动读取它 |
memorx_health | 记忆健康评分(0-100),并附有可操作的建议 |
memorx_forget | 智能清理:陈旧的事实、陈旧的笔记、已完成的功能 |
memorx_generate_rules | 自动生成 AGENTS.md 从记忆中 |
跑 memorx (无参数)启动MCP服务器;每个支持MCP的客户端都可以反思完整的工具列表。
隐私
包装任何你不想储存的东西 ... 标签:
"Our API key is
sk-abc123
" → "Our API key is "脱衣舞发生在 Store.CreateNote 边界(internal/memory/privacy.go),因此它在钩子、MCP工具、导入和仪表板摄取中统一执行。标签匹配不区分大小写,跨越多行块。如果一张纸条 *完全* 如果是私有的,商店会拒绝它,而不是保留一个空记录。
已验证测试: 隐私剥离 memorx_remember (MCP), memorx_observe (挂钩/MCP),以及 user-prompt-submit (钩子)。零泄漏。
并行工作(多个CLIs同时进行)
memorX支持通过SQLite WAL模式进行并发访问:
Terminal 1: Claude Code Terminal 2: Cursor
┌────────────────────┐ ┌────────────────────┐
│ feature: auth-v2 │ │ feature: billing │
│ "Token refresh │ │ "Webhook handler │
│ working" │ │ done" │
└────────┬───────────┘ └────────┬───────────┘
└──────────┬────────────────────┘
▼
.memory/memory.db
(WAL mode: concurrent reads, serialized writes)建筑
MCP Client (Claude Code / Cursor / Codex / Windsurf)
│ stdio
▼
memorX (single Go binary, ~18 MB)
├── CLI dispatcher (install, hook, dashboard, doctor, version)
├── MCP Layer (76 tools + 2 resources)
├── Hook subcommands (session-start, user-prompt-submit,
│ post-tool-use, stop, session-end)
├── Dashboard (net/http + embed, SSE live stream on :37778)
├── Cross-process event log (.memory/events.jsonl)
├── Session Manager (features, sessions, briefings)
├── Git Engine (commits, intent classification, sync)
├── Search Engine (FTS5 + trigram + BM25 scoring)
├── Plan Engine (CRUD, auto-detect, commit-to-step matching)
├── Memory Core (bi-temporal facts, notes, A-MEM links, privacy)
├── Consolidation Engine (contradictions, decay, summarization)
├── Analytics (dev patterns, health scoring)
└── SQLite (WAL mode, .memory/memory.db)关键设计选择:
- 单个二进制 --没有Docker,没有守护进程,没有Node,没有Bun,没有Python,没有Chroma
- SQLite+WAL --来自多个工具的并发访问,亚毫秒级写入
- FTS5+三元组 --BM25排名的全文搜索,模糊回退,不需要嵌入模型
- 双时态 --每个事实都有
valid_at/invalid_at,启用“上周什么是真的?”查询 - stdio传输 --MCP客户端生成二进制文件,通过stdin/stdout进行通信
//go:embed仪表盘 --HTML/CSS/JS在编译时绑定到二进制文件中
Direct Go依赖关系: mark3labs/mcp-go (MCP-SDK), modernc.org/sqlite (纯Go SQLite,无CGO), google/uuid。其他都是stdlib。
基准
memorX附带了70个场景基准测试,涵盖了7种开发人员的内存能力:
make benchmarkAbility Score Accuracy Scenarios
───────────────────── ───── ──────── ─────────
Decision Recall 100.0% 100.0% 10/10
Knowledge Updates 100.0% 100.0% 10/10
Plan Tracking 100.0% 100.0% 10/10
Abstention 100.0% 100.0% 7/7
Session Continuity 99.3% 100.0% 15/15
Temporal Reasoning 99.0% 100.0% 10/10
Cross-Feature 98.8% 100.0% 8/8
Overall: 99.6% score | 100% accuracy | <1ms latency代币节省
Without memorX: 5,000–10,000 tokens per session re-explaining context
With memorX: 200–500 tokens via memorx_briefing + memorx_search_index新的渐进式披露搜索(memorx_search_index → memorx_get_memory)通过在获取完整内容之前进行过滤,又节省了约10倍的召回率。
比较
| 功能 | memorX | claude mem | Mem0 | Zep | 继续 |
|---|---|---|---|---|---|
| 通过钩子自动捕捉 | 是 | 是 | 否 | 否 | 是 |
| 实时本地网络仪表板 | 是 | 是 | 否 | 否 | 不 |
| 跨进程实时事件流 | 是 | 是 | 否 | 否 | 不 |
| 会话/功能跟踪 | 是 | 部分 | 否 | 否 | 部分 |
| Git提交集成 | 是 | 否 | 否 | 部分 | |
| 计划持久性 | 是 | 否 | 否 | 不 | 否 |
| 双时态事实 | 是 | 否 | 否 | 是 | 不 |
| 内存链接 | 是 | 否 | 是 | 是 | 不是 |
| 三层渐进式搜索 | 是 | 是 | 否 | 否 | 不 |
| 隐私标签 | 是 | 是 | 否 | 否 | 不 |
| 单二进制,零deps | 是 | 否 | 否 | 不 | 否 |
| 适用于任何MCP客户端 | 是 | 部分 | 否 | 否 | 不 |
| 100%本地,无云 | 是 | 是 | 否 | 否 | 是 |
| 内置基准 | 是 | 否 | 否 | 不 | 否 |
已测试
上面列出的每个功能都经过了端到端的验证:
- MCP标准向后兼容 —
memorx(无参数)句柄initialize+tools/list(76工具)+tools/call正确地 - 全部5个挂钩 —
session-start,user-prompt-submit,post-tool-use,stop,session-end所有这些都可以在stdin上使用Claude Code JSON有效负载格式干净地运行 - 智能安装程序 --写入有效
~/.claude/settings.json钩子条目,注册MCP服务器,幂等,保留现有的非内存钩子和顶级设置 - 仪表盘 --所有6个端点(
/,/api/status,/api/features,/api/memories,/api/commits,/api/search,/api/events)正确发球;返回空响应[]不null - 跨流程SSE --MCP服务器进程和钩子子命令发布的事件都通过以下方式到达仪表板SSE订阅者
.memory/events.jsonl - 隐私剥离 --秘密在 `
… 块体被均匀地剥离 memorx_remember (MCP), memorx_observe (挂钩/MCP),以及 user-prompt-submit` (钩子)。所有三条路径均无泄漏
- 成绩单汇总表 --解析真正的Claude Code JSONL格式,正确提取用户轮次计数、工具计数、编辑文件、提交和决策模式
- 医生 --快乐和悲伤的道路都会产生有用的输出
- 单元测试 --全部通过
memory,search,storage,plans,hooks,dashboard,git,以及consolidation包裹
许可证
麻省理工学院
