dsh-remote-bridge
DeepSeek Harness plugin: an outbound bridge to a self-hosted relay so a mobile app can drive the desktop harness. 适合需要通过手机等移动设备远程连接并操控本地桌面端会话的用户。
설치
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:AKHYui/DSH-Remote-plugin3. 写配置
向 ~/.dsh/profiles/desktop/cordis.patch.yml 追加(键名与 src/config.js 的 DEFAULT_CONFIG 一致):
- id: remote-bridge
name: dsh-remote-bridge
config:
serverUrl: 'wss://relay.example.com:58443/api/v1/attach'
connectorToken: ''
deviceId: 'home-pc'
deviceName: 'home-pc'
tlsCaFile: '/etc/dsh-remote-bridge/ca.crt'
autoConnect: true
reconnect: true
heartbeatMs: 30000
approvalTimeoutMs: 90000
allowedSessions: []
hideArchivedSessions: true
allowInsecure: false
logLevel: info
debugLog: '/tmp/dsh-remote-bridge.log'
serverUrl必须是中继的 attach 端点;写成https://或http://会被自动改写为wss:///ws://。tlsCaFile指向签发中继证书的 CA(PEM),放在 DSH 进程可读的位置;插件在拨号前会把它并入进程信任库。connectorToken是密钥:也可以不写进文件,改用环境变量DSH_REMOTE_BRIDGE_TOKEN(环境变量优先于此项)。- 任何键都可以用对应的
DSH_REMOTE_BRIDGE_*环境变量覆盖,见下方「配置」。 debugLog指向一个 DSH 进程可写的文件,插件才会写诊断日志;写入失败会被静默忽略。
Windows: 路径写 Windows 形式,例如
tlsCaFile: 'D:\dsh-remote-bridge\certs\ca.crt'(单引号内反斜杠是字面量)。
配置
profile patch 的 config: 与同名环境变量可二选一或并用(环境变量优先)。
| 键 | 环境变量 | 默认 | 说明 |
|---|---|---|---|
serverUrl | DSH_REMOTE_BRIDGE_SERVER_URL | 空 | 必填。中继 attach 地址,wss://:/api/v1/attach |
connectorToken | DSH_REMOTE_BRIDGE_TOKEN | 空 | 必填。中继签发的连接器令牌(密钥)。推荐用环境变量 |
deviceId | DSH_REMOTE_BRIDGE_DEVICE_ID | 空 | 必填。这台机器的稳定标识,手机用它寻址;同一中继上必须唯一 |
deviceName | DSH_REMOTE_BRIDGE_DEVICE_NAME | deviceId | 展示名 |
autoConnect | DSH_REMOTE_BRIDGE_AUTO_CONNECT | true | 加载后是否立即拨号;false 时插件已装载但不发任何流量 |
reconnect | DSH_REMOTE_BRIDGE_RECONNECT | true | 断线后是否重连(指数退避:1s 起、×2、上限 30s、±20% 抖动) |
reconnectOnReplaced | 无 | false | 被同 deviceId 的新连接接管(闭码 4001)后是否抢回 |
heartbeatMs | DSH_REMOTE_BRIDGE_HEARTBEAT_MS | 30000 | 保活间隔;最小 5000 |
approvalTimeoutMs | DSH_REMOTE_BRIDGE_APPROVAL_TIMEOUT_MS | 90000 | 等手机作答的上限,超时后回落桌面应答器;最小 1000 |
allowedSessions | DSH_REMOTE_BRIDGE_ALLOWED_SESSIONS | [] | 会话白名单(数组,或逗号分隔字符串)。空 = 全部放行;同时作用于 op 目标与审批 / 提问的转发 |
hideArchivedSessions | DSH_REMOTE_BRIDGE_HIDE_ARCHIVED_SESSIONS | true | 把已归档会话从 session.list 里剔掉;设 false 可重新列出 |
allowInsecure | DSH_REMOTE_BRIDGE_ALLOW_INSECURE | false | 允许 ws://。仅本地开发:令牌会明文传输,启动时打印一条 WARNING |
tlsCaFile | DSH_REMOTE_BRIDGE_TLS_CA_FILE | 空 | 签发中继证书的 CA(PEM 文件路径) |
logLevel | DSH_REMOTE_BRIDGE_LOG_LEVEL | info | debug / info / warn / error / silent |
debugLog | DSH_REMOTE_BRIDGE_DEBUG_LOG | 空(关) | 诊断日志文件路径;默认关 |
布尔键接受 1/true/yes/on 与 0/false/no/off(大小写不敏感);allowedSessions 接受数组或逗号分隔字符串;
heartbeatMs、approvalTimeoutMs 低于下限会被拒绝启动。