______________________________________________________________________
名称:PAI后见记忆 包装id:哈雷-帕伊-近视-记忆芯-v2.0.0 版本:2.0.0 作者:赫德利·罗伯逊 描述:使用具有心智模型、标记记忆和自动会话上下文保存的Hindsight MCP服务器进行长期记忆集成 类型:技能 目的类型:\[生产力、自动化、内存\] 平台:claude代码 依赖关系:\[事后诸葛亮mcp服务器\] 关键词:\[记忆、后见之明、mcp、会话、上下文、回忆、保留、反思、银行、心智模型、标签、观察\] icon:icons/pai-hindsight-memory.png
PAI后见记忆
使用Hindsight MCP服务器进行PAI的长期内存集成-在具有单独项目和个人记忆库的会话中自动保存上下文。
安装提示
您将收到PAI包-AI代理系统的模块化升级。
PAI是什么? 请参阅: PAI项目概述
什么是包? 请参阅: 包装系统
此包将Hindsight内存服务器与PAI集成在一起,以提供跨会话的持久内存。它使您的AI能够:
- 记住项目背景 会话之间自动
- 存储和召回决定 带有per-insight标签
- 反思模式 来自过去使用心智模型的工作
- 单独的关注点 项目特定与个人记忆库
- 预缓存的心智模型 用于即时项目摘要和个人背景
- 银行配置 有任务、部署和指令
核心原则: 会话结束,但内存仍然存在。你的AI会从你停止的地方继续。
请按照INSTALL.md中的安装说明集成此包。
______________________________________________________________________
包含什么
技能和工作流程
| 组件 | 文件 | 目的 |
|---|---|---|
| 记忆技能 | src/skills/Memory/SKILL.md | 具有心智模型意识的手动记忆操作 |
| 召回工作流程 | src/skills/Memory/Workflows/Recall.md | 使用预算、标签和类型过滤搜索记忆 |
| 保留工作流 | src/skills/Memory/Workflows/Retain.md | 使用标签分类和时间戳存储内存 |
| 反映工作流程 | src/skills/Memory/Workflows/Reflect.md | 使用结构化输出和上下文分析模式 |
| 管理银行工作流程 | src/skills/Memory/Workflows/ManageBanks.md | 银行管理 |
| 管理MentalModels工作流 | src/skills/Memory/Workflows/ManageMentalModels.md | 预缓存心智模型的CRUD |
| 配置银行工作流 | src/skills/Memory/Workflows/ConfigureBank.md | 任务、部署和指令配置 |
钩子
| 组件 | 文件 | 目的 |
|---|---|---|
| 会话开始挂钩 | src/hooks/hindsight-session-start.ts | 使用心智模型加载上下文、预算调整、类型过滤器 |
| 会话保存挂钩 | src/hooks/hindsight-session-save.ts | 使用标签和文档重复数据删除功能自动保存 |
| 预紧凑型挂钩 | src/hooks/hindsight-pre-compact.ts | 在压实之前提取见解 |
| 后置紧凑型挂钩 | src/hooks/hindsight-post-compact.ts | 通过基于标签的回忆、反思和心理模型恢复上下文 |
| 洞察提取器背景 | src/hooks/hindsight-extract-insights-bg.ts | 背景洞察提取工作者 |
| Insight提取器库 | src/hooks/lib/insight-extractor.ts | 使用按洞察标记进行批量保留 |
脚本
| 组件 | 文件 | 目的 |
|---|---|---|
| Bootstrap银行 | src/scripts/bootstrap-banks.ts | 一次性银行设置:使命、性格、思维模式、指令 |
摘要:
- 文件夹: 14(7项技能/工作流程,6个挂钩,1个脚本)
- 已注册的挂钩: 4个生命周期事件(会话开始、会话结束、预压缩、停止)
- 依赖关系: 事后诸葛亮MCP服务器(事后诸葛亮项目,事后诸葛亮hedley)
- 要求: 后见之明v0.4.0+(用于心智模型、观察、主体反射)
______________________________________________________________________
问题
AI代理在会话之间失去所有上下文。每一次对话都以全新的方式开始:
- 昨天的建筑决策?被遗忘的。
- 上周的调试见解?跑了。
- 你在各个项目中使用的模式是什么?每次重新发现。
这会产生级联问题:
对于项目连续性:
- 每节课都要重新解释上下文
- 重复已经做出的决定
- 在多日任务中失去动力
个人生产力:
- 必须重申首选项
- 历史迷失了
- 没有建立机构记忆
对于代码质量:
- 吸取的教训不会持续下去
- 模式无法识别
- 错误不断重复
______________________________________________________________________
解决方案
该包集成了两个Hindsight存储体:
- 后见之明项目 -每个项目记忆
- 架构决策 - Bug修复及其原因 - 功能实现 - 项目特定模式
- 事后看来,赫德利 -个人回忆
- 编码首选项 - 技术选择 - 目标和职业背景 - 超越项目的信息
自动会话内存:
Session Ends
↓
hindsight-session-save.ts hook fires
↓
Extracts: project name, files touched, topic, duration
↓
Stores with tags: ['session', 'session-YYYY-MM-DD']
↓
document_id prevents duplicates on session resume
↓
Next session: context available via recall预压实洞察提取:
当Claude的上下文窗口填满并触发压缩时,预压缩钩子会在结构化见解丢失之前提取它们:
Context Full → PreCompact Hook Fires
↓
Reads full conversation transcript
↓
LLM extracts: decisions, mistakes, corrections, key context
↓
Batch retain: each insight stored individually with its own tag
↓
Tags: ['decision'], ['mistake'], ['correction'], ['context']
↓
document_id: insights_{sessionId} (deduplication)
↓
Compaction proceeds (but learnings are preserved)压缩后上下文恢复:
压缩后,压缩后钩子使用多种并行策略恢复上下文:
Compaction Complete → Stop Hook Fires
↓
Detects recent compaction (checks debug log)
↓
Parallel fetch:
1. Mental model (project-summary) → instant cached overview
2. Tag-based recall: ['decision'] → recent decisions
3. Tag-based recall: ['mistake'] → mistakes to avoid
4. Tag-based recall: ['correction'] → corrections made
5. Reflect (budget: high) → synthesized context restoration
↓
Injects into conversation
↓
AI continues with critical context preserved会话开始--上下文加载:
Session Starts → SessionStart Hook Fires
↓
Parallel fetch:
1. Mental model (project-summary) → instant project overview
2. Project recall (budget: low, types: [observation, experience])
3. Personal recall (budget: low) → preferences, background
↓
Formats as
block
↓
AI starts with full context from day one内存优先调试协议:
程序包指示AI:
- 先检查心理模型 -搜索前立即缓存答案
- 使用标签过滤召回 -按标签搜索过去类似的错误
- 反思模式 -综合过去调试会话的见解
- 带标签的商店 -保留标记的更正以供将来检索
内存操作:
| 操作 | 目的 | 关键参数 |
|---|---|---|
| 召回 | 搜索过去的回忆 | budget, tags, types |
| 保留 | 存储新信息 | tags, timestamp, document_id |
| 反映 | 综合见解 | budget, context, response_schema |
| 心智模型 | 预缓存的反映响应 | 整合后自动刷新 |
______________________________________________________________________
为什么这不一样
这听起来类似于保留上下文的对话历史。是什么让这种方法与众不同?
后见之明提供语义记忆,而不仅仅是对话日志。它理解事实之间的关系,支持时态查询,并在多个会话中合成模式。对话日志是仅附加的文字记录;后见之明构建了一个包含观察结果、心智模型和实体关系的可查询知识图。
- 心理模型 无需搜索即可提供即时预缓存答案
- 观察 自动将原始事实整合为更高层次的知识
- 标记记忆 实现精确的过滤召回(仅限决策、仅限错误等)
- 代理反映 以可配置的深度综合所有内存类型的见解
- 银行处置 塑造人工智能对记忆的解释和推理方式
- 独立银行 将特定项目与个人知识隔离开来
- 自动挂钩 无需任何手动操作即可捕获上下文
______________________________________________________________________
建筑
┌──────────────────────────────────────────────────────────────────────────┐
│ PAI System │
├──────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ SessionStart │ │ PreCompact │ │ PostCompact │ │ SessionEnd │ │
│ │ + mental │ │ + insight │ │ + tag recall│ │ + tags │ │
│ │ models │ │ extractor │ │ + reflect │ │ + doc_id │ │
│ │ + budget │ │ + batch │ │ + mental │ │ + doc_tags │ │
│ │ + types │ │ retain │ │ models │ │ │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ Memory Skill │ │
│ │ ┌────────┐ ┌────────┐ ┌─────────┐ ┌──────────────┐ ┌─────────┐ │ │
│ │ │ Recall │ │ Retain │ │ Reflect │ │ MentalModels │ │Configure│ │ │
│ │ │+budget │ │+tags │ │+context │ │ (CRUD) │ │ Bank │ │ │
│ │ │+tags │ │+doc_id │ │+schema │ │ │ │ │ │ │
│ │ │+types │ │+stamp │ │+budget │ │ │ │ │ │ │
│ │ └───┬────┘ └───┬────┘ └────┬────┘ └──────┬───────┘ └────┬────┘ │ │
│ └──────┼──────────┼──────────┼──────────────┼──────────────┼──────┘ │
│ └──────────┼──────────┼──────────────┼──────────────┘ │
│ ▼ ▼ ▼ │
└────────────────────┼──────────┼──────────────┼──────────────────────────┘
▼ ▼ ▼
┌──────────────────────────────────────────────────────────────────────────┐
│ Hindsight API (v0.4.0+) │
├──────────────────────────────┬───────────────────────────────────────────┤
│ hindsight-project (MCP) │ hindsight-hedley (MCP) │
│ (per-project bank) │ (personal bank) │
│ │ │
│ Mission: project context │ Mission: personal memory │
│ Disposition: 4/4/2 │ Disposition: 2/2/4 │
│ │ │
│ Mental Models: │ Mental Models: │
│ - project-summary │ - about-me │
│ - coding-conventions │ - my-goals │
│ - known-issues │ │
│ - deployment-checklist │ Directives: │
│ │ - accuracy-first │
│ Directives: │ │
│ - accuracy-first │ Tags: context, preference, goal, │
│ │ correction │
│ Tags: decision, mistake, │ │
│ correction, context, │ │
│ session, session- │ │
│ insight │ │
└──────────────────────────────┴───────────────────────────────────────────┘______________________________________________________________________
配置
环境变量
| 变量 | 默认值 | 作用域 | 描述 |
|---|---|---|---|
HINDSIGHT_PROJECT_URL | http://localhost:8889 | 全局 | 后见API服务器URL |
HINDSIGHT_PERSONAL_BANK | hedley | 全球 | 个人记忆银行名称 |
HINDSIGHT_PROJECT | project | 每个项目 | 项目特定记忆的银行名称 |
PAI_DIR | ~/.config/pai | 全局 | PAI安装目录 |
LOCAL_LLM_URL | http://uber.lan:11434 | 全球 | 本地LLM用于洞察力提取 |
LOCAL_LLM_MODEL | Qwen/Qwen2.5-32B-Instruct-GPTQ-Int4 | 全局 | 局部LLM提取模型 |
ANTHROPIC_API_KEY | (无) | 全局 | 如果本地LLM不可用,则回退 |
LOCAL_LLM_TIMEOUT | 600000 | 全局 | LLM调用超时(ms) |
VOICE_PORT | 8888 | 全局 | 通知服务器端口(可选) |
重要提示: HINDSIGHT_PROJECT 每个项目都应该改变。在shell环境中设置它, .envrc (使用direnv),或按项目配置。全局变量,如 HINDSIGHT_PROJECT_URL 和 HINDSIGHT_PERSONAL_BANK 进去 settings.json.
MCP服务器配置
你的项目 .mcp.json 必须包括Hindsight MCP服务器:
{
"mcpServers": {
"hindsight-project": {
"type": "http",
"url": "http://localhost:8889/mcp/your-project-bank/"
},
"hindsight-hedley": {
"type": "http",
"url": "http://localhost:8889/mcp/hedley/"
}
}
}银行Bootstrap
安装后,运行引导脚本以配置银行任务、处置、心理模型和指令:
bun run src/scripts/bootstrap-banks.ts --project pai --personal hedley使用 --dry-run 要预览而不进行更改,请执行以下操作:
bun run src/scripts/bootstrap-banks.ts --project pai --personal hedley --dry-run引导脚本是幂等的——在创建新的心智模型和指令之前,它会检查现有的心理模型和指令。
bootstrap配置了什么:
| 组成部分 | 项目银行 | 个人银行 |
|---|---|---|
| 任务 | 项目背景跟踪 | 个人记忆和跨项目学习 |
| 性格 | 怀疑论:4,字面主义:4,同理心:2 | 怀疑主义:2,字面主义(Literalism):2,同理心(Empathy):4 |
| 心智模型 | 项目总结、编码约定、已知问题、部署清单 | 关于我、我的目标 |
| 指令 | 精度优先 | 精度优先 |
______________________________________________________________________
标签分类
标签允许过滤召回——只查询所需的内存类型。
项目银行标签
| 标签 | 申请者 | 目的 |
|---|---|---|
decision | 洞察提取器 | 架构和设计决策 |
mistake | 洞察提取器 | 错误、错误、错误方法 |
correction | 洞察提取器 | 应用于错误的修复 |
context | 洞察提取器 | 重要背景上下文 |
session | 会话保存挂钩 | 完整会话摘要 |
session-YYYY-MM-DD | 会话保存挂钩 | 特定日期的会话筛选 |
session-insight | 洞察提取器 | 洞察批次的文档级标签 |
个人银行标签
| 标签 | 申请者 | 目的 |
|---|---|---|
context | 手动保留 | 一般个人背景 |
preference | 手动保留 | 用户偏好 |
goal | 手动保留 | 目标和愿望 |
correction | 手动保留 | 个人事实更正 |
定制
银行名称
改变 HINDSIGHT_PROJECT 每个项目:
export HINDSIGHT_PROJECT=myproject改变 HINDSIGHT_PERSONAL_BANK 如果使用其他名称:
export HINDSIGHT_PERSONAL_BANK=personal心智模型
通过ManageMentalModels工作流或Hindsight API添加项目特定的心理模型:
curl -X POST "http://localhost:8889/v1/default/banks/myproject/mental-models" \
-H "Content-Type: application/json" \
-d '{
"name": "api-patterns",
"source_query": "What API patterns, conventions, and endpoint structures does this project use?",
"tags": ["project", "api"],
"trigger": {"refresh_after_consolidation": true}
}'钩子行为
修改 src/hooks/hindsight-session-save.ts 致:
- 更改保存会话的最小活动阈值
- 添加/删除从成绩单中捕获的字段
- 调整会话摘要格式
修改 src/hooks/lib/insight-extractor.ts 致:
- 调整标签分类
- 更改用于提取的LLM
- 修改提取提示
______________________________________________________________________
学分
- 后见之明: 矢量.io
- PAI系统丹尼尔·米斯勒
相关工作
- 事后证明文件:https://hindsight.vectorize.io/
- MCP(模型上下文协议):https://modelcontextprotocol.io/
配合良好
pai-history-system-会话日志记录的补充pai-core-install-核心PAI基础设施
更新日志
2.0.0 - 2026-02-14
利用Hindsight v0.4.0+功能(心智模型、观察、代理反射)的重大更新。
挂钩:
- 会话开始:心智模型查询、预算调整(
low),类型筛选器(observation,experience),银行创建使命 - 会话保存:每个内存标签(
session,session-YYYY-MM-DD),document_id重复数据删除,document_tags - 预压缩/洞察提取器:使用每个洞察标签进行批量保留(
decision,mistake,correction,context),单个项目而不是整体叙事 - 后压缩:基于标签的召回取代正则表达式解析,并行心智模型+反射+标签召回,
budget: high用于深度上下文恢复
技能和工作流程:
- 新工作流程:ManageMentalModels(预缓存心智模型的CRUD)
- 新工作流程:配置银行(任务、处置、通过HTTP API的指令)
- 增强的召回工作流程:预算选择、标签过滤、类型过滤、心智模型检查
- 增强的保留工作流程:标签分类、时间戳指南、标签选择指南
- 增强的Reflect工作流程:结构化输出(
response_schema),上下文参数,标记约束反射 - SKILL.md:心智模型感知、优先级层次结构(心智模型>回忆>反思)、标签分类参考
脚本:
- 新
bootstrap-banks.ts--对心智模型和指令进行幂等性检查的一次性银行设置
Bug修复:
- 修复了API路径上的尾随斜杠导致307重定向到404(Hindsight API严格禁止尾随斜杠)
- 固定的
document_id会话中保存以防止会话恢复时出现重复 - 添加
cleanPath在所有API调用中删除尾随斜杠的实用程序
1.1.0 - 2026-01-16
- 添加了压缩后的钩子,用于压缩后的上下文恢复
- 在CORE技能中添加了内存优先调试协议
- 预/后压实现在形成了一个完整的上下文保存管道
- 更新了架构图,显示了所有四个挂钩
1.0.0 - 2026-01-14
- 初始版本
- 记忆技能,包括回忆、保留、反思、管理银行工作流程
- 用于自动上下文捕获的会话保存挂钩
- 用于上下文加载的会话启动挂钩
- 双银行架构(项目与个人)
