ZSLsherly / DSH-remote-console

Listed

The upstream repository does not provide a description.

mainOther View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:ZSLsherly/DSH-remote-console

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 1695106Synced Aug 18, 2026

DSH Remote Console

DSH Remote Console 是 DeepSeek Harness (DSH) Web profile 的移动端增强插件,插件 ID 为 dsh-mobile。它通过 Tailscale Serve 将本机 DSH 安全地提供给手机浏览器,无需在公网监听端口。

功能

  • 显示 DSH 连接、运行、等待操作和就绪状态。
  • 统计待处理/已完成会话,并跳转到下一个会话。
  • 在浏览器页面存活时提供待操作/任务完成通知。
  • 支持浏览器的“安装应用”提示。
  • 仅在手机/触摸屏布局中显示,不替换 DSH 原有界面。

设计

手机浏览器
    |
    | Tailscale HTTPS(Tailnet 内)
    v
Tailscale Serve :8443
    |
    | http://127.0.0.1:3080
    v
DSH Web + dsh-mobile
    |
    v
DSH 官方 Session / RPC / Permission / Reconnect

插件不解析会话 JSONL,不创建额外的 DSH 子进程,不提供终端或 bypassPermissions。客户端以附加项方式注册到官方 conversation.input.dock Slot。

环境要求

  • Windows 10/11
  • DSH 0.1.0-rc.6
  • Node.js 22.19+24+
  • Corepack
  • Tailscale(远程访问需要)

官方安装方式

DSH 官方插件分发路径是 dsh plugin --profile <name> add,支持 npm 包、tarball 和 GitHub 安装。

# 从 npm(发布后)
dsh plugin --profile web add @wahu/dsh-mobile

# 从本地 tarball
corepack pnpm pack
dsh plugin --profile web add ./wahu-dsh-mobile-0.2.0.tgz

# 从 GitHub Release tarball
dsh plugin --profile web add https://github.com/ZSLsherly/DSH-remote-console/releases/download/v0.2.0/wahu-dsh-mobile-0.2.0.tgz

# 从 GitHub(已提供 prepare 构建)
dsh plugin --profile web add github:ZSLsherly/DSH-remote-console

包名 @wahu/dsh-mobile,插件 ID 同为 dsh-mobile;包内已声明 dsh.bundledsh.client manifest。

安装

在 CMD 中执行:

git clone https://github.com/ZSLsherly/DSH-remote-console.git
cd /d DSH-remote-console
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\install.ps1

安装脚本会完成依赖安装、类型检查、测试、构建,然后把当前目录链接到 DSH web profile。

验证 profile:

dsh.cmd --profile web --dump-config | findstr /i dsh-mobile

本机使用

dsh.cmd --profile web --port 3080

浏览器打开 http://127.0.0.1:3080

手机远程访问

1. 首次配置

电脑和手机先登录同一个 Tailnet。在电脑 CMD 中执行:

cd /d DSH-remote-console
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\start-remote.ps1 -ConfigureServe

脚本会:

  1. tailscale status --json 读取当前设备的 MagicDNS 域名。
  2. 配置 Tailscale HTTPS 8443 代理到 127.0.0.1:3080
  3. 以该 MagicDNS authority 作为 --trusted-host 启动 DSH。
  4. 如果端口上已有符合安全要求的 DSH,则验证后复用它。

脚本输出的 Mobile URL 就是手机访问地址,例如:

https://device-name.example.ts.net:8443/

2. 手机登录

  1. 在 iOS/Android 安装 Tailscale。
  2. 登录与电脑相同的 Tailscale 账号,或加入同一 Tailnet。
  3. 确认手机 Tailscale 状态为已连接。
  4. 用手机浏览器打开脚本输出的 Mobile URL

DSH 没有额外的账号登录页;Tailnet 成员身份和 ACL 就是访问边界。

3. 日常启动

Tailscale Serve 配置会保留。电脑重启后只需:

cd /d DSH-remote-console
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\start-remote.ps1

如果脚本新启动了 DSH,该 CMD 窗口需要保持打开;按 Ctrl+C 停止。

4. 连通性验证

新开 CMD:

cd /d DSH-remote-console
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\check-remote.ps1

检查 Tailscale Serve 状态:

"C:\Program Files\Tailscale\tailscale.exe" serve status

远程打开本地工作区

DSH 出于安全限制,host.pickDirectory 只允许本机回环调用;手机通过 Tailscale 远程访问时调用它会返回 HTTP 403

手机远程访问时,本插件会接管 DSH 原生的 “选择工作区域 / 添加工作区” 流程:点击后会弹出路径输入框,输入电脑上的本地工作区绝对路径,插件会通过 DSH 的 workspace.create 接口直接注册并打开该目录,绕开被限制的原生目录选择器。对话输入区的 “打开工作区” 按钮也走同样的路径。

示例路径:

C:\my-project

电脑防睡眠

手机远程连接后,浏览器会每 20 秒向插件心跳端点发送一次请求。插件在电脑上收到心跳后,会通过 Windows SetThreadExecutionState 保持系统唤醒,避免电脑进入睡眠;超过 90 秒没有心跳后自动恢复系统正常睡眠策略。

该机制不修改电源计划,也不需要管理员权限。插件更新到本版本后需要重启一次 DSH,新的 Node 端才会生效。

安全边界

  • DSH 只监听 127.0.0.1,不使用 0.0.0.0
  • 远程脚本只配置 Tailscale Serve,不开启 Funnel。
  • --trusted-host 只加入当前设备的 MagicDNS :8443 authority。
  • Tailscale Serve 默认仅 Tailnet 内可见,请同时维护好 Tailnet ACL。
  • 页面通知不是 Web Push;浏览器必须保持页面存活。

停用 8443 代理:

"C:\Program Files\Tailscale\tailscale.exe" serve --https=8443 off

开发

corepack.cmd pnpm install
corepack.cmd pnpm run check

check 依次执行 TypeScript 类型检查、Vitest 测试和 Node/浏览器 bundle 构建。

License

MIT

生态标签

该仓库/包使用以下标签便于 DSH 插件市场与社区索引发现:

  • GitHub topics:dsh-plugindeepseek-harnessdshmobileremote-consoletailscale
  • npm keywords:dsh-plugindeepseek-harnessdshmobileremote-consoletailscale

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected

Repository information

Language
TypeScript
License
MIT
Latest release
v0.2.0
Last updated
Aug 16, 2026, 3:20 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.