乐于分享
好东西不私藏

OpenCode插件系列: supermemory

OpenCode插件系列: supermemory

类型:Persistent Memory Plugin(持久化记忆插件)

代码库:https://github.com/supermemoryai/opencode-supermemory

官网:https://supermemory.ai

Stars: 1.2k+ ⭐


1. 这是什么插件?

opencode-supermemory 是一个给 AI agent 提供跨会话和项目的持久化记忆的插件。这意味着 AI agent 始终记得你们的约定、从你的代码库学到的知识以及你的个人偏好。

可以把它想象成 AI 的"长期记忆":

  • 没有这个插件:每次新会话,AI 都会忘记之前的一切
  • 使用这个插件:AI 会自动查阅旧的上下文

记忆层级:

  1. 用户档案 (跨项目) —— 你的个人偏好、写作风格、偏好的模型
  2. 项目记忆 —— 项目相关信息(如使用Bun而非Node.jsbuild commands等)
  3. 会话摘要 —— 过去会话的总结

2. 用途是什么?

使用它来:

  • ✅ 让AI记住之前学到的内容
  • ✅ 代码库索引 —— AI 探索你的代码库并保存模式和约定
  • ✅ 自动保存 —— 当使用"remember"、"save this"、"don't forget"等关键词时自动保存
  • ✅ 上下文注入 —— 在第一条消息中,AI会收到来自记忆的完整上下文
  • ✅ 预压缩机制 —— 当上下文使用达到80%时,在信息丢失前进行压缩
  • ✅ 隐私标签 —— 标记为<private>data</private>的内容不会被保存
  • ✅ 跨项目用户档案 —— 你的偏好可以在所有项目间传递

AI看到的上下文示例:

[SUPERMEMORY]用户档案:- 偏好简洁的回答- TypeScript专家项目知识:- [100%] 使用Bun,而非Node.js- [100%] 构建命令:bun run build相关记忆:- [82%] 如果.env.local缺失,构建会失败

3. 如何使用?

步骤1:安装

bunx opencode-supermemory@latest install

这会自动将插件添加到 ~/.config/opencode/opencode.jsonc 并创建 /supermemory-init 命令。

步骤2:获取 API Key

访问 app.supermemory.ai 创建账户并获取 API key。 或者 从console.supermemory.ai获取key

步骤3:配置 API Key

通过环境变量:

export SUPERMEMORY_API_KEY="sm_..."

或者在 ~/.config/opencode/supermemory.jsonc 文件中:

{"apiKey""sm_...","similarityThreshold"0.6,    // 搜索时的最低相似度阈值"maxMemories"5,              // 注入请求中的最大记忆数"maxProjectMemories"10,      // 最大项目记忆数"maxProfileItems"5,          // 最大档案事实数量"injectProfile"true,         // 在上下文中包含用户档案"compactionThreshold"0.8// 触发压缩的消耗百分比}

步骤4:初始化代码库(可选但推荐)

/supermemory-init

这会让 AI 探索代码库并保存:

  • 项目结构
  • 使用的模式
  • 代码特有的约定

日常使用

自动保存(关键词检测):

默认情况下:录入 "remember", "save this", "don't forget"  等将自动保存到memory.
通过 keywordPatterns 添加自定义触发器,例如下面的记住就是我自定义的.
你:"记住这个项目使用bun"AI:[自动保存到项目记忆]你:"别忘了我们使用Pinia做状态管理"AI:[自动保存]

supermemory 工具为AI提供5种模式:

模式
功能
add
保存新记忆
search
搜索记忆
profile
显示用户档案
list
记忆列表
forget
删除特定记忆

作用域:

  • user —— 跨项目(个人偏好,在项目间传递)
  • project (默认) —— 当前项目专属

类型:

  • project-config
  • architecture
  • error-solution
  • preference
  • learned-pattern
  • conversation

4. 何时使用?

使用场景:

  • ✅ 在长期处理同一代码库时(如你在Nanosoft的base-layer)
  • ✅ 有重复信息需要每次都告诉AI时
  • ✅ 处理多个项目但希望AI记住你的偏好时
  • ✅ 希望在不同会话间保持连续性
  • ✅ 处理重复的bug修复时,需要AI记住解决方案
  • ✅ 你的工作注重细节(符合你的个性特点)

不适用场景:

  • ❌ 在快速原型设计且项目频繁变化时
  • ❌ 处理隐私敏感的项目时(数据会发送到Supermemory服务器)
  • ❌ 不希望依赖外部服务
  • ❌ 每次工作性质都完全不同且没有连续性时

⚠️ 重要注意事项

与 Oh My OpenCode:

如果使用 OmO,需要禁用 auto-compact hook 以便 supermemory 执行压缩:

在 ~/.config/opencode/oh-my-opencode.json 中:

{"disabled_hooks": ["anthropic-context-window-limit-recovery"]}

容器标签:

标签会自动生成:

  • 用户:opencode_user_{sha256(git_email)}
  • 项目:opencode_project_{sha256(directory)}

可以进行自定义配置:

  • 在团队成员间共享记忆(使用相同的userContainerTag
  • 在不同设备间同步
  • 按自己的方式组织记忆
{"userContainerTag""my-team-workspace","projectContainerTag""nanosoft-base-layer"}

隐私:

在 <private>...</private> 标签内的任何内容都不会被保存。适用于 API keys 和敏感信息。

API key is <private>sk-abc123</private>

日志:

tail -f ~/.opencode-supermemory.log

许可证:MIT


🔗 有用链接

  • README:https://github.com/supermemoryai/opencode-supermemory
  • Supermemory App:https://app.supermemory.ai
  • Supermemory Platform:https://console.supermemory.ai
  • 文档:https://supermemory.ai/docs/integrations/opencode