dsh-notebook:给 DSH 的跨天纯文本笔记本

前言

在 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 的原子方式。

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,使用时值得记住:

  1. 删除不可撤销,删前用 note_list / note_search 确认行号;手工改文件会让物理行号变化。
  2. 每次操作全量读写文件,规模到几十万行会变慢。
  3. 明文 notes.md,权限随系统默认;同一台机器上共享 DSH_HOME 的 profile 共用同一文件,若要隔离可为 profile 单独设置 DSH_HOME。

结尾

dsh-notebook 用四个工具和一个 notes.md,把「跨天还要用」的短信息留在 DSH 旁边,不依赖外网、不引入 npm 依赖。若要安装或查 Issue,可从 SkillHub 目录页进入,或直接打开 GitHub 仓库:https://github.com/mllun/dsh-notebook。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