mcpField
H
hindsight-self-hosted

hindsight-self-hosted

github.com/vectorize-ioAgent 工作流55.5k532 次安装今天更新
代码仓库

关于 hindsight-self-hosted

为 AI Agent 提供连接自托管 Hindsight 服务器的持久记忆操作指引,记忆库可供团队共享。技能说明如何配置 CLI,以及如何存储、检索和综合项目经验。

主要功能

  1. 01配置 Hindsight CLI 与记忆库 ID
  2. 02存储带上下文的团队记忆
  3. 03按主题检索相关记忆
  4. 04综合记忆以辅助任务判断
  5. 05区分团队约定与个人偏好

适用场景

  1. 01开始编码任务前检索项目背景
  2. 02记录已验证的解决步骤与问题原因
  3. 03共享团队约定和架构决策

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/vectorize-io/hindsight --skill hindsight-self-hosted

安装后在 Claude Code 中输入/hindsight-self-hosted确认已加载。

详细介绍

Hindsight 记忆技能(可自托管)

你可以通过一个可自托管的 Hindsight 服务获得持久记忆。这个记忆库可以与团队共享,因此存储在这里的知识会让所有参与该代码库工作的人都受益。

主动存储团队知识并回忆上下文,以提供更好的协助。

设置检查(仅首次)

在使用记忆命令之前,请确认 Hindsight CLI 已配置:

cat ~/.hindsight/config

如果该文件不存在或缺少凭据,请帮助用户完成设置:

  1. 安装 CLI(如果找不到 hindsight 命令):

    curl -fsSL https://hindsight.vectorize.io/get-cli | bash
    
  2. 创建配置文件 - 向用户询问:

    • API URL:他们可自托管的 Hindsight 服务 URL(例如 https://hindsight.mycompany.com)
    • API Key:他们的身份验证密钥
    mkdir -p ~/.hindsight
    cat > ~/.hindsight/config << 'EOF'
    api_url = "<user's server URL>"
    api_key = "<user's API key>"
    EOF
    chmod 600 ~/.hindsight/config
    
  3. 获取 bank ID - 向用户询问他们的 bank ID(例如 team-myproject)

设置完成后,请在以下所有命令中使用该 bank ID。

Hindsight 的工作原理

当你调用 retain 时,Hindsight 不会原样存储该字符串。服务会运行一条内部流水线,它会:

  1. 使用大模型从内容中提取结构化事实
  2. 识别实体(人物、工具、概念)并关联相关事实
  3. 构建事实之间的时间与因果关系
  4. 生成用于语义搜索的嵌入

这意味着你应该传入丰富、完整上下文的内容——服务比预先总结的字符串更擅长提取重要信息。你的工作是决定何时存储,而不是提取什么。

命令

将 <bank-id> 替换为用户实际的 bank ID(例如 team-frontend)。

存储记忆

使用 memory retain 存储你学到的内容。传入完整上下文——原始观察、会话笔记或详细描述:

hindsight memory retain <bank-id> "The project uses ESLint configured with the Airbnb rule set and Prettier for formatting. Auto-fix on save is enabled in the editor config."
hindsight memory retain <bank-id> "Ran the test suite with NODE_ENV=test. Tests pass. Without NODE_ENV=test, the suite fails with a missing config error." --context procedures
hindsight memory retain <bank-id> "Build failed on Node 18 with error 'ERR_UNSUPPORTED_ESM_URL_SCHEME'. Switched to Node 20 and build succeeded." --context learnings
hindsight memory retain <bank-id> "Alice reviewed the PR and asked for verbose commit messages that explain the motivation, not just what changed." --context preferences

你也可以传入带时间戳的原始对话记录:

hindsight memory retain <bank-id> "[2026-03-16T10:12:03] User: The auth tests keep failing on CI but pass locally. Any idea?
[2026-03-16T10:12:45] Assistant: Let me check the CI logs. Looks like the tests are running without the TEST_DATABASE_URL env var set — they fall back to the production DB URL and hit a connection timeout.
[2026-03-16T10:13:20] User: Ah right, I never added that to the CI secrets. Adding it now.
[2026-03-16T10:15:02] User: That fixed it. All green now." --context learnings
回忆记忆

在开始任务之前使用 memory recall 获取相关上下文:

hindsight memory recall <bank-id> "project conventions and coding standards"
hindsight memory recall <bank-id> "Alice preferences for this project"
hindsight memory recall <bank-id> "what issues have we encountered before"
hindsight memory recall <bank-id> "how does the auth module work"
反思记忆

使用 memory reflect 综合上下文:

hindsight memory reflect <bank-id> "How should I approach this task based on past experience?"

重要:何时存储记忆

这是一个共享的团队记忆库。存储对团队有益的知识。对于个人偏好,请包含该人员的姓名。

项目/团队约定(共享)
  • 编码标准(“项目使用 2 空格缩进”)
  • 必需的工具和版本(“项目要求 Node 20+、PostgreSQL 15+”)
  • Lint 和格式化规则(“ESLint 使用 Airbnb 配置”)
  • 测试约定(“集成测试要求 Docker 正在运行”)
  • 分支命名和 PR 约定
个人偏好(归属于具体人员)
  • 个人编码风格(“Alice 偏好显式类型注解”)
  • 沟通偏好(“Bob 偏好详细的 PR 描述”)
  • 工具偏好(“Carol 使用 vim 键位绑定”)
流程结果
  • 成功完成任务所采取的步骤
  • 有效(或失败)的命令及其原因
  • 发现的变通方法
  • 解决问题的配置
任务中的经验教训
  • 遇到的 Bug 及其解决方案
  • 有效的性能优化
  • 架构决策及其理由
  • 依赖项或版本要求
团队知识
  • 面向新团队成员的入门信息
  • 常见陷阱及如何避免
  • 架构决策及其理由
  • 与外部系统的集成点
  • 领域知识和业务逻辑说明

重要:何时回忆记忆

始终在以下情况之前回忆:

  • 开始任何非平凡任务
  • 做出关于实现的决策
  • 建议工具、库或方法
  • 在项目的新领域编写代码
  • 回答关于代码库的问题
  • 当团队成员询问某件事如何工作时

最佳实践

  1. 立即存储:当你发现某些内容时,立即将其存储起来
  2. 传递丰富的上下文:包含完整的观察结果,而不是预先总结的字符串——服务会自动提取事实
  3. 包含结果:存储发生了什么以及为什么,包括失败和解决方法
  4. 先回忆:在开始工作之前,始终检查相关上下文
  5. 以团队为先:存储能帮助其他团队成员的知识
  6. 归属个人偏好:存储“Alice 审查了 PR 并要求 X”,而不仅仅是“用户偏好 X”
  7. 区分项目与个人:项目约定适用于所有人;个人偏好因人而异
  8. 使用 --context 表示元数据:--context 标志用于标记记忆的类型(例如 procedures、learnings、preferences),而不是替代完整内容

评论

支持 Markdown