dsh-artifact-toolkit:给 DSH 会话产物加右键菜单

前言

在 DeepSeek Harness(DSH)里和 Agent 协作时,生成的文件会以「产物卡片」「已编辑文件卡片」或正文里的蓝色文件链接出现。要把文件发给同事、把路径粘回对话让 AI 继续改、或用系统默认程序打开,常见做法是点开卡片 → 侧边栏预览 → 另存或去资源管理器里找。步骤多,一轮对话里改了好几个文件时更明显。

dsh-artifact-toolkit 是社区维护的客户端插件,在这三类界面上增加自定义右键菜单,把「找到文件 → 拿到它 → 拿去用」尽量压成一次右键。下面介绍它做什么、怎么装、怎么用,以及平台和远程访问上的限制。

这是什么

  • 名称:dsh-artifact-toolkit(设置里显示为「产物右键菜单」)
  • 维护者:Windpixy
  • 分类:客户端(dsh.client,随 DSH 桌面会话加载)
  • 仓库:github.com/Windpixy/dsh-artifact-toolkit
  • 许可:MIT(package.json 版本 0.1.3)

插件只读取卡片上已有的 DOM 信息(如 title、aria-describedby 以及 data-presented-file、data-changed-files、data-ref-chip 等标记)来识别文件,不修改 DSH 官方组件;识别失败时退回浏览器原生右键,不报错、不破坏页面。

覆盖的三种界面

DSH 里文件引用有三种形态,插件分别适配。

产物卡片(present 交付的文件)

AI 主动交付的文件,卡片上有文件名和说明。右键整张卡片可出现全部 9 项菜单;若一行有多个产物,还会多出「复制全部」系列。

已编辑文件卡片

标题为「已编辑 N 个文件」、下列各文件路径。单文件时右键整张卡片;多文件时右键哪一行就操作哪个文件,并额外提供「复制全部」。左键点行的行为不变。

正文里的文件链接

蓝色带图标的小链接(行内引用)。右键该链接时菜单为 7 项(无「复制全部」)。若链接内部只记了显示名、没有完整路径,菜单会降级为只剩「复制文件名」并说明原因,不做目录猜测;此种情况下也不会出现「复制文件」。

菜单能做什么

分组 菜单项 说明
复制 复制文件 剪贴板得到文件本身(见兼容性)
复制 复制完整路径 整条路径,可贴到资源管理器地址栏
复制 复制短路径 相对当前项目目录,适合粘回对话给 AI
复制 复制文件名 仅文件名文本
复制 复制全部完整路径 / 文件名 / 文件 多文件卡片时批量操作
打开 打开所在文件夹 资源管理器打开并选中该文件
打开 用默认程序打开 系统默认应用打开
打开 在侧栏预览 等同左键点卡片

「复制文件」与「复制文件名」不同:前者粘贴后是文件,后者是一段文字。部分项带第二行说明,避免名称相近却结果不同、且选错时不会报错的情况。

复制成功后,交付卡片会在文件名下方显示绿底「已复制」标签;已编辑卡片单行或行内链接触发时,窗口底部约 1.4 秒的轻提示。失败时提示变红并说明步骤。「复制文件」较慢时会先显示灰底「正在复制…」。

键盘:菜单打开后可用 ↑ ↓、Enter、Esc 操作。

安装与启用

前置条件

已安装 DeepSeek Harness 桌面版,并有可用 profile(默认 desktop)。Node 引擎要求 >=20(见 package.json)。

推荐方式:npm / 插件名安装

dsh plugin add dsh-artifact-toolkit --profile desktop

也可以在 DSH 新会话里让 Agent 安装:说明要安装插件 dsh-artifact-toolkit,由 plugin_manager 完成安装与启用。

  1. 将插件目录放到本机路径,例如 D:\plugins\dsh-artifact-toolkit。
  2. 编辑 %USERPROFILE%\.dsh\profiles\desktop\package.json,在 dependencies 中加入 dsh-artifact-toolkit 的 link: 路径,并在 dsh.profile.bundles 中加入 dsh-artifact-toolkit。
  3. 在 %USERPROFILE%\.dsh\profiles\desktop\node_modules\ 下建立目录联接指向插件目录(README 提供 PowerShell 示例)。
  4. 重启 DSH。

确认

重启后右键一张产物卡片应弹出菜单;或在「设置 → 插件」中看到「产物右键菜单」。README 记载在 DSH 0.2.1-rc.5 上实测可用。

典型用法

目标 操作
拿到完整路径 右键卡片或链接 →「复制完整路径」
给 AI 可读的路径 右键 →「复制短路径」,粘回对话
用其他软件打开 右键 →「用默认程序打开」
在文件夹中定位 右键 →「打开所在文件夹」
一轮改的多个文件要路径 右键多文件卡片 →「复制全部完整路径」

适用场景与注意

适合谁:经常在 DSH 桌面版里处理产物、需要在微信/邮件里直接贴文件、或频繁把路径粘回对话的开发者。第三方依赖为零,仅使用 DSH 自带的 React。

平台与能力

项目 说明
平台 Windows / macOS / Linux;打开文件夹、默认程序打开需本机桌面环境
「复制文件」 目前仅 Windows;其它平台该项不出现,属预期行为
远程浏览器连 DSH 「打开所在文件夹」「用默认程序打开」「复制文件」不出现(作用于 Host 机器)

安全与权限:插件以当前 DSH 进程及其 Host 侧能力运行;「复制文件」在 Windows 上经 Host 起系统进程写剪贴板(README 提到需能调用 powershell.exe)。安装前可在 GitHub 查看 index.js、client.js 源码与 MIT 许可证。

设计取舍(README 明确):不做删除、重命名;正文链接无完整路径时不猜路径;每个失败动作会说明原因。

已知限制:依赖 DSH 卡片内部 data-* 标记,DSH 大改版可能导致右键失效(仅退回原生菜单)。「复制文件」写入的是路径引用而非文件副本,复制后若源文件被删,粘贴可能无效;复制前会检查文件存在。

结尾

dsh-artifact-toolkit 把会话里三类文件入口统一成一套右键操作,减少在预览、资源管理器和对话之间来回切换。社区目录页:skillhub.cn/plugins/Windpixy/dsh-artifact-toolkit;源码与完整说明:GitHub · Windpixy/dsh-artifact-toolkit。

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

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

小夜