dsh-plugin-tether 0.1.13 → 0.1.15
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 +16 -0
- package/README.md +4 -4
- package/README.zh.md +4 -4
- package/index.js +3 -1
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
本文件记录面向用户的变化。每个版本的这一节会原样作为该版本 Release 的说明。
|
|
4
4
|
|
|
5
|
+
## 0.1.15
|
|
6
|
+
|
|
7
|
+
### 新增
|
|
8
|
+
|
|
9
|
+
- **手机本地模式内置的 dsh 升到 `0.1.5-rc.2`**(此前是 `0.1.2-rc.1`)。升级后第一次进入本地模式会重新解压运行时(约 9 秒);手机上已有的会话会在打开时自动迁移到新版日志格式,内容不丢。dsh 本身的变化见它自己的更新说明。
|
|
10
|
+
|
|
11
|
+
### 修复
|
|
12
|
+
|
|
13
|
+
- **电脑上的 dsh 升到 0.1.5 后,手机上的版式右侧一列错位、对话区被挤窄**。上游把布局类名从 `detailsCol` 改成了 `rightbarCol`,插件注入的窄屏样式匹配不到就静默失效。两个名字现在都兼容,新旧 dsh 都正常。
|
|
14
|
+
|
|
15
|
+
## 0.1.14
|
|
16
|
+
|
|
17
|
+
### 修复
|
|
18
|
+
|
|
19
|
+
- **Android 本地模式:每一轮对话都失败,报 `EACCES: permission denied, link ...`**([#9](https://github.com/zexadev/dsh-tether/issues/9))。Android 系统的 SELinux 策略禁止普通 App 创建硬链接,与机型、ROM、系统版本无关;dsh 新会话首次落盘用的正是硬链接,所以 0.1.13 的本地模式在任何手机上都新建不了会话,发送图片也会以 `ATTACHMENT_WRITE_FAILED` 失败。现在本地模式内置的 dsh 在硬链接被拒时改为「写一份副本并落盘 → 确认目标不存在 → 原子改名」,文件仍然完整出现、不会覆盖已有会话。升级后第一次进入本地模式会重新解压运行时(约 9 秒)。远程模式(连电脑)不受影响。
|
|
20
|
+
|
|
5
21
|
## 0.1.13
|
|
6
22
|
|
|
7
23
|
### 新增
|
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
<a href="../../releases"><img src="https://img.shields.io/github/downloads/zexadev/dsh-tether/total?style=flat&label=downloads&color=4D6BFE" alt="Downloads"></a>
|
|
18
18
|
<a href="../../stargazers"><img src="https://img.shields.io/github/stars/zexadev/dsh-tether?style=flat&label=%E2%98%85&color=08C" alt="Stars"></a>
|
|
19
19
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-2EA44F?style=flat" alt="MIT"></a>
|
|
20
|
-
<img src="https://img.shields.io/badge/dsh-0.1.0--rc.7%20%7C%20rc.8%20%7C%200.1.2%20%7C%200.1.5
|
|
20
|
+
<img src="https://img.shields.io/badge/dsh-0.1.0--rc.7%20%7C%20rc.8%20%7C%200.1.2%20%7C%200.1.5-4D6BFE?style=flat" alt="dsh 0.1.0-rc.7 | rc.8 | 0.1.2 | 0.1.5">
|
|
21
21
|
<img src="https://img.shields.io/badge/Android-4493F8?style=flat" alt="Android">
|
|
22
22
|
<img src="https://img.shields.io/badge/iOS-beta-8E8E93?style=flat" alt="iOS beta">
|
|
23
23
|
<a href="https://www.dsh.so/artifact/dsh-tether"><img src="https://www.dsh.so/badge/dsh-tether.svg" alt="dsh.so security scan"></a>
|
|
@@ -87,10 +87,10 @@ From then on the app connects by itself when you open it.
|
|
|
87
87
|
|
|
88
88
|
Open the app → **Hosts** in the top bar → **Run on this phone**. The first start unpacks the runtime first (about 9 seconds measured); after that the DSH interface appears in about 2 seconds. Enter an API key in Settings and start talking.
|
|
89
89
|
|
|
90
|
-
- **Install and go**: no Termux, no terminal, no commands, no root. Node 24 and the full dependency tree of dsh `0.1.
|
|
90
|
+
- **Install and go**: no Termux, no terminal, no commands, no root. Node 24 and the full dependency tree of dsh `0.1.5-rc.2` ship inside the APK and unpack offline on first start; after that only model API calls need the network.
|
|
91
91
|
- **No pairing**: dsh is on this phone, there is no remote end. Sessions, settings and workspaces live only on the phone and are entirely separate from what you see when connected to a machine; switching back and forth touches neither.
|
|
92
92
|
- **Stays up**: while running there is a persistent notification (a foreground service), so backgrounding or locking the screen does not get the process reclaimed. If the process is killed anyway, the next launch restarts it; sessions are already on disk.
|
|
93
|
-
- **Versioned with the app**: the bundled dsh upgrades with the app; currently `0.1.
|
|
93
|
+
- **Versioned with the app**: the bundled dsh upgrades with the app; currently `0.1.5-rc.2`.
|
|
94
94
|
- Only the `arm64` APK carries local mode; iOS forbids child processes, so the iOS build has no such entry.
|
|
95
95
|
- The phone has no bash and no full coreutils, so shell-dependent tools are incomplete; chat and file read/write are unaffected.
|
|
96
96
|
|
|
@@ -136,7 +136,7 @@ The Termux route still works if you prefer it: install dsh and this plugin insid
|
|
|
136
136
|
- The app connects when you open it and holds no background connection — Android's doze would not let it anyway.
|
|
137
137
|
- The interface on the phone is DSH's own; the narrow-screen fit comes from minimal injected styles, so a dsh layout change may need a follow-up here.
|
|
138
138
|
- Local mode exists only in the `arm64` build, never on iOS; the phone lacks bash and a full coreutils, so shell-dependent tools are incomplete. The `arm64` APK is about 71 MB because of the bundled runtime; the others are about 32 MB.
|
|
139
|
-
- Verified against dsh **`0.1.0-rc.7`**, **`0.1.0-rc.8`**, **`0.1.2`** (alpha and rc.1) and **`0.1.5-
|
|
139
|
+
- Verified against dsh **`0.1.0-rc.7`**, **`0.1.0-rc.8`**, **`0.1.2`** (alpha and rc.1), **`0.1.5-alpha.1`** and **`0.1.5-rc.2`**. dsh is in developer preview — check this line before assuming a newer dsh works. The browser authentication dsh introduced in 0.1.2-alpha is handled entirely on the machine side; the phone app needs no update for it.
|
|
140
140
|
|
|
141
141
|
## What has been verified
|
|
142
142
|
|
package/README.zh.md
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
<a href="../../releases"><img src="https://img.shields.io/github/downloads/zexadev/dsh-tether/total?style=flat&label=downloads&color=4D6BFE" alt="下载量"></a>
|
|
18
18
|
<a href="../../stargazers"><img src="https://img.shields.io/github/stars/zexadev/dsh-tether?style=flat&label=%E2%98%85&color=08C" alt="Stars"></a>
|
|
19
19
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-2EA44F?style=flat" alt="MIT"></a>
|
|
20
|
-
<img src="https://img.shields.io/badge/dsh-0.1.0--rc.7%20%7C%20rc.8%20%7C%200.1.2%20%7C%200.1.5
|
|
20
|
+
<img src="https://img.shields.io/badge/dsh-0.1.0--rc.7%20%7C%20rc.8%20%7C%200.1.2%20%7C%200.1.5-4D6BFE?style=flat" alt="dsh 0.1.0-rc.7 | rc.8 | 0.1.2 | 0.1.5">
|
|
21
21
|
<img src="https://img.shields.io/badge/Android-4493F8?style=flat" alt="Android">
|
|
22
22
|
<img src="https://img.shields.io/badge/iOS-%E6%B5%8B%E8%AF%95%E7%89%88-8E8E93?style=flat" alt="iOS 测试版">
|
|
23
23
|
<a href="https://www.dsh.so/artifact/dsh-tether"><img src="https://www.dsh.so/badge/dsh-tether.svg" alt="dsh.so 安全扫描"></a>
|
|
@@ -87,10 +87,10 @@ dsh plugin --profile web add .
|
|
|
87
87
|
|
|
88
88
|
打开 App → 顶栏「主机」→ **在本机运行**。第一次要先解压运行时(实测约 9 秒),之后每次约 2 秒出现 dsh 的界面;在设置里填上 API Key 就能对话。
|
|
89
89
|
|
|
90
|
-
- **装完即用**:不装 Termux、不开终端、不敲命令、不要 root。Node 24 与 dsh `0.1.
|
|
90
|
+
- **装完即用**:不装 Termux、不开终端、不敲命令、不要 root。Node 24 与 dsh `0.1.5-rc.2` 的完整依赖树打在 APK 里,首次启动离线解压;之后只有调用模型 API 才需要网络。
|
|
91
91
|
- **没有配对**:dsh 就在这台手机上,没有远端。会话、设置、工作区只存在手机里,和连电脑时看到的完全是两套,来回切换互不影响。
|
|
92
92
|
- **常驻**:运行期间有一条常驻通知(前台服务),退后台、锁屏不会被系统收掉;进程真被杀了,下次打开 App 自动重起,会话已落盘不丢。
|
|
93
|
-
- **版本随 App 走**:内置的 dsh 随 App 升级一起升,当前内置 `0.1.
|
|
93
|
+
- **版本随 App 走**:内置的 dsh 随 App 升级一起升,当前内置 `0.1.5-rc.2`。
|
|
94
94
|
- 只有 `arm64` 的 APK 带本地模式;iOS 的沙箱不允许子进程,iOS 版没有这个入口。
|
|
95
95
|
- 手机上没有 bash 和完整的 coreutils,依赖 shell 的工具用不全;对话、文件读写不受影响。
|
|
96
96
|
|
|
@@ -136,7 +136,7 @@ dsh plugin --profile web add .
|
|
|
136
136
|
- App 打开时才连接,不在后台常驻——Android 的 doze 也留不住它。
|
|
137
137
|
- 手机上的界面是 DSH 自己的,窄屏适配靠注入的最小样式完成;dsh 改版式时可能需要跟进。
|
|
138
138
|
- 本地模式只有 `arm64` 包有,iOS 没有;手机上没有 bash 与完整 coreutils,依赖 shell 的工具用不全。arm64 包因内置运行时约 71 MB,其余包约 32 MB。
|
|
139
|
-
- 已针对 dsh **`0.1.0-rc.7`**、**`0.1.0-rc.8`**、**`0.1.2`**(alpha 与 rc.1)与 **`0.1.5-
|
|
139
|
+
- 已针对 dsh **`0.1.0-rc.7`**、**`0.1.0-rc.8`**、**`0.1.2`**(alpha 与 rc.1)、**`0.1.5-alpha.1`** 与 **`0.1.5-rc.2`** 验证。dsh 处于 developer preview,换更新的 dsh 之前先看这一行。dsh 0.1.2-alpha 引入的浏览器认证完全在电脑侧处理,手机 App 无需更新。
|
|
140
140
|
|
|
141
141
|
## 验证过什么
|
|
142
142
|
|
package/index.js
CHANGED
|
@@ -427,7 +427,9 @@ function injectNarrowScreenCss(html) {
|
|
|
427
427
|
grid-template-columns: 56px minmax(0, 1fr) 0px !important;
|
|
428
428
|
}
|
|
429
429
|
[class*="_frame"] > [class*="centerCol"] { grid-column: 2 !important; }
|
|
430
|
-
|
|
430
|
+
/* 右列 dsh 0.1.5 起从 detailsCol 改名 rightbarCol,两个名字都钉住 */
|
|
431
|
+
[class*="_frame"] > [class*="detailsCol"],
|
|
432
|
+
[class*="_frame"] > [class*="rightbarCol"] { grid-column: 3 !important; }
|
|
431
433
|
[class*="_frame"] > [class*="sidebarCol"] {
|
|
432
434
|
position: absolute !important;
|
|
433
435
|
top: 0;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-plugin-tether",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"description": "Mobile client for the DeepSeek Harness — use the dsh on your dev machine from your Android or iOS phone, remotely across networks, peer-to-peer over iroh with no server to set up (falls back to a relay that only sees ciphertext)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"dsh",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
},
|
|
43
43
|
"androidRuntime": {
|
|
44
44
|
"node": "24.18.0",
|
|
45
|
-
"dsh": "0.1.
|
|
45
|
+
"dsh": "0.1.5-rc.2"
|
|
46
46
|
}
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
@@ -54,11 +54,11 @@
|
|
|
54
54
|
"@deepseek-ai/dsh-user-approval": { "optional": true }
|
|
55
55
|
},
|
|
56
56
|
"optionalDependencies": {
|
|
57
|
-
"dsh-tether-host-android-arm64": "0.1.
|
|
58
|
-
"dsh-tether-host-darwin-arm64": "0.1.
|
|
59
|
-
"dsh-tether-host-darwin-x64": "0.1.
|
|
60
|
-
"dsh-tether-host-linux-arm64": "0.1.
|
|
61
|
-
"dsh-tether-host-linux-x64": "0.1.
|
|
62
|
-
"dsh-tether-host-win32-x64": "0.1.
|
|
57
|
+
"dsh-tether-host-android-arm64": "0.1.15",
|
|
58
|
+
"dsh-tether-host-darwin-arm64": "0.1.15",
|
|
59
|
+
"dsh-tether-host-darwin-x64": "0.1.15",
|
|
60
|
+
"dsh-tether-host-linux-arm64": "0.1.15",
|
|
61
|
+
"dsh-tether-host-linux-x64": "0.1.15",
|
|
62
|
+
"dsh-tether-host-win32-x64": "0.1.15"
|
|
63
63
|
}
|
|
64
64
|
}
|