DeepSeek Harness (DSH) 工作区文件浏览器插件介绍

前言

在 DeepSeek Harness (DSH) 的 Web GUI 环境中开发智能体时,开发者往往需要查看当前会话工作区(cwd)内的文件上下文。原生界面缺乏直接的文件树浏览能力,需要依赖外部终端或文件管理器。dsh-workspace-files-explorer 插件为 DSH Web GUI 补充了这一功能,通过一个浮层面板提供文件树浏览与预览能力。

核心功能

该插件主要包含以下功能:

  1. 浮层面板与交互

    • 面板注册在 shell.overlay,默认停靠在右上角。
    • 支持拖拽标题栏移动面板,拖拽右下角调整大小(尺寸范围 400-1400x280-900)。
    • 提供关闭与刷新按钮。
    • 在会话标题栏动作区注册“工作区文件”按钮,用于切换面板显隐。
  2. 文件树展示

    • 支持目录优先排序、懒加载展开。
    • 隐藏文件(点开头文件)会淡化显示。
    • 显示文件大小。
    • 单目录超过 500 项时会显示截断提示,并提供一键刷新。
  3. 预览能力

    • 代码预览:支持 30+ 种语言(如 JS/TS/Python/Go/Rust 等),带有行号、轻量级语法高亮。主题随系统深浅色自动适配。超长文件会被截断。
    • Markdown 预览:支持渲染标题、列表、表格、引用、链接、代码块。渲染前会对 HTML 进行转义,链接仅允许 http/https 协议并强制添加 rel="noopener noreferrer"。

安装与启用

推荐使用安装方式以获得持久化体验。

dsh plugin --profile web add github:YZz-S/dsh-workspace-files-explorer

安装后,插件会自动生效,“工作区文件”按钮将出现在会话标题栏动作区。

若需临时测试,也可以使用动态加载方式。在 dsh Web GUI 会话中调用 cordis_define,将 host.js 内容粘贴为 code.host,将 client.js 内容粘贴为 code.client,随后调用 cordis_run 激活。

注意事项

  • 权限与安全:插件仅读取当前会话工作区内的文件和目录列表,不发起外部网络请求,不执行文件写入,不收集遥测数据。所有路径访问均需通过 fs.contains 验证。渲染内容前会对 HTML 进行转义,防止 XSS 注入。
  • 文件限制:二进制文件或文本超过 256 KB 时仅显示提示,无法预览。语法高亮为内置轻量级实现,非完整的语义高亮。
  • 会话依赖:面板默认跟随当前会话,切换会话时工作区根目录会自动重置。
  • 动态插件限制:通过 cordis_define 加载的动态插件仅存活于当前进程。重启 DSH 后需重新运行定义命令才能使用。

总结

该插件为 DSH Web 开发者提供了一个轻量、安全的本地文件浏览方案,通过浮层面板和会话绑定,能够快速定位并预览当前上下文文件,辅助代码调试与智能体开发。

  • GitHub: https://github.com/YZz-S/dsh-workspace-files-explorer
  • DSH 插件目录: https://www.skillhub.cn/plugins/YZz-S/dsh-workspace-files-explorer
羽毛球分组比赛记分
小程序二维码

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

小夜