1. 为什么你的 OpenCode 总是“失忆”如果你正在用 OpenCode 做日常编码大概率遇到过这种场景昨天刚跟它强调过“这个仓库用 Bun不要给我 npm 命令”今天新开一个会话它又默认给你npm install上周花半小时解释的目录结构和构建流程这周换个窗口就得从头再讲一遍。AI 编程助手能力再强只要没有跨会话的记忆每次协作都像在带一个刚入职的实习生。opencode-supermemory 这个插件解决的正是这件事。它把 Supermemory 的记忆引擎接到 OpenCode 上让助手在会话之间保留用户偏好、项目约定和踩坑经验。适合三类人同时维护多个项目的开发者、需要统一团队编码风格的 Tech Lead、以及长期维护老代码库的工程师。配置完成后你第一次说“记住本项目用 pnpm workspace”之后每个新会话它都自带这份背景知识。我试过在三个仓库之间来回切换最直观的变化是以前每次开新会话要花两三分钟“喂背景”现在第一条消息发出去Agent 已经知道构建命令、测试框架和我的回答风格偏好。下面把配置过程、可复制的 settings 骨架和验证动作完整走一遍。2. 前置准备OpenCode 与 TaoToken 统一通道在装插件之前先把底座搭好。你需要两样东西一个能正常跑的 OpenCode以及一个稳定的模型调用通道。OpenCode 本身是开源的 AI 编码 Agent安装方式参考其官方文档即可这里不展开。重点说通道。很多人在这一步卡住是因为把模型 Key 散落在各个工具里OpenCode 一套、脚本一套、插件又一套排查问题时根本不知道是哪层出的错。我的做法是统一走 TaoToken 的 API 通道一个 Key 覆盖 OpenCode 的模型调用插件侧的记忆服务则用 Supermemory 自己的凭证两者职责分开互不干扰。TaoToken 的接入地址是https://taotoken.net/api控制台里可以创建和管理 API Key。你可以在 console 里生成 Key具体入口在 API Keys 页面。如果你还没决定用哪个模型可以先去 模型对话 里试几个确认响应风格符合预期再写进配置。注意OpenCode 的模型通道和 Supermemory 的记忆存储是两套独立凭证。前者管“谁来回答”后者管“记住什么”。混在一起配置出问题时日志会很难读。对于长期跑编码任务、或者想让 Agent 持续在后台工作的场景可以了解 Coding Plan它更适合高频、长会话的使用方式。接入细节统一看 接入文档里面有完整的参数说明。3. 可复制的 settings.json 骨架与插件注册OpenCode 的配置文件通常位于~/.config/opencode/opencode.jsonc。安装 opencode-supermemory 后插件会自动往plugin数组里追加一项。如果自动注册没生效手动补上即可。下面是一份可以直接抄的骨架把模型通道和插件注册放在一起{ // 模型调用统一走 TaoToken 通道 provider: { taotoken: { type: openai-compatible, baseURL: https://taotoken.net/api, apiKey: sk-你的TaoToken密钥 } }, model: taotoken/你的模型名, // 插件注册opencode-supermemory 提供长期记忆能力 plugin: [ opencode-supermemory ] }这里有几个容易写错的地方。第一baseURL结尾不要多加/v1OpenCode 会自己拼接路径多写一层会 404。第二apiKey建议用环境变量引用而不是硬编码比如写成apiKey: {env:TAOTOKEN_API_KEY}避免密钥进 Git。第三plugin数组里写的是包名不是路径写成本地路径会导致加载失败。插件本身的安装命令是bunx opencode-supermemorylatest install装完后需要完成一次授权让插件拿到 Supermemory 的访问凭证bunx opencode-supermemorylatest login这条命令会拉起浏览器完成身份验证。如果你的机器是无头环境、打不开浏览器就改用 API Key 方式在~/.config/opencode/supermemory.jsonc里写{ apiKey: sm_你的Supermemory密钥 }或者直接设环境变量export SUPERMEMORY_API_KEYsm_...。两种方式二选一同时存在时以配置文件为准。4. 验证插件加载与记忆读写配置写完不代表生效必须做三步验证。第一步确认插件被 OpenCode 正确加载bunx opencode-supermemorylatest status看到连接状态为已连接说明插件和 Supermemory 服务之间的通道是通的。如果显示未连接先别急着改配置往下看第 5 节的排查顺序。第二步验证记忆写入。打开 OpenCode发一条带触发词的消息Remember that this project uses Bun, not Node.js. Build command is bun run build.插件内置了关键词检测remember、save this、dont forget这类词会触发自动存储。发完之后你可以用 list 操作确认记忆是否落库。Agent 侧的工具调用大致是这样supermemory list scopeproject limit10正常情况下会返回刚存进去的那条项目记忆内容里包含 Bun 和构建命令。第三步验证记忆读取。关掉当前会话重新开一个全新的 OpenCode 会话直接问一个依赖记忆的问题这个项目的构建命令是什么如果插件工作正常Agent 在第一条消息时就会自动注入项目记忆回答里应该直接给出bun run build而不需要你再解释一遍。这一步是整篇配置的核心验收点——跨会话记忆真的生效了才算装成功。对于想索引整个代码库的场景可以在 OpenCode 里执行/supermemory-initAgent 会主动探索目录结构、识别技术栈和约定并把这些写成项目记忆。索引完成后后续提问的精准度会明显提升。5. 本篇常见错排查status 显示未连接。按这个顺序查先确认是否完成过 login或者是否设置了SUPERMEMORY_API_KEY再检查opencode.jsonc的plugin数组里有没有opencode-supermemory最后看日志tail -n 50 ~/.opencode-supermemory.log日志里通常会直接写明是鉴权失败还是网络超时比盲猜快得多。插件加载了但记忆不生效。最常见的原因是会话里没有触发写入。记忆不会凭空产生要么你说过触发词要么跑过/supermemory-init。如果两者都没做Agent 自然没有可注入的内容。另一个可能是 scope 写错了user和project是隔离的在 A 项目存的 project 记忆不会出现在 B 项目。模型请求报 401 或 404。这类错误基本出在 TaoToken 通道配置上。401 检查 Key 是否有效、是否复制完整404 检查baseURL是否多写了/v1。改完配置后重启 OpenCode配置不会热加载。敏感内容被存进记忆。用private标签包裹即可被包裹的内容永远不会落库API key is privatesk-abc123/private养成习惯凡是密钥、内网地址、个人身份信息一律包起来。上下文压缩后记忆丢失。插件在对话容量达到约 80% 时会触发预防性压缩把项目记忆注入摘要上下文并把当前会话摘要存为一条记忆。如果你发现压缩后关键信息没了检查一下是不是手动关掉了这个机制或者记忆本身就没写进去。6. 把记忆通道固定下来配置一次长期受益但前提是通道要稳。我的建议是把模型调用和记忆存储都收敛到固定入口OpenCode 的模型请求统一走 TaoToken 的 API 通道Key 在 API Keys 里集中管理需要轮换时只改一处记忆侧则保持 Supermemory 凭证独立。这样出问题时你能一眼判断是“模型没答对”还是“记忆没读到”。如果你还在选模型先去 模型对话 实测几轮确认风格合适再写进opencode.jsonc。长期跑编码和 Agent 任务的可以看 Coding Plan 的适用场景。所有接入参数以 接入文档 为准遇到报错先翻文档再改配置能省不少来回。最后留一个实用习惯每次在新项目里第一次纠正 Agent 的行为时顺手加一句“remember this”把这条约定固化下来。坚持一两周你的 OpenCode 就会从“每次重新解释”变成“开口就懂”。
