XMemory
五个技能,一套两层的文件记忆。 用现有 AI 客户端保存重要变化、维护当前认识、积累有条件的经验,并在需要时找到原始依据。
当前正式版本 1.1.0:用户级集中记忆根分为记忆层和接续层,提供读取协议和定时提示词;三端包装保留,文件格式名为 xmemory/v1。研究 demo 仅提供设计参考,不属于正式版本线。插件本身只有技能和文档,没有运行期脚本、数据库、MCP、Hook、后台服务或额外模型 API,也不依赖 Git。
五个技能
| 技能 | 什么时候用 | 结果 |
|---|---|---|
xmemory-setup 设置 | 初始化、登记项目与来源、检查配置、接入客户端 | 配置与入口 |
xmemory-record 记录 | 记住偏好或纠正、记下决定、保存阶段交接 | 新建记忆文件或事件文件 |
xmemory-collect 采集 | 收集登记来源或点名资料中的变化 | 新建带地址的事件文件 |
xmemory-curate 整理 | 处理新事件、更新近况、提炼经验、合并、更正、忘记 | 除配置外唯一修改已有文件;定时运行只做记账类改动 |
xmemory-recall 调取 | 继续旧任务、查决定、找经验、回看一段时间 | 只读回答 |
无需记命令名,可直接说需求;重要任务在客户端技能选择器中显式选择。自然语言自动触发取决于宿主和模型,不作保证。
两层文件
用户级集中记忆根 ~/.agents/memory/
├── config.toml 项目、来源、写入策略
├── MEMORY.md 记忆层入口:常驻条目 + 索引
├── notes/ 记忆层:偏好、纠正、决定、坑、经验
├── CURRENT.md 接续层:现在做到哪
├── records/YYYY-MM/ 接续层:事件文件(只新建)与当日文件
├── BACKLOG.md 积压,需要时才建
├── WITHDRAWN.md 撤回墓碑,需要时才建
└── projects/<id>/ 各项目使用相同结构
这是用户主目录中的集中库,不是当前项目的 .agents/memory/。集中存储不意味着项目规则自动适用于其他项目,也无需给工作区创建软链接。记忆层不放任务状态和会话摘要;来源留在原处,事件文件只存摘要和地址。
同一台机器上的客户端共用该用户的记忆根。多台机器使用同一逻辑记忆库,各机器默认位置为 ~/.agents/memory/,通过用户选择的同步方式保持内容一致;相同路径不代表内容已经同步。
最短试用
先按 安装说明 安装,再在隔离测试目录试用:
- “设置 XMemory,在这个空目录初始化,登记 demo 项目;不接个人来源。”
- “给 demo 记录交接:代码已改,测试结果由当前输入提供,尚未部署,下一步验证部署。”
- “整理 demo,保留所有尚未完成的旧事项。”
- 在新任务或另一客户端中:“调取 demo 的交接,部署完成了吗?只读。”
预期能区分“报告测试通过”与本轮验证、区分“代码已改”与“已经部署”,并找到来源。完整案例见 最小闭环。长期使用时按安装说明接入 读取协议,需要时挂上 定时提示词。
边界
- 查询只读;默认明确请求才写,
capture = "milestone"时另在被纠正、做出决定和阶段交接时记录。 - 记录和采集只新建文件;除配置外,修改已有文件的只有整理,无人值守时判断类改动只写成待确认建议。
- 定时整理可以更新接续状态、处理登记和已声明关系的状态,不自行合并、改写或删除长期记忆正文;旧未完成项和待确认建议重写后保留或说明去向。
- 原生客户端记忆和既有 Office Memory 只读,不接管其格式。
- 无程序级并发锁或多文件事务;同一时间只在一处整理。
- 不自动读取所有历史、不监听目录、不创建定时任务、不同步设备;记忆内容不带设备特征。
- 个人或项目范围不是企业权限;经验不自动成为组织规则。
- 可追溯的摘要不是防篡改审计,人工接受不等于结果正确。
进一步阅读
许可证沿用仓库的 GNU GPL v3。插件发布、客户端安装和真实使用验收是不同阶段;本地包不代表已发布或已安装。