dsh-remote-bridge 2.3.4 → 2.3.5
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/README.en.md +6 -6
- package/README.md +6 -6
- package/docs/api/asyncapi.yaml +1 -1
- package/docs/api/openapi.yaml +9 -2
- package/kotlin-sdk/build.gradle.kts +1 -1
- package/lib/index.d.ts +16 -0
- package/lib/index.js +5 -2
- package/package.json +1 -1
package/README.en.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
|
-
<img alt="Version" src="https://img.shields.io/badge/version-v2.3.
|
|
12
|
+
<img alt="Version" src="https://img.shields.io/badge/version-v2.3.5-087f8c">
|
|
13
13
|
<img alt="DSH plugin" src="https://img.shields.io/badge/DeepSeek_Harness-plugin-1f2328">
|
|
14
14
|
<img alt="Platforms" src="https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-586069">
|
|
15
15
|
<img alt="License" src="https://img.shields.io/badge/license-AGPL--3.0-2da44e">
|
|
@@ -73,10 +73,10 @@ dsh plugin --profile web add dsh-remote-bridge
|
|
|
73
73
|
dsh plugin --profile web add dsh-remote-bridge --registry https://registry.npmmirror.com
|
|
74
74
|
|
|
75
75
|
# 2. tarball from the GitHub release
|
|
76
|
-
dsh plugin --profile web add https://github.com/westanke/dsh-remote-bridge/releases/download/v2.3.
|
|
76
|
+
dsh plugin --profile web add https://github.com/westanke/dsh-remote-bridge/releases/download/v2.3.5/dsh-remote-bridge-v2.3.5.tgz
|
|
77
77
|
|
|
78
78
|
# 3. tarball from the Gitee release (faster from mainland China)
|
|
79
|
-
dsh plugin --profile web add https://gitee.com/westanke/dsh-remote-bridge/releases/download/v2.3.
|
|
79
|
+
dsh plugin --profile web add https://gitee.com/westanke/dsh-remote-bridge/releases/download/v2.3.5/dsh-remote-bridge-v2.3.5.tgz
|
|
80
80
|
|
|
81
81
|
npx @deepseek-ai/dsh web
|
|
82
82
|
```
|
|
@@ -93,7 +93,7 @@ Restart DSH after installation, then open settings — The section is titled **
|
|
|
93
93
|
To install a downloaded release archive:
|
|
94
94
|
|
|
95
95
|
```sh
|
|
96
|
-
dsh plugin --profile web add ./dsh-remote-bridge-v2.3.
|
|
96
|
+
dsh plugin --profile web add ./dsh-remote-bridge-v2.3.5.tgz
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
## First connection
|
|
@@ -327,11 +327,11 @@ pnpm pack
|
|
|
327
327
|
|
|
328
328
|
`npm pack` produces roughly a **0.25 MB** archive: 2.2.0 dropped the standalone page and its editor dependencies and turned source maps off, down from 1.72 MB.
|
|
329
329
|
|
|
330
|
-
v2.3.
|
|
330
|
+
v2.3.5 was developed against DSH `master@47f943859bef60e4160492346772ded9b24f765a`. CI covers Windows, Ubuntu, and macOS.
|
|
331
331
|
|
|
332
332
|
## Project
|
|
333
333
|
|
|
334
|
-
- Version: `v2.3.
|
|
334
|
+
- Version: `v2.3.5`
|
|
335
335
|
- Author: upstream [Hakunm](https://github.com/Hakunm); this fork maintained by [westanke](https://github.com/westanke)
|
|
336
336
|
- Repository: [GitHub](https://github.com/westanke/dsh-remote-bridge) · [Gitee](https://gitee.com/westanke/dsh-remote-bridge)
|
|
337
337
|
- npm: [`dsh-remote-bridge`](https://www.npmjs.com/package/dsh-remote-bridge) ([mainland-China mirror](https://registry.npmmirror.com/dsh-remote-bridge))
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
|
-
<img alt="Version" src="https://img.shields.io/badge/version-v2.3.
|
|
12
|
+
<img alt="Version" src="https://img.shields.io/badge/version-v2.3.5-087f8c">
|
|
13
13
|
<img alt="DSH plugin" src="https://img.shields.io/badge/DeepSeek_Harness-plugin-1f2328">
|
|
14
14
|
<img alt="Platforms" src="https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-586069">
|
|
15
15
|
<img alt="License" src="https://img.shields.io/badge/license-AGPL--3.0-2da44e">
|
|
@@ -70,10 +70,10 @@ dsh plugin --profile web add dsh-remote-bridge
|
|
|
70
70
|
dsh plugin --profile web add dsh-remote-bridge --registry https://registry.npmmirror.com
|
|
71
71
|
|
|
72
72
|
# ② GitHub Release 的 tarball
|
|
73
|
-
dsh plugin --profile web add https://github.com/westanke/dsh-remote-bridge/releases/download/v2.3.
|
|
73
|
+
dsh plugin --profile web add https://github.com/westanke/dsh-remote-bridge/releases/download/v2.3.5/dsh-remote-bridge-v2.3.5.tgz
|
|
74
74
|
|
|
75
75
|
# ③ Gitee Release 的 tarball(国内访问更快)
|
|
76
|
-
dsh plugin --profile web add https://gitee.com/westanke/dsh-remote-bridge/releases/download/v2.3.
|
|
76
|
+
dsh plugin --profile web add https://gitee.com/westanke/dsh-remote-bridge/releases/download/v2.3.5/dsh-remote-bridge-v2.3.5.tgz
|
|
77
77
|
|
|
78
78
|
npx @deepseek-ai/dsh web
|
|
79
79
|
```
|
|
@@ -89,7 +89,7 @@ npx @deepseek-ai/dsh web
|
|
|
89
89
|
从 GitHub Release 下载离线安装包时,可直接安装 tarball:
|
|
90
90
|
|
|
91
91
|
```sh
|
|
92
|
-
dsh plugin --profile web add ./dsh-remote-bridge-v2.3.
|
|
92
|
+
dsh plugin --profile web add ./dsh-remote-bridge-v2.3.5.tgz
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
## 第一次使用
|
|
@@ -319,11 +319,11 @@ pnpm pack
|
|
|
319
319
|
|
|
320
320
|
`npm pack` 的产物约 **0.25 MB**:2.2.0 删除独立页及其编辑器依赖、并关闭 source map 之后,从 1.72 MB 降下来。
|
|
321
321
|
|
|
322
|
-
v2.3.
|
|
322
|
+
v2.3.5 基于 DSH `master@47f943859bef60e4160492346772ded9b24f765a` 开发,CI 覆盖 Windows、Ubuntu 和 macOS。
|
|
323
323
|
|
|
324
324
|
## 项目信息
|
|
325
325
|
|
|
326
|
-
- 当前版本:`v2.3.
|
|
326
|
+
- 当前版本:`v2.3.5`
|
|
327
327
|
- 作者:上游 [Hakunm](https://github.com/Hakunm),本 fork 维护 [westanke](https://github.com/westanke)
|
|
328
328
|
- 仓库:[GitHub](https://github.com/westanke/dsh-remote-bridge) · [Gitee](https://gitee.com/westanke/dsh-remote-bridge)
|
|
329
329
|
- npm:[`dsh-remote-bridge`](https://www.npmjs.com/package/dsh-remote-bridge)([国内镜像](https://registry.npmmirror.com/dsh-remote-bridge))
|
package/docs/api/asyncapi.yaml
CHANGED
package/docs/api/openapi.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
openapi: 3.1.0
|
|
2
2
|
info:
|
|
3
3
|
title: DeepSeek Harness Mobile API
|
|
4
|
-
version: 2.3.
|
|
4
|
+
version: 2.3.5
|
|
5
5
|
description: Versioned file and chat BFF for mobile and third-party DSH clients. HTTP and HTTPS are both supported.
|
|
6
6
|
servers:
|
|
7
7
|
- url: http://127.0.0.1:3090/api/v1
|
|
@@ -24,7 +24,7 @@ paths:
|
|
|
24
24
|
properties:
|
|
25
25
|
ok: { type: boolean, const: true }
|
|
26
26
|
version: { type: string, const: v1 }
|
|
27
|
-
pluginVersion: { type: string, const: 2.3.
|
|
27
|
+
pluginVersion: { type: string, const: 2.3.5 }
|
|
28
28
|
/pairings/exchange:
|
|
29
29
|
post:
|
|
30
30
|
security: []
|
|
@@ -1005,6 +1005,13 @@ components:
|
|
|
1005
1005
|
id: { type: string }
|
|
1006
1006
|
rootId: { type: string }
|
|
1007
1007
|
cwd: { $ref: '#/components/schemas/WirePath' }
|
|
1008
|
+
cwdAbsolute:
|
|
1009
|
+
type: string
|
|
1010
|
+
description: >-
|
|
1011
|
+
Absolute path of the session working directory. Optional; older clients
|
|
1012
|
+
ignore it. Needed to compose `@absolute-path` mentions. Note that an
|
|
1013
|
+
empty `cwd` is legal and means the session working directory IS the
|
|
1014
|
+
authorized root itself.
|
|
1008
1015
|
updatedAt: { type: integer }
|
|
1009
1016
|
running: { type: boolean }
|
|
1010
1017
|
blank: { type: boolean }
|
package/lib/index.d.ts
CHANGED
|
@@ -1131,6 +1131,22 @@ interface ChatSessionView {
|
|
|
1131
1131
|
id: string;
|
|
1132
1132
|
rootId: string;
|
|
1133
1133
|
cwd: string;
|
|
1134
|
+
/**
|
|
1135
|
+
* 会话工作目录的**绝对路径**(可选,老客户端会忽略)。
|
|
1136
|
+
*
|
|
1137
|
+
* `cwd` 是**相对授权根**的 wire 路径(列举接口要的正是这个),手机端要往输入框
|
|
1138
|
+
* 里插一条 `@绝对路径` 时却需要绝对路径 —— 而客户端手里没有根的 realPath
|
|
1139
|
+
* (`RootView` 刻意不含它,那是机器信息)。此前 App 拿 `cwd` 去 `/roots/resolve`
|
|
1140
|
+
* 换,可那个端点**要求绝对路径输入**、对相对路径直接 400 —— 于是补全必然失败。
|
|
1141
|
+
*
|
|
1142
|
+
* 这里补的这一个字段就是那条缺失的桥:会话的绝对 cwd 服务端本来就有(`matchRoot`
|
|
1143
|
+
* 的入参就是它),它又一定落在**这台设备已授权**的根内(不匹配的会话压根不会出现在
|
|
1144
|
+
* 列表里),所以给出它不扩大任何可见范围。
|
|
1145
|
+
*
|
|
1146
|
+
* `cwd` 为空字符串是**合法**的:会话工作目录正好就是授权根本身时,
|
|
1147
|
+
* `path.relative(root, root)` 返回空串 —— 客户端必须把它当作「根目录」而不是「没有」。
|
|
1148
|
+
*/
|
|
1149
|
+
cwdAbsolute?: string;
|
|
1134
1150
|
updatedAt: number;
|
|
1135
1151
|
running: boolean;
|
|
1136
1152
|
blank: boolean;
|
package/lib/index.js
CHANGED
|
@@ -244,7 +244,9 @@ var DshChatAdapter = class {
|
|
|
244
244
|
const visible = [];
|
|
245
245
|
for (const session of value.items) {
|
|
246
246
|
if (archivedSessionIds.has(session.sessionId)) continue;
|
|
247
|
-
const
|
|
247
|
+
const absoluteCwd = session.cwd;
|
|
248
|
+
if (absoluteCwd === void 0) continue;
|
|
249
|
+
const match = matchRoot(roots, absoluteCwd);
|
|
248
250
|
if (match === void 0) continue;
|
|
249
251
|
const workspace = workspaces.find((item) => item.rootId === match.root.id && item.path === match.relative);
|
|
250
252
|
const title = sessionTitle(session);
|
|
@@ -252,6 +254,7 @@ var DshChatAdapter = class {
|
|
|
252
254
|
id: session.sessionId,
|
|
253
255
|
rootId: match.root.id,
|
|
254
256
|
cwd: match.relative,
|
|
257
|
+
cwdAbsolute: absoluteCwd,
|
|
255
258
|
updatedAt: session.updatedAt,
|
|
256
259
|
running: session.running,
|
|
257
260
|
blank: session.blank,
|
|
@@ -3679,7 +3682,7 @@ async function inspectResolvedPath(root, wirePath) {
|
|
|
3679
3682
|
}
|
|
3680
3683
|
//#endregion
|
|
3681
3684
|
//#region src/shared/version.ts
|
|
3682
|
-
const PLUGIN_VERSION = "2.3.
|
|
3685
|
+
const PLUGIN_VERSION = "2.3.5";
|
|
3683
3686
|
//#endregion
|
|
3684
3687
|
//#region src/host/router.ts
|
|
3685
3688
|
var ApiRouter = class {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-remote-bridge",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.5",
|
|
4
4
|
"description": "Versioned REST bridge for DeepSeek Harness: remote access for trusted clients (chat, files, devices) plus a Phone-settings panel inside the DSH WebUI.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@11.19.0",
|