前言¶
在 DSH Web 里查看交付文件,默认行为是在浏览器内打开。如果文件是代码、文档或设计稿,直接用本机默认程序打开会更顺手。这个插件把 DSH Web 里两类文件卡片的主点击从「浏览器内查看」改成「用本机默认程序打开」,同时保留原有的浏览器内入口。它不修改 deepseek-harness 的任何源码,通过 hook 事件和调用 Remote 接口实现。
这是什么¶
dsh-delivery-native-open 是一个客户端插件,由维护者 otvaket 提供。它主要解决两个问题:一是让交付卡片和改动文件卡片的点击行为更符合本地工作流;二是保持原有的侧栏预览和对照功能不变,不破坏现有操作习惯。
核心功能¶
插件覆盖两类文件卡片:
- 交付卡片:点击卡片主体,用本机默认程序打开该文件。卡片右侧会显示一个侧栏预览按钮,用于在右侧栏 Web 预览。
- 改动文件卡片:点击文件行或单文件头部,用本机默认程序打开该文件。展开/收起等控件不受影响。
交互细节如下:
- 点击交付卡片主体 → 用本机默认程序打开该文件
- 点击交付卡片右侧的侧栏预览按钮 → 在右侧栏 Web 预览
- 点击改动文件卡片的一行 / 单文件头部 → 用本机默认程序打开该文件
Alt/Ctrl/Cmd/Shift+ 点击上述任一位置 → 保持原生行为(交付卡片进 Sidebar 预览,改动文件卡片进 review 对照)- 卡片右侧的打开控件、展开/收起按钮 → 不变
- Host 没有桌面(远程、容器)→ 不拦截,点击仍是原生行为,且不显示预览按钮
- 打开失败(路径无法映射到本机)→ 自动回放原生点击,退化为原来的浏览器内行为
安装与启用¶
使用官方安装命令:
dsh plugin --profile web add https://github.com/otvaket/dsh-delivery-native-open
开发期用本地链接安装:
cd ~/.dsh/profiles/web
pnpm add link:<本目录绝对路径>
dsh.bundle.patch 会在插件行上生效,不要再往 profile 的 cordis.patch.yml 手动 insert 同一行(重复 id 会让 loader 崩)。装好后重启 dsh web,浏览器硬刷新。
卸载:
cd ~/.dsh/profiles/web && pnpm remove dsh-delivery-native-open
典型用法¶
- 安装插件后重启
dsh web。 - 在交付卡片上点击主体,文件会在本机默认程序中打开。
- 需要在侧栏查看时,点击卡片右侧的预览按钮。
- 对改动文件卡片,直接点击文件行或头部即可打开,按住修饰键则进入对照视图。
- 若 Host 无法映射路径(如远程、容器或文件已移动),点击会回退到浏览器内查看。
适用场景与注意¶
适合需要频繁在本地编辑器或设计工具中打开交付文件的智能体开发者。插件以当前 dsh 进程权限运行,安装前应检查源码与许可证(MIT)。注意路径映射依赖 Host 能力,文件在工作区之外或被移动/删除时会失败,此时会回退到原生行为。
结尾¶
这个插件通过不修改 deepseek-harness 源码的方式,让交付和改动文件卡片的主点击更贴近本地工作流,同时保留了侧栏预览和对照功能。更多细节可查看插件目录页与 GitHub 仓库。