Cumora
把 Nowledge Mem 接入 Cumora,同时避免把多个 AI teammate 压成同一个记忆身份。
Cumora 是一个 AI teammate 工作区。它的 Agent 有 persona,可以主动开启对话,也可能有自己的内部记忆。
Nowledge Mem 不应该替代这些能力。它应该给每个 Cumora teammate 接入同一个跨工具、跨场景的长期知识层:Codex、Claude Code、Pi、OpenClaw、浏览器、笔记和 Library 都能共享的那一层。
关键规则:如果多个 Cumora teammate 共用同一个电脑级 daemon,不要给这个 daemon 设置一个统一的 NMEM_AGENT_ID。如果 Atlas、Iris、Bram、Nova 都继承同一个 daemon 身份,Mem 会把它们当成同一个 teammate。这比不设置身份更糟。
当前最好的路径
分两步设置:
- 先连接 Cumora 启动的 AI coding tool。
- 再给每个 Cumora Agent persona 加一小段 Mem 身份说明。
即使 Cumora 目前每台电脑只有一个本地 npx 或 daemon 命令,这个方式也能工作,因为身份由 Agent 的指令选择,而不是由共享 daemon 的环境变量选择。
连接运行时
在 Cumora 启动 AI 工具的那台电脑上安装并检查 Nowledge Mem:
nmem status然后连接 Cumora 启动的工具,例如 Codex 或 Claude Code:
这样这个工具就能使用 Mem tools、Context Bundle / Working Memory,以及它自己支持的会话同步 hooks。比如 Cumora 启动的是 Codex 或 Claude Code,并且对应连接已经安装,那么这些工具里的会话可以通过 Nowledge Mem hooks 同步。
添加 Persona Bridge
为每个长期存在的 Cumora teammate 创建一个 Mem 身份:
nmem agents upsert atlas \
--name "Atlas" \
--default-space research \
--instructions "Research across the user's knowledge. Cite sources and separate facts from interpretation."Atlas 是展示名称。atlas 是稳定 ID。这个命令只是创建身份记录;只有 Cumora persona 传入 agent_id="atlas",或未来每 Agent 环境设置了 NMEM_AGENT_ID=atlas 时,才会使用这个身份。
然后把下面这段加入这个 Cumora Agent 的 persona 或 system prompt:
Nowledge Mem:
- 每个任务开始时,用 agent_id="atlas" 读取 Context Bundle。
- 如果工具支持,也传入 host_agent_id="cumora:atlas"。
- source_app 保持为实际子运行时,例如 "codex" 或 "claude-code"。
- 后续 Nowledge Mem 调用继续传入 agent_id="atlas",这样 memory_search、thread_search、read_working_memory 和 memory_add 会使用同一个身份和默认 Space。
- 遇到跨对话仍然重要的决定、偏好和流程时,保存为长期记忆。如果 Agent 只有 CLI 权限,对应命令是:
nmem --json context --agent-id atlas --host-agent-id cumora:atlas --source-app codex后续命令使用返回的 active space:
nmem --json m search "recent research decisions" --space research
nmem --json m add "Atlas learned that ..." -t "Research note" --space research -s codex如果 Agent 有 MCP 权限,优先直接传入 agent_id:
read_context_bundle(agent_id="atlas", source_app="codex", host_agent_id="cumora:atlas")
read_working_memory(agent_id="atlas", source_app="codex", host_agent_id="cumora:atlas")
memory_search(query="recent research decisions", agent_id="atlas", source_app="codex")
thread_search(query="last onboarding discussion", agent_id="atlas", source_app="codex")
memory_add(content="Atlas learned that ...", title="Research note", agent_id="atlas", source_app="codex")这是 Cumora 暴露每 Agent 运行时环境变量或官方集成点之前,最干净的 fallback。
如果 Cumora 支持每 Agent 环境变量
如果以后 Cumora 允许为每个 Agent 设置运行时环境变量,就把身份从 persona prompt 移到这个每 Agent 环境里:
NMEM_AGENT_ID=atlas
NMEM_HOST_AGENT_ID=cumora:atlas除非这个 daemon 只属于一个 Cumora teammate,否则不要在共享 daemon 上设置这些变量。
哪些会同步
受支持的 AI 工具会话可以同步。如果 Cumora 启动的是 Codex、Claude Code、Pi、OpenClaw 或其他带 Nowledge Mem 连接的工具,就使用那个工具自己的同步路径。
Cumora 自己的历史是另一件事。除非 Cumora 暴露本地 API、导出、hook 或每 Agent 运行时集成点,Nowledge Mem 不能直接导入 Cumora 房间或 Cumora 内部 Agent memory。
在那之前,Cumora 自己的内部记忆仍然留在 Cumora 内部。Nowledge Mem 负责连接后的 AI 工具、用户保存的记忆、笔记和 Library,作为用户的跨工具、跨 Agent 长期知识层。