dsh-workspace-view:DSH Web 界面的文件树抽屉插件

DeepSeek Harness(DSH)的 Web GUI 提供了强大的交互能力,但在文件浏览方面往往需要依赖外部工具。开发者经常需要在界面中直接查看当前工作区的目录结构。dsh-workspace-view 旨在解决这个问题,它是一个面向 DSH Web GUI 的工作区文件浏览插件。

插件介绍

dsh-workspace-view 是一个 DSH workspace file-tree drawer 插件,由用户 N5Tar 维护。它采用 MIT 许可证,属于客户端插件类别。

功能特性

该插件主要提供以下功能:

  1. 全高文件树抽屉:在页面右侧显示默认展开的文件树抽屉。
  2. 会话关联:根据当前 Session 自动切换工作区,无需手动配置。
  3. 按需加载:避免启动时递归扫描整个仓库,仅在展开目录时加载内容,减少初始化开销。
  4. 排序与展示:目录优先、文件随后,并按名称排序。支持展开和折叠文件夹。
  5. 交互控制:支持刷新当前文件树,支持显示或隐藏点文件。
  6. UI 优化:关闭后收缩为页面右侧的窄把手;提供中文和英文界面文案;使用 DSH Theme Token 自动适配宿主主题。
  7. 状态处理:内置加载、空目录、无会话、截断和错误状态的处理。

安装与启用

使用该插件前,需要先安装依赖并构建本地包,然后安装到 DSH 的 Web Profile。

  1. 进入插件源码目录并安装依赖:
    cd /path/to/dsh-workspace-view
    pnpm install
    pnpm run build
  1. 安装到 Web Profile:
    cd /path/to/deepseek-harness
    pnpm dsh plugin --profile web add /path/to/dsh-workspace-view
  1. 检查配置:
    pnpm dsh --profile web --dump-config
  1. 启动 Web GUI:
    pnpm dsh web

启动后访问默认地址 http://127.0.0.1:3080。如果 Web GUI 已在运行,需要重启进程才能加载新的插件。

配置

插件的核心配置位于 cordis.patch.yml 文件中,用于控制 Host 端的扫描行为。

字段 类型 默认值 说明
maxEntries number 500 每层最多返回给 Client 的条目数(1–5000)。
maxScannedEntries number 10000 Host 每层最多扫描的目录项数量(1–50000),用于限制超大目录的 CPU 与内存消耗。
maxConcurrentScans number 8 Host 同时执行的目录扫描上限(1–64),超出时返回 HTTP 429。
ignoredNames string[] ['.git', 'node_modules'] Host 完全忽略的文件或目录名称。

注意:ignoredNames 与隐藏文件开关的行为不同。被 ignoredNames 匹配的条目不会由 Host 返回;其他点文件仍会返回,但默认在界面中隐藏,可通过抽屉工具栏切换显示。

使用与限制

  1. 只读访问:插件只提供工作区范围内的只读目录列表能力,不提供文件写入、删除、重命名或执行功能。
  2. 根目录决定:工作区根目录由 Host Session Store 决定,客户端不能自行指定根目录。
  3. 手动刷新:文件系统发生变化后,需要手动刷新文件树才能看到更新。
  4. 截断处理:大目录达到配置上限时只显示部分条目,并在对应目录层级显示截断提示。
  5. 布局影响:抽屉通过 shell.overlay 实现,覆盖最右侧区域,不参与 DSH 核心列宽求解。
  6. 安全模型:插件通过路径验证(realpath、relative)阻止 .. 路径穿越和符号链接逃逸,但不应把可由不受信任本地进程并发改写的工作区作为强隔离沙箱。

总结

dsh-workspace-view 是一个轻量级的文件树浏览工具,它通过集成到 DSH Web GUI 的右侧抽屉,解决了开发者在 Web 界面中查看项目结构的需求。它具备按需加载、主题适配和多语言支持等特性,适合需要频繁在 Web 界面下操作文件系统的场景。

  • GitHub: https://github.com/N5Tar/dsh-workspace-view
  • 目录: https://www.skillhub.cn/plugins/N5Tar/dsh-workspace-view
羽毛球分组比赛记分
小程序二维码

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

小夜