FileChecker:为交付文件卡片增加「打开位置」按钮

前言

在 DeepSeek Harness(DSH)里,智能体通过 present 交付的报告、图片、视频或 Office 文档会出现在会话的交付文件卡片上。卡片本身可以预览文件,但若要在系统文件管理器中定位该文件,往往要先进入原生打开菜单,再选择「在文件夹中显示」一类操作。步骤不多,但在频繁核对生成物路径时仍会打断节奏。

FileChecker 是社区维护的 DSH 客户端插件,在每张 present 交付卡片上增加始终可见的 Open location(打开位置)按钮,一次点击即可在 Explorer、Finder 或 Linux 文件管理器中打开所在目录并选中文件。下面介绍其定位、能力与安装验证方式。

这是什么

插件不改变 DSH 的文件访问权限:点击按钮走的是 Host 已授权的 reveal 手势,不会在页面中暴露路径,也不会新增 Host 路由。

核心功能

每张 present 交付文件卡片右侧会出现一个操作按钮,具备四种状态:

状态 文案 说明
空闲 Open location 触发卡片已认证的 reveal 手势
进行中 Opening… Host 桌面端正在处理
成功 Located 约 2 秒后回到空闲
失败 Failed 约 5 秒后回到空闲;悬停可看到重试提示

其他行为(据 README):

  1. Host 报告无可用的原生桌面时按钮隐藏,避免在无桌面或远程部署上出现无效按钮。
  2. 点击按钮不会打开卡片的预览浮层。
  3. 样式跟随 DSH 明/暗主题(--dsw-alias-* 令牌)。
  4. 提供简体中文与英文文案。

实现上,浏览器侧向 @deepseek-ai/dsh-client-ui-deliverables 声明的 deliverables.file.actions 子槽注册一项;点击时调用槽内的 onAction('reveal'),向已授权路由发起请求,形态为:

POST /api/present.open?sessionId=…&seq=…&index=…&action=reveal

Host 侧包的 apply() 为空,仅用于挂载 bundle 并让客户端 manifest 发现 ./client。

安装与启用

npm 包名为 filechecker。README 注明在首次发布到 npm 之前,也可使用本地检出安装;日常推荐按包名安装。

命令行:

dsh plugin add filechecker

Web UI:

打开 Plugins → Add plugin,输入 filechecker 安装;若对话框提供 Enable now,一并启用。

本地路径(开发或尚未发布时):

将插件目录的绝对路径填入 Plugins → Add plugin,或执行:

dsh plugin add /absolute/path/to/file-checker

带 HMR 的 Profile 通常无需重启即可加载新 bundle;无 HMR 时可能需要重启 Profile。

安装插件前,建议自行查看 GitHub 仓库 源码与 MIT 许可证;插件随当前 DSH 进程与客户端环境运行,权限边界与所用 Profile 一致。

验证是否生效

  1. 打开任意包含交付文件卡片的会话(本会话或历史回合中由 present 产生的卡片均可)。
  2. 在文件名右侧应看到 Open location 按钮。
  3. 点击后,系统文件管理器应打开文件所在目录并选中该文件。

兼容性与限制

兼容性(README 写明):

  • 在 DSH 0.2.1-rc.2、Windows 11 上做过测试。
  • package.json 中 engines.dsh 为 >=0.2.1-rc.2 <0.3.0-0。
  • reveal 依赖 Host 的原生文件管理器集成,跨平台由 Host 负责;UI 在浏览器侧。
  • 需要受管的 DSH Profile;无原生桌面报告时按钮隐藏而非报错。
  • deliverables.file.actions 属于 ui-deliverables 的内部约定;若未来 DSH 更名或移除该槽,按钮会消失而非抛错,需插件跟进更新。

限制:

  • 仅作用于交付文件卡片;变更文件审查、右侧栏文档标题仍使用内置原生控件。
  • 不替换 DSH 原生打开菜单,而是在旁增加直达按钮。
  • 失败时按钮仅显示通用失败态,onAction 返回的 revealError 不区分缺文件与路径未映射等细节。
  • 不读取、不复制交付文件内容。

结尾

若你经常在 DSH 里核对智能体交付的文件是否落盘、或需要快速在资源管理器中打开生成物,FileChecker 把「在文件夹中显示」从菜单里提到卡片上的固定按钮,改动面集中在客户端 UI,不扩大文件访问面。

SkillHub 为社区插件目录站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态奉行「一切皆插件」,可按需从目录或 GitHub 获取并自行审阅后安装。

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

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

小夜