前言¶
在 DeepSeek Harness(DSH)里跑 agent,会话会结束、进程会重启,但有些信息需要「过几天还能翻到」:项目约定、待办、配置片段、某次决定的简短理由。把这些塞进系统提示或临时对话里,既占上下文,也不方便检索;单独起一个笔记应用,又和 agent 的工作流脱节。
下面介绍社区插件 dsh-notebook(维护者 mllun):在 DSH 里注册四条工具,把笔记追加、列出、搜索、按行删除,全部落在本机一个 UTF-8 文件 notes.md 里,跨会话、跨重启保留。它在 SkillHub 目录中归类为「记忆」;当前公开版本为 1.0.0(MIT),GitHub 星标为 0。它不是知识库,也不做全文索引——几千条以内最顺手。
这是什么¶
dsh-notebook 是面向 DeepSeek Harness 的持久化笔记本插件:agent 通过工具读写 $DSH_HOME/dsh-notebook/notes.md(未设置 DSH_HOME 时默认为 ~/.dsh/dsh-notebook/notes.md)。实现上零第三方依赖,只用 Node 内置模块;同一进程内读写串行排队,写入采用临时文件加 rename 的原子方式。
- 目录页:https://www.skillhub.cn/plugins/mllun/dsh-notebook
- 仓库与问题反馈:https://github.com/mllun/dsh-notebook
DSH 生态强调「一切皆插件」;SkillHub 等社区目录独立于 DeepSeek / 幻方,并非官方应用商店。安装前建议自行查看仓库源码与许可证,并记住插件以当前 DSH 进程权限运行,笔记为明文存储,不宜写入密钥或令牌。
核心功能¶
插件向 Host 注册四个工具,读写同一文件;每行格式固定为:
ISO时间 | tag | 内容
示例:
2026-10-21T00:23:40.123Z | 生活 | 记住买牛奶
2026-10-21T00:25:01.456Z | - | 没有标签的笔记
| 工具 | 作用 |
|---|---|
note_add(content, tag?) |
追加一条笔记并返回行号;content 与 tag 都与已有条目完全一致时跳过写入 |
note_list(limit?) |
列出最近笔记(默认 20 条,上限 200),带物理行号 |
note_search(query, limit?) |
大小写不敏感的子串检索,匹配内容与 tag |
note_delete(index) |
按从 1 开始的物理行号删除;越界或删空行时返回可读错误且不改动文件 |
note_add 要点:content 单行、去首尾空白,最多 200 个 Unicode 字符(超长或为空会报错,不截断);换行会被压成空格。可选 tag 省略或全空白时记为 -;标签内的 | 会替换为全角 |。时间戳为写入时刻的 UTC ISO 时间(带 Z)。
没有 note_edit:要改一条,需先 note_delete 再 note_add。需要 Node >= 20,且 DSH 需提供 tools 服务(README 写明在 0.2.x 桌面版验证通过)。
安装与启用¶
README 推荐从源码以本地 bundle 安装:先取得仓库目录,再让 agent 或通过插件管理器执行 install_bundle。
在终端克隆仓库(安装命令以 README 为准):
git clone https://github.com/mllun/dsh-notebook.git
在 DSH 中安装该目录为 bundle(将 <克隆下来的目录绝对路径> 换成实际路径):
plugin_manager action: install_bundle target: <克隆下来的目录绝对路径>
本地链接安装后,改源码可热更新;已加载模块有时需重启 DSH 才会换到新一代。README 不推荐手改 profile 的 package.json / cordis.patch.yml,容易漏步骤。
安装后可用自然语言让 agent「记一下」「列最近笔记」「搜关键词」,或直接查看数据文件:
cat "$DSH_HOME/dsh-notebook/notes.md"
升级:git pull 后重装或重启 DSH。卸载:在插件管理器移除 @local/dsh-notebook bundle;卸载不会删除 notes.md。
典型用法¶
追加与标签(同样正文、不同 tag 会各存一条):
用户:记一下,DSH 的插件数据目录在 $DSH_HOME 下,别写死路径。
助手:(调用 note_add)
已追加到第 1 行,当前共 1 条。
用户:把刚才那条加上标签「DSH」
助手:(note_add 会当成新的一条,因为 tag 不同)
已追加到第 2 行,当前共 2 条。
查看与清理:
用户:列一下最近的 5 条
助手:(note_list limit=5)
用户:搜一下「数据目录」
助手:(note_search query="数据目录")→ #1 ...
用户:删掉第 1 条
助手:(note_delete index=1)
已删除第 1 行,当前共 1 条。
备份与迁移:复制 notes.md 即可;也可用同步盘或私有 Git 管理该文件,但应避免两个 DSH 实例或「DSH + 手工编辑」同时写同一文件(插件无跨进程锁)。
适用场景与注意¶
适合:需要 agent 在长期任务里记住零碎、可检索的短笔记——待办、命名约定、路径习惯、决策一句理由等。
不适合或需克制:长文(单条 200 字硬上限)、敏感秘密、需要版本历史的知识库、多 agent 各自私有的日记(同一 DSH 进程内所有会话与子 agent 共享同一本笔记)。
其他限制来自 README,使用时值得记住:
- 删除不可撤销,删前用
note_list/note_search确认行号;手工改文件会让物理行号变化。 - 每次操作全量读写文件,规模到几十万行会变慢。
- 明文
notes.md,权限随系统默认;同一台机器上共享DSH_HOME的 profile 共用同一文件,若要隔离可为 profile 单独设置DSH_HOME。
结尾¶
dsh-notebook 用四个工具和一个 notes.md,把「跨天还要用」的短信息留在 DSH 旁边,不依赖外网、不引入 npm 依赖。若要安装或查 Issue,可从 SkillHub 目录页进入,或直接打开 GitHub 仓库:https://github.com/mllun/dsh-notebook。