WorkBuddy 记忆机制

三层记忆架构 + 身份文件,理解 AI 如何「记住」你、哪些跟着你走、哪些留在本地。

三层架构总览
1
云端记忆
Cloud Memory
服务端维护,会话启动时自动注入。包含用户画像和历史对话索引。跨设备生效,AI 只读。
2
用户级本地记忆
User-level Local
存放在 ~/.workbuddy/ 下,跨项目通用。包含长期偏好、习惯、工具记录。AI 可读写,不自动跨设备。
3
工作空间记忆
Workspace Memory
存放在项目 .workbuddy/memory/ 下,仅当前项目。包含每日日志和策展笔记。AI 可读写,不自动跨设备。
第一层 · 云端记忆
☁️
A. 自动注入的用户画像

每次会话启动时,WorkBuddy 服务端会在系统提示中注入一个 <memory>...</memory> 块,内容是服务端根据你历史对话积累生成的用户画像摘要。

关键特性:

来源:服务端自动生成和维护,不是 AI 自己写的

注入方式:嵌入系统提示(system prompt),AI 能读到但不能修改

只读:系统明确要求「Do NOT modify locally」——本地修改会在下次会话被服务端覆盖

跨设备:✅ 在任何设备登录同一账号,服务端都会注入相同内容

缓存位置~/.workbuddy/memory/(仅缓存,非源数据)

内容结构:通常包含「工作背景」「个人背景」「当前关注」「近期动态」等分类

🔍
B. 历史对话检索

通过 conversation_search 工具,AI 可以搜索你的所有历史对话记录(服务端存储和排序)。

关键特性:

来源:服务端数据库,覆盖所有历史会话

触发场景:用户提及「之前讨论过」「上次说的」等历史引用时

限制:工具无法访问当前会话内容,查询必须是自包含的

跨设备:✅ 服务端数据,天然跨设备

适用场景:回溯特定决策、找回之前的方案讨论、确认历史事实

🔎
conversation_search 深入解读

典型调用时机:

场景示例
引用过去讨论「之前我们讨论过的 XX 方案是什么?」
回溯特定决策「上次我选了哪个技术栈?」
确认历史事实「我之前跟你说过我的城市吗?」
续接中断工作「继续昨天的任务」

服务端存储了什么?

内容类型是否存储说明
用户消息 + AI 回复(文本) ✅ 是 对话文本大概率完整保存
AI 思考过程(Chain of Thought) ❌ 否 思考过程是模型推理中间态,通常不作为对话记录存储。搜索返回的内容中从未出现过思考链
图片 ❌ 图片本身不存储 搜索结果是纯文本,从未返回过图片。图片可能以文件路径或文字描述形式存在于对话记录中
时间戳和元数据 ✅ 是 支持 start_date / end_date 过滤,相关性排序基本靠谱

核心局限——搜索 ≠ 回放:

• 返回的是摘要片段,不是逐字完整对话

• 能搜到「那次对话讨论了 XX」,但看不到当时的完整上下文

• 查询必须自包含——不能说「刚才提到的那个东西」,必须把上下文写进查询

• 相当于搜索引擎 vs 全文阅读的区别——帮你定位,不是帮你还原

子类型 存储 AI 权限 跨设备 用途
<memory> 画像 服务端 只读 AI 理解你是谁、你的偏好和背景
conversation_search 服务端 检索 回溯历史对话中的特定讨论
第二层 · 用户级本地记忆
👤
MEMORY.md(用户级)

文件路径:~/.workbuddy/MEMORY.md

作用域:所有项目通用——无论你在哪个工作空间,AI 都能读到同一份文件。

关键特性:

写入时机:用户明确要求「记住某事」且不属于特定项目时,AI 更新此文件

写入方式:原地编辑(Edit 工具),不是追加

限额:4,000 字符 / 每次会话

跨设备:❌ 本地文件,不自动同步

内容特点:精确的、必须严格遵守的规则(如编码规范、工具偏好),区别于服务端画像的模糊学习

第三层 · 工作空间记忆
📁
项目级记忆目录

目录路径:{workspace}/.workbuddy/memory/

作用域:仅当前项目——切换工作空间后 AI 看不到其他项目的记忆。

文件 路径 写入方式 限额 用途
YYYY-MM-DD.md .workbuddy/memory/2026-05-27.md 追加(Append-only) 每日工作日志:建了什么、改了什么、选了什么方案
MEMORY.md .workbuddy/memory/MEMORY.md 原地编辑(Edit) 3,000 字符/会话 策展的长期笔记:项目约定、技术决策、关键配置

