作者:yunyu422 · 适用于 DeepSeek Harness(DSH)及任何支持
SKILL.md技能的 Agent 宿主
中文 | English
把 WorkBuddy 式的三层记忆机制带进 DeepSeek Harness:用户档案(永久)→ 工作区记忆(项目内)→ 自动学习画像。Agent 会话结束即忘,记忆系统让跨会话、跨项目的上下文真正沉淀下来。
📡 云同步(M1 已实现):插件 dsh-memory-sync 已可用——Git 后端 + 冲突合并 + 可选 E2E 加密,memory_sync_pull/push 融入会话例程。设计说明(M2 WebDAV/S3+加密 → M3 团队共享)。
| 层 | 文件 | 生命周期 | 作用 |
|---|---|---|---|
| L1 用户档案 | ${DSH_HOME}/memory/USER.md |
永久 | 工作 / 学校 / 专业 / 目标 / 活跃项目 / 关键决策 / 沟通偏好 |
| L2 工作区记忆 | <projectRoot>/.memory/logs/YYYY-MM-DD.md + <projectRoot>/.memory/MEMORY.md |
项目生命周期 | 每日日志(今天做了什么 / 结论)+ 长期项目约定 |
| L3 学习画像 | ${DSH_HOME}/memory/PREFERENCES.md |
自动累积、可衰减 | 从交互中自动学习的长期偏好,带证据与置信度 |
# 把技能目录复制到用户技能根(跨所有项目生效)
Copy-Item -Recurse .\skill\memory-system "$env:USERPROFILE\.dsh\skills\memory-system"也可以复制到单个项目的 <项目根>/.dsh/skills/,仅对该项目生效。DSH 的技能目录在每个请求步骤前热刷新,无需重启;下一个会话即可在技能目录中看到 memory-system。
- 自动:会话开始时 Agent 会自动读取三层记忆并套用偏好与约定;任务收尾时自动写当日日志并沉淀约定。
- 手动:直接说——
- "记住 <事实>" / "今天做了什么" / "项目约定" / "我有什么偏好" / "忘掉 <条目>" / "记忆状态"
memory-system/
├── SKILL.md # 主指令:会话起止例程、写层触发规则、不可违背规则
├── references/ # 各层细则(按需加载)
│ ├── user-profile.md # L1 结构与维护规则
│ ├── workspace-memory.md # L2 格式、轮转、裁剪
│ └── learned-preferences.md # L3 证据/置信度/提升/衰减与云同步
└── templates/ # 新文件创建模板
├── USER.md
├── MEMORY.md
├── PREFERENCES.md
└── daily-log.md
- 写层有触发规则,不是每轮都写:L1 只在用户明确陈述持久个人事实时写;L2 在任务收尾例程写;L3 采用"明确陈述 或 ≥2 次观察"的证据规则,防止把一次性选择误记为长期偏好。
- 隐私与安全内置:任何记忆文件不写凭据/密钥;L1 不整体重写、需用户确认;"忘掉 X"可移除指定条目。
- L3 云同步(可选):纯本地技能无法运行真实云后端,但可将
${DSH_HOME}/memory/接入 Git 私有仓库或云盘同步目录,获得跨机器"云端画像"效果(细则见references/learned-preferences.md)。 - 路径规则与 DSH 一致:
DSH_HOME默认~/.dsh;项目根取最近的.git祖先,无.git时取 cwd。
- 技能本体是标准
SKILL.md+ frontmatter(name/description/user-invocable: true),符合 DSHdsh-skill-filesystem的发现规范(<root>/<name>/SKILL.md,kebab-case 命名)。 - 记忆文件是纯 Markdown,任何工具链(Claude Code / Codex / Cursor 等)都可直接读取,方便迁移。
MIT