前言¶
在 DeepSeek Harness(DSH)里跑智能体,会话结束后 PDF、网页、Office、图片和文本往往散落在工作区或 present 记录里。要在资源管理器里翻目录、或在日志里找路径,既慢也容易漏。社区插件 dsh-recent-deliverables(维护者 FelixJiashengFu,MIT 许可证)提供一个可缩放、可收起的成品浮窗:合并「显式交付」与目录扫描结果,支持预览、重命名、批量移到系统废纸篓 / 回收站,以及按分类或目录整理。SkillHub 分类为客户端插件;仓库当前 GitHub 星标为 1。
这是什么¶
一句话定位:给 DSH Web 插件系统用的 Recent Deliverables(最近成品) 面板,README 描述为 Claude-style recent deliverables panel for DeepSeek Harness。
插件在宿主 Connection 鉴权围栏内注册 HTTP 路由,以当前 dsh 进程权限 读取、打开、重命名和移动文件;安装前建议自行查看源码与许可证。官方说明支持 Windows 与 macOS 的 DSH 桌面 / Web 插件;自动化测试覆盖 Windows、macOS、Linux,真实 DSH / 浏览器交互在 Mac 上验证。需要 Node.js 18.17.0+,依赖 trash 调用系统废纸篓 / 回收站。
核心功能¶
列表来源与排序¶
列表合并两类来源,按绝对路径去重,按修改时间从新到旧排列:
- 声明过的成品:读取内置
present工具写入的deliverables/presented事件,附带说明和来源会话。 - 工作目录中的文件:扫描已注册工作区、默认目录、可见会话目录和配置中的
extraRoots;默认扫描深度 5,跳过依赖、构建、隐藏目录和系统垃圾文件。
可用「交付」筛选只查看 agent 显式交付的成品。默认扫描范围内 没有 40 或 200 条显示上限;若设置 maxItems,declaredSlots 为交付文件保留席位,其余按修改时间填满。
浮窗交互¶
- 点击浮窗外自动收成小胶囊,原按钮或输入仍可用;四边四角可拖动调整展开尺寸,偏好保存在浏览器本机。
- 按分类 / 按目录 切换浏览;编辑分类与目录 打开独立胶囊式面板,偏好写入 DSH 数据目录的
recent-deliverables/organizer.json。 - 分类按扩展名自动识别 PDF、网页、文档等;可手动改显示名、顺序、规则。目录从工作区与会话目录自动发现,可暂停收集或补充绝对路径。
- 轻触文件名可内联重命名(改磁盘真实文件名,不覆盖同名;映射保存在
recent-deliverables/renames.json)。多选后批量移到废纸篓 / 回收站(只移动选中文件,不删目录;符号链接只移动链接本身)。 - 首批最多渲染 100 行,滚动或点「继续显示」追加;展开时约每 20 秒刷新列表元数据,预览时才读文件内容。HTML / SVG 预览在沙盒中。
外观与可选天气¶
左上角头像可切换中 / 英、文件时间显示、自定义卡通形象。标题栏可选 当前所在地时间 与 自动天气(默认关闭):天气通过 ipapi.co 估算城市、Open-Meteo 取天气,约每 20 分钟更新;关闭时不请求第三方。时钟跟随浏览器所在电脑时区,离线可用。
转发到 IM 助理(可选)¶
若已安装 @michengai/dsh-im-connect 并绑定聊天,可通过行尾纸飞机把文件经 IM 引擎的 present 链路发到聊天;该能力依赖 IM 助理插件,其余功能可独立使用。
HTTP 接口(节选)¶
| 路由 | 用途 |
|---|---|
GET /api/recent-deliverables.list |
列表、统计与操作令牌 |
GET /api/recent-deliverables.file?path=… |
允许范围内的文件内容 |
POST /api/recent-deliverables.rename |
同目录重命名 |
POST /api/recent-deliverables.delete-batch |
批量移到废纸篓(每请求最多 200 项) |
GET/POST /api/recent-deliverables.organizer |
整理偏好读写 |
读取与打开前解析真实路径并检查目录边界;.. 与符号链接不能绕过工作区限制。
安装与启用¶
从 GitHub Releases 下载 dsh-recent-deliverables-1.7.0.tgz。若 npm 尚未同步最新版,优先使用该发布包。
方式 A:DSH CLI 安装压缩包(将路径换成本机下载位置):
macOS / Linux:
dsh plugin --profile desktop add 'dsh-recent-deliverables@file:/绝对路径/dsh-recent-deliverables-1.7.0.tgz' --ignore-scripts --registry=https://registry.npmjs.org/
Windows PowerShell:
dsh plugin --profile desktop add 'dsh-recent-deliverables@file:C:/Users/你的用户名/Downloads/dsh-recent-deliverables-1.7.0.tgz' --ignore-scripts --registry=https://registry.npmjs.org/
--profile desktop 请换成当前使用的 profile;桌面版 CLI 可能需要应用内附带的 dsh 可执行文件。
方式 B:解压为本地目录后在图形界面添加
- 解压 tgz 到固定目录(内含
package/,可改名为dsh-recent-deliverables)。 - 在该目录执行
npm install --omit=dev --ignore-scripts。 - DSH → 设置 → 插件 → 添加插件,填写 包含 package.json 的文件夹绝对路径。
- 完全退出并重新打开 DSH。
也可用 link 形式:
dsh plugin --profile desktop add 'dsh-recent-deliverables@link:/绝对路径/dsh-recent-deliverables' --ignore-scripts --registry=https://registry.npmjs.org/
npm 已发布时可在设置里填 dsh-recent-deliverables@1.7.0,或:
dsh plugin --profile desktop add dsh-recent-deliverables@1.7.0
升级后同样需完全退出并重开 DSH,以便宿主路由与前端同时更新。验证:设置 → 插件中版本为 1.7.0,页面右上角出现成品浮窗。
配置¶
在 profile 的 cordis.patch.yml 里修改该 bundle 对应行(省略即用默认值):
| 键 | 默认 | 说明 |
|---|---|---|
maxItems |
0 |
0 表示不限条数 |
declaredSlots |
12 |
给「交付」文件保留的席位(0–200) |
maxSessions |
0 |
0 表示所有可见会话 |
maxSessionAgeDays |
0 |
限制 Session 活跃天数,0 为不限制 |
scanDepth |
5 |
目录扫描深度(0–20) |
maxScanFiles |
0 |
0 表示不限扫描条目 |
cacheMs |
15000 |
磁盘扫描结果缓存时间 |
includePresent |
true |
是否包含交付记录 |
includeFiles |
true |
是否包含文件扫描 |
extraRoots |
[] |
额外扫描的绝对路径 |
ignoreRoots |
[] |
不扫描的绝对路径 |
extensions |
内置清单 | 覆盖扫描扩展名,例如 [pdf, html, docx] |
关闭交付来源可设 includePresent: false。
典型用法¶
- 安装并重启 DSH 后,从页面右上角展开成品浮窗,确认列表中出现近期 PDF、文档或
present标记的交付项。 - 需要只看 Agent 主动交付时,使用「交付」筛选;需要按项目目录浏览时,切换到 按目录,必要时在 编辑分类与目录 里补充
extraRoots或暂停某个目录的收集,保存后生效。 - 双击文件或预览区查看内容;用 打开 / 定位 交给系统默认应用;长按垃圾桶拖选或多选后移到废纸篓整理工作区(可从系统废纸篓恢复,清空回收站后才释放磁盘空间)。
- 若同时使用 IM 助理,绑定聊天后可用转发按钮把成品发到指定会话(走
present链路,不改动原文件)。
适用场景与注意¶
适合:长期在 DSH 里产出文档、报表、网页快照的开发者,希望在一个浮窗里预览、改名、分类,并把误生成或过时文件移进系统废纸篓,而不是在多个会话目录间手动查找。
注意:
- 插件以 当前 dsh 进程权限 访问文件;扫描深度、扩展名与
ignoreRoots仍界定访问边界,安装前应阅读仓库源码与 MIT 许可证。 - 重命名与删除会改动磁盘;会话日志不被修改,失败时不会降级为永久删除。
- 开启自动天气会向 ipapi.co 与 Open-Meteo 发起请求;Open-Meteo 免费 API 限非商业用途,商业集成需按其条款配置。
- SkillHub 目录页(https://www.skillhub.cn/plugins/FelixJiashengFu/dsh-recent-deliverables)与 GitHub 为社区信息来源,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本介绍事实以仓库 README、INSTALL.md 与 package.json(当前版本 1.7.0)为准。
结尾¶
dsh-recent-deliverables 把 DSH 里的成品交付与工作区文件收到同一面板:可配置扫描范围、可编辑分类与目录,并在浏览器内完成预览与整理。进一步了解与下载:
- 目录页:https://www.skillhub.cn/plugins/FelixJiashengFu/dsh-recent-deliverables
- 仓库:https://github.com/FelixJiashengFu/dsh-recent-deliverables
- 最新发布包:https://github.com/FelixJiashengFu/dsh-recent-deliverables/releases/latest