惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
H
Help Net Security
V
Visual Studio Blog
J
Java Code Geeks
Stack Overflow Blog
Stack Overflow Blog
Microsoft Security Blog
Microsoft Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
MyScale Blog
MyScale Blog
The Cloudflare Blog
Martin Fowler
Martin Fowler
D
Docker
腾讯CDC
F
Fortinet All Blogs
雷峰网
雷峰网
GbyAI
GbyAI
G
Google Developers Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Blog — PlanetScale
Blog — PlanetScale
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
博客园 - 叶小钗

青萍叙事

小程序用户注册完就不来了?我总结了 3 个召回策略 手机上就能克隆自己的声音,5 秒音频就够了 DeepSeek V4-Flash 正式版来啦,原生支持 Response API 做了一个免费工具,被骂到不再维护,一人企业的现实困境 手把手教你给短视频配音,全程不花钱 签到、邀请、任务中心,一个小程序日活增长的完整复盘 什么都想做,是一人企业最贵的病 小程序上线30天,注册量超过了网站一整年 注册验证码被刷了一整夜,论接口限流的重要性 通过Hermes搭建AI驱动的全自动安全封禁系统 博客被攻击之后,我部署雷池防火墙给网站穿上防弹衣 个人博客第一次被攻击,评论区被植入恶意代码全记录 青萍AI图床:AI 生图接口文档 真心建议做一人企业的你,先把统一认证搞定 从个人公众号迁移到企业公众号经验总结 豆包千问集体下线智能体,是时候拥抱 Hermes Agent 了 配音兼职渠道怎么找?5 种渠道和 1 个避坑提醒 宝妈声音兼职去哪接单:三个平台横评,最后一个免费入驻每日自动派单 Hermes 浏览器工具:让 AI 替你操作网页 Hermes v0.17.0 最值得升级的理由:一个进程,管所有 Profile 音频可视化:从波形到视频的三种实现路径 Hermes 定时任务实战 真人配音兼职怎么找:几个渠道对比,末尾推荐一个免费入驻的 AI语音技术到底能做什么 AI漫剧之配音篇 用 Hermes Agent 搭了一条内容生产线 Hermes Gateway 飞书连接断开排查 2026精选5款热门AI配音软件 用 Hermes 打造 LLM Wiki 知识库:Karpathy 方法实战指南 用 Hermes 打造个人知识管理系统
Hindsight for OpenCode:给每个项目装上专属记忆库
青萍叙事 · 2026-06-23 · via 青萍叙事
AIOpenCodeHindsightAiCoding

前言

用过 AI 编程工具的人大概都有这种体会:明明上一个会话还聊得好好的,换个项目再回来,它又把你当陌生人。

OpenCode 也不例外,每次新会话都是一片空白。

Hindsight 就是来解决这个问题的。
这是一个开源的长效记忆系统,它为 AI 工具装上”脑子”——之前聊过的项目上下文、代码决策、踩坑经验,之后都能自动回想起来。

更实用的是,Hindsight 的 OpenCode 插件支持为每个项目创建独立的记忆库,项目 A 的记忆不会污染项目 B。

插件安装

Hindsight for OpenCode 以 npm 包形式发布,直接在 opencode.json 中声明即可。

打开项目根目录的 opencode.json(或全局配置 ~/.config/opencode/opencode.json),在 plugin 数组里加上插件配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"$schema": "https://opencode.ai/config.json",
"plugin": [
["@vectorize-io/opencode-hindsight", {
"hindsightApiUrl": "http://<your-server-ip>:8888",
"autoRecall": true,
"autoRetain": true,
"recallBudget": "mid",
"retainEveryNTurns": 3,
"debug": false
}]
]
}

OpenCode 启动时会自动从 npm 安装插件,不需要手动执行 npm install
插件安装后直接连接到你指定的 Hindsight 服务器地址。

如果你用的是 Hindsight Cloud 云服务,需要更换 hindsightApiUrl 并加上 API Token:

