dsh-doc-ledger:为 DSH 会话建立文档台账

前言

在 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 供本地阅读。

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 即可重复同样步骤。

典型用法

  1. 完成安装并重载后,打开右侧 Doc ledger,默认可见当前会话触及的文档;需要对比历史时切换到全量/跨会话视图。
  2. 用类型 chip 收窄列表,搜索框输入多个关键词(逻辑为 AND);某一区内打开排序菜单,按时间或名称排序。
  3. 在条目上右键:侧边栏预览、Quick look,或用 Open with 用本机已注册程序打开(仅台账内已记录路径受 API 保护)。
  4. 若只需一次性导出阅读,可在克隆或依赖安装后的仓库目录执行 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 章节。

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

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

Xiaoye