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,请确保远程服务器的凭证配置正确。
羽毛球分组比赛记分
小程序二维码

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

小夜