dsh-recent-deliverables:在 DSH 里集中查看与整理 Agent 成品

前言

在 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 调用系统废纸篓 / 回收站。

核心功能

列表来源与排序

列表合并两类来源,按绝对路径去重,按修改时间从新到旧排列:

  1. 声明过的成品:读取内置 present 工具写入的 deliverables/presented 事件,附带说明和来源会话。
  2. 工作目录中的文件:扫描已注册工作区、默认目录、可见会话目录和配置中的 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:解压为本地目录后在图形界面添加

  1. 解压 tgz 到固定目录(内含 package/,可改名为 dsh-recent-deliverables)。
  2. 在该目录执行 npm install --omit=dev --ignore-scripts。
  3. DSH → 设置 → 插件 → 添加插件,填写 包含 package.json 的文件夹绝对路径。
  4. 完全退出并重新打开 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。

典型用法

  1. 安装并重启 DSH 后,从页面右上角展开成品浮窗,确认列表中出现近期 PDF、文档或 present 标记的交付项。
  2. 需要只看 Agent 主动交付时,使用「交付」筛选;需要按项目目录浏览时,切换到 按目录,必要时在 编辑分类与目录 里补充 extraRoots 或暂停某个目录的收集,保存后生效。
  3. 双击文件或预览区查看内容;用 打开 / 定位 交给系统默认应用;长按垃圾桶拖选或多选后移到废纸篓整理工作区(可从系统废纸篓恢复,清空回收站后才释放磁盘空间)。
  4. 若同时使用 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
羽毛球分组比赛记分
小程序二维码

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

小夜