lance-kanglu/dsh-ssh-bridge0

dsh-ssh-bridge

用于 DeepSeek Harness (DSH) 的本地 SSH 桥接器:用户在浏览器页面中输入路由器密码,Agent 通过本地 API 运行命令——密码绝不进入对话。

AI 分析

核心用途是让 Agent 能够安全地在远程主机上执行 SSH 命令。适合需要 AI 协助运维、管理服务器,同时要求密码不泄露给大模型的高级用户。

包名
dsh-ssh-bridge
版本
0.4.2
许可证
MIT
最近更新
2026年8月16日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:lance-kanglu/dsh-ssh-bridge

使用说明

浏览器页面

  1. 打开 http://127.0.0.1:23991,输入目标主机 (user@host[:port]) 与密码,点「连接」或回车;
  2. 状态变为「已连接」后,下方输入框即目标主机的交互终端 (支持 ANSI 颜色渲染),标题栏出现「断开连接」按钮;
  3. 在终端输入 exit 会结束整个 SSH 会话 (与常规 SSH 客户端一致);也可点「断开连接」按钮;
  4. 断开后目标主机保留、密码清空,可重新输入密码连接;
  5. 页面底部日志面板实时显示连接与请求状态,出错时可见具体原因。

命令执行 API (供代理 / 脚本调用)

每次启动生成随机 token 并打印在启动日志 ([ssh-bridge] token=xxxx),调用以下接口需携带:

接口方法参数说明
/api/authPOST{password, target?}提交目标与密码建立 SSH 连接 (密码不写日志、不落盘;目标格式 user@host[:port])
/api/execPOST{cmd, token}在目标主机执行一条命令,返回 {code, stdout, stderr}
/api/inputPOST{line, token}向交互终端写入一行命令 (写 exit 会结束整个会话)
/api/pingPOST{token}查询连接状态 {ok, connected}
/api/disconnectPOST{token}断开 SSH 连接 (等价于页面「断开连接」按钮)
/api/reconnectPOST{token}复用页面认证时保存的凭据重新连接;未认证过返回 409

示例 (PowerShell):

$body = @{ token = ''; cmd = 'uname -a' } | ConvertTo-Json
Invoke-RestMethod -Uri http://127.0.0.1:23991/api/exec -Method Post -ContentType 'application/json' -Body $body

安全: 服务只监听 127.0.0.1,外部网络无法访问;密码只在浏览器 → 本机进程 → SSH 加密通道之间流转。 注意: 端口 23991 被占用时自动顺延 (2399223993...),以启动日志为准。 提示: 更新页面代码后需强制刷新 (Ctrl+F5) 避免旧缓存;交互终端需在真实 SSH 会话中使用,网页终端仅回车可用。