dsh-remote-console
Secure mobile companion bundle for the DeepSeek Harness Web profile
zslsherly
@zslsherly
⬇ 1
★ 0
main
安装
dsh plugin --profile web add github:zslsherly/dsh-remote-console
需要可复现安装时,可在仓库后追加 #commit 固定提交。
Secure mobile companion bundle for the DeepSeek Harness Web profile
该插件未提供要点说明,请参考仓库 README。
deepseek-harnessdshdsh-pluginmobileremote-consoletailscale
- 安装并启动 DeepSeek Harness:
npx @deepseek-ai/dsh web - 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
- 用 dsh plugins list 确认已安装,必要时重启 Harness 生效
插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。
| 代码仓库 | github.com/zslsherly/dsh-remote-console |
| 许可证 | MIT |
| 主要语言 | main |
| 下载量 | 1 |
| GitHub 星标 | 0 |
| 最近推送 | 2026-08-16 |
| 收录日期 | 2026-09-19 |
| 分类 | 工具与能力 |
事实信息来自公开插件目录快照(2026-10-01),介绍文案由本站再加工。
以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。
# DSH Remote Console
DSH Remote Console 是 [DeepSeek Harness (DSH)](https://github.com/deepseek-ai/deepseek-harness) Web profile 的移动端增强插件,插件 ID 为 `dsh-mobile`。它通过 Tailscale Serve 将本机 DSH 安全地提供给手机浏览器,无需在公网监听端口。
## 功能
- 显示 DSH 连接、运行、等待操作和就绪状态。
- 统计待处理/已完成会话,并跳转到下一个会话。
- 在浏览器页面存活时提供待操作/任务完成通知。
- 支持浏览器的“安装应用”提示。
- 仅在手机/触摸屏布局中显示,不替换 DSH 原有界面。
## 设计
```text
手机浏览器
|
| 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](https://tailscale.com/download)(远程访问需要)
## 官方安装方式
DSH 官方插件分发路径是 `dsh plugin --profile add`,支持 npm 包、tarball 和 GitHub 安装。
```sh
# 从 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.bundle` 与 `dsh.client` manifest。
## 安装
在 CMD 中执行:
```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:
```cmd
dsh.cmd --profile web --dump-config | findstr /i dsh-mobile
```
## 本机使用
```cmd
dsh.cmd --profile web --port 3080
```
浏览器打开 `http://127.0.0.1:3080`。
## 手机远程访问
### 1. 首次配置
电脑和手机先登录同一个 Tailnet。在电脑 CMD 中执行:
```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` 就是手机访问地址,例如:
```text
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 配置会保留。电脑重启后只需:
```cmd
cd /d DSH-remote-console
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\start-remote.ps1
```
如果脚本新启动了 DSH,该 CMD 窗口需要保持打开;按 `Ctrl+C` 停止。
### 4. 连通性验证
新开 CMD:
```cmd
cd /d DSH-remote-console
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\check-remote.ps1
```
检查 Tailscale Serve 状态:
```cmd
"C:\Program Files\Tailscale\tailscale.exe" serve status
```
## 远程打开本地工作区
DSH 出于安全限制,`host.pickDirectory` 只允许本机回环调用;手机通过 Tailscale 远程访问时调用它会返回 `HTTP 403`。
手机远程访问时,本插件会接管 DSH 原生的 **“选择工作区域 / 添加工作区”** 流程:点击后会弹出路径输入框,输入电脑上的本地工作区绝对路径,插件会通过 DSH 的 `workspace.create` 接口直接注册并打开该目录,绕开被限制的原生目录选择器。对话输入区的 **“打开工作区”** 按钮也走同样的路径。
示例路径:
```text
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 代理:
```cmd
"C:\Program Files\Tailscale\tailscale.exe" serve --https=8443 off
```
## 开发
```cmd
corepack.cmd pnpm install
corepack.cmd pnpm run check
```
`check` 依次执行 TypeScript 类型检查、Vitest 测试和 Node/浏览器 bundle 构建。
## License
[MIT](./LICENSE)
## 生态标签
该仓库/包使用以下标签便于 DSH 插件市场与社区索引发现:
- GitHub topics:`dsh-plugin`、`deepseek-harness`、`dsh`、`mobile`、`remote-console`、`tailscale`
- npm keywords:`dsh-plugin`、`deepseek-harness`、`dsh`、`mobile`、`remote-console`、`tailscale`
数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。