名称: satori
描述: |
为 AI 会话提供持久化的长期记忆,确保跨不同服务提供方和代码生成工具之间的连续性。
触发条件 - 在以下情况激活此技能:
- 用户明确提及“satori”、“记住这个”、“保存”、“添加”、“稍后保存这个”、“存储这个”、“添加到记忆”
- 用户要求回忆/搜索过去的决定:“我们决定了什么”、“提醒我”、“搜索我的笔记”、“关于...我知道什么”
- 对话中包含值得持久保存的重要信息:决定、偏好、截止日期、名称、技术栈选择、战略方向
- 开始新对话时,主动检索上下文会有所帮助
- 当用户提问时,使用 Satori 搜索
Satori 可在不同的 AI 应用间持久保存重要信息。它将事实存储在向量数据库和知识图谱数据库中,以供后续检索。
适用于: Claude Code、Cursor、Windsurf 或任何具有本地终端访问权限的 AI 工具。
CLI 在首次运行时自动配置:
- 检查 ~/.config/satori/satori.json 中的 API 密钥和记忆 ID
- 如果文件不存在,则自动创建并配置新凭证
- 无需手动设置
保存事实:
npx -y @satori-sh/cli@latest add "<事实>"
搜索上下文:
npx -y @satori-sh/cli@latest search "<查询>"
在对话开始时,如果用户的消息表明现有上下文会有所帮助:
解析搜索结果:
CLI 返回 JSON。提取相关事实并将其用作上下文:
npx -y @satori-sh/cli search "Flamingo 项目技术栈"
# 返回包含匹配事实的 JSON - 解析并自然地融入
主动搜索的示例触发条件:
- “让我们继续处理 [项目]”
- “[某事] 的进展如何”
- 提及过去的决定但未提供完整上下文
- 项目名称、公司名称、人名
在自然的断点处保存:
- 决策讨论结束时
- 用户明确请求时(“记住这个”、“保存这个”)
- 确定具体偏好、名称、日期、截止日期后
- 建立重要的项目上下文时
详细标准请参阅 references/fact-criteria.md。
保存 - 值得持久保存的重要信息:
- 决定: “使用 PostgreSQL 作为数据库”
- 技术偏好: “用户更喜欢 Bun 而不是 Node”
- 名称/品牌: “公司名称是 Flamingo,他们生产粉色饼干”
- 日期/截止日期: “MVP 截止日期是 3 月 15 日”
- 架构选择: “采用事件溯源的微服务架构”
- 战略方向: “首先瞄准企业客户”
- 关键联系人: “Sarah 是设计负责人”
- 项目背景: “Satori 是一家 AI 记忆基础设施公司”
不保存 - 临时的、过于细碎的或显而易见的信息:
- 进行中的工作反馈:“配色方案需要改进”
- Claude 的解释或代码片段
- 临时的调试上下文
- 可从上下文中推导出的通用偏好
- 对话填充内容
批处理: API 支持批处理,因此较长的自然语言文本也可以:
npx -y @satori-sh/cli add "用户正在构建 Satori,一家 AI 记忆基础设施公司。技术栈:TypeScript、Bun、PostgreSQL。MVP 截止日期为 3 月 15 日。初期目标市场是开发者工具。"
如果 CLI 失败或未安装:
⚠️ Satori CLI 错误:[错误信息]
安装方法:npm install -g @satori-sh/cli
事实未保存。您希望我展示我尝试保存的内容吗?
将事实写成清晰、独立的陈述。包含上下文,以便在以后检索时能理解:
良好: “Satori 项目使用 PostgreSQL 作为主存储,使用 FalkorDB 作为知识图谱”
不佳: “使用 Postgres 和 FalkorDB”
良好: “用户在所有 JavaScript/TypeScript 项目中更倾向于使用 Bun 运行时而非 Node.js”
不佳: “Bun 而非 Node”