前言¶
在 DSH 的 web 會話裏引用本地文件時,手動輸入完整路徑容易出錯,尤其是深層目錄、臨時文件和多會話切換的場景。dsh-dir-tree 是一個面向 DSH web 界面的浮窗目錄樹插件:它把當前會話的工作區目錄展示在界面右下角,支持展開子目錄、搜索文件名、拖拽路徑到對話框,並在切換工作區或會話時自動跟隨。
下面介紹它的能力、安裝方式、典型用法,以及接入時需要注意的幾個點。
這是什麼¶
dsh-dir-tree 是 DeepSeek Harness(DSH)的 web 客戶端浮窗插件,由 bentong-chain 維護,許可證爲 MIT。
它解決的核心問題是:在 DSH web 會話中,快速查看當前工作區目錄、定位文件、複製路徑,並把文件/文件夾路徑直接填入對話框輸入框。
README 明確說明,這是 DSH 的標準 bundle,使用 dsh plugin add 安裝即可,無需源碼 checkout、無需改內置包、無需創造模式。
核心功能¶
dsh-dir-tree 提供以下已覈實能力:
- 浮窗展示當前會話工作區目錄樹,右下角可最小化。
- 懶加載:點擊
▶展開子目錄,大目錄不卡頓。 - 拖拽文件/文件夾到對話框,自動填入完整路徑。
- 雙擊複製路徑;單擊選中。
- 搜索過濾文件名。
- 文件類型圖標、目錄藍色高亮、縮進樹形線。
- 切換工作區/會話時,目錄樹自動跟隨。
- 可拖動浮窗位置。
安裝與啓用¶
1、準備 DSH web 運行環境¶
可以先全局安裝 DSH,也可以臨時通過 npx 運行。
全局安裝:
npm install -g @deepseek-ai/dsh
臨時運行:
npx @deepseek-ai/dsh web
兩種方式共用同一個 $DSH_HOME,默認目錄是 ~/.dsh,插件、會話和配置互通。
2、安裝插件¶
插件可以從 npm 安裝,也可以從 git 安裝。
npm 安裝:
dsh plugin --profile web add dsh-dir-tree
從 git 安裝:
dsh plugin --profile web add github:bentong-chain/dsh-dir-tree
如果從 git 安裝,首次會提示在 profile 的 pnpm-workspace.yaml 中添加構建授權:
allowBuilds:
dsh-dir-tree: true
添加後,重新執行:
dsh plugin --profile web add github:bentong-chain/dsh-dir-tree
3、啓動 DSH web¶
啓動 web profile 的常見寫法如下:
dsh --profile web
或等價的別名寫法:
dsh web
如果使用 npx 臨時運行,也可以寫成:
npx @deepseek-ai/dsh web
這些方式啓動的都是 web profile,目錄爲:
~/.dsh/profiles/web
啓動後,DSH 界面右下角會出現“當前工作區”浮窗。
典型用法¶
- 啓動 DSH web 後,查看右下角的“當前工作區”浮窗。
- 點擊文件夾旁的
▶展開子目錄。 - 把需要引用的文件或文件夾拖拽到對話框輸入框中,插件會自動填入完整路徑。
- 使用搜索框過濾文件名。
- 雙擊節點複製路徑,單擊節點選中路徑。
- 點擊
−或×最小化浮窗,之後通過右下角的恢復按鈕重新展開。
接入與實現注意¶
如果你要檢查或分發這個插件,可以重點關注 package.json 中與客戶側加載相關的聲明。
dsh-dir-tree 的 package.json 中聲明瞭 dsh.client.platform 爲 web,並注入以下運行時模塊:
"dsh": {
"client": {
"platform": "web",
"inject": [
"@deepseek-ai/dsh-client-runtime",
"@deepseek-ai/dsh-client-connection",
"@deepseek-ai/dsh-client-ui-layout"
]
}
}
同時,exports 必須導出 ./package.json:
"exports": {
".": "./index.js",
"./client": "./client.bundle.js",
"./package.json": "./package.json"
}
如果沒有導出 ./package.json,client 半可能會被靜默跳過。
另外,client 半必須使用:
import React from 'react';
否則持久化 client bundle 中直接引用全局 React 時,可能在 apply 階段觸發 ReferenceError。
適用場景¶
這個插件適合以下場景:
- 日常使用 DSH web 會話,需要頻繁引用工作區文件路徑。
- 在長目錄結構中查找文件、文件夾,並快速複製到對話框。
- 切換多個工作區或會話時,希望目錄樹跟隨當前上下文。
- 希望在 web 界面中獲得更直觀的本地工作區瀏覽方式。
需要注意:插件以當前 dsh 進程權限運行。安裝前建議檢查源碼與許可證。dsh-dir-tree 使用 MIT 許可證,GitHub 倉庫地址爲:
https://github.com/bentong-chain/dsh-dir-tree
結尾¶
dsh-dir-tree 把當前 DSH 會話的工作區目錄樹放到 web 界面浮窗中,減少手動輸入路徑帶來的錯誤,讓目錄瀏覽、路徑複製和拖拽引用集中在同一個位置完成。
- GitHub:
https://github.com/bentong-chain/dsh-dir-tree - 目錄頁:在已接入的 DSH 社區目錄中搜索
dsh-dir-tree;具體 URL 以目錄站點實際提供爲準,社區目錄爲獨立站點,不代表 DeepSeek 或幻方的官方應用商店。