fdtree:DeepSeek Harness 工作區文件樹與實時 Diff 插件

前言

DeepSeek Harness (DSH) 採用插件化架構,旨在通過模塊化組件解決特定場景下的開發痛點。在開發過程中,頻繁切換窗口查看文件內容或對比代碼差異通常會影響效率。fdtree 旨在解決這一問題。它將文件目錄樹和實時 Diff 視圖嵌入到 DSH 的界面中,提供始終可見且非浮動的文件瀏覽體驗。

核心功能

1. 四列布局與多標籤

界面採用四列形態(原生側邊欄 | 對話區 | 文件內容 | 文件樹),始終佔列,非浮動。內容列默認收起,僅顯示文件樹。支持多標籤打開,文件內容與 Diff 整合爲單一視圖,無需頻繁切換上下文。

2. 實時紅綠 Diff 展示

Diff 視圖顯示刪除行(紅色)、新增行(綠色)、行號及統計(+N -N)。支持 22 種語言的語法高亮(包括 JS/TS、Python、JSON、Markdown 等)。

3. 智能模式切換

插件根據工作區環境自動切換模式:
* Git 模式:自動檢測工作區是否位於 git 倉庫內(含父目錄)。啓用後與 HEAD 對比,實時顯示改動、未跟蹤及刪除狀態。git commit 後差異自動歸零。
* 基線模式:非倉庫目錄自動使用基線模式,與打開時的快照對比。支持「📌 設基線」功能。

4. 輔助功能

  • 終端集成:右鍵目錄樹節點可彈出菜單,在宿主系統打開終端並自動定位。支持一鍵 cd 到選中目錄(支持 Windows PowerShell/cmd、macOS Terminal.app、Linux 桌面終端)。
  • 性能優化:大文件優化,通過 FsVersion 變更檢測避免重複讀盤。

安裝與啓用

在目標機器的 DSH web profile 中安裝:

# 方式一:通過 Git 倉庫地址安裝
dsh plugin --profile web add "https://github.com/musclePatrickStar/fdtree.git"

# 方式二:通過 SSH 安裝(注意必須使用 git+ssh:// 完整格式)
dsh plugin --profile web add "git+ssh://git@github.com/musclePatrickStar/fdtree.git"

# 方式三:通過本地路徑安裝
dsh plugin --profile web add "file:/path/to/fdtree"

更新插件:

# 拉取最新提交併重新解析安裝(git 依賴按提交哈希鎖定,必須 update 纔會升級)
dsh plugin --profile web update fdtree

卸載插件:

dsh plugin --profile web remove fdtree

安全與限制

  • 無外部網絡請求:客戶端只通過同源 fetch('/fdtree/rpc') 與本機 DSH web 服務器通信,不連接任何外部域名;無遙測、無上報。
  • 只讀工作區:插件只讀取當前會話工作區內的文件(帶路徑越界檢查),git 命令僅在本地運行並受 DSH 沙箱策略約束,從不執行 fetch/pull/push。
  • 會話隔離:未綁定會話前,所有 RPC 一律拒絕(NO_SESSION),不會暴露任何路徑或文件內容。
  • 終端功能:僅在用戶顯式右鍵點擊時觸發,目標目錄被限制在工作區內。
  • 數據本地化:所有內容都在你自己的瀏覽器中渲染展示,不會發送到任何服務器。
  • 信任模型:安裝即信任,等同於執行插件作者代碼。

總結

fdtree 提供了一個輕量級的文件瀏覽與 Diff 工具,通過真嵌入佈局和智能模式切換,優化了 DSH 中的開發體驗。對於需要頻繁查看文件結構和代碼變更的開發者而言,該插件能有效減少界面切換成本。

  • GitHub 倉庫:https://github.com/musclePatrickStar/fdtree
  • 插件目錄:https://www.skillhub.cn/plugins/musclePatrickStar/fdtree
羽毛球分组比赛记分
小程序二维码

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

小夜