长期记忆系统
OpenClacky 内置长期记忆系统。在足够复杂的会话结束后,Agent 会自动提取并保存关键知识,供未来会话使用——无需你重复提供上下文。
工作原理
会话结束时(任务经历了足够多的来回),Agent 会:
- 回顾本次会话讨论的内容
- 判断哪些知识值得持久保存
- 在
~/.clacky/memories/中创建或更新文件 - 将新信息与已有记忆智能合并
这一切自动发生,无需手动触发。
记忆文件
记忆存储在 ~/.clacky/memories/,每个文件对应一个主题:
~/.clacky/memories/
openclacky-product.md # 产品决策、架构
my-project.md # 项目相关上下文
user-preferences.md # 你的偏好习惯
每个文件有 YAML 头部:
---
topic: my-project
description: Rails 应用架构、规范、关键决策
updated_at: 2026-03-17
---
# 我的项目
## 架构
...
description 字段是 Agent 决定加载哪些文件时的依据——扫描描述,按需加载,不是全量读取。
调用记忆
内置 Skill recall-memory 按需检索相关记忆,在 Agent 遇到有历史上下文的话题时自动触发。
你也可以显式触发:
回忆一下我们之前对认证系统做的决策
该 Skill 只读取与当前话题相关的文件,不是全部记忆——快速且精准。
什么会被记住
Agent 优先记录:
- 关键决策 — 架构选择、权衡取舍、某件事为何这样做
- 项目上下文 — 技术栈、模式、领域模型
- 用户偏好 — 你喜欢的代码风格、沟通方式
- 纠错内容 — Agent 出错后被纠正的地方
不会存储的内容:
- 逐步的任务执行日志
- 无关紧要的对话
- 已经在 .clackyrules 中的内容
管理记忆
记忆文件是普通 Markdown,可以直接读取、编辑或删除:
ls ~/.clacky/memories/
cat ~/.clacky/memories/my-project.md
rm ~/.clacky/memories/outdated-topic.md
清空所有记忆:
rm -rf ~/.clacky/memories/
记忆 vs. .clackyrules
.clackyrules |
记忆文件 | |
|---|---|---|
| 由谁写 | 你 | Agent(自动) |
| 范围 | 当前项目 | 全局(所有项目) |
| 内容 | 项目规则、命令 | 决策、上下文、偏好 |
| 更新方式 | 手动 | 复杂会话结束后自动 |
.clackyrules 用于项目专属指令;记忆文件是 Agent 随时间积累的跨会话知识。