中文EN

dsh-plugin-dshm

remote装不上npmMIT

通过本地网络或 Tailscale,将 DSHM iPhone/iPad 配套应用连接到 DeepSeek Harness,支持设备配对、会话控制和文件传输;配套应用的公开 TestFlight 仍在等待 Apple 审核。

下载量 / Downloads
933
测试时间 / Tested
2026-11-07
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-plugin-dshm

沙箱测试结果

阶段结果
1 安装✗
2 列装—
3 挂载—
4 启动—
第一条错误
dsh: initialized profile web at /home/node/.dsh/profiles/web

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

DSHM 桥接插件

[English](README.md)

通过 iPhone 或 iPad 上的 DSHM,查看和控制电脑里的 DeepSeek Harness 会话。

智能体仍在你的电脑上运行;手机通过局域网或你自己的 VPN 连接桥接插件。

环境与兼容性

  • DeepSeek Harness 0.2.1-rc.3、0.2.1-rc.5 或 0.2.2-rc.1。插件 0.1.5 新增

0.2.2-rc.1,这是 2026-11-07 查询到的 npm latest 版本。

仅支持这些精确版本;其他版本和独立的 alpha 通道不会自动视为兼容。

  • 电脑正在运行 DSH 桌面应用或 dsh web,手机或平板已安装兼容的 DSHM

构建版本。这个 npm 包不会安装 iOS 应用。

  • DSH 运行环境使用 Node 24 或更新版本。桥接插件会在本机生成首次使用的 TLS 证书。
  • 两台设备之间能够直接通信,或已连接到你自己的 Tailscale 等 VPN。

发布检查使用隔离的真实 dsh web:macOS 覆盖审批、重连、文件传输、路径限制

和重启;Windows 覆盖包安装、端口占用恢复、配对、重启和运行中禁用后重新启用。

Windows 检查使用托管 Windows Server,并不代表每种桌面配置均已验证。

真实手机的网络测试与本地测试客户端、Simulator 的结果分别记录。

v1 不包含中国大陆市场,也不声明已验证大陆网络可达性。

在 DSH 中安装

1. 在需要远程控制的 DSH 实例中打开 Plugins(插件) 页面。

2. 使用页面上的包安装入口,输入以下包名:

   dsh-plugin-dshm

3. 安装后,在插件页面启用 DSHM,然后打开 Settings(设置)→ DSHM。

从 0.1.3 或更早版本升级时,请在 macOS 应用菜单选择 **Quit DeepSeek Harness

(退出 DeepSeek Harness)**,或在 Windows 托盘菜单退出 DSH,再重新打开一次。

只关闭窗口可能让旧桥接插件继续运行,即使插件页面已显示新版本。

保留桥接数据,已配对设备可直接重连。之后在运行中禁用和重新启用无需重启。

请使用 DSH 插件管理器,不要手动修改配置文件,也不要把文件复制进已安装的

DSH 应用目录。安装只作用于所选的 DSH profile,不会自动启用其他 profile。

DSH Market 条目从 npm 安装插件。市场目录更新与 npm 版本可用的时间可能不同。

也可以在 DSH 插件管理器中直接按包名安装。

配对手机或平板

1. 保持 DSH 运行。在电脑上打开 Settings → DSHM → Pair a device(配对设备)。

2. 在 iPhone 或 iPad 的 DSHM 中添加电脑,扫描显示的二维码。

3. 出现提示时允许本地网络访问。电脑上的 DSHM 设置卡片应显示该设备为

Connected(已连接)。

二维码只能使用一次,五分钟后过期。它包含临时配对凭据,请勿转发,也不要

放进截图或问题报告。点击 Cancel pairing(取消配对) 可以提前关闭;过期

后重新开始配对即可。只配对你信任的设备:已配对设备可以查看会话和文件、

发送提示词、回答工具审批。

手机丢失或不再需要访问时,在 Settings → DSHM 中点击该设备的

Revoke(撤销),再确认 Revoke device(撤销设备)。插件会关闭其当前

连接,并阻止旧配对重新连接。以后需要恢复访问时,可以重新配对。

网络设置

引导设置远程连接

手机和这台电脑不在同一 Wi-Fi?使用 Tailscale。在同一 Wi-Fi 下无需其他设置。

打开 Settings → DSHM → 不在同一 Wi-Fi。这个可选向导检查 Windows/

macOS 上的官方 Tailscale 程序,提供官方安装说明,并可打开 DSH 宿主电脑上的

Tailscale。安装、系统授权和浏览器登录由你亲自完成。如果从另一台电脑打开

DSH Web UI,请把 Tailscale 安装在 运行 DSH 的电脑 上。

