前言¶
在 DeepSeek Harness(DSH)Web 界面中,点击会话里的文件链接通常调用 remote.session.openWorkspacePath。在无头主机或远程环境下,这会尝试调用系统的原生打开器(如 xdg-open),而浏览器无法执行此操作。dsh-files-pane 插件拦截了这一调用,在聊天界面内提供一个独立的“文件”视图标签,直接在浏览器中浏览和读取文件。
插件简介¶
名称:dsh-files-pane
维护者:liooil
定位:DSH 网页“文件”视图标签。它提供两栏目录导航,并支持就地阅读文件内容。该插件不改变主窗体布局,而是复用聊天窗口的 Markdown 与代码渲染器。
核心功能¶
- 文件作为会话视图标签
在“对话”和“轨迹”标签旁增加第三个标签页,全宽显示。该视图独立存在,不使用浮动窗口或侧边栏接管。 - 点击穿透
会话中的工具卡片、@path提及以及生成的文件引用点击后,会直接在此标签页打开,并自动选中该标签。 - 复用渲染器
文本内容通过聊天窗口自带的MarkdownText渲染,代码块使用自带的 Shiki 高亮,保证视觉一致性。 - 相对图片支持
支持 Markdown 中的相对图片语法(如),图片会从主机读取并渲染在 Markdown 文本旁。 - 两栏导航
左侧为父级目录,右侧为当前目录,支持快速切换,无需频繁返回上级。 - 可编辑路径
点击顶部的加粗文件名,输入路径并回车即可导航。支持~展开,输入文件路径显示内容,输入目录路径显示列表。
安装与启用¶
安装插件后需要重启 DSH 服务才能生效。
通过包管理器安装:
dsh plugin add dsh-files-pane
后续操作:
安装完成后,重启 DSH 服务。可以通过以下命令重启(具体方式取决于主机管理方式):
systemctl --user restart dsh
注意事项:
* 不要同时从两个来源挂载同一个包(例如既通过本地路径挂载,又通过包管理器安装),这会导致客户端模块扫描失败。
* 插件以当前 DSH 进程的权限运行,请确保安装前检查源码与许可证。
典型用法¶
- 打开文件:在对话中点击任意文件引用,插件会拦截调用并在“文件”标签页打开文件内容。
- 导航目录:在文件标签页顶部点击路径,输入新的目录路径(如
~/project/src)并按回车,即可跳转。
适用场景与限制¶
- 适用场景:在 DSH Web 界面中需要查看日志、代码或文档,且希望在浏览器内直接阅读,不希望弹出原生窗口。
- 限制:
- 单个文本文件读取上限为 400KB,图片上限为 4MB。
- 二进制文件会给出提示,不会在界面中直接 dump 内容。
- 插件采用纯 ESM,无构建步骤,无外部依赖。
生态与链接¶
该插件遵循 MIT 许可证。更多技术细节(如开发、布局结构)可参考其 GitHub 仓库。
- 目录页:https://www.skillhub.cn/plugins/liooil/dsh-files-pane
- GitHub 仓库:https://github.com/liooil/dsh-files-pane