前言¶
在 DeepSeek Harness(DSH)裏寫對話、改代碼時,經常要在「當前工作區路徑」和「聊天輸入框裏的 @ 引用」之間來回切換。系統自帶的側欄不一定針對 DSH 的 composer 光標位置、mention 芯片或編輯器 Tab 做過優化;自己複製相對路徑又容易打斷思路。下面介紹的 dsh-explorer 是維護者 wwwroot 發佈的客戶端類插件:在 DSH 右側欄掛載原生工作區文件樹,把瀏覽、拖拽引用、開 Tab、看 Git 狀態串成一條線。插件當前 npm 版本爲 0.1.1,許可證 MIT,可在 SkillHub 目錄頁 與 GitHub 倉庫 查看說明與源碼。
這是什麼¶
dsh-explorer 的定位是:專爲 DeepSeek Harness 工程化的原生工作區文件資源管理器。Host 側在 Cordis 容器裏跑 Node.js ESM 服務,負責安全的目錄遍歷、WebSocket 文件變更監聽和 Git 狀態聚合;Client 側是 React UI,掛在 DSH 的 sidebar.right.panel 槽位,負責樹形導航、拖拽與光標跟蹤、以及可持久化的顯示偏好。構建產物在 lib/ 中由 esbuild 打包,客戶端運行時無需額外依賴。
與對話、編輯器的銜接¶
精準拖拽與 mention¶
把文件或文件夾拖到 DSH 聊天 composer 時,插件會按當前文本光標/插入點寫入引用,儘量不覆蓋已有文字。拖入後文件顯示爲 @path/to/file 芯片,目錄帶尾部斜槓 @path/to/folder/。按住 Alt 或 Shift 再拖文件,會把該文件完整源碼以帶語法高亮的 Markdown 代碼塊形式嵌入提示詞。行上懸停可點 @ 圖標,或在右鍵菜單選 Insert Mention to Chat,在活躍光標處插入引用。
Tab 與搜索¶
雙擊文件可在新的 DSH 編輯器 Tab 中打開(與 betterSidebar、sidebarRight 或原生工作區 Tab 集成)。右鍵文件可選「Open in New Tab」。頂部搜索欄按路徑實時過濾文件與文件夾。
樹形展示與 Git 狀態¶
摺疊動畫與緊湊目錄¶
展開/收起文件夾時使用 CSS grid 手風琴動畫, chevron 隨開閉旋轉;可在 Options 裏關閉動畫,改爲即時切換。Compact Folders 會把單子目錄鏈(例如 src/client/ui)收成一行,同樣在 Options 中即時開關。
Git 徽章¶
支持工作區根目錄及嵌套子倉庫的多 repo / monorepo 檢測。子項有修改(M)、未跟蹤(U)或刪除(D)時,祖先目錄會向上冒泡顯示狀態,無需逐層展開。徽章右對齊,配色分別爲暖琥珀、柔綠、珊瑚紅;可在 Options 中一鍵隱藏所有 Git 顏色與徽章。
密度、圖標與文件操作¶
密度預設:Compact(20px 行高)、Normal(24px)、Relaxed(28px)。縮放滑塊可在 75%–135% 間調整整棵樹(行高、字號、圖標、縮進參考線聯動)。偏好寫入 local storage 並在下次打開時恢復。常見語言(TypeScript、JavaScript、Python、Rust、Go、C/C++、HTML、CSS、JSON、Markdown、YAML、Docker、Git、Shell 等)有區分的圖標與顏色;可切換是否顯示 dotfile。
懸停行上可進行 Mention、複製相對路徑、重命名(F2)、刪除;支持方向鍵導航、Enter、F2 等鍵盤操作。外部創建、修改或刪除文件時,通過 WebSocket 服務即時刷新樹。
安裝與啓用¶
Web 版 Harness 可用 NPM 插件名安裝:
dsh plugin --profile web add dsh-explorer
桌面版將 --profile web 換爲 --profile desktop。
也可從 GitHub 源添加(README 原文命令):
dsh plugin --profile web add github:wwwroot/dsh-explorer
或在 cordis.patch.yml 對應 profile 配置中插入:
- insert:
- id: dsh-explorer
name: 'dsh-explorer'
Host 要求 Node.js >= 20(見 package.json 的 engines 字段)。
典型用法¶
- 安裝並啓用插件後,在 DSH 右側欄打開文件樹,用頂部搜索定位路徑。
- 寫對話時:把目標文件拖到輸入框光標處得到
@芯片;需要貼全文時按住 Alt/Shift 再拖。 - 閱讀或編輯:雙擊文件開 Tab,或右鍵「Open in New Tab」。
- 在 Options 中按需關閉動畫、開關 Compact Folders、Git 徽章、隱藏文件與密度/縮放。
若需本地改插件並構建,倉庫 README 給出的流程爲:
npm install
npm run build
npm run typecheck
分別產出 host ESM(lib/index.js)與 client bundle(lib/client.js)。
適用場景與注意¶
適合長期在 DSH 內做智能體或應用開發、希望側欄即工作區、且引用路徑與 Tab 行爲與 Harness 一致的開發者。DSH 生態遵循「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
插件 Host 服務以當前 DSH 進程權限訪問文件系統與 Git;安裝前請閱讀 GitHub 源碼 與 MIT 許可證,確認符合你的安全與合規要求。星標與社區熱度會隨時間變化,以倉庫頁面爲準。
結尾¶
dsh-explorer 把本地工作區導航、對話 @ 引用、編輯器 Tab 和 Git 狀態收進 DSH 右側欄,並支持密度、縮放與緊湊目錄等可調選項。目錄頁:https://www.skillhub.cn/plugins/wwwroot/dsh-explorer;源碼與英文/簡體中文 README:https://github.com/wwwroot/dsh-explorer。