dsh-deeppilot 0.6.0-alpha.3 → 0.6.0

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/COMPATIBILITY.md CHANGED
@@ -7,8 +7,8 @@ This file separates tested evidence from intended behavior. Passing unit tests d
7
7
  | Component | Baseline | Evidence |
8
8
  |---|---|---|
9
9
  | Node.js | 22 or newer | package engine and CI |
10
- | DSH CLI and Host API | `0.1.2-alpha.3` minimum; `0.1.2-alpha.4` verified | clean alpha.3 install and Host-start smoke; isolated alpha.4 type/build plus 167 unit tests; alpha.4 Host-start smoke; `/phone` protocol tests |
11
- | Host OS | macOS on Apple silicon | embedded helper artifact and local integration testing |
10
+ | DSH CLI and Host API | `0.1.2-rc.1` minimum for plugin `0.6.0-alpha.4` | rc.1 package-family typecheck/build; bridge and `/phone` protocol tests |
11
+ | Host OS | macOS, Linux, Windows on packaged amd64/arm64 helper targets | helper checksums plus user-confirmed Windows/Linux Funnel launch and connection; local LAN validation remains part of alpha testing |
12
12
  | Remote access | Tailscale Funnel, ports 443/8443/10000 | helper and supervisor tests |
13
13
  | iOS | native DeepPilot client, protocol v2 | simulator build and v2 pairing/challenge evidence |
14
14
 
@@ -18,16 +18,12 @@ This file separates tested evidence from intended behavior. Passing unit tests d
18
18
  - Bearer authentication, URL credentials, and first-frame shared tokens are rejected. A supported client registers a P-256 public key through `/phone/pair` and signs each WebSocket challenge.
19
19
  - Without a compatible embedded helper, the core bridge and trusted-LAN mode can still run; remote Funnel reports `unavailable`.
20
20
  - If a DSH Host API is missing, only the dependent capability should be disabled. The plugin must not crash the Host.
21
- - DSH versions older than `0.1.2-alpha.3` are unsupported: they do not expose
22
- the Gateway multi-client Remote Events routing required by this plugin.
23
- - DSH `0.1.2-alpha.4` keeps the Gateway Remote Events contract used for
24
- approvals and questions. Its event-sequence/log-offset refactor changes
25
- session internals, but the plugin's stable history facade passes the alpha.4
26
- type/build and unit-test baseline.
27
- - On the alpha.3 package baseline, the compatibility facade converts the
21
+ - Plugin `0.6.0-alpha.4` requires DSH `0.1.2-rc.1` or newer. Older plugin
22
+ alphas used developer-preview DSH builds and remain historical artifacts.
23
+ - The compatibility facade converts the
28
24
  current Session controller's raw event arrays into the stable wrapped
29
25
  history entries consumed by the phone bridge. Sessions persisted by earlier
30
- Hosts can therefore be listed and opened when the alpha.3 Host's own
26
+ Hosts can therefore be listed and opened when the rc.1 Host's own
31
27
  persistence reader accepts their log vocabulary. Unsupported persisted
32
28
  formats still fail closed in the Host without modifying the original log.
33
29
 
@@ -35,8 +31,7 @@ This file separates tested evidence from intended behavior. Passing unit tests d
35
31
 
36
32
  - Intel macOS support for the embedded helper;
37
33
  - signed/notarized helper distribution;
38
- - Windows or Linux host validation;
39
- - repair or migration of persisted history rejected by the `0.1.2-alpha.3`
34
+ - repair or migration of persisted history rejected by the `0.1.2-rc.1`
40
35
  Host's own session reader;
41
36
  - every DSH developer-preview revision;
42
37
  - physical-device performance and every carrier/network combination;
package/README.md CHANGED
@@ -31,29 +31,24 @@ Host on your own Mac and does not replace or modify the DSH Web UI.
31
31
 
32
32
  ## Install from npm
33
33
 
34
- Requirements: Node.js 22+, DSH with a `web` profile, and macOS. The bundled
35
- Funnel helper currently supports Apple silicon; trusted-LAN mode does not
36
- require it.
34
+ Requirements: Node.js 22+ and DSH with a `web` profile. The package includes
35
+ Funnel helpers for macOS, Linux, and Windows on amd64/arm64; trusted-LAN mode
36
+ does not require the helper.
37
37
 
