前言¶
DeepSeek Harness (DSH) 的架構基於瀏覽器,本地機器僅作爲顯示層。當需要在遠程服務器上運行 DSH 實例時,dsh-plugin-ssh 插件實現了這一功能——本地機器作爲“瘦客戶端”,通過 SSH 隧道連接遠程的 DSH 實例,這與 Codex Remote 的模型一致。
插件簡介¶
該插件由 ArcherLyu 維護,開源協議爲 MIT。它允許你通過 SSH 管理遠程的 DeepSeek Harness 實例,本地機器只負責打開瀏覽器顯示遠程的 Web GUI。插件包含兩部分:一個獨立的 dsh-ssh 命令行工具,以及一個集成到 dsh web profile 的配置包,後者會在設置中添加 SSH Remotes 面板。
核心功能¶
- 遠程管理:通過 SSH 管理遠程的 DeepSeek Harness 實例。
- 瘦客戶端模式:本地機器僅作爲顯示層,不運行繁重的邏輯。
- 獨立 CLI:提供
dsh-ssh命令行工具,支持一系列操作命令。 - Web 面板集成:通過 dsh profile bundle 將 SSH Remotes 面板添加到本地 Web GUI 的設置中。
- 核心命令:支持配置管理(add, rm, list)、連接控制(connect, disconnect, open)、遠程操作(setup, start, stop, logs)。
安裝與啓用¶
在使用前,請確保本地環境滿足以下前提條件:
* dsh 版本 >= 0.1.0-rc.6 (web profile)
* ssh 命令在 PATH 中
* pnpm 已安裝
安裝插件到本地 web profile,下次啓動 dsh web 時生效:
dsh plugin --profile web add /path/to/dsh-plugin-ssh
使用示例¶
- 添加遠程實例配置:指定主機、用戶和工作區路徑。
dsh-ssh add prod --host my-server --user deploy --workspace /srv/app
- 配置遠程環境:插件會在遠程服務器上安裝必要的依賴、創建工作區,並可選地複製本地配置文件。
dsh-ssh setup prod --copy-settings
- 連接並打開:建立 SSH 隧道並在瀏覽器中打開遠程 DSH 的 Web 界面。
dsh-ssh connect prod
- 查看狀態與日誌:檢查隧道狀態、遠程進程狀態以及 harness 的日誌。
dsh-ssh status prod
dsh-ssh logs prod
在本地 Web GUI 的 Settings → SSH Remotes 面板中,也可以看到所有配置的遠程實例,並直接通過按鈕執行 Connect、Open、Disconnect、Start、Stop 或 Logs 操作。
工作原理¶
插件主要分爲兩部分運行:
1. CLI 工具 (dsh-ssh):在本地運行,負責生成 SSH 隧道命令並管理本地配置文件。
2. Profile Bundle:安裝在本地 web profile 中,提供 /ssh-remotes HTTP 路由和 GUI 面板。
本地 dsh-ssh connect 命令會執行 ssh -N -L 開啓一個隧道,將遠程的 127.0.0.1:<remote-port> 映射到本地的一個端口。遠程的 DSH harness 僅綁定在 127.0.0.1 上,不直接暴露給網絡,所有流量必須通過本地建立的 SSH 隧道進入。
注意事項¶
- 認證模式:SSH 隧道運行時開啓
BatchMode=yes,不支持交互式密碼輸入,必須配置密鑰認證或 SSH Agent。 - 端口綁定:遠程 harness 默認綁定在
127.0.0.1,僅可通過 SSH 隧道訪問。 - 安全限制:本地的
/ssh-remotes路由會拒絕非迴環地址的 Origin 頭,防止跨域訪問。 - LLM 憑證:遠程 harness 讀取
$DSH_HOME/settings.yaml和工作目錄下的.env文件。如果使用--copy-settings,請確保遠程服務器的憑證配置正確。