1
2
3
4
5
6
7
8
9
["@vectorize-io/opencode-hindsight", {
"hindsightApiUrl": "https://api.hindsight.vectorize.io",
"hindsightApiToken": "your-api-key",
"autoRecall": true,
"autoRetain": true,
"recallBudget": "mid",
"retainEveryNTurns": 3,
"debug": false
}]

API Key 在 ui.hindsight.vectorize.io/connect 注册获取。

每个项目独立记忆库

这是整个插件最实用的特性:动态记忆库 ID。

默认情况下,所有项目共享同一个记忆库(bankId 固定为 opencode)。
这就意味着 A 项目的记忆会在 B 项目的会话中被召回,两个项目的上下文互相干扰。

开启动态记忆库后就不一样了:

1
export HINDSIGHT_DYNAMIC_BANK_ID=true

Hindsight 会根据当前项目的特征自动推导一个唯一的 bankId,默认的组合规则是 agent::project
A 项目启动的会话自动关联 A 项目的记忆库,B 项目启动的会话自动关联 B 项目的记忆库,互不干扰。

支持的特征字段包括 agent(角色名)、project(项目目录名)、channel(渠道名)和 user(用户标识)。
如果你需要更细的隔离粒度,可以自定义组合,但默认的 agent::project 已经覆盖了最常见的场景。

插件提供的三个工具

安装并连接成功后,Hindsight 会注册三个工具给 OpenCode 的 AI Agent:

  • hindsight_retain,主动存储信息到长期记忆,适合记录重要的架构决策、踩坑经验
  • hindsight_recall,搜索长期记忆中的相关信息,跨会话检索之前讨论过的内容
  • hindsight_reflect,综合多条记忆给出一个回答,适合需要总结归纳的场景

这些工具 AI Agent 可以在会话中直接调用。
但多数情况下你不需要手动触发它们,插件有自动机制。

自动记忆与召回

Hindsight 的两个自动行为让记忆真正”无感”。

auto-retain:当会话进入空闲状态时,插件自动把当前对话内容存入记忆。
你可以通过 retainEveryNTurns 控制存储频率。
默认每 3 轮交互保存一次。

auto-recall:每次新会话启动时,插件自动检索与该项目相关的历史记忆。
这些记忆会被注入到系统提示词中。
AI Agent 加载后就拥有了之前会话的上下文,不需要你主动”提醒”。

当 OpenCode 压缩上下文窗口时,插件也会先保存当前会话内容再压缩,确保记忆在上下文截断后不会丢失。

持久配置

如果不想在每个项目里重复配,可以创建 ~/.hindsight/opencode.json 文件,这里面的配置对所有项目生效:

1
2
3
4
{
"hindsightApiUrl": "http://<your-server-ip>:8888",
"recallBudget": "mid"
}

配置的优先级从低到高依次是:

默认值 < ~/.hindsight/opencode.json < opencode.json 插件选项

后面的会覆盖前面的,灵活度很高。

完整配置参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"$schema": "https://opencode.ai/config.json",
"plugin": [
["@vectorize-io/opencode-hindsight", {
"hindsightApiUrl": "https://api.hindsight.vectorize.io",
"hindsightApiToken": "your-api-key",
"bankId": "my-project",
"autoRecall": true,
"autoRetain": true,
"recallBudget": "mid",
"recallTags": [],
"retainTags": [],
"retainEveryNTurns": 3,
"debug": false
}]
]
}

几个关键选项说明:

  • bankId:静态记忆库 ID,不开启动态模式时使用
  • recallBudget:召回量,可选 low / mid / high,默认 mid
  • recallTags / retainTags:按标签过滤存储或召回
  • retainEveryNTurns:自动保存频率,每 N 轮交互存一次

写在最后

Hindsight 给 OpenCode 补上了最关键的一环:记忆。

安装只需要在配置里加一行插件声明,连接 Hindsight 服务器后,每个项目就有了自己独立的记忆空间。
之前讨论过的架构、发现过的 bug、做过的决策,新会话直接继承,不需要重复交代。