前言¶
DeepSeek Harness(DSH)对话窗默认提供「对话」与「轨迹」两个视图。当会话中涉及大量文件产出或显式交付时,在聊天记录中检索特定文件容易遗漏或干扰。需要一种方式,能在不翻阅长对话的前提下,集中查看当前会话生成的所有文件清单。
它是什么¶
这是一个为 DSH 客户端提供的插件(类别:客户端,维护者:BlankTasftu,许可证:MIT)。它的核心作用是在 DSH 对话窗的「对话 / 轨迹」之外,追加一个「交付文件」视图。该视图汇总当前会话里全部显式交付(present)和文件产出(write / edit),生成一份可检索的文件库,每个会话对应一份独立的清单。
核心功能¶
该插件通过以下方式实现文件清单管理:
-
新增视图页签
安装后,对话窗顶部页签增加「交付文件」。视图区分为两栏:- 交付:仅汇总模型显式声明的最终文件(
present工具执行成功后的结果)。 - 产出:汇总
write/edit/str_replace_editor真正写出的文件。
- 交付:仅汇总模型显式声明的最终文件(
-
数据来源与范围
- 纯插件:不修改 DSH 本体,仅往
conversation.view座位追加一个新 id 的格子。 - 不读磁盘:清单完全由当前会话已载入的事件窗口折叠而来,不扫描工作区或读取日志文件。
- 会话作用域:视图跟随当前会话,切换会话即切换清单;空会话不渲染视图区。
- 纯插件:不修改 DSH 本体,仅往
-
交互与检索
- 预览:点击列表中的某一行,在右侧栏预览该文件(协议地址为
dsh-resource://file/session/...)。 - 复制路径:鼠标悬停在列表行时出现「复制路径」按钮,点击仅复制路径,不会连带打开预览。
- 搜索:支持搜索文件名、目录路径以及说明文本。
- 预览:点击列表中的某一行,在右侧栏预览该文件(协议地址为
安装与启用¶
在 DSH 的「设置 → 插件」安装入口中填入以下说明符:
github:BlankTasftu/dsh-delivery-library
插件管理器会将其写入 profile 的依赖与 bundles 清单,并通过 pnpm 安装。安装后刷新页面,页签即变为「对话 | 轨迹 | 交付文件」。
若需验证安装的完整性,可以在安装目录下运行以下命令(零依赖):
node --test "test/*.test.mjs"
典型用法¶
- 安装:在设置中填入插件安装说明符并完成安装。
- 查看:进入「交付文件」页签,默认展示「交付」与「产出」两个子页签。
- 检索:在搜索框输入文件名或路径,列表会实时过滤。
- 确认:点击某一行,右侧显示文件内容预览;悬停行显示「复制路径」按钮。
适用场景与注意¶
该插件适合需要在长会话中快速定位和管理模型生成文件的场景。
需要注意以下边界与限制:
- 加载范围:清单仅覆盖已载入的会话事件窗口。会话过长时,窗口可能只包含尾部数据,底部会出现「加载更早」按钮,点击可补齐历史数据。
- 文件状态:交付卡片打开的是当前文件内容,并非交付那一刻的快照。如果文件被删除,预览会报错。
- 无资源管理器:插件不提供「在资源管理器中显示」功能,这超出了插件的权限范围。
- 路径归一化:同一路径(如反斜杠、
./前缀、尾斜杠)会被合并显示,但不折叠大小写。 - 性能与崩溃:极长会话(数百个产出文件)列表会一次性渲染,没有虚拟滚动。客户端插件的
apply方法中任何未捕获的异常都会导致桌面端直接退出,因此插件代码需确保整体不可抛出。
总结¶
dsh-delivery-library 通过在 DSH 对话窗增加第三张视图卡片,为开发者提供了一种结构化、可检索的文件交付与产出管理方式。它不依赖磁盘扫描,完全基于会话事件窗口,适合追求清单清晰度与操作效率的开发场景。
项目地址:dsh-delivery-library