@khorsheed/dsh-mobile 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # 变更记录
2
2
 
3
+ ## 0.1.3(2026-09-30)
4
+
5
+ 无功能变更。加宽 `@deepseek-ai/dsh-*` peer 区间以覆盖宿主 0.2.0(0.2.0 的兼容闸会禁用 peer 区间不覆盖宿主版本的已装插件)。
6
+
3
7
  ## 0.1.2(2026-09-28)
4
8
 
5
9
  - **public tunnel 恢复**,QR 码按隧道可达性门禁——隧道不通时不再展示一张扫不开的二维码
package/README.en.md CHANGED
@@ -56,13 +56,11 @@ DSH_MOBILE_PUBLIC_ORIGIN=https://YOUR-HOST.trycloudflare.com dsh web --no-open -
56
56
  Different physical networks need an independently configured HTTPS/WSS ingress to the loopback Host port, valid official authentication, an awake/online Mac and a reachable phone — starting the Host alone does not establish remote access, and the App does not configure networking or credentials for you. Debug simulator builds allow HTTP on loopback only; Release requires HTTPS.
57
57
 
58
58
 
59
- ### Desktop Quick Tunnel recovery
59
+ ### Public entry checks and rescanning
60
60
 
61
61
  The connection page anonymously probes the configured public root before offering or generating a QR. An unavailable origin returns an actionable state without issuing a login URL. A displayed QR is checked every 15 seconds and hidden if the endpoint fails or changes. This is a computer-side reachability check, not a guarantee about the phone's network.
62
62
 
63
- For this repository's supervised 3080 deployment, `pnpm mobile:tunnel` runs an opt-in desktop recovery manager; `--repair-now` skips the initial three-check delay. It checks every 30 seconds, waits through a local host outage, and rebuilds only after three consecutive public failures. Recovery attempts have a ten-minute cooldown. It starts an exact-origin loopback ingress and a new Quick Tunnel, then calls `pnpm deploy:3080 --package packages/mobile --mobile-origin https://new-link.trycloudflare.com`. This runs the normal build/test and guarded `reconfigure` path, updating the existing public-origin/trusted-host bindings and preserving other launch settings. It restarts the host; failure retains the guard's restore-previous behavior. Changed mobile/deployment source files block automated deployment.
64
-
65
- Keep the manager running under the computer's service manager (for example, a per-user macOS LaunchAgent). It is separate from the host process and is not installed by the plugin. `DSH_HOME` selects the existing supervised deployment; `CLOUDFLARED_BIN` optionally supplies the installed cloudflared binary. State and diagnostic logs live under `$DSH_HOME/state/mobile-tunnel/`; they contain no login tokens. Only an existing explicit Quick Tunnel binding is supported: no wildcard trusted hosts, account provisioning, or automatic changes to the phone. After rotation, reopen **Connect phone** and scan its new QR.
63
+ Checks only report connection status: they do not rebuild tunnels, deploy plugins or restart the host. The deployment operator restores a failed public entry manually; changes to host origin or trust bindings that require a restart must be explicitly scheduled first. Once the computer-side address is available, reopen **Connect phone** and scan the new QR on the phone. The phone address is not updated automatically.
66
64
 
67
65
  ## Optional: a Quick Tunnel preview
68
66
 
package/README.i18n.yaml CHANGED
@@ -2,5 +2,5 @@
2
2
  # last confirmed-consistent state. Both languages carry equal authority; after
3
3
  # editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/mobile/README.en.md
5
- packages/mobile/README.en.md: aedcdd10fd6a33f134e2b47764852c251e8571ae
6
- packages/mobile/README.md: 872d2ff32cf881a39fa40404ed7f5edd17d06c41
5
+ packages/mobile/README.en.md: f16f6a95a182406cc225d4b71cdc7976c0a689a1
6
+ packages/mobile/README.md: d7be96eddc96a4bfdaa592bc50ce792e19ffd541
package/README.md CHANGED
@@ -56,13 +56,11 @@ DSH_MOBILE_PUBLIC_ORIGIN=https://YOUR-HOST.trycloudflare.com dsh web --no-open -
56
56
  跨物理网络需要独立配置的 HTTPS/WSS 入口转发到 loopback Host 端口、有效官方认证、保持唤醒联网的 Mac 和网络可达的手机——仅启动 Host 不等于远程可用,App 也不会替你配置网络或凭据。Debug 模拟器构建仅允许 loopback HTTP,Release 要求 HTTPS。
57
57
 
58
58
 
59
- ### 电脑端 Quick Tunnel 自动恢复
59
+ ### 公网入口检查与重新扫码
60
60
 
