前言¶
在 DeepSeek Harness(DSH)里做多轮会话开发时,模型和工具会频繁读取、创建或修改工作区里的文件。会话结束后,往往很难仅凭记忆回答:这一轮到底碰过哪些文档、先改的是谁、和上一轮有没有重叠。翻聊天记录或重放工具输出既费时,也不便于按类型或时间做汇总。
下面介绍社区插件 dsh-doc-ledger(维护者 LuoShanHui,分类为「记忆」)。它在 DSH 右侧边栏增加 Doc ledger 标签页,按会话记录文档的使用与变更,并提供排序、分组、搜索、预览以及跨会话视图。插件以 MIT 许可证发布,当前 npm 版本为 0.4.0;运行环境要求 Windows,且已在 DSH >=0.2.0-rc.1 <0.3.0-0 上验证(README 标明其依赖宿主内部接口,属实验性范畴)。
这是什么¶
dsh-doc-ledger 是 DSH 的侧边栏插件:针对每个会话维护一份文档台账——记录该会话读过、创建或修改过哪些文档。界面支持中英文。除边栏插件外,仓库还提供静态报表命令 node tools/report.mjs,可在不安装插件的情况下生成 report.html 供本地阅读。
- 目录页:https://www.skillhub.cn/plugins/LuoShanHui/dsh-doc-ledger
- 源码与说明:https://github.com/LuoShanHui/dsh-doc-ledger
SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;安装方式以仓库 README 为准,而非笼统的「应用商店一键安装」。
核心功能¶
以下能力均来自仓库 README 的说明。
边栏 Doc ledger¶
在 cordis.patch.yml 中注册后,右侧边栏会出现 Doc ledger 标签。宿主侧提供页面路由,客户端仅挂载该标签。当前会话列表约每 8 秒静默刷新(无 loading、不重建整表);打开快速预览对话框时会暂停刷新。
列表按 Used(使用)与 Created / Modified(创建或修改)分区展示。支持按文档类型筛选、多词 AND 搜索、各分区独立排序(再次点击可反转方向),以及两种预览方式:交给 DSH 自带文档预览,或使用内置 Quick look 对话框(Esc 关闭)。上下文菜单中可「在侧边栏预览」「快速查看」,以及按扩展名列出系统已关联程序进行 Open with(含真实程序图标)。
除当前会话外,还可查看跨会话汇总(截图中的 “All sessions” 视图):类型 chip、展开各会话的 Used / Created / Modified 等。
静态报表(可选)¶
不装插件也可生成只读 HTML 报表:
node tools/report.mjs --limit 40
输出为 report.html(含真实路径,仓库已 gitignore)。双击本地打开即可浏览,适合离线归档或分享只读视图。
安全与边界(宿主侧)¶
插件挂在宿主提供的 loopback 端口上。README 强调:loopback 不等于安全,故宿主侧对 API 实施同源检查、仅限台账内路径访问文件相关接口、打开文件须 POST 等规则。使用前若关心数据暴露面,应阅读 README 中 Security model 全文。
已知限制包括:仅 Windows;依赖 sessionQuery、带 webServer 前缀的路由、bundle-patch 注入等宿主内部能力,宿主升级后插件可能需要跟随调整。
安装与启用¶
DSH 的 profile 即一个 pnpm 工程(~/.dsh/profiles/<profile>/ 下有 package.json、pnpm-lock.yaml 等)。启动时 Harness 会执行安装,并删除未在 dependencies 中声明的目录,因此不要把包手动拷进 node_modules/。
1. 声明依赖¶
在 ~/.dsh/profiles/<profile>/package.json 的 dependencies 中增加一行(#v0.4.0 固定版本,去掉 tag 则跟踪最新提交):
"dsh-doc-ledger": "github:LuoShanHui/dsh-doc-ledger#v0.4.0"
也可使用 npm 同源包(README 注明与 GitHub tag 代码一致):
"dsh-doc-ledger": "0.4.0"
需改源码或离线开发时,可改为本地路径:
"dsh-doc-ledger": "file:<path>/dsh-doc-ledger"
2. 用运行时自带的 pnpm 安装¶
<runtime> 为 DSH 运行时目录,<pnpm-store> 为已有 store 路径(须复用现有 store,否则 pnpm 可能清空整个 node_modules):
node <runtime>/dependencies/pnpm/bin/pnpm.mjs install `
--config.store-dir=<pnpm-store> `
--config.confirmModulesPurge=false
3. 注册侧边栏插件¶
在 ~/.dsh/profiles/<profile>/cordis.patch.yml 末尾追加:
# dsh-doc-ledger: per-session document ledger sidebar tab
- insert:
- id: doc-ledger
name: dsh-doc-ledger
config:
maxSessions: 40
debug: false
maxSessions 控制跨会话汇总中保留的会话数量上限;debug 为调试开关。
4. 重载页面¶
客户端 bundle 需重新注入。完成后右侧边栏应出现 Doc ledger 标签。
README 建议验证:例如 GET /doc-ledger/api/all?scope=all 返回 200 且含 sessions[];GET /doc-ledger/api/all?scope=current&session=<id>&timing=1 中 data.timings.total 通常在 20 ms 以内。切换 profile 时,将上述路径中的 profile 名替换为目标 profile 即可重复同样步骤。
典型用法¶
- 完成安装并重载后,打开右侧 Doc ledger,默认可见当前会话触及的文档;需要对比历史时切换到全量/跨会话视图。
- 用类型 chip 收窄列表,搜索框输入多个关键词(逻辑为 AND);某一区内打开排序菜单,按时间或名称排序。
- 在条目上右键:侧边栏预览、Quick look,或用 Open with 用本机已注册程序打开(仅台账内已记录路径受 API 保护)。
- 若只需一次性导出阅读,可在克隆或依赖安装后的仓库目录执行
node tools/report.mjs --limit 40,用浏览器打开生成的report.html。
适用场景与注意¶
适合谁:在 Windows 上使用 DSH 做长会话、多文件协作的开发者;希望快速回答「这一轮动过哪些文档」、或要在多个会话之间做文档维度的对照时,边栏台账比翻日志更直接。
环境与权限:插件随当前 DSH 进程以本机用户权限运行,API 在本机 loopback 上提供服务。安装前应阅读源码与 MIT 许可证,并结合 README 的 Security model、Known limitations 评估是否满足你的安全要求。
实验性声明:README 标明仅在特定 DSH 版本区间验证;宿主内部接口变更时插件需同步更新。非 Windows 环境目前不在支持范围内。
结尾¶
dsh-doc-ledger 把「会话 ↔ 文档」关系做成可检索、可预览、可跨会话汇总的台账,补的是 DSH 多轮开发里文档足迹不易回溯这一环。若你使用 Windows 且 profile 已在 0.2.0-rc.1 一带的 DSH 上运行,可按上文四步接入边栏;更多接口与数据模型见仓库 Reference 章节。