38
38
  | Plugin version | Required DSH | How to install |
39
39
  |---|---|---|
40
- | `0.6.0-alpha.x` (new, `alpha` tag) | DSH `0.1.2-alpha.3` or newer | `dsh plugin --profile web add dsh-deeppilot@alpha` |
40
+ | `0.6.0-alpha.4` (new, `alpha` tag) | DSH `0.1.2-rc.1` or newer | `dsh plugin --profile web add dsh-deeppilot@alpha` |
41
41
  | `0.5.x` (previous stable, `latest`) | DSH `0.1.1-rc.2`–`0.1.2-alpha.1` | `dsh plugin --profile web add dsh-deeppilot` |
42
42
 
43
- The `0.6.0` alpha line is built against the DSH
44
- [0.1.2-alpha.3](https://www.npmjs.com/package/@deepseek-ai/dsh/v/0.1.2-alpha.3)
45
- Host and client package family, so it requires DSH `0.1.2-alpha.3` or newer
46
- (its `alpha` npm dist-tag). The alpha.3 Gateway provides the multi-client
47
- Remote Events routing used to keep Web and DeepPilot independently answerable.
48
- Earlier DSH builds do not provide that routing contract. Users who need a DSH
49
- release before that must stay on the `0.5.x` plugin.
50
-
51
- DSH `0.1.2-alpha.4` is also verified. It retains the same interaction-routing
52
- contract; see [COMPATIBILITY.md](./COMPATIBILITY.md) for the tested evidence and
53
- its session-history compatibility note.
43
+ `0.6.0-alpha.4` is built and typechecked against the DSH
44
+ [0.1.2-rc.1](https://www.npmjs.com/package/@deepseek-ai/dsh/v/0.1.2-rc.1)
45
+ Host and client package family. It uses the Gateway multi-client Remote Events
46
+ routing that keeps Web and DeepPilot independently answerable. Earlier plugin
47
+ alphas remain historical artifacts; users installing the current `alpha` tag
48
+ should update DSH to `0.1.2-rc.1` or newer.
54
49
 
55
50
  ```sh
56
- # DSH 0.1.2-alpha.3 or newer (recommended):
51
+ # DSH 0.1.2-rc.1 or newer (recommended):
57
52
  dsh plugin --profile web add dsh-deeppilot@alpha
58
53
  # DSH 0.1.1-rc.2 through 0.1.2-alpha.1 (previous stable):
59
54
  dsh plugin --profile web add dsh-deeppilot
@@ -64,6 +59,11 @@ After DSH restarts, open **Settings → DeepPilot**, enable the connection, show
64
59
  the pairing QR code, and scan it in the DeepPilot app. The same panel also
65
60
  shows a copyable pairing code for Simulator or manual entry.
66
61
 
62
+ LAN access is enabled by default on the plugin's independent TCP port `3098`.
63
+ DSH may continue listening only on `127.0.0.1:3080`; do not expose the full DSH
64
+ web server. If a firewall is enabled, allow inbound TCP `3098` on trusted
65
+ private networks. The port can be changed under **Advanced settings**.
66
+
67
67
  Package: [npmjs.com/package/dsh-deeppilot](https://www.npmjs.com/package/dsh-deeppilot)
68
68
 
69
69
  ## Update or uninstall
@@ -78,13 +78,13 @@ DeepPilot state under `$DSH_HOME/deeppilot/`.
78
78
 
79
79
  ## Publishing (maintainers)
80
80
 
81
- `0.6.0-alpha.x` targets DSH `0.1.2-alpha.3`+; `0.5.x` stays compatible with
81
+ `0.6.0-alpha.4` targets DSH `0.1.2-rc.1`+; `0.5.x` stays compatible with
82
82
  DSH `0.1.1-rc.2`–`0.1.2-alpha.1`. Keep both published:
83
83
 
84
84
  1. Bump `version` in `package.json` and in the root `""` entry of
85
85
  `package-lock.json`, then run `npm test && npm run typecheck && npm run build`
86
86
  and inspect `npm pack --dry-run --json` (the check
87
- `tests/compatibility-metadata.test.ts` enforces the `^0.1.2-alpha.3` peer
87
+ `tests/compatibility-metadata.test.ts` enforces the `^0.1.2-rc.1` peer
88
88
  ranges).
89
89
  2. Commit the release and push it. `npm publish` runs `prepack` (build) and
90
90
  `prepublishOnly` (test + typecheck) automatically.
@@ -96,7 +96,7 @@ DSH `0.1.1-rc.2`–`0.1.2-alpha.1`. Keep both published:
96
96
 
97
97
  After a successful publish, `npm view dsh-deeppilot dist-tags --json` shows
98
98
  `"latest": "0.5.x"` and `"alpha": "0.6.0-alpha.x"`. Verify the published
99
- package by installing it into a DSH `0.1.2-alpha.3` profile before pointing
99
+ package by installing it into a DSH `0.1.2-rc.1` profile before pointing
100
100
  users at it.
101
101
  4. Tag the release commit `v0.6.0-alpha.x` and prepare a GitHub Release
102
102
  (English + 简体中文 notes) that links this README section.
@@ -110,9 +110,10 @@ Never run `npm publish` from a copy that still has the old `0.5.x` version.
110
110
  ## Connection and privacy
111
111
 
112
112
  Conversation traffic travels directly between the iPhone and your DSH Host.
113
- Trusted-LAN `ws://` traffic is unencrypted, so use it only on a network you
114
- trust. Optional Funnel mode exposes only the DeepPilot connection, one-time
115
- pairing, and health endpoints, not the complete DSH Web UI.
113
+ Trusted-LAN `ws://` traffic on the independent plugin port `3098` is
114
+ unencrypted, so use it only on a network you trust. Both the LAN listener and
115
+ optional Funnel mode expose only the DeepPilot connection, one-time pairing,
116
+ and health endpoints, not the complete DSH Web UI.
116
117
 
117
118
  The DeepPilot settings page exposes **Connections per public source** under
118
119
  the collapsed **Advanced settings** section. It defaults to `8`, accepts
package/README.zh-CN.md CHANGED
@@ -29,26 +29,22 @@
29
29
 
30
30
  ## 从 npm 安装
31
31
 
32
- 需要 Node.js 22+、带 `web` profile 的 DSH,以及 macOS。内嵌 Funnel helper
33
- 目前支持 Apple silicon;可信局域网模式不依赖 helper。
32
+ 需要 Node.js 22+ 和带 `web` profile 的 DSH。npm 包内置 macOS、Linux、Windows
33
+ amd64/arm64 Funnel helper;可信局域网模式不依赖 helper。
34
34
 
35
35
  | 插件版本 | 所需 DSH | 安装命令 |
36
36
  |---|---|---|
37
- | `0.6.0-alpha.x`(新版,`alpha` tag) | DSH `0.1.2-alpha.3` 或更高 | `dsh plugin --profile web add dsh-deeppilot@alpha` |
37
+ | `0.6.0-alpha.4`(新版,`alpha` tag) | DSH `0.1.2-rc.1` 或更高 | `dsh plugin --profile web add dsh-deeppilot@alpha` |
38
38
  | `0.5.x`(旧版稳定版,`latest`) | DSH `0.1.1-rc.2`–`0.1.2-alpha.1` | `dsh plugin --profile web add dsh-deeppilot` |
39
39
 
40
- `0.6.0` alpha 系列基于 DSH
41
- [0.1.2-alpha.3](https://www.npmjs.com/package/@deepseek-ai/dsh/v/0.1.2-alpha.3)
42
- 的 Host 与 client 包族构建,因此要求 DSH `0.1.2-alpha.3` 或更高版本(对应
43
- npm `alpha` dist-tag)。alpha.3 Gateway 提供多 Client Remote Events 路由,
44
- 使 Web DeepPilot 能独立接收并处理同一交互。更早版本没有这项路由契约;
45
- 需要更早 DSH 版本的用户请继续使用 `0.5.x` 插件。
46
-
47
- DSH `0.1.2-alpha.4` 也已验证,交互路由契约保持不变;测试证据和会话历史兼容性
48
- 说明见 [COMPATIBILITY.md](./COMPATIBILITY.md)。
40
+ `0.6.0-alpha.4` 基于 DSH
41
+ [0.1.2-rc.1](https://www.npmjs.com/package/@deepseek-ai/dsh/v/0.1.2-rc.1)
42
+ 的 Host 与 client 包族构建并完成类型检查。它使用 Gateway Client Remote Events
43
+ 路由,使 Web DeepPilot 能独立处理同一交互。旧 alpha 仅保留为历史产物;安装
44
+ 当前 `alpha` tag 的用户应先把 DSH 更新到 `0.1.2-rc.1` 或更高版本。
49
45
 
50
46
  ```sh
51
- # DSH 0.1.2-alpha.3 或更高(推荐):
47
+ # DSH 0.1.2-rc.1 或更高(推荐):
52
48
  dsh plugin --profile web add dsh-deeppilot@alpha
53
49
  # DSH 0.1.1-rc.2 至 0.1.2-alpha.1(旧版稳定):
54
50
  dsh plugin --profile web add dsh-deeppilot
@@ -58,6 +54,10 @@ dsh web
58
54
  DSH 重启后,打开 **设置 → DeepPilot**,启用连接并显示配对二维码,然后在
59
55
  DeepPilot App 中扫码。同一面板也会显示可复制的配对码,供模拟器或手动输入使用。
60
56
 
57
+ 局域网连接默认使用插件独立的 TCP `3098` 端口。DSH 可以继续只监听
58
+ `127.0.0.1:3080`,无需向局域网暴露完整 DSH Web 服务。启用系统防火墙时,请仅在
59
+ 可信私有网络放行入站 TCP `3098`;端口可在“高级设置”中修改。
60
+
61
61
  npm 包:[npmjs.com/package/dsh-deeppilot](https://www.npmjs.com/package/dsh-deeppilot)
62
62
 
63
63
  ## 更新或卸载
@@ -71,13 +71,13 @@ dsh plugin --profile web remove dsh-deeppilot
71
71
 
72
72
  ## 发布说明(维护者)
73
73
 
74
- `0.6.0-alpha.x` 面向 DSH `0.1.2-alpha.3`+;`0.5.x` 保持兼容 DSH
74
+ `0.6.0-alpha.4` 面向 DSH `0.1.2-rc.1`+;`0.5.x` 保持兼容 DSH
75
75
  `0.1.1-rc.2`–`0.1.2-alpha.1`,两个版本线都要保持发布:
76
76
 
77
77
  1. 同步修改 `package.json` 与 `package-lock.json` 根 `""` 条目中的
78
78
  `version`,然后运行 `npm test && npm run typecheck && npm run build`,
79
79
  并检查 `npm pack --dry-run --json`(`tests/compatibility-metadata.test.ts`
80
- 会强制校验 `^0.1.2-alpha.3` 的 peer 范围)。
80
+ 会强制校验 `^0.1.2-rc.1` 的 peer 范围)。
81
81
  2. 提交发布并推送。`npm publish` 会自动执行 `prepack`(构建)与
82
82
  `prepublishOnly`(测试 + 类型检查)。
83
83
  3. 发布 alpha 版本线,不要动 `latest`:
@@ -88,7 +88,7 @@ dsh plugin --profile web remove dsh-deeppilot
88
88
 
89
89
  发布成功后,`npm view dsh-deeppilot dist-tags --json` 应显示
90
90
  `"latest": "0.5.x"` 与 `"alpha": "0.6.0-alpha.x"`。向用户推荐前,请先在
91
- DSH `0.1.2-alpha.3` profile 中安装验证发布的包。
91
+ DSH `0.1.2-rc.1` profile 中安装验证发布的包。
92
92
  4. 为发布提交打 `v0.6.0-alpha.x` tag,并准备包含英文与简体中文说明的
93
93
  GitHub Release,链接本 README 的发布说明。
94
94
  5. alpha 转正时升级到 `0.6.0`,用 `npm publish --tag latest` 发布,使
@@ -99,9 +99,10 @@ dsh plugin --profile web remove dsh-deeppilot
99
99
 
100
100
  ## 连接与隐私
101
101
 
102
- 完整会话流量由 iPhone 直接连接用户自己的 DSH Host。可信局域网中的 `ws://`
103
- 是明文流量,只应在可信网络使用。可选 Funnel 模式只暴露经过认证的 DeepPilot
104
- 连接、单次配对与健康检查端点,不会暴露完整 DSH Web UI。
102
+ 完整会话流量由 iPhone 直接连接用户自己的 DSH Host。插件独立 `3098` 端口上的
103
+ 可信局域网 `ws://` 是明文流量,只应在可信网络使用。局域网监听器和可选 Funnel
104
+ 模式都只暴露经过认证的 DeepPilot 连接、单次配对与健康检查端点,不会暴露完整
105
+ DSH Web UI。
105
106
 
106
107
  DeepPilot 设置页在默认折叠的“高级设置”中提供“每个公网来源的连接上限”,默认
107
108
  `8`,可设置为 `1`–`16`。修改后 Funnel helper 会短暂重启,已连接的远程客户端
package/SECURITY.md CHANGED
@@ -17,8 +17,8 @@ Do not open a public issue containing pairing codes, APNs device tokens, provide
17
17
  - Protocol v1, shared Bearer tokens, query credentials, and `c2s.hello.auth` are not accepted. There is no remote downgrade switch.
18
18
  - The server enforces explicit protocol scopes, while the normal settings UI grants the default scope set and exposes only the global connection switch plus per-device deletion. Deleting a device disconnects it immediately.
19
19
  - The canonical `$DSH_HOME/deeppilot` directory is repaired to mode `0700`. `host-id` and `devices-v2.json` are owner-only.
20
- - LAN `ws://` is unencrypted. Use it only on a trusted network. Public access should use Funnel HTTPS/WSS.
21
- - The Funnel helper publishes only `/phone`, `/phone/pair`, and `/phone/health`, never the complete DSH Web UI.
20
+ - LAN `ws://` on the independent plugin port (default `3098`) is unencrypted. Use it only on a trusted network and never forward that port to the public Internet. Public access should use Funnel HTTPS/WSS.
21
+ - The LAN listener and Funnel helper publish only `/phone`, `/phone/pair`, and `/phone/health`, never the complete DSH Web UI.
22
22
  - Logs must never include pairing codes, key material, APNs tokens, or message bodies.
23
23
 
24
24
  ## Online attack controls
package/bin/SHA256SUMS CHANGED
@@ -1,6 +1,6 @@
1
- fd5187c9a2fd49de79cfa63287ef18aa46a2b6a051be9201164fd1b3e82a7994 ./darwin-amd64/dsh-deeppilot-tunnel
2
- c4a879e8f366421c817d3d87836db9352d6d5d2b8cf0c818ccdb228e3329a7ab ./darwin-arm64/dsh-deeppilot-tunnel
3
- a937fa8ff3c9a8f6052bb0241f98dcaf0d7ea1d1694a8a5593320764c61e4b24 ./linux-amd64/dsh-deeppilot-tunnel
4
- 6ccf147ab7886796d5932e761b573f93f44bd5644a553cb0f2f4b24749692eac ./linux-arm64/dsh-deeppilot-tunnel
5
- 9c574dfe6a988130b5d6d69670e6f806c378b603af6814ce0c4f152fafa94b2a ./windows-amd64/dsh-deeppilot-tunnel.exe
6
- 13f09ac30f71473578ab04c5ab23fc57e5bd0e69d36b782e6261acadf464940c ./windows-arm64/dsh-deeppilot-tunnel.exe
1
+ 69f2d9793f750ca68863eae0aaf40a2c670ed52579349e907c213529754356de ./darwin-amd64/dsh-deeppilot-tunnel
2
+ f9fe205fb8d97684ddb9350e02cb766ffb53e8610a3c5dfce0d265872ac6a8b3 ./darwin-arm64/dsh-deeppilot-tunnel
3
+ d5c97703970e595a4f341fb446fa3337f87fefbf766ab81aea12d983318b98c1 ./linux-amd64/dsh-deeppilot-tunnel
4
+ f1eb837e02eb9ee63801d12be9df45351a895963b9f635079eb2287a7f59954a ./linux-arm64/dsh-deeppilot-tunnel
5
+ 88cca9341aa9f87215c0de2ebb69d0971bc4fa39548df332a000c63560c830f2 ./windows-amd64/dsh-deeppilot-tunnel.exe
6
+ 5b81075d986fd387192084f916964d2c4a51ca494ce331e0346a8a75fc3e7b8d ./windows-arm64/dsh-deeppilot-tunnel.exe