Proma × Nowledge Mem
让 Proma 使用 Nowledge Mem 的 MCP 工具、自动会话保存、启动上下文和标准 skills。
给你的智能体
如果你想让智能体帮你配置,可以把这句话交给它:
读取 https://mem.nowledge.co/SKILL.md,按其中说明为 Proma 安装或更新 Nowledge Mem。用 nmem status、启动上下文和 Proma 线程保存结果验证,并总结你改了什么。Proma 接入 Nowledge Mem 后,你会得到这些:Proma 可以在需要时搜索记忆、保存长期知识、浏览 Mem;通过生命周期 hooks,Proma 对话会自动存成 Mem 线程;每次新会话开始前,当前的 Mem 上下文会写进工作区 CLAUDE.md,让智能体一上来就知道重要背景。
Proma v0.13.0 及之后版本已经在「Memory」设置里加入 Nowledge Mem 卡片。第一次配置时,优先从那里复制配置提示词,贴到 Proma Agent 模式里执行。这页文档保留完整文件路径、更新方式和验证步骤,方便你检查或修复配置。
怎样算安装成功
打开一个新的 Proma 会话,问 What was I working on?。然后发送一条带有独特短语的消息,等 Proma 回复完成后运行 nmem t search "那段短语" --source proma。你应该能在 Mem 里看到这条 Proma 线程。
开始之前
- Nowledge Mem 已在本地运行,或你有可访问的远程 Mem 服务。
- 已安装 Proma。
- 本机有 Python 3.9+,命令名为
python3。 nmem能在终端里正常运行。
nmem status如果找不到 nmem,可以从 Mem 桌面应用的开发者工具安装 CLI,或运行:
pip install nmem-cli安装
如果你使用 Proma v0.13.0 或更新版本,可以先打开 Proma 设置 → Memory → Nowledge Mem,复制配置提示词并粘贴到 Proma Agent 模式。下面的手动步骤与这条提示词使用的是同一套配置,只是展开成了可检查的版本。
下面示例使用 Proma 的 default 工作区。如果你的工作区不是这个名字,把所有 default 替换成 ~/.proma/agent-workspaces/ 下面对应的目录名。
如果你的系统只有 python 命令,请把下面 hook 命令里的 python3 替换成 python。
下载插件文件 [step]
rm -rf /tmp/nowledge-community
git clone https://github.com/nowledge-co/community.git /tmp/nowledge-community
mkdir -p ~/.proma/scripts ~/.proma/agent-workspaces/default/skills
cp /tmp/nowledge-community/nowledge-mem-proma-plugin/hooks/save-to-nmem.py ~/.proma/scripts/
cp /tmp/nowledge-community/nowledge-mem-proma-plugin/hooks/read-working-memory.py ~/.proma/scripts/
chmod +x ~/.proma/scripts/save-to-nmem.py ~/.proma/scripts/read-working-memory.py
cp -R /tmp/nowledge-community/nowledge-mem-proma-plugin/skills/{read-working-memory,search-memory,distill-memory,save-thread,status} ~/.proma/agent-workspaces/default/skills/添加 MCP 服务 [step]
创建或编辑:
~/.proma/agent-workspaces/default/mcp.json如果这个文件已经存在,把 nowledge-mem 合并到现有的 servers 对象里,不要覆盖其它服务。
{
"servers": {
"nowledge-mem": {
"url": "http://127.0.0.1:14242/mcp/",
"type": "streamableHttp",
"headers": {
"APP": "Proma"
}
}
}
}如果使用远程 Mem,把 URL 换成远程地址,并加上 key:
{
"servers": {
"nowledge-mem": {
"url": "https://mem.example.com/mcp/",
"type": "streamableHttp",
"headers": {
"APP": "Proma",
"Authorization": "Bearer nmem_your_key",
"X-NMEM-API-Key": "nmem_your_key"
}
}
}
}启用 hooks [step]
创建或编辑:
~/.proma/sdk-config/.claude/settings.json把下面内容合并进 hooks 对象。若你的 Proma 版本不会展开 $HOME,请把命令改成绝对路径。
{
"hooks": {
"SessionStart": [
{
"matcher": "startup|resume",
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.proma/scripts/read-working-memory.py\"",
"timeout": 15000
}
]
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.proma/scripts/save-to-nmem.py\" --event user-prompt-submit",
"timeout": 30000
}
]
}
],
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.proma/scripts/save-to-nmem.py\" --event stop",
"timeout": 30000
}
]
},
{
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.proma/scripts/read-working-memory.py\" --rewake",
"timeout": 15000,
"async": true,
"asyncRewake": true,
"rewakeMessage": "Nowledge Mem context refreshed"
}
]
}
]
}
}重启 Proma [step]
修改 MCP、hooks 或 skills 后,都需要重启 Proma。
自动发生的事
UserPromptSubmit会在下一轮用户输入前保存当前 Proma 线程。Stop会在智能体回复结束后再保存一次,作为兜底。- 保存脚本读取
~/.proma/sdk-config/projects/**/<session-id>.jsonl,并以proma来源写入 Mem。 SessionStart会刷新~/.proma/agent-workspaces/default/CLAUDE.md里的 Nowledge Mem 区块。Stop的 asyncRewake 可以在回复后推送一份简短 Working Memory 提醒。
当前 Proma 使用的 Claude Agent SDK 不能稳定把 SessionStart 的 stdout 注入模型上下文。因此这个连接器采用更可靠的方式:维护 CLAUDE.md 中的一个标记区块。
<!-- nowledge-mem:start -->
...
<!-- nowledge-mem:end -->你自己的 Proma 规则请写在这个区块外,或写进同目录的 CLAUDE.md.template。
更新
cd /tmp/nowledge-community
git pull
cp nowledge-mem-proma-plugin/hooks/save-to-nmem.py ~/.proma/scripts/
cp nowledge-mem-proma-plugin/hooks/read-working-memory.py ~/.proma/scripts/
chmod +x ~/.proma/scripts/save-to-nmem.py ~/.proma/scripts/read-working-memory.py
cp -R nowledge-mem-proma-plugin/skills/{read-working-memory,search-memory,distill-memory,save-thread,status} ~/.proma/agent-workspaces/default/skills/然后把最新的 nowledge-mem-proma-plugin/hooks/hooks.json 合并到 ~/.proma/sdk-config/.claude/settings.json,并重启 Proma。
远程模式
MCP 使用 Proma 的 mcp.json 里的远程 URL 和 key。
hooks 与 CLI fallback 使用运行 Proma 这台机器上的 nmem 客户端配置:
nmem config client set url https://mem.example.com
nmem config client set api-key nmem_your_key常见问题
MCP 工具没有出现。 确认 mcp.json 的顶层 key 是 servers,然后重启 Proma。
新会话没有看到启动上下文。 运行 python ~/.proma/scripts/read-working-memory.py,再检查 ~/.proma/agent-workspaces/default/CLAUDE.md 里是否有 nowledge-mem:start 区块。
Mem 里看不到 Proma 线程。 等 Proma 完成一轮回复,再检查 ~/.proma/logs/nm-hooks.log,并用 nmem t search "短语" --source proma 搜索。
远程 MCP 能用,但 hooks 不工作。 MCP 使用 Proma 的 mcp.json;hooks 使用本机 nmem 客户端配置。两处需要指向同一个远程 Mem 服务。
相关内容
Hermes Agent × Nowledge Mem
Native memory provider for Hermes v0.7.0+. Context Bundle loads at startup when available, relevant knowledge surfaces before every turn, and Hermes captures cleaned transcript turns into Mem threads.
Raycast
Nowledge Mem extension for Raycast. Search memories, save a quick memory, and read Working Memory without leaving your keyboard.