DeepSeek Harness (DSH) 採用插件化架構。在使用 Web profile 時,除了對話界面,開發者往往缺乏一個方便的本地命令執行環境。dsh-terminal-plugin 爲 DSH Web GUI 提供了一個位於底部的終端面板,復刻了 VS Code 集成終端的交互體驗。
核心功能¶
這個插件在 DSH Web GUI 的中間對話區域下方提供了一個終端面板。它具備以下特性:
- VS Code 風格的交互:支持多終端標籤,使用真實 PTY,支持顏色、光標控制以及
vim、python、top等交互程序。 - 非侵入式佈局:終端面板僅佔據中間區域,不會擠壓左右側邊欄。
- 會話保持:刷新頁面後,終端仍會保留,並回放近期輸出。
- 鏈接與路徑處理:輸出中的 URL 和文件路徑支持
Ctrl/Cmd+ 點擊打開(僅支持 http/https/ftp)。 - 右鍵菜單:按 VS Code 習慣,有選中內容時右鍵複製,無選中內容時右鍵粘貼。
安裝與啓用¶
確保本地環境滿足 Node.js 20 或更高版本,且可通過 npx 運行帶 Web profile 的 @deepseek-ai/dsh。
使用 DSH CLI 將插件添加到 Web profile:
npx @deepseek-ai/dsh plugin --profile web add /path/to/dsh-terminal-plugin
安裝完成後,重啓 dsh web 或刷新瀏覽器頁面即可生效。
使用方式¶
- 打開面板:按 `Ctrl+``(反引號鍵)打開或收起終端面板。
- 新建標籤:按
Ctrl+Shift+\`` 創建新終端標籤,或在工具欄點擊+`。 - 點擊鏈接:在終端輸出中,按住
Ctrl(macOS 爲Cmd)點擊 URL 或文件路徑。出於安全考慮,僅支持http、https、ftp協議的鏈接。 - 右鍵操作:終端區域的右鍵菜單由插件接管,行爲與 VS Code 集成終端一致。
配置¶
插件支持通過配置項調整行爲。常用配置項包括:
mountPrefix:插件 HTTP 與 WebSocket 路徑前綴,默認爲/dsh-terminal。shellPath/shellArgs:Shell 路徑與啓動參數,默認自動探測。cwd:新終端的工作目錄,默認爲當前會話所屬工作區。rows/cols:終端初始尺寸,默認24/80。scrollbackBytes:輸出回放保留的字節數,默認262144。maxTerminals:同時存在的終端上限,默認20。idleCloseAfterMs:無人連接多久後關閉,0表示不自動關閉。
注意事項與限制¶
- 權限與安全:終端運行在 DSH 宿主進程中,擁有相應的系統權限。出於安全考慮,如果缺少認證能力,插件僅接受迴環地址請求。
- 拖動限制:拖動面板高度不會調整已運行 PTY 的行列數;新建終端會採用當時的尺寸。
- 鏈接限制:被終端折行的長 URL 不會跨行拼接;相對路徑不會被識別爲鏈接。
- 併發限制:同一終端在多個瀏覽器連接中同時打開時,輸入會共享。
結語¶
這個插件爲 DSH Web profile 用戶提供了原生的命令行操作能力,彌補了純 Web 界面在調試時的不足。你可以通過 SkillHub 插件目錄 查看詳情,或在 GitHub 上查看源碼與文檔。