OpenCode × Nowledge Mem
在 OpenCode 中使用跨工具知识库,让 OpenCode 的每次会话都能调用你在其他工具中积累的决策、经验和上下文。
给你的智能体
把这行交给你的智能体。它应该先使用统一安装指南;这一页保留为行为说明和排障参考:
读取 https://mem.nowledge.co/SKILL.md,按其中说明为 OpenCode 安装或更新 Nowledge Mem。用 nmem status 和 Working Memory 检查验证结果,并总结你改了什么。opencode plugin opencode-nowledge-mem -gOpenCode 是一款强大的终端编程智能体。Nowledge Mem 为它补充跨工具知识:来自 Claude Code、Cursor、Codex 等工具的决策和经验,在 OpenCode 中即刻可用。新的 OpenCode 会话会在 OpenCode 进入 idle 后自动保存为 Mem 线程,所以 OpenCode 里的工作也能进入后续检索和知识结晶,不需要切换到别的工具触发。
准备工作
- Nowledge Mem 已在本地运行(安装指南),或你已经有可访问的远程 Mem 服务
- OpenCode 已安装
nmemCLI 已在 PATH 中。在 Nowledge Mem 中前往 设置 → 偏好设置 → 开发者工具 → 安装 CLI,或执行pip install nmem-cli
nmem status # 确认 Nowledge Mem 正在运行
opencode --version # 确认 OpenCode 可用安装
安装插件
安装 npm 插件,并让 OpenCode 自动更新配置:
opencode plugin opencode-nowledge-mem -g-g 表示全局启用,所有项目都可使用。如果只想在当前项目启用,可以去掉 -g。
如果你更习惯手动编辑配置,也可以自己加入插件名:
{
"plugin": ["opencode-nowledge-mem"]
}重启 OpenCode
关闭并重新打开 OpenCode,让它加载新插件。
验证集成
让 OpenCode 检查与 Nowledge Mem 的连接:
我最近在做什么?你应该会看到 OpenCode 调用 nowledge_mem_context_bundle(完整启动上下文)或 nowledge_mem_working_memory(轻量简报),并返回你的当前上下文。看到这些就说明已经接通了:OpenCode 现在可以访问你在其他工具中积累的知识。
要验证会话捕获,可以完成一个很短的 OpenCode 回合,等 OpenCode 进入 idle 后,在另一个终端搜索刚才说过的一句话:
nmem t search "刚才那句话" --source opencode你应该能看到一个 opencode-... 线程。如果没有,先更新插件并重启 OpenCode,确保 event hook 已加载。
更新
刷新全局插件包,并替换已安装的副本:
opencode plugin opencode-nowledge-mem -g --force安全地自定义
优先使用 OpenCode 自己的指引入口,而不是去改插件包文件:
- 项目级规则放在仓库里的
AGENTS.md - 个人默认规则放在
~/.config/opencode/AGENTS.md - 如果你更偏好宿主配置,也可以用
opencode.json里的instructions
不要直接修改已安装的 Nowledge Mem 插件包。完整对照表见 安全地自定义连接行为。
你能做什么
在 OpenCode 中查找其他工具的知识
问一句"数据库方案之前定了什么?",OpenCode 会搜索你在 Claude Code 中做过的决策、ChatGPT 中获得的洞察、Cursor 中留下的笔记,而不仅仅是当前会话。
保存知识,全局可用
当你在 OpenCode 中得出结论,智能体会将其保存,你下一次打开 Claude Code、Cursor 或 ChatGPT 时都能找到。
会话一开始就有上下文
你的 Working Memory 简报和相关历史知识在你开口之前就已准备好,不用换个工具就把背景重新交代一遍。
让完整会话可搜索
OpenCode 完成一轮并进入 idle 后,插件会把当前会话保存成 Mem 线程。长会话压缩前也会先 flush 一次,所以 transcript 会保留下来,供后续搜索、回顾和知识结晶使用。
创建可恢复的交接
在 OpenCode 中收尾后,到 Claude Code 或任何其他工具中可以接着继续。决策、计划和上下文会自动带过去。
工具一览
| 工具 | 说明 |
|---|---|
nowledge_mem_context_bundle | 读取启动上下文:主人身份、AI 身份、当前空间、规则、Working Memory 和 KFS 路径。 |
nowledge_mem_working_memory | 读取今日 Working Memory:关注领域、优先事项、近期动态。 |
nowledge_mem_search | 跨工具搜索知识,支持标签、日期和深度模式过滤。 |
nowledge_mem_save | 保存一个决策、洞察或偏好,让任何工具都能找到。 |
nowledge_mem_update | 更新已有记忆的内容或元数据。 |
nowledge_mem_thread_search | 搜索任何工具中的历史对话。 |
nowledge_mem_save_thread | 按需保存当前会话的完整对话记录。新工作通常由 idle 自动捕获处理。 |
nowledge_mem_save_handoff | 保存精简的交接摘要(由智能体撰写)。 |
nowledge_mem_status | 连接状态与配置诊断。 |
会话捕获机制
Nowledge Mem 通过四种互补方式捕获 OpenCode 会话:
**插件自动实时捕获。**当 OpenCode 报告 session.status=idle(或旧版 session.idle 事件)时,插件会稍等片刻让消息落盘,然后通过 OpenCode SDK 读取当前会话,并写入对应的 opencode-... Mem 线程。新工作应优先依赖这条路径。
**压缩前 flush。**OpenCode 压缩长会话前,插件会通过同一条线程路径保存当前 transcript,然后提醒智能体在压缩后重新读取 Mem 上下文。
手动完整会话捕获。nowledge_mem_save_thread 通过 OpenCode SDK 读取当前会话的全部消息,以 HTTP 方式发送到 Nowledge Mem。它是幂等操作,可反复执行,适合作为显式兜底。
插件主动知识保存。nowledge_mem_save 在对话中实时捕获决策和洞察,并标记 source=opencode。nowledge_mem_save_handoff 在收尾时创建精简摘要。两者都是对完整会话记录的高信号补充。
桌面导入需要直接读取 OpenCode 的本地数据库,因此只能看到 Mem 所在机器上的会话。使用远程模式时,请依赖原生插件的实时捕获,或在运行 OpenCode 的客户端机器上执行 nmem t sync。
导入旧会话
如果要回填更早的 OpenCode 会话,先预览:
nmem t sync --from opencode --all-projects --limit 20确认无误后再导入:
nmem t sync --from opencode --all-projects --apply如果只想导入某个项目,用 -p /path/to/project 代替 --all-projects。这个命令会读取本机 OpenCode 会话数据库或旧版 JSON 存储,并写入 nmem 当前配置的 Mem 服务器。导入的历史会话会立刻可搜索;更深的提炼和结晶仍走显式复查路径。
配置
本地使用无需配置。
| 环境变量 | 默认值 | 说明 |
|---|---|---|
NMEM_API_URL | (本地) | 远程 Nowledge Mem 服务器地址 |
NMEM_API_KEY | (无) | 远程访问的 API 密钥 |
如果你想用一套持久化的共享配置,先在这台机器上执行 nmem config client ...。如果只是临时覆盖,环境变量的优先级仍然更高。
远程访问
nmem config client set url https://your-server
nmem config client set api-key your-keyOpenCode 的 nmem 命令工具、idle 自动捕获、手动会话捕获和历史同步,都会使用同一份共享配置。
参见 随处访问 Mem。
常见问题
**找不到 nmem 命令。**执行 pip install nmem-cli,然后运行 nmem status 确认连接正常。
**服务器无响应。**启动 Nowledge Mem 桌面应用,或用 nmem status 检查诊断信息。
**插件未加载。**重新执行 opencode plugin opencode-nowledge-mem -g --force,确认 opencode.json 的 plugin 数组中包含 "opencode-nowledge-mem",然后重启 OpenCode。
相关
- 连接总览
- Claude Code · Pi · Hermes Agent · OpenClaw · Alma
- 插件源码:nowledge-mem-opencode-plugin