手机安装 Tailscale,使用同一个个人账号登录,并连接两端。组织账号需确保

两台设备处于同一且允许通信的 tailnet;登录相同账号不会绕过组织访问策略。

连接后点 Pair for remote access,在 DSHM 扫描新二维码。旧的仅局域网配对

不会自动获得新 VPN 地址:先在 DSHM 忘记旧电脑,在宿主撤销旧设备条目,再

重新配对。主动生成新二维码会替换尚未使用的旧二维码。

向导区分“电脑已就绪”和“设备已通过 Tailscale 连接”。请让手机使用蜂窝网络

或其他 Wi-Fi 进行测试。Pair a device 始终保留局域网配对入口,无须

安装 Tailscale。取消安装、未登录或状态检查失败都不会关闭局域网配对。

插件不会自动安装 VPN,不修改 Tailscale 账号、DNS、路由、出口节点、防火墙

或代理设置,也不收集登录凭据。卸载插件会保留已安装的 Tailscale。新向导的全新安装及

远程手机验收尚未完成;此前 Windows 局域网/远程测试使用旧版包,不能代替

新向导验收。

  • macOS: 在 系统设置 → 隐私与安全性 → 本地网络 中允许

DeepSeek Harness。如果通过终端运行 dsh web,也要允许相应的终端

应用。iOS 上的 DSHM 同样需要“本地网络”权限。

  • Windows: Windows 防火墙询问 DSH 宿主程序的联网权限时,允许你信任的

专用网络(Private networks),保持 公用网络(Public networks)

禁用。桥接插件不会替你修改防火墙规则;Windows 的运行验证仍待完成。

  • Wi-Fi: 建议先让两台设备连接同一个可信的家庭或办公 Wi-Fi。访客网络、

手机热点或路由器的客户端隔离功能,可能让设备都能上网却无法互相连接。

  • 代理和 VPN: 在两台设备上开启 绕过局域网/本地网络(bypass LAN),

或暂时关闭影响连接的代理以检查路由。局域网地址和所用 VPN 的设备地址都

必须可达;把全部流量送入代理的规则可能阻止配对。

  • 不在同一 Wi-Fi: 让电脑和手机加入同一个 Tailscale 网络或你管理的其他 VPN,

并允许两台设备之间通信。电脑需要保持唤醒,DSH 需要保持运行。DSHM 没有

自营会话流量中继。Bonjour 发现通常不会穿过 VPN;配对时应确保手机能够

连接电脑提供的某个地址。

桥接插件默认在局域网/私有地址及 Tailscale 地址的 TCP 47390 端口监听,

与 DSH Web UI 使用不同的监听端口。不要为它设置路由器公网端口转发,也不要

把 DSH Web 服务改成公网监听。Bonjour 使用本地网络;如果能够发现电脑却

连接不上,先检查权限、代理/VPN 绕过设置及客户端隔离。

首次启动时,如果 TCP 47390 已被占用或保留,桥接插件会自动选择可用端口,并保存它供以后重连。

新的配对码与 Bonjour 都会使用实际监听端口。运行 dsh dshm status 可查看端口。

如果端口变更后手机无法重连,请重新扫码。手动指定的 port 保持固定,所选网络接口上必须能使用该端口。

数据会发送到哪里

只有打开远程设置或请求远程配对时,向导才读取本机 Tailscale 状态;返回连接

状态和本机 VPN 地址,不返回账号身份、登录链接或其他设备清单。Tailscale 是

独立服务,有自己的账号和隐私条款;DSHM 在 VPN 上仍使用固定证书的 TLS。

桥接插件通过固定证书的 TLS 连接,把会话消息、工具结果、审批、所选文件及

已声明的交付文件发送给经过认证的已配对设备。手机发送的提示词、回答和附件

会交给电脑上的 DSH。桥接插件不运行云端智能体,也不使用分析服务或 DSHM

会话流量中继;它不会读取或转发 DSH 的模型服务凭据存储。DSH 本身仍会按照你

自己的配置连接模型服务和工具,遵循这些服务的设置。

Bonjour 会在局域网内公布桥接宿主的标识、协议版本和私有网络地址,供发现

使用。本地桥接身份和配对记录保存在 $DSH_HOME/dshm/,使用默认 DSH home

时为 ~/.dsh/dshm/。请勿把其中的私有文件粘贴到问题报告。安装插件或使用

远程索引时,DSH 会访问相应的包仓库和索引服务器。

可选的推送通知经过独立代理及 Apple 推送通知服务(APNs)。 未配置

pushProxyUrl 时,桥接插件不会发起推送网络请求,也不会声明支持推送。

