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

推荐订阅源

博客园 - 聂微东
Forbes - Security
Forbes - Security
IT之家
IT之家
P
Privacy International News Feed
宝玉的分享
宝玉的分享
小众软件
小众软件
Google DeepMind News
Google DeepMind News
美团技术团队
G
GRAHAM CLULEY
T
Tor Project blog
Recorded Future
Recorded Future
I
Intezer
C
Cyber Attacks, Cyber Crime and Cyber Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Hacker News
The Hacker News
Hugging Face - Blog
Hugging Face - Blog
A
About on SuperTechFans
Scott Helme
Scott Helme
WordPress大学
WordPress大学
F
Full Disclosure
D
Docker
G
Google Developers Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Cyberwarzone
Cyberwarzone
The Last Watchdog
The Last Watchdog
V
V2EX
www.infosecurity-magazine.com
www.infosecurity-magazine.com
NISL@THU
NISL@THU
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Security Latest
Security Latest
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Recent Announcements
Recent Announcements
P
Palo Alto Networks Blog
L
LINUX DO - 热门话题
V
Visual Studio Blog
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security Blog
博客园 - 叶小钗
N
Netflix TechBlog - Medium
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
量子位
腾讯CDC
H
Heimdal Security Blog
博客园 - 【当耐特】
Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy & Cybersecurity Law Blog
S
Securelist
Vercel News
Vercel News
J
Java Code Geeks

青萍叙事

小程序上线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 打造个人知识管理系统 给 Hermes 装上本地记忆:Hindsight 自部署完整记录 给 Hermes Agent 装上慧眼:GLM 视觉 MCP Server 配置指南 AI 配音多音字踩坑记 DeepSeek 5月六连崩,是时候重视 LLM API 故障转移了 做内容为什么最好用真人配音 青萍AI语音开放真人配音师入驻 给 Hermes 装上真记忆:Hindsight 上手指南 Hermes 多 Agent 管理指南 邀请有礼:把好用的 AI 工具分享出去,和朋友一起拿积分 Hermes Agent 基础配置指南:从零搭建你的 AI 管家 推荐一个免费在线音频编辑器,像剪映一样好用 我把小说变成了有声故事,而且每个人物都有自己的声音 FunASR 语音识别:让声音变成可编辑的文字 FFmpeg 音频格式转换实用指南 青萍AI语音多人对话模式:5分钟快速生成播客 青萍创作者平台伙伴共创计划正式启动 免费开源的 Screen Studio 平替!OpenScreen 让你的产品演示瞬间专业起来 语音合成入门:SSML 标记语言快速上手 还在为配音头疼?我宣布:这个免费工具彻底治愈了我 青萍AI语音:用 AI 重新定义你的声音 OpenClaw 记忆对比:向量化 VS Markdown,到底该怎么选? 建站一周年:从 NotionNext 迁移到 Hexo 安知鱼
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、做过的决策,新会话直接继承,不需要重复交代。