← 返回列表
未验证
扫码配对后手机实时观察并远程发送提示词
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/25 · 已提供中文文档
DSH(DeepSeek Harness)移动端远程模式插件——局域网发现、二维码配对、来自 Android/iOS 手机及任意浏览器的 Level-1 观察者与 Level-2 远程提示。多平台,早期开发阶段(Dev0.1)。
综合分
28.5
GitHub 分
28.5
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add anonRTtty/DSH-mobile-remote-mode-plugin该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
DSH-mobile-remote-mode-plugin — DSH 移动端远程模式插件 版本 Version: Dev0.1 · 多端通用 Multi-platform · 早期开发 Early Development 让手机成为 DSH 的遥控器。 同一局域网内扫码配对,手机实时观察(Level 1)、远程向真实 Agent 发送提示词(Level 2);后续方向:Level 3 受控操作、原生 App(Android / iOS)。 Turn your phone into a DSH remote. QR pairing over LAN, live observation (Level 1), remote prompts to the real Agent (Level 2) — from Android / iOS / any browser. Roadmap: Level 3 supervised control, native apps. 一键安装 / One-click install git clone https://github.com/anonRTtty/DSH-mobile-remote-mode-plugin.git "$HOME/.dsh/profiles/node_modules/dsh-mobile-remote-mode-plugin" 安装后重启 DSH,WebUI → 远程模式 ◯ → 开启 Remote Broadcast。 After installing, restart DSH: WebUI → 远程模式 ◯ → enable Remote Broadcast. English · 中文 中文 简介 DSH-mobile-remote-mode-plugin 是运行在 DSH(DeepSeek Harness)上的一个插件,把「远程访问 DSH」的能力带到移动端与多端浏览器。当前处于早期开发阶段(Dev0.1):核心链路已经可用且经过本地回归测试,但请把它当作开发版使用,不要在生产环境/公网环境依赖它。 多端通用:手机(Android / iOS)通过浏览器打开网页即可使用,无需安装 App;PC 浏览器同样可用;后续会提供原生 App 封装(见更新计划)。 当前版本能做什么(Phase 1 – 5.1) | 能力 | 说明 | | --- | --- | | 局域网发现 | 开启广播后,DSH 每 2s 通过 UDP 组播广播实例信息;手机自动发现附近实例(在线/离线状态) | | 安全配对 | 手机发起配对 → PC 端「New Device Request」确认 → 一次性凭据下发(仅存 SHA-256 哈希);支持二维码配对(/pair?ticket=...,单次 60s 有效),无需手输 IP/端口 | | Level 1 · 观察者 | 手机只读查看:实例状态、Agent 状态(Idle/Working)、工作区/项目、API 余额、系统负载;SSE 实时推送 + 2s 轮询兜底 | | Level 2 · 远程提示词 | PC 端单独将设备升级为 Level 2 后,手机可向 DSH 的真实 Agent 发送提示词:服务端新建会话+Agent(默认 preset + 默认模型)→ followup 驱动一轮 → 输出经 SSE 实时流回手机;失败时手机显示 Code: + [Retry] + 部分输出 | | 审计 | 本地追加式审计日志(plugin-remote-audit.jsonl,1MB 滚动),只记录元数据(设备/任务/状态/错误码/时间),绝不记录提示词内容与凭据 | 架构 ┌────────────┐ UDP 组播 / HTTP(8765) ┌──────────────┐ │ 手机浏览器 │ ◄──────────────────────► │ DSH (PC) │ │ mobile.html │ │ dsh-plugin-remote │ └────────────┘ └──────────────┘ | 文件 | 职责 | | --- | --- | | src/discovery.mjs | 协议核心(零 Cordis 依赖):发现、配对、QR 票据、凭据/会话、等级与能力表、限流、Origin 校验、SSE、提示词任务注册表 | | src/index.js | DSH 主机侧胶水:/api/plugin.remote/ 路由、真实 DSH 事实(Agent/工作区/余额/系统)、把远程提示词接进真实 Agent 管线(agents.create 规范路径 + preset + 默认模型) | | src/mobile.html | 手机页面:发现列表、QR 配对、Level 1 观察者、Level 2 远程提示词(增量渲染,输入框缓存不丢焦点) | | src/client.js | PC 浏览器侧:远程模式 ◯ 胶囊、广播开关、Pair with Phone 二维码、设备管理与等级切换 | | src/qr.mjs | 零依赖 ISO 18004 二维码编码器(SVG 输出) | 安全模型(不会随版本弱化):凭据是唯一授权依据(绝不信任 IP/设备 ID/客户端声称);Bearer 会话 → 设备 → 等级 → 能力表逐层校验;单次取凭据、票据 60s 一次性;限流与并发上限;跨实例凭据隔离;吊销即失效;发现 ≠ 认证(组播输入永远不可信)。 已知安全隐患(Dev0.1,必须知晓) ⚠️ 当前版本:请把局域网视为不可信网络,并仅在可信的私人网络中使用。 - 无 TLS(明文 HTTP):手机页面与 API 全部走 HTTP。DSH 主机 WebServer 暂不支持 HTTPS,公共 CA 无法为局域网 IP 签发证书 —— 已分析并记为阻塞项(F-08),详见 README 原文 TLS 章节。 - 手机页面 CORS 全开:Access-Control-Allow-Origin: ,以便一页配对多个实例;依赖 Origin 白名单 + 限流 + PC 端确认来缓解。 - 凭据存于手机 localStorage:明文凭据只存在于手机浏览器本地存储,服务端仅存 SHA-256;手机丢失/浏览器被入侵等于泄露访问权。 - 发现报文可伪造:组播发现输入不可信,仅作展示辅助(页面显示 ID 仅为区分,不是凭据)。 - 审计/日志不落凭据,但提示词内容会进入 DSH 的会话记录(远程提示词本身就是发往 Agent 的输入)——请勿通过远程提示词发送机密内容。 - 早期开发:接口与行为可能变更,尚无公网部署/多租户场景验证。 更新计划(Roadmap) | 阶段 | 内容 | | --- | --- | | Level 3 · 控制(进行中) | 在 Level 1 观察 + Level 2 提示词之上增加受控操作(如安全确认式命令执行、会话控制),继续沿用「PC 端显式授权 + 最小权限」模型 | | 原生 App(Android/iOS) | 用 WebView 封装现有网页能力,实现推送通知、后台常驻、证书固定与更强的本地凭据保护(Keychain/Keystore) | | TLS / 安全传输 | 原生 App 内建信任模型(mTLS / Noise),解决明文 HTTP 问题;局域网 IP 证书不可行的结论下转向 App 级传输安全 | | 更多端 | Windows / macOS 桌面端、平板适配、多实例同时管理 | | 稳定性 | 更完整的实机测试矩阵、错误码体系完善、配额与速率策略可配置化 | 快速开始(本地开发) 1. 把插件目录放进 DSH Web profile 的 node_modules(或按 DSH 插件加载方式挂载),重启 DSH。 2. WebUI → 远程模式 ◯ → 开启 Remote Broadcast。 3. PC 菜单 → Pair with Phone → 手机相机扫码 → 配对确认 → 进入 Level 1 观察者。 4. PC 端 Paired Devices → Change Level 升到 Level 2 → 手机即可发送远程提示词。 ⚠️ 主机侧代码(discovery.mjs / index.js)在 DSH 启动时加载:修改后需重启 DSH;mobile.html 从磁盘提供,手机刷新即生效。 测试 test/ 下为无外部依赖的回归套件(Node ≥ 20,直接 node test/.mjs): - discovery-test.mjs — 发现协议回归 - security-test.mjs — 配对/凭据/会话安全(37 项) - audit-test.mjs — 对抗性审计(43 项) - hardening-test.mjs — 加固(14 项) - qr-test.mjs — 二维码配对(14 项) - prompt-test.mjs — Level 2 鉴权与生命周期(15 项) - prompt-runtime-test.mjs — 5.1 任务失败诊断(R1–R10,10 项) - prompt-ui-test.mjs — 5.1 输入框焦点/错误 UI(U1–U7,7 项) 许可证 MIT。 English · 中文 English Introduction DSH-mobile-remote-mode-plugin 是一个 DSH(DeepSeek Harness)插件,为移动端及多平台浏览器带来对 DSH 的远程访问能力。目前处于早期开发阶段(Dev0.1):核心流程可用,并有本地回归测试覆盖,但请将其视为开发版本——不要在生产环境或公网中依赖它。 多平台:手机(Android / iOS)直接在浏览器中使用——无需安装 App;PC 浏览器同样可用;原生 App 已在计划中(见 Roadmap)。 当前能力(Phase 1 – 5.1) | 能力 | 说明 | | --- | --- | | 局域网发现 | 广播开启时,DSH 每 2 秒通过 UDP 组播宣告自身;手机自动发现附近实例(在线/离线) | | 安全配对 | 手机请求配对 → PC 确认("New Device Request")→ 签发一次性凭据(仅存储其 SHA-256);二维码配对(/pair?ticket=...,一次性,60 秒)免去手动输入 IP/端口 | | Level 1 · 观察者 | 只读:实例状态、Agent 状态(Idle/Working)、工作区/项目、API 余额、系统负载;SSE 实时更新 + 2 秒轮询兜底 | | Level 2 · 远程提示词 | PC 将设备升级到 Level 2 后,手机可向 DSH 的真实 Agent 发送提示词:创建全新会话 + agent(默认预设 + 默认模型),通过 followup 驱动一轮对话,输出经 SSE 流式返回;失败时手机显示 Code: + [重试] + 部分输出 | | 审计 | 本地仅追加审计日志(plugin-remote-audit.jsonl,1 MB 轮转),仅含元数据(设备/任务/状态/error_code/时间)——绝不包含提示内容或凭据 | 架构 ┌────────────┐ UDP 组播 / HTTP(8765) ┌──────────────┐ │ 手机 │ ◄────────────────────────────► │ DSH (PC) │ │ mobile.html│ │ dsh-plugin-remote │ └────────────┘ └──────────────┘ | 文件 | 作用 | | --- | --- | | src/discovery.mjs | 协议核心(无 Cordis 依赖):发现、配对、QR 票据、凭据/会话、级别与能力表、速率限制、Origin 门控、SSE、提示任务注册表 | | src/index.js | DSH 宿主粘合层:/api/plugin.remote/ 路由、真实 DSH 事实(Agent/工作区/余额/系统),以及接入真实 Agent 流水线的远程提示桥(agents.create 规范路径 + 预设 + 默认模型) | | src/mobile.html | 手机页面:发现列表、QR 配对、Level-1 观察者、Level-2 远程提示(增量渲染;缓存的 textarea 永不失去焦点) | | src/client.js | PC 浏览器端:远程模式 ◯ 胶囊、广播开关、“与手机配对”QR、设备管理与级别切换 | | src/qr.mjs | 零依赖 ISO 18004 QR 编码器(SVG 输出) | 安全模型(未来版本不得削弱):凭据是唯一权威(IP / 设备 id / 客户端声明永不被信任);Bearer 会话 → 设备 → 级别 → 能力表在服务端强制执行;一次性凭据领取,60 秒一次性票据;速率与并发上限;跨实例凭据隔离;吊销即终止会话;发现 ≠ 认证(组播输入永不被信任)。 已知安全风险(Dev0.1 —— 请阅读) ⚠️ 当前版本:将你的局域网视为不可信,仅在可信专用网络上使用。 - 无 TLS(明文 HTTP):手机页面和 API 均为 HTTP。DSH 的宿主 Web 服务器目前无法提供 HTTPS,公共 CA 也无法为局域网 IP 签发证书——已分析并作为阻塞项跟踪(F-08);完整决策记录见旧版 README 的 TLS 部分。 - 手机页面 CORS 开放(Access-Control-Allow-Origin: ),以便一个页面可与多个实例配对;通过 Origin 允许列表、速率限制和 PC 端批准来缓解。 - 凭据存于手机 localStorage:原始凭据仅存在于手机的本地存储中(服务端仅存储 SHA-256)。手机被盗 / 浏览器被攻陷即等同于访问权限泄露。 - 发现数据包可被伪造:组播输入不可信且仅用于显示(ID 标签是消歧辅助,不是凭据)。 - 审计/日志绝不存储凭据,但提示内容会进入 DSH 的会话历史(远程提示字面上就是 Agent 的输入)——请勿通过远程提示发送机密。 - 早期开发阶段:API 和行为可能变化;尚无公网 / 多租户验证。 路线图 | 阶段 | 内容 | | --- | --- | | Level 3 · 控制(进行中) | 在 Level-1 观察 + Level-2 提示的基础上添加受监督的操作(例如已确认的命令执行、会话控制),保持“PC 端显式授权 + 最小权限”模型 | | 原生应用(Android / iOS) | 将现有 Web 能力封装在 WebView 中:推送通知、后台运行、证书固定、更强的本地凭据保护(Keychain/Keystore) | | TLS / 安全传输 | 通过应用内信任模型(mTLS / Noise)解决明文 HTTP 问题——这是在局域网 IP 证书被证明不可行之后得出的结论 | | 更多平台 | Windows / macOS 桌面端、平板布局、多实例管理 | | 稳定性 | 更大的真机测试矩阵、更精细的错误码、可配置的配额与速率策略 | 快速开始(本地开发) 1. 将插件目录放入 DSH Web 配置文件的 node_modules 中(或按照 DSH 插件加载机制进行挂载),然后重启 DSH。 2. WebUI → 远程模式 ◯ → 启用 Remote Broadcast。 3. PC 菜单 → Pair with Phone → 用手机扫描二维码 → 批准配对 → Level-1 观察者。 4. PC 已配对设备 → Change Level 改为 Level 2 → 手机现在可以发送远程提示。 ⚠️ 宿主端代码(discovery.mjs / index.js)在 DSH 启动时加载:编辑后需重启 DSH;mobile.html 从磁盘提供,因此手机页面刷新即可。 测试 test/ 目录包含一个无依赖的回归测试套件(Node ≥ 20,使用 node test/.mjs 运行): - discovery-test.mjs — 发现协议回归 - security-test.mjs — 配对/凭据/会话安全(37 项检查) - audit-test.mjs — 对抗性审计(43 项检查) - hardening-test.mjs — 加固(14 项检查) - qr-test.mjs — 二维码配对(14 项检查) - prompt-test.mjs — Level-2 认证与生命周期(15 项检查) - prompt-runtime-test.mjs — 5.1 任务失败诊断(R1–R10,10 项检查) - prompt-ui-test.mjs — 5.1 输入焦点 / 错误 UI(U1–U7,7 项检查) 许可证 MIT。 中文 · English
同作者(anonRTtty)的其他插件
扫码进群