前言¶
在 DeepSeek Harness(DSH)里跑智能体,常见做法是往 system prompt 里堆规则,或依赖会话上下文「记住」上次说了什么。换工作区、换设备后,人格和长期事实往往要重写;inbox 里攒的碎片也不容易和正式记忆对齐。社区插件 dsh-whale-memory(维护者 Nukum1zuMeigu,分类:记忆)提供一套工作区内的纯 Markdown 结构:人格片段可注入提示词,长期记忆、日记、灵感、任务卡有固定目录,并在 1.3.0 起把检索与看图相关工具直接注册进 DSH,零额外依赖,装上即可用。
这是什么¶
dsh-whale-memory 给 DSH 做「记忆骨架」:模板只提供目录与约定,具体内容由使用者填写。插件不联网、不替模型发请求、不写会话事件;落盘失败时静默降级,不阻断对话。当前包版本为 1.4.0(MIT,peerDependencies 指向 @deepseek-ai/cordis ~4.0.5)。
核心能力¶
人格注入¶
每次组装提示词时,读取工作区 memory/persona/core.md 中 <!-- inject:begin --> 与 <!-- inject:end --> 之间的内容,挂成名为 whale-memory 的 systemPrompt section(默认 order: 9,靠前)。修改人格文件无需重启 DSH,下一个请求即生效。配置项 inject: false 时只落骨架、不注入。
落骨架(不覆盖已有文件)¶
工作区没有 memory/ 时,从包内 templates/ 复制一整套结构。已存在的文件一律不覆盖,只补缺失项。从 1.4.0 起模板仅为空骨架,不含作者私人日记或记忆;迁移时把旧机器的 memory/(及可选的 tasks/、inbox_files/)整目录拷贝到新工作区即可,插件仍只补缺。
典型目录包括:
templates/
├── AGENTS.md # 工作区尚无 AGENTS.md 时才落
└── memory/
├── README.md # 记忆宪法(v0.3.1)
├── AUTHORITY.md
├── persona/ # core(L0)/ user / context / changelog 等
├── long/ # facts / promises / lessons / topics / projects
├── diary/
├── inbox / archives / tombstones / health
└── scripts/mem.mjs # recall / render / doctor / note
另含 templates/memory/inspiration.md(灵感池)、templates/tasks/pending.md(任务卡)、templates/inbox_files/(共享文件目录)等(见 README 1.2.0 说明)。
做梦提醒(nudge)¶
若 inbox.md 仍有未整理条目,或日记长时间未更新,插件会在提示末尾追加一行状态说明,例如:
【记忆提示】inbox 还有 3 条没整理,最近一次动日记是 2 天前。
只读状态、不写文件;同一进程内默认至少间隔 60 分钟再提醒。可通过 nudge: false 关闭,或用 nudgeAfterHours、nudgeCooldownMinutes 调整阈值。
内置工具(1.3.0+)¶
无需单独 MCP。插件向 DSH 注册九个工具(配置 tools: false 可全部关闭,仅保留注入与落骨架):
| 工具 | 作用 |
|---|---|
whale_memory_note / whale_memory_recall |
写记忆收件箱 / 按关键词查长期记忆 |
whale_task_add / whale_task_list |
下任务卡 / 列出未完成 |
whale_inspiration_add / _list / _use |
灵感池:记录、列出未用、标记已用 |
whale_file_list / whale_file_read |
列出并读取 inbox_files/ 中文本 |
whale_image_view |
返回图片 path、尺寸、大小与说明;大图压缩、超长图分段为本地可读文件;看画面需对 path 再调 read_image |
1.3.1 起 whale_image_view 不再在工具结果中塞入 base64 图像,避免 DSH 组装 role:"tool" 消息时触发服务端结构错误。
安装与启用¶
DSH 生态采用「一切皆插件」;社区目录站点 SkillHub 插件页 与 DeepSeek / 幻方无官方从属关系,安装前建议自行查看源码与 MIT 许可证。
# 本地目录
dsh plugin --profile <profile> add link:/path/to/dsh-whale-memory
# 或者 git 仓库
dsh plugin --profile <profile> add github:<you>/dsh-whale-memory
装完即生效(application: applied),无需重启进程。
可选配置示例(字段均以 README 为准):
- id: whale-memory
name: dsh-whale-memory
config:
root: '' # 留空则 workingDirectory.defaultDirectory → 进程 cwd
order: 9
inject: true
nudge: true
nudgeAfterHours: 12
nudgeCooldownMinutes: 60
tools: false # 关闭全部工具,仅人格 + 骨架
典型用法¶
- 新工作区:安装插件后首次打开工作区,自动落下空骨架;在
persona/core.md的 inject 段写入希望模型稳定遵守的人格与边界。 - 日常记忆:用
whale_memory_note往 inbox 记一条,整理进long/或diary/;需要回忆时用whale_memory_recall按关键词检索。 - 任务与灵感:
whale_task_add/whale_task_list管理tasks/pending.md;灵感走whale_inspiration_*系列,避免重复找由头。 - 共享文件与图片:文本放
inbox_files/,用whale_file_list/whale_file_read;图片先whale_image_view拿处理后的path,再read_image看画面。 - 换设备:新机器安装插件;把旧工作区
memory/(或至少memory/persona/)拷贝过来,插件不会覆盖已有内容。
包内可用 node test.mjs 在临时目录验证落骨架、不覆盖与注入段读取(维护者 README 说明)。
适用场景与注意¶
适合:希望在单一工作区用 Markdown 管长期记忆与人格、且希望 DSH 自带检索/任务/灵感/文件工具链、不想再起独立 MCP 的开发者。
不适合或需知:
- 插件以当前 DSH 进程权限读写工作区;安装前应审阅 GitHub 仓库 源码。
- 不会改已有
AGENTS.md、不删文件、不覆盖已有记忆文件。 - 不做联网同步;跨设备靠目录拷贝,不是云备份产品。
结尾¶
dsh-whale-memory 把人格注入、Markdown 记忆目录、状态 nudge 与九项内置工具收在一个 DSH 插件里,模板自 1.4.0 起为空骨架,便于公开分发而不夹带私人内容。进一步了解可访问 SkillHub 目录页 与 GitHub:Nukum1zuMeigu/dsh-whale-memory。