DSH Remote Console:通过 Tailscale Serve 为 Web Profile 提供移动端访问

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 的输入栏中。

典型用法

  1. 启动 DSH Web Profile:
    dsh.cmd --profile web --port 3080
  1. 本机访问:
    在浏览器中打开本地地址:
    http://127.0.0.1:3080
  1. 远程访问:
    电脑和手机需登录同一个 Tailnet。通过 Tailscale Serve 将本机 DSH 映射到手机浏览器,访问地址通常为 MagicDNS 域名(例如 https://device-name.example.ts.net:8443/)。

  2. 打开工作区:
    在对话输入区点击“打开工作区”或相关按钮,输入电脑上的本地工作区绝对路径(如 C:\my-project),插件会通过 workspace.create 接口直接注册并打开该目录。

环境与限制

  • 环境要求:
    • DSH 版本:0.1.0-rc.6
    • Node.js 版本:22.19+ 或 24+
    • 需安装 Corepack 和 Tailscale。
  • 安全边界:
    • DSH 仅监听 127.0.0.1,不使用 0.0.0.0。
    • 远程脚本只配置 Tailscale Serve,不开启 Funnel。
    • --trusted-host 仅加入当前设备的 MagicDNS :8443 authority。
    • 请维护好 Tailnet ACL 以控制访问权限。
    • 页面通知不是 Web Push;浏览器必须保持页面存活。
  • 其他限制:
    • 不解析会话 JSONL,不创建额外的 DSH 子进程,不提供终端或 bypassPermissions。
    • 插件更新后需重启一次 DSH,新的 Node 端防睡眠机制才会生效。

总结

DSH Remote Console 通过 Tailscale Serve 构建了一个安全的移动端调试通道,解决了远程访问与工作区选择的痛点。插件遵循 MIT 许可证,代码托管在 GitHub 上。

羽毛球分组比赛记分
小程序二维码

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

小夜