DeepSeek Harness Hub
← 返回列表

flyhigao/dsh-produced-file-paths

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

独立的 DSH Web 插件:在 DSH 内置的“产物”文件行下面显示本轮生成/修改文件的绝对路径,并提供:

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/31 · 已提供中文文档

DSH Web 插件,用于显示并复制所生成文件的绝对路径

综合分
29
GitHub 分
29
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add flyhigao/dsh-produced-file-paths
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/17(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-produced-file-paths

English

独立的 DSH Web 插件:在 DSH 内置的“产物”文件行下面显示本轮生成/修改文件的绝对路径,并提供:

- 单个文件路径复制;
- 一键复制全部文件路径(每行一个);
- 路径文本可直接选中复制。

为什么需要这个插件?

DSH 的远程 Web 界面会把本轮生成或修改的文件显示为可点击的文件项,但这些文件项本质上是由前端 JavaScript 处理的按钮,并不是带有 href 的普通链接。因此在远程访问时会遇到几个实际问题:

- 无法右键复制链接地址;
- 页面上不容易直接看到文件的完整绝对路径;
- 远程 Web 所在的 Host 通常没有可用的桌面程序,点击文件项不一定能打开文件;
- 用户需要把文件路径复制到 SSH、终端、编辑器或其他工具中继续处理。

这个插件不试图把远程 Host 文件伪装成浏览器 URL,也不新增文件下载服务。它直接复用 DSH 已经识别出的本轮产物文件列表,在界面中显示对应的绝对路径,并提供复制按钮。这样既保留 DSH 原有的文件打开行为,也为远程 Web 场景补上“看得到、复制得到文件路径”的能力。

界面效果

下面是插件在 DSH 远程 Web 界面中的实际效果:
文件路径复制插件界面

功能

- 在 DSH 内置“产物”文件行下方显示本轮生成/修改文件的绝对路径;
- 单个文件路径复制;
- 一键复制全部文件路径(每行一个);
- 路径文本可直接选中复制;
- 只读取 DSH 已经识别出的 produced-file 列表,不修改文件;
- 不增加文件下载接口;
- 不修改 dsh-sticky-notes。

兼容性

- 支持 DSH 0.1.0-rc.6、0.1.0-rc.8、0.1.1-rc.2、0.1.2-alpha.2 及更高版本。
- 零外部运行时依赖,不依赖已被废弃的 dsh-client-runtime。
- 使用 DSH 标准插槽 conversation.chat.turnTail 注入,与内置产物行共存。

安装

直接通过 DSH 插件管理命令从 GitHub 安装:

dsh plugin --profile web add github:flyhigao/dsh-produced-file-paths

安装完成后重启 dsh web,然后硬刷新远程 Web 页面(Ctrl+Shift+R)。

本地开发

如果要使用本地源码开发,可以改用本地目录安装:

dsh plugin --profile web add file:/path/to/dsh-produced-file-paths

修改客户端代码后刷新页面;修改服务端入口或插件组合后重启 dsh web。

路径语义与安全边界

插件复制的是 DSH 当前 Session 工作区下的绝对文件系统路径,不是浏览器 URL,也不是 file:// 链接。例如:

/home/gao/dsh/reports/summary.md

路径来自 DSH 的 produced-file 数据,并由当前 Session 的工作区目录解析相对路径。插件只读取和展示这些路径,不接受用户输入的路径,不扫描工作区,也不读取文件内容。

因此,复制路径本身不会增加新的文件访问权限;能否访问文件仍由 SSH、终端、编辑器或其他实际使用该路径的工具决定。

升级后或看不到路径时的排查

如果安装后没有看到复制入口,按下面顺序检查:

1. 确认插件安装在 Web profile,而不是其他 profile:

dsh plugin --profile web add github:flyhigao/dsh-produced-file-paths

2. 重启 dsh web,因为 cordis.patch.yml 和浏览器插件清单在启动时组合。
3. 在浏览器执行硬刷新(Ctrl+Shift+R),清除旧的 client bundle 缓存。
4. 先确认 DSH 内置的“产物”文件行正常出现。插件只显示 DSH 已识别的 produced-file;如果该行没有文件,插件也不会凭空猜测路径。
5. 如果只修改了本地源码,删除 profile 中旧的插件副本后重新安装:

cd ~/.dsh/profiles/web
rm -rf node_modules/dsh-produced-file-paths
pnpm install

远程 Web 页面没有桌面文件打开器并不影响路径复制;该功能只依赖浏览器剪贴板和当前 Session 的路径数据。

开发与发布检查

这是一个手工维护的轻量插件,不需要额外构建工具。浏览器 bundle 位于 client/client.js,服务端入口位于 lib/index.js。

提交前可以执行:

node --check client/client.js
node --check lib/index.js
npm pack --dry-run
tar -tzf dsh-produced-file-paths-*.tgz

发布包必须包含 lib/、lib/types/、client/、assets/、cordis.patch.yml 和双语 README。插件的 dsh.bundle 声明与根目录的 cordis.patch.yml 是通过 DSH 插件管理命令安装和提交插件市场所必需的组合入口。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群