维护规则:

• 每日日志是追加模式,绝不覆写已有内容

• 超过 30 天的日志应按主题蒸馏到 MEMORY.md,然后删除旧文件

• 不记录临时信息(搜索结果、临时路径、工具报错)

• 不存储密钥,除非用户明确要求

跨设备:❌ 本地文件,不自动同步

身份文件
🧠
SOUL.md / IDENTITY.md / USER.md

这三个文件定义了 AI 的「人格」和「对你的认知」,存放在 ~/.workbuddy/(用户级目录)。

文件 路径 定义内容 作用域 跨设备
SOUL.md ~/.workbuddy/SOUL.md AI 的人格、价值观、边界、语气风格 用户级 所有项目生效
IDENTITY.md ~/.workbuddy/IDENTITY.md AI 的名字、物种、属性、签名 emoji 用户级 所有项目生效
USER.md ~/.workbuddy/USER.md 用户的名字、城市、偏好、项目背景 用户级 所有项目生效

重要说明:

• 这三个文件只有放在 ~/.workbuddy/(用户级)才会生效,放在项目 .workbuddy/ 下会被忽略

• 它们是本地文件,不会自动跨设备同步

• 每次新会话开始时,AI 会读取这些文件作为「记忆」,但它们不等于服务端注入的 <memory> 块——两套系统独立运行

• 首次使用时,系统会创建 BOOTSTRAP.md 引导你和 AI 共同填写这些文件,完成后自动删除

其他本地数据
文件 路径 内容 跨设备
workbuddy.db ~/.workbuddy/workbuddy.db SQLite 数据库:自动化任务、运行状态、执行历史
mcp.json ~/.workbuddy/mcp.json MCP 服务器配置(连接器定义)
argv.json ~/.workbuddy/argv.json 启动参数配置
teams/ ~/.workbuddy/teams/ 团队协作配置文件
关键区分

☁️ 云端记忆(<memory> 块)

  • 存储在服务端
  • 服务端自动生成和更新
  • AI 只读,不能修改
  • 天然跨设备(同一账号即可)
  • 内容是用户画像摘要
  • 每次会话注入系统提示

💻 本地文件(SOUL.md 等)

  • 存储在本地文件系统
  • AI 在会话中写入
  • AI 可读写
  • 不自动跨设备
  • 内容是人格定义和精确规则
  • 每次会话从磁盘读取

一句话总结:服务端 <memory> 块是「服务器学到的关于你的摘要」,本地 SOUL.md 等是「你和 AI 共同定义的规则」——两套系统独立运行,互不依赖。

常见误解澄清:在 USER.md 里看到另一台电脑的记录,不是因为 WorkBuddy 自动同步了该文件,而是你曾经手动拷贝或云盘同步了 ~/.workbuddy/ 目录。

完整文件清单
文件 路径 层级 AI 权限 跨设备 写入方式
<memory> 画像 系统提示注入 云端 只读 服务端自动
conversation_search 服务端 API 云端 检索 服务端自动
MEMORY.md ~/.workbuddy/MEMORY.md 用户级 读写 原地编辑
SOUL.md ~/.workbuddy/SOUL.md 身份 读写 原地编辑
IDENTITY.md ~/.workbuddy/IDENTITY.md 身份 读写 原地编辑
USER.md ~/.workbuddy/USER.md 身份 读写 原地编辑
YYYY-MM-DD.md {项目}/.workbuddy/memory/ 工作空间 读写 追加
MEMORY.md {项目}/.workbuddy/memory/MEMORY.md 工作空间 读写 原地编辑
workbuddy.db ~/.workbuddy/workbuddy.db 用户级 通过工具 automation_update
跨设备迁移方案

如果需要在多台电脑间同步配置文件

目前只能手动操作,WorkBuddy 没有内置的本地配置云同步功能。

1
~/.workbuddy/ 整个目录加入云同步盘(OneDrive / 坚果云 / 百度网盘)
2
在新电脑上,将云同步盘的目录链接回 C:\Users\{用户名}\.workbuddy\
3
项目级 .workbuddy/memory/ 跟着项目仓库走(如果项目本身在 Git 管理下)
⚠️ 注意:workbuddy.db 包含本地路径记录,换电脑后路径不同需手动修正。两台电脑同时运行并同步同一目录,可能产生文件冲突。