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 或幻方官方應用商店。

相關鏈接

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

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

小夜