DSH Remote Console 是 DeepSeek Harness (DSH) Web profile 的移动端增强插件,由 ZSLsherly 维护。它通过 Tailscale Serve 将本机 DSH 安全地提供给手机浏览器,无需在公网监听端口,解决了在移动设备上使用本地 DSH 调试的连接与安全问题。
核心功能¶
该插件通过附加项方式注册到官方 conversation.input.dock Slot,提供以下能力:
- 状态监控:显示 DSH 连接、运行、等待操作和就绪状态。
- 会话管理:统计待处理/已完成会话,并提供跳转到下一个会话的功能。
- 交互通知:在浏览器页面存活时提供待操作/任务完成通知。
- PWA 支持:支持浏览器的“安装应用”提示。
- 触摸优化:仅在手机/触摸屏布局中显示,不替换 DSH 原有界面。
- 工作区注册:通过 DSH 的
workspace.create接口直接注册并打开本地目录。由于手机远程访问时host.pickDirectory会返回HTTP 403,该功能绕开了被限制的原生目录选择器,支持输入绝对路径(如C:\my-project)。 - 防睡眠机制:通过 Windows
SetThreadExecutionState保持电脑防睡眠。心跳 20 秒一次,超时 90 秒无响应后恢复系统正常睡眠策略。
安装与启用¶
在 DSH 的 Web profile 中添加插件:
dsh plugin --profile web add github:ZSLsherly/DSH-remote-console
安装后,插件会以附加项形式集成到 Web profile 的输入栏中。
典型用法¶
- 启动 DSH Web Profile:
dsh.cmd --profile web --port 3080
- 本机访问:
在浏览器中打开本地地址:
http://127.0.0.1:3080
-
远程访问:
电脑和手机需登录同一个 Tailnet。通过 Tailscale Serve 将本机 DSH 映射到手机浏览器,访问地址通常为 MagicDNS 域名(例如https://device-name.example.ts.net:8443/)。 -
打开工作区:
在对话输入区点击“打开工作区”或相关按钮,输入电脑上的本地工作区绝对路径(如C:\my-project),插件会通过workspace.create接口直接注册并打开该目录。
环境与限制¶
- 环境要求:
- DSH 版本:
0.1.0-rc.6 - Node.js 版本:
22.19+或24+ - 需安装 Corepack 和 Tailscale。
- DSH 版本:
- 安全边界:
- DSH 仅监听
127.0.0.1,不使用0.0.0.0。 - 远程脚本只配置 Tailscale Serve,不开启 Funnel。
--trusted-host仅加入当前设备的 MagicDNS:8443authority。- 请维护好 Tailnet ACL 以控制访问权限。
- 页面通知不是 Web Push;浏览器必须保持页面存活。
- DSH 仅监听
- 其他限制:
- 不解析会话 JSONL,不创建额外的 DSH 子进程,不提供终端或
bypassPermissions。 - 插件更新后需重启一次 DSH,新的 Node 端防睡眠机制才会生效。
- 不解析会话 JSONL,不创建额外的 DSH 子进程,不提供终端或
总结¶
DSH Remote Console 通过 Tailscale Serve 构建了一个安全的移动端调试通道,解决了远程访问与工作区选择的痛点。插件遵循 MIT 许可证,代码托管在 GitHub 上。