dsh-codex-file-panel:給 DeepSeek Harness Web UI 加一個 Codex 風格的工作區文件側欄

前言

用 DeepSeek Harness(DSH)做智能體開發時,Web UI 是常用入口。但查看和修改工作區文件、確認 Git 變更、臨時開個終端,往往要在瀏覽器、編輯器和終端之間來回切換,上下文斷得很碎。

dsh-codex-file-panel 解決的就是這個問題:它把文件樹、搜索、編輯、預覽與 Git review 集中到 Web UI 的右側面板,並補充底部終端等與文件工作流緊密相關的能力。下面按功能、安裝、配置與安全邊界的順序介紹。

這是什麼

dsh-codex-file-panel 是由 JesonChou 維護的社區插件,爲 DeepSeek Harness Web UI 提供 Codex 風格的工作區文件側欄。這裏的「Codex」僅用於說明 UI 交互風格,項目本身是社區維護的第三方項目,不屬於 DeepSeek 或 OpenAI。

當前版本爲 0.4.0,許可證爲 MIT。項目按照 Harness 官方 bundle 規範組織,倉庫根目錄本身就是一個可由 dsh plugin add 安裝的插件包。

核心功能

已覈實的能力如下:

  • Codex 風格的可調整寬度右側文件面板,支持響應式收起與佈局持久化。
  • 工作區文件樹、文件名搜索、文本讀取與保存。
  • Markdown、代碼、圖片、音視頻和 PDF 預覽,PDF 資源由插件本地提供。
  • Git 變更查看、暫存、取消暫存和提交。
  • 會話級多標籤終端,支持斷線短暫保活和尺寸同步。
  • 與 Harness 原生會話、語言包、佈局和 client module loader 集成,界面文案覆蓋中英文。

環境要求

組件 要求
DeepSeek Harness 0.1.0-rc.7 系列 API
Node.js 22 或更高版本
開發包管理器 pnpm 11(倉庫鎖定 11.21.0)
運行界面 Harness Web UI

插件依賴 node-pty 原生模塊。Windows、macOS 和 Linux 均應使用與本機 Node.js ABI 匹配的構建產物,否則終端功能無法正常工作。

安裝與啓用

從 GitHub 安裝

安裝 main 分支的最新源碼:

dsh plugin --profile web add github:JesonChou/dsh-codex-file-panel

main 會繼續變化。需要可復現安裝時,先審計源碼,再固定到 tag 或完整 commit SHA:

dsh plugin --profile web add github:JesonChou/dsh-codex-file-panel#<tag-or-commit-sha>

Git 安裝獲取的是源碼,包內的 prepare 會構建 lib/。pnpm 10 及以上默認阻止依賴執行構建腳本,首次 add 可能先失敗,並在目標 profile 的 pnpm-workspace.yaml 中生成待確認項。按終端輸出的精確包鍵授權:

allowBuilds:
  dsh-codex-file-panel: true
  node-pty: true

保存後重新執行同一條 add 命令即可。注意這項授權允許依賴在沙箱外執行本機代碼,只應對已審計且固定 commit 的源碼開放。

從本地 checkout 或 tarball 安裝

想先在本地檢查源碼,可以克隆後從根目錄安裝:

git clone https://github.com/JesonChou/dsh-codex-file-panel.git
cd dsh-codex-file-panel
corepack enable
pnpm install --frozen-lockfile
dsh plugin --profile web add .

tarball 方式包含預構建的 JavaScript,不需要爲插件本身授權 prepare,node-pty 仍可能需要本機構建授權:

pnpm install --frozen-lockfile
pnpm pack --pack-destination dist
dsh plugin --profile web add ./dist/dsh-codex-file-panel-0.4.0.tgz

驗證與啓動

經過上面的步驟,先用 --dump-config 確認插件層已加載:

dsh --profile web --dump-config

輸出應包含 # == dsh-codex-file-panel 層。確認無誤後啓動:

dsh --profile web

卸載與升級:

dsh plugin --profile web remove dsh-codex-file-panel
dsh plugin --profile web update dsh-codex-file-panel

跟隨 main 安裝的用戶用 update 即可;固定 tag/SHA 的用戶應重新執行 add,並把 URL fragment 改爲目標 tag 或 commit。更新後再次運行 dsh --profile web --dump-config 檢查組合層。

配置

插件提供文件傳輸上限、終端數量、終端 shell、斷線保活時間和目錄排除項等配置,默認值適合本地開發。完整字段與默認值見倉庫的 docs/configuration.md,本文不逐項展開。

安全邊界與注意事項

先明確能力範圍:這個插件具備讀取和寫入會話工作區、執行 Git 操作以及創建本機 PTY 的能力,也就是說它以當前 dsh 進程的權限運行。安裝前應檢查源碼與許可證,確認可接受再引入。

服務端路由做了一層約束:路徑不能逃逸會話 cwd、限制載荷大小並拒絕非 loopback 來源。但即便如此,也只應在可信的本地 Harness 環境中使用。兩條紅線:

  1. 不要未經認證把 Web UI 暴露到公網。
  2. 不要假設反向代理後的 loopback 檢查等同於用戶認證。

發現安全問題,請按倉庫的 SECURITY.md 私下報告,不要公開提交 issue。

適用場景

它適合這樣的開發者:在本地運行 DeepSeek Harness,主要在瀏覽器裏使用 Web UI,希望在同一個界面完成查看和編輯工作區文件、review Git 變更、開終端這幾件事,減少工具間切換。對可復現安裝有要求的團隊,建議走「固定 tag/SHA 加 tarball」的路徑,並在授權 allowBuilds 前完成源碼審計。

結尾

一句話回顧:dsh-codex-file-panel 把文件、Git 與終端收進 Web UI 右側面板,讓瀏覽器內的開發閉環更完整。倉庫與配置文檔見 GitHub(https://github.com/JesonChou/dsh-codex-file-panel );據收錄信息,社區插件目錄頁爲 https://www.skillhub.cn/plugins/JesonChou/dsh-codex-file-panel ,該目錄爲獨立社區站點,與 DeepSeek 無官方從屬關係,內容請以站點實際頁面爲準。

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

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

小夜