可恢复工作存储器(RWM)MCP服务器
RWM为终端编码代理(Codex CLI、Claude Code等)提供了持久的工作记忆。它记录 结构化状态框架——决策、差异/片段、测试跟踪、持久事实——以及何时恢复 session它返回一个最相关上下文的紧凑包,这样模型就可以准确地拾取 它停在哪里。
存储库包含TypeScript MCP服务器,这是一个将内存映射到 自动生成当前项目和轻量级实用程序类型。
______________________________________________________________________
特性
- 自动按项目存储:启动器检测您的工作目录,重用
rwm.db/rwm_artifacts/ 如果存在,或者在第一次运行时创建它们。
- 结构化提交:
memory_commit强制执行决策、工件和
事实让记忆保持可验证性。
- 代币预算简历包:
memory_resume整理最近的任务/事件/事实
并返回一个简洁的“Now”卡和指针ID。
- 安全工作区读取:
memory_span仅使用以下方式提供配置的根目录内的文件
safeJoin.
- 会话ID规范化:传入
session_id价值观如@unknown被重写为
@ 在可用时使用工作区的Git元数据。
- 可选的标记器集成:支持OpenAI和Anthropic令牌估计器,当
包是可用的,有优雅的回退。
______________________________________________________________________
需求
- Node.js 18+
- npm(或兼容的包管理器)
______________________________________________________________________
安装
# clone the repo
cd /path/to/your/projects
git clone https://github.com/LuciferMornens/RWM-MCP.git
cd rwm-mcp
# install dependencies and build
npm install
npm run build这将在以下位置生成编译后的服务器 dist/index.js.
______________________________________________________________________
配置Codex CLI(一次)
将启动器添加到 ~/.codex/config.toml:
[mcp_servers.rwm]
command = "node"
args = ["/absolute/path/to/rwm-mcp/tools/rwm-launch.mjs"]现在,无论你什么时候跑步 codex 在项目内部:
- 启动器会发现当前目录。
- 如果
rwm.db和rwm_artifacts/存在于那里,它重用它们;否则,它会创建它们。 - 它向前
--root,--db,--artifacts,以及捆绑令牌预算(默认值4500,不可逾越
随着 RWM_BUNDLE_TOKENS env-var)发送到编译的MCP服务器。
因此,内存会自动作用于您所在的项目——无需配置文件或配置 切换。
可选:克劳德代码
Claude Code也讲MCP。将其连接器指向相同的启动器脚本,行为如下 完全相同(回购根目录中的每个项目数据库)。
______________________________________________________________________
MCP工具
| 工具 | 目的 |
|---|---|
memory_resume | 返回一个“现在”包(目标、活动任务、上次决策/失败)以及给定令牌预算内的指针ID。 |
memory_commit | 附加包含决策的状态框架(DECISION, ASSUMPTION, FIX, BLOCKER, NOTE),人工制品(DIFF, SNIPPET, CONFIG, FIXTURE, TEST_TRACE, LOG, OTHER)以及持久的事实。 |
memory_update | 更新现有任务(标题/状态/接受),覆盖工件存储的差异文本/元数据,或按ID修改事实 |
memory_fetch | 按ID检索记录。工件返回 artifact://sha256/... 资源链接。 |
memory_span | 读取配置的根目录中的特定文件范围(开始/结束行)。 |
memory_search | 轻量级查找与查询匹配的任务/事件/事实ID。 |
memory_checkpoint | 为里程碑创建一个标记的检查点。 |
______________________________________________________________________
内存流
- 简历:呼叫
memory_resume随着session_id(例如。,repo@branch).捆绑计划器使用
令牌估计以适应配置预算下的最高价值项目。
- 按需取用:使用
memory_fetch/memory_span对于您需要检查的任何指针ID。 - 经常承诺:经过有意义的步骤(编辑、测试、决策)后,调用
memory_commit随着
结构化条目,以便未来的会话保留可验证的上下文。
- 风险前的检查点:
memory_checkpoint在需要时创建持久的恢复点。
因为记忆就在你的项目旁边(rwm.db, rwm_artifacts/),国家在各地生存 Codex/Claude会话、机器重启,甚至工具升级。
______________________________________________________________________
发展
npm run build # compile TypeScript to dist/
npm run dev # optional: run with ts-node/esm loader测试尚未包括在内;将它们添加到 src/ 并将电线插入 package.json 必要时。
______________________________________________________________________
许可证
麻省理工学院
