在 DeepSeek Harness (DSH) 的插件生态中,开发者常需要在对话流与外部工具之间切换。DSH 采用插件化架构,插件 dsh-notes 旨在解决这一痛点。它提供一个常驻在侧栏与对话区之间的全高竖栏,作为轻量级笔记与待办工具,支持全局与工作区两种作用域,且数据持久化。
功能特性¶
该插件在侧栏与对话区之间占据常驻竖栏(顶栏之下全高),并提供以下能力:
- 常驻会话卡片:上半部分为独立对话区,支持消息列表、流式显示、发送/停止,以及预设与模型配置。该卡片独立于任何工作区,状态保存在
~/.dsh/session-card.json。 - 上下分区:分隔条可拖拽调整会话卡片与小计的比例,比例持久化。
- 作用域支持:
- 全局小记:不分工作区,跟随用户。
- 工作区小记:以工作区为单位隔离,跟随当前工作区。
- 待办区:支持分点添加、勾选/取消、双击打开详情卡片(标题+描述)、删除、清空已完成、置顶、拖拽排序、撤销删除(5秒内)。
- 随记区:自由多行文本,支持防抖输入与失焦自动保存。
- Agent 隔离:小计内容对模型完全不可见。数据仅存于独立存储域,不注册任何模型工具,不进提示词,不写会话日志。常驻会话是独立聊天通道,与 notes.json 互不相通。
- 持久化:数据落盘至
~/.dsh/storages/notes.json。 - 主题适配:仅使用 DSH 语义令牌(
--dsw-alias-*),自动适配明暗主题。
安装与启用¶
- 执行安装命令:
dsh plugin --profile web add github:ErrorLst/dsh-notes
- 安装后必须重启 DSH 进程以使插件生效。
数据位置与持久化¶
小记数据走 DSH 存储域 + JSON 后端链路,文件位于 ~/.dsh/storages/notes.json。
对话消息日志位于 ~/.dsh/sessions/ 目录下。注意:旧文档(v0.7.16 及以前)记载的路径(如 ~/.dsh/sessions/<cwd>/<sessionId>/session.jsonl.zstd)已废弃。真实布局为:
<root>/<projectKey(cwd)>/<encodeSegment(sessionId)>/session.v3.jsonl.zstd
其中 <root> 默认为 ~/.dsh/sessions。目录名由编码后的安全段组成,不是原始的 cwd 或 sessionId。当前日志格式代次为 v3。
开发与调试¶
若需本地开发或修改源码:
git clone https://github.com/ErrorLst/dsh-notes
cd dsh-notes
pnpm install
pnpm build
dsh plugin --profile web add .
dsh web
修改 src/ 后执行 pnpm build,客户端改动刷新浏览器即可,Host 改动需重启 DSH。