长期记忆系统

OpenClacky 内置长期记忆系统。在足够复杂的会话结束后,Agent 会自动提取并保存关键知识,供未来会话使用——无需你重复提供上下文。

工作原理

会话结束时(任务经历了足够多的来回),Agent 会:

  1. 回顾本次会话讨论的内容
  2. 判断哪些知识值得持久保存
  3. ~/.clacky/memories/ 中创建或更新文件
  4. 将新信息与已有记忆智能合并

这一切自动发生,无需手动触发。


记忆文件

记忆存储在 ~/.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 随时间积累的跨会话知识。