关于 Agent Cowork Memory
Agent Cowork Memory 是一款 MCP 服务,为 Codex、Claude Code、Cursor 和 OpenCode 共享项目上下文。它支持跨 Agent 接续聊天、保存共享笔记和委派任务。
主要功能
- 01共享项目聊天记录与线程
- 02所有 Agent 可见的持久笔记
- 03向其他 Agent 后台委派
- 04认领文件以避免编辑冲突
- 05用于设置、状态、诊断和备份的命令行
适用场景
- 01在不同编码 Agent 中继续任务
- 02让项目决策在不同聊天中可用
- 03将不同文件的工作委派给其他 Agent
- 04查看运行中的任务和文件归属
MCP 相关
MCP 服务提供项目上下文、笔记、聊天恢复和 Agent 委派工具。Agent 通过其命令行启动服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Agent Cowork Memory(ACM)
█████╗ ██████╗███╗ ███╗
██╔══██╗██╔════╝████╗ ████║
███████║██║ ██╔████╔██║
██╔══██║██║ ██║╚██╔╝██║
██║ ██║╚██████╗██║ ╚═╝ ██║
╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝
任务做到一半时 Codex 用量耗尽?打开 Cursor,说 “continue from Codex”,然后接着做。ACM 为 Codex、Claude Code、Cursor 和 OpenCode 提供共享记忆,让你无需再粘贴上下文,也能让任意 Agent 调用其他 Agent 工作。
经 基准测试 验证: 在 38 项保留任务上,使用 ACM 在新聊天中继续任务,共完成 228 次运行中的 223 次;粘贴摘要则完成 130 次。
Codex ·
Claude Code ·
Cursor ·
OpenCode
演示