61
61
  连接手机页面在提供或生成二维码前,会匿名检查已配置的公网入口。不可达时返回明确状态,不签发登录链接。正在展示的二维码每 15 秒复查一次,入口失效或变化时收起。这是电脑侧连通性检查,不能保证手机所处网络同样可达。
62
62
 
63
- 本仓库受监督的 3080 部署可选择运行 `pnpm mobile:tunnel`,`--repair-now` 可跳过初始三次检测的等待。管理进程每 30 秒检测一次,本地宿主不可用时等待;公网连续三次失败才重建,恢复尝试之间至少间隔十分钟。它启动严格绑定新域名的 loopback 转发和新 Quick Tunnel,再调用 `pnpm deploy:3080 --package packages/mobile --mobile-origin https://new-link.trycloudflare.com`,通过正常构建、测试及受控 `reconfigure` 更新原有公网地址和信任域名,其余启动设置不变。此过程会重启宿主,失败保留守护进程的回退机制。移动包或部署代码存在未提交修改时,自动部署会被阻止。
64
-
65
- 通过电脑的服务管理器保持运行,例如 macOS 的用户级 LaunchAgent。它独立于宿主进程,不由插件自动安装。`DSH_HOME` 指向现有受监督部署,`CLOUDFLARED_BIN` 可指定已安装的 cloudflared。状态和诊断日志位于 `$DSH_HOME/state/mobile-tunnel/`,不包含登录 token。仅支持已明确配置的 Quick Tunnel:不增加通配信任、不注册账号、不自动修改手机地址。域名切换后重新打开「连接手机」,扫描新二维码即可。
63
+ 检查只报告连接状态,不重建隧道、不部署插件、不重启宿主。公网入口失效时,由部署者手动恢复入口;需要变更宿主地址或信任域名的操作应先明确安排重启。电脑端地址可用后,重新打开「连接手机」,手机扫描新二维码即可。不会自动更新手机地址。
66
64
 
67
65
  ## 可选:Quick Tunnel 预览
68
66
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@khorsheed/dsh-mobile",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Removable mobile presentation and iOS bridge for DeepSeek Harness.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -56,17 +56,17 @@
56
56
  },
57
57
  "peerDependencies": {
58
58
  "@deepseek-ai/cordis": "^4.0.1",
59
- "@deepseek-ai/dsh-client-connection": "^0.1.0-rc.6",
60
- "@deepseek-ai/dsh-client-locale": "^0.1.0-rc.6",
61
- "@deepseek-ai/dsh-client-ui-layout": "^0.1.0-rc.6",
62
- "@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.6",
63
- "@deepseek-ai/dsh-client-ui-renderer": "^0.1.0-rc.6",
64
- "@deepseek-ai/dsh-client-ui-conversation": "^0.1.0-rc.6",
65
- "@deepseek-ai/dsh-invariants": "^0.1.0-rc.6",
59
+ "@deepseek-ai/dsh-client-connection": "^0.1.0-rc.6 || ^0.2.0-rc.1",
60
+ "@deepseek-ai/dsh-client-locale": "^0.1.0-rc.6 || ^0.2.0-rc.1",
61
+ "@deepseek-ai/dsh-client-ui-layout": "^0.1.0-rc.6 || ^0.2.0-rc.1",
62
+ "@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.6 || ^0.2.0-rc.1",
63
+ "@deepseek-ai/dsh-client-ui-renderer": "^0.1.0-rc.6 || ^0.2.0-rc.1",
64
+ "@deepseek-ai/dsh-client-ui-conversation": "^0.1.0-rc.6 || ^0.2.0-rc.1",
65
+ "@deepseek-ai/dsh-invariants": "^0.1.0-rc.6 || ^0.2.0-rc.1",
66
66
  "react": "^18.2.0",
67
- "@deepseek-ai/dsh-client-ui-workspace": "^0.1.0-rc.6",
68
- "@deepseek-ai/dsh-api-session-controller": "^0.1.0-rc.6",
69
- "@deepseek-ai/dsh-api-workspace-controller": "^0.1.0-rc.6"
67
+ "@deepseek-ai/dsh-client-ui-workspace": "^0.1.0-rc.6 || ^0.2.0-rc.1",
68
+ "@deepseek-ai/dsh-api-session-controller": "^0.1.0-rc.6 || ^0.2.0-rc.1",
69
+ "@deepseek-ai/dsh-api-workspace-controller": "^0.1.0-rc.6 || ^0.2.0-rc.1"
70
70
  },
71
71
  "peerDependenciesMeta": {
72
72
  "@deepseek-ai/dsh-client-connection": {