配置地址后会定期检查代理健康状态;只有代理可达且会话观察功能正常时,才

声明支持推送。本软件包包含桥接发送端,代理及应用另行提供。iOS 推送注册、

通知服务扩展及真实锁屏手机的通知送达仍是独立工作,本地后端测试不代表

这些环节已经验证。

注册推送时,应用将 APNs 设备令牌及沙盒/生产环境标识发送给所选的 HTTPS

代理。代理保存这份路由映射,以及用独立包装密钥加密的认证密钥。应用通过

DMP 将返回的注册信息和另一把通知内容密钥交给已配对的桥接插件。桥接插件

把这些密钥和偏好保存在私有的 $DSH_HOME/dshm/push.json(权限 0600)中。

APNs 提供方密钥只存在代理的密钥配置中,不会交给桥接插件。

配置并完成注册后,桥接插件会把加密的会话标题、简短事件摘要,以及不透明

推送 ID、事件类别、分组 ID 和请求签名发送给代理。代理将密文和通用备用

提示转交 APNs。代理及 APNs 都不会收到通知内容密钥,也无法直接读取解密后

的标题/摘要;路由元数据、时间和载荷大小仍然可见,代理在网络层也会收到

客户端 IP。应用仅记录计数,并保存用于限流的 IP 哈希。推送不会上传文件或

完整会话记录;设备保持已认证的实时连接时,不会向该设备发送推送。

取消推送注册或撤销设备会先删除本地推送注册,再尽力请求代理删除相应映射。

代理不可达时,无法确认远端删除成功;仅卸载软件包不会删除远端映射。

APNs 已经接收的通知无法撤回。终端输出仍仅供查看;桥接插件不提供可交互的

远程终端。

卸载

1. 在 Settings → DSHM 中撤销不再需要授权的设备。

2. 打开 Plugins,找到 dsh-plugin-dshm,通过 DSH 插件管理器从当前

profile 中移除。如果其他 profile 也安装过,包括可选的 dshm CLI

profile,请分别移除。

3. 按提示重启受影响的 DSH 宿主。该宿主的 DSHM 设置卡片和监听端口应已消失。

卸载软件包与删除私有身份、配对记录是两件事。如果打算重新安装,请保留

$DSH_HOME/dshm/。如果你明确选择完整重置,应先停止所有使用该 home 的 DSH

宿主,然后仅删除桥接插件的 dshm 状态目录;已有设备需要忘记旧电脑并重新

配对。不要删除整个 DSH home,也不要删除模型服务凭据或会话目录。卸载桥接

插件不会删除 DSH 会话。

新 DSH 版本发布检查清单(维护者)

1. 先阅读上游改动,尤其是 projection 接口和插件加载器。在尚未发布的候选包中,

同步更新显式运行时允许列表及 engines.dsh,以便通过 DSH 安装并进行隔离

验证。以下测试通过前,不发布该包,也不对外声明支持新版本。

2. 通过 DSH 的正常发布渠道安装候选运行时,在隔离的 .dsh-test home 中对

该候选版本运行 pnpm -C bridge test:integration。兼容性改动必须同时

审查 bridge/src/projection/native.ts 中的显式运行时版本保护;只改包元数据

不会启用新运行时。必要时调整测试宿主路径,但不要跳过失败,也不要用旧

运行时的结果冒充新版本验证。

记录实际版本和结果;声明新的 Windows 组合已支持前,完成 Windows 清单。

3. 运行 pnpm -C bridge test、pnpm -C protocol validate 和

pnpm -C protocol gen:check。在正确的架构边界内修复兼容性问题并审查结果。

4. 只有真实 DSH 集成测试通过后,才最终确定 engines.dsh 中明确验证过的

版本或范围。不要假定未来整个小版本都兼容。根据实际验证记录,更新

tools/release-plugin/check-release.mjs 中的已测试范围,并与运行时版本保护

保持一致。从 bridge/package.json

重新生成并验证插件索引,保证两处兼容性字段一致。

5. 提升插件版本,更新中英文 README,检查 npm pack --dry-run,并通过隔离

profile 的插件管理器安装和启动准备发布的同一个 tarball。

6. 发布前审计准备发布的同一个 tarball,记录 SHA-256。所有者亲自登录 npm,

禁用生命周期脚本后发布该文件。通过隔离 profile 的 DSH 插件管理器验证按名

安装。已经发布的版本不能通过覆盖来修复。

公开仓库仅保存插件源码快照。共用协议源码、fixtures 及集成工具保留在私有

开

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:7,最后更新 2026-11-06

链接

GitHub · Homepage · npm

同类插件