更多演示请访问 ACM 官方网站
安装
需要 Node 24 或更高版本:
npx agent-cowork-memory setup
安装设置会将 ACM 添加到 Cursor;如果已安装 Codex、Claude Code 和 OpenCode,也会将 ACM 添加到这些工具中。之后才安装了其他工具?请再次运行设置。重启 Agent 后,所有项目中都可以使用 ACM。
已在 Linux 和 WSL 上进行实际测试。macOS 和 Windows 通过了 CI 测试;欢迎进行实际运行测试。
使用
共享记忆
在 Codex 和 Cursor 中打开同一个项目。要在另一个 Agent 中接续聊天,请发送:
使用 ACM 从 Cursor 继续。
或者,在 Cursor 中发送:
使用 ACM 从 Codex 继续。
每个 Agent 都能查看项目中的所有聊天。如果有多个聊天,Agent 会列出它们(Agent、时间、线程、首条消息,以及该聊天是否由 ACM 为委派任务启动),并询问你要接续哪一个。你也可以指定聊天:
使用 ACM 继续 Codex 中关于旅行的聊天。
相关工作会归到同一个线程中:接续聊天或从聊天中委派任务,都会让工作保留在同一线程;新聊天也可以加入项目中尚未关闭的线程。ACM 会随着事情发生记录每个线程的时间线(聊天加入、任务开始和结束、添加笔记),让任意 Agent 都能了解工作进展。
让你的 Agent 记住某项决定,项目中的每个 Agent 都能看到。笔记会持续有效。
委派给其他 Agent
任意 Agent 都可以把工作交给其他 Agent:
让 codex 编写 plan.md,让 claude 编写 packing.md。
每个 Agent 都会收到任务简介,加入发出委派的线程,并登记自己要编辑的文件以避免冲突,然后汇报结果。Agent 会在后台运行。安装了 herdr 后,每个 Agent 都会拥有单独的窗格,供你查看(herdr session attach acm)。
基准测试
评估内容
- 新聊天继续工作时,先前聊天中的上下文能保留多少。
- 每项任务都是一个分两步完成的小型 Python 仓库:先前的聊天完成第 1 步,并在聊天中留下第 2 步的详细信息。
- 这些详细信息可能出现在一段较短或较长的聊天中,分散在两段聊天里,之后被更改,在聊天中途得到更正,或与仍写着旧内容的 README 相矛盾。
- 只有通过所有隐藏检查、现有测试仍然通过,且没有实现任何旧值或已替换值,才算完成。
测试内容
- 测试 Codex(gpt-6-luna,中等努力程度)通过以下五种方式继续工作:
- 不使用 ACM;
- 使用 ACM("Use ACM to continue from my last Codex chat…");
- 使用先前聊天在受询时撰写的摘要;
- 使用精心编写的交接说明;
- 粘贴所有先前的聊天记录。
- 在任何运行开始前,编写并分析 38 项留出任务。
- 两段独立的历史记录,每种方式各运行 3 次。
| 不使用 ACM | 使用 ACM | 粘贴摘要 | 粘贴交接说明 | 粘贴完整历史记录 | |
|---|---|---|---|---|---|
| 完成 | 0/76 | 223/228 | 130/228 | 214/228 | 222/228 |
| 实现了旧值 | 13/76 | 0/228 | 7/228 | 0/228 | 0/228 |
| 需要输入或粘贴的内容 | 80 个字符 | 95 个字符 | 753 个字符 | 2,740 个字符 | 1,940 个字符 |
结果
- ACM 丢失的上下文远少于粘贴摘要的方式:完成任务的次数多出 41 个百分点(p < 0.001)。在 38 项任务中,ACM 在 29 项上领先,没有落后。
- 只需一句话,无需查找或复制任何内容,效果就能媲美粘贴完整历史记录或完整的精心编写的交接说明。
- 在 60 项开发任务上,结果也相同:ACM 在 180 次运行中完成了 176 次,摘要方式完成了 124 次。
- 局限性:这些任务的设计前提是详细信息保存在先前的聊天中;仅测试了一个 Agent 和一个模型。
npm run bench # offline checks, free
npm run bench:live # the live benchmark; spends your Codex quota
MCP 工具
| 工具 | 功能说明 |
|---|---|
context | 查看你的对话线程及其时间线、项目笔记(首次调用后仅显示新增内容)、开放的线程、近期任务、当前工作者和已保留的文件。写入前传入 hold 以认领文件,传入 thread 以加入线程,传入 done 以关闭自己的线程。stale 会列出文件已更改、需要重新检查的笔记。 |
note_add | 保存一条所有 Agent 都能看到的笔记,并显示可能与之矛盾的笔记。tier:short(默认,保留 7 天)或 long;supersedes:它所替代的笔记。 |
note_search | 查找笔记和委派任务的结果。 |
chats | 列出项目中所有 Agent 的近期聊天,并标记由 ACM 发起的聊天。 |
resume | 有多个聊天时,询问你要继续哪个,然后读取该聊天及你在其线程的其他聊天中说过的内容,并加入该线程。 |
delegate | 在 herdr 窗格中或后台启动其他 Agent,并等待它们完成。 |
delegate_wait | 继续等待此聊天中已委派的 Agent。 |
ACM 会自行说明自己所在的聊天;工具不需要会话,也不需要提供项目文件夹中的路径(每个工具都接受可选的 repo_path)。
CLI
| 命令 | 作用 |
|---|---|
acm setup | 将 ACM 添加到你的 Agent 中。 |
acm mcp --harness <agent> | 运行 MCP 服务;Agent 会自行启动它。 |
acm status [--repo <dir>] [--chat <id>] [--harness <agent>] | 以 JSON 格式显示项目的任务、占用的文件以及某个聊天的会话线程。 |
acm doctor | 检查安装情况:Node、数据库、herdr,以及 PATH 中有哪些 Agent。 |
acm backup [--to <file>] | 复制数据库。 |
--home <dir>(或 ACM_HOME)可将 ACM 的状态文件夹从 ~/.agent-cowork-memory 移至其他位置。可通过 npx -y agent-cowork-memory <command> 运行这些命令,或在全局安装后使用 acm。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。