dsh-plugin-ssh: 通過 SSH 管理遠程 DeepSeek Harness 實例

前言

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

使用示例

  1. 添加遠程實例配置:指定主機、用戶和工作區路徑。
    dsh-ssh add prod --host my-server --user deploy --workspace /srv/app
  1. 配置遠程環境:插件會在遠程服務器上安裝必要的依賴、創建工作區,並可選地複製本地配置文件。
    dsh-ssh setup prod --copy-settings
  1. 連接並打開:建立 SSH 隧道並在瀏覽器中打開遠程 DSH 的 Web 界面。
    dsh-ssh connect prod
  1. 查看狀態與日誌:檢查隧道狀態、遠程進程狀態以及 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,請確保遠程服務器的憑證配置正確。
羽毛球分组比赛记分
小程序二维码

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

小夜