DeepSeek Harness 插件:dsh-workspace-files

在 DeepSeek Harness(DSH)的 Web GUI 中,智能体在会话工作区中处理文件时,往往需要跳转至终端或外部编辑器进行查看和版本控制。dsh-workspace-files 插件为会话视图增加了“文件”标签页,直接在浏览器中提供目录浏览和类 VS Code 的 Git 操作。

核心功能

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

  • 目录树浏览:支持懒加载和隐藏文件弱化显示。
  • 文件查看:支持 UTF-8 文本和二进制识别,超大文件会自动截断。
  • Git 集成:显示文件状态角标(M/A/D/R/?)及行级 diff。
  • Git 源代码管理:支持暂存/取消暂存/放弃更改/提交/拉取/推送/分支切换。
  • AI 生成提交信息:利用当前会话模型根据 diff 自动生成提交信息。
  • 主题自适应:与 DSH 整体主题保持一致。
  • 安全隔离:限制操作范围在会话工作区根目录内,防止路径穿越。
  • 优雅降级:非 Git 目录或缺失 git 时自动退化为纯文件浏览模式。

安装

使用 DSH CLI 安装插件:

dsh plugin --profile web add github:sqfcyily/dsh-workspace-files

安装后重新打开 DSH Web GUI,在会话视图顶部会出现“文件”标签。

使用方法

  1. 在 Web GUI 中进入任意会话,点击顶部的“文件”标签。
  2. 浏览左侧目录树:点击目录展开,点击文件查看内容。
  3. 在“更改”区将文件暂存,或在“暂存的更改”区进行操作。
  4. 提交:输入提交信息,或点击 AI 生成按钮,按 Ctrl/⌘+Enter 快捷提交。
  5. 推送与分支:通过工具栏的拉取/推送按钮和分支下拉菜单操作。
  6. 放弃更改:点击 ↩ 放弃更改,需在弹出的确认框中确认(此操作不可撤销)。

安全与实现细节

  • 操作范围:所有文件系统和 Git 操作严格限制在当前会话的工作区根目录内。尝试路径穿越会返回 403。
  • 符号链接:插件不跟随符号链接,按自身类型上报。
  • 二进制处理:前 8000 字节包含 NUL 的文件会被识别为二进制,不返回内容,仅返回 binary: true 标记。
  • 请求方法:只读浏览(列表、读取、diff)走 GET 请求;Git 写操作(暂存、提交、推送等)走 POST 请求。
  • Git 调用:Git 命令通过 execFile 直接调用,不经过 shell,避免命令注入风险。
  • 破坏性操作:放弃更改(discard)需二次确认,执行后不可撤销。

生态背景

DeepSeek Harness 遵循“一切皆插件”的理念。该插件维护于社区,不属于 DeepSeek 或幻方官方应用商店。

相关链接

羽毛球分组比赛记分
小程序二维码

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

小夜