dsh-delivery-library:DSH 会话交付与产出文件库

前言

DeepSeek Harness(DSH)对话窗默认提供「对话」与「轨迹」两个视图。当会话中涉及大量文件产出或显式交付时,在聊天记录中检索特定文件容易遗漏或干扰。需要一种方式,能在不翻阅长对话的前提下,集中查看当前会话生成的所有文件清单。

它是什么

这是一个为 DSH 客户端提供的插件(类别:客户端,维护者:BlankTasftu,许可证:MIT)。它的核心作用是在 DSH 对话窗的「对话 / 轨迹」之外,追加一个「交付文件」视图。该视图汇总当前会话里全部显式交付(present)和文件产出(write / edit),生成一份可检索的文件库,每个会话对应一份独立的清单。

核心功能

该插件通过以下方式实现文件清单管理:

  1. 新增视图页签
    安装后,对话窗顶部页签增加「交付文件」。视图区分为两栏:

    • 交付:仅汇总模型显式声明的最终文件(present 工具执行成功后的结果)。
    • 产出:汇总 write / edit / str_replace_editor 真正写出的文件。
  2. 数据来源与范围

    • 纯插件:不修改 DSH 本体,仅往 conversation.view 座位追加一个新 id 的格子。
    • 不读磁盘:清单完全由当前会话已载入的事件窗口折叠而来,不扫描工作区或读取日志文件。
    • 会话作用域:视图跟随当前会话,切换会话即切换清单;空会话不渲染视图区。
  3. 交互与检索

    • 预览:点击列表中的某一行,在右侧栏预览该文件(协议地址为 dsh-resource://file/session/...)。
    • 复制路径:鼠标悬停在列表行时出现「复制路径」按钮,点击仅复制路径,不会连带打开预览。
    • 搜索:支持搜索文件名、目录路径以及说明文本。

安装与启用

在 DSH 的「设置 → 插件」安装入口中填入以下说明符:

github:BlankTasftu/dsh-delivery-library

插件管理器会将其写入 profile 的依赖与 bundles 清单,并通过 pnpm 安装。安装后刷新页面,页签即变为「对话 | 轨迹 | 交付文件」。

若需验证安装的完整性,可以在安装目录下运行以下命令(零依赖):

node --test "test/*.test.mjs"

典型用法

  1. 安装:在设置中填入插件安装说明符并完成安装。
  2. 查看:进入「交付文件」页签,默认展示「交付」与「产出」两个子页签。
  3. 检索:在搜索框输入文件名或路径,列表会实时过滤。
  4. 确认:点击某一行,右侧显示文件内容预览;悬停行显示「复制路径」按钮。

适用场景与注意

该插件适合需要在长会话中快速定位和管理模型生成文件的场景。

需要注意以下边界与限制:

  • 加载范围:清单仅覆盖已载入的会话事件窗口。会话过长时,窗口可能只包含尾部数据,底部会出现「加载更早」按钮,点击可补齐历史数据。
  • 文件状态:交付卡片打开的是当前文件内容,并非交付那一刻的快照。如果文件被删除,预览会报错。
  • 无资源管理器:插件不提供「在资源管理器中显示」功能,这超出了插件的权限范围。
  • 路径归一化:同一路径(如反斜杠、./ 前缀、尾斜杠)会被合并显示,但不折叠大小写。
  • 性能与崩溃:极长会话(数百个产出文件)列表会一次性渲染,没有虚拟滚动。客户端插件的 apply 方法中任何未捕获的异常都会导致桌面端直接退出,因此插件代码需确保整体不可抛出。

总结

dsh-delivery-library 通过在 DSH 对话窗增加第三张视图卡片,为开发者提供了一种结构化、可检索的文件交付与产出管理方式。它不依赖磁盘扫描,完全基于会话事件窗口,适合追求清单清晰度与操作效率的开发场景。

项目地址:dsh-delivery-library

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

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

小夜