relay-dsh-plugin-claude 0.2.3 → 0.2.4
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.md +29 -25
- package/README.zh.md +27 -25
- package/docs/spec/claude-native-session-import.md +6 -4
- package/lib/host-plugin.js +4 -2
- package/lib/host-plugin.js.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Claude Code Conversations for DeepSeek Harness
|
|
2
2
|
|
|
3
|
-
> **Stable `0.2.
|
|
3
|
+
> **Stable `0.2.4` is verified on official DSH `0.1.5-rc.2` and `0.1.6-alpha.1`.** It preserves the bound Claude Session when resume fails instead of creating a replacement, and its source peer metadata declares both exact releases. [Install it from npm](https://www.npmjs.com/package/relay-dsh-plugin-claude) · [Compatibility evidence](https://github.com/yangbobo2021/Relay/tree/codex/relay-foundation/dsh-lab/dsh-0.1.6-alpha.1-20260915).
|
|
4
4
|
|
|
5
|
-
> **Release channels:** `latest` → `0.2.
|
|
5
|
+
> **Release channels:** `latest` → `0.2.4`; `next` → `0.2.4-rc.1`.
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@
|
|
8
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@0.2.4
|
|
9
9
|
npx @deepseek-ai/dsh@0.1.6-alpha.1 web
|
|
10
10
|
```
|
|
11
11
|
|
|
@@ -15,7 +15,7 @@ npx @deepseek-ai/dsh@0.1.6-alpha.1 web
|
|
|
15
15
|
[](https://github.com/yangbobo2021/relay-dsh-plugin-claude/stargazers)
|
|
16
16
|
[](LICENSE)
|
|
17
17
|
[](https://github.com/deepseek-ai/deepseek-harness)
|
|
18
|
-
[](https://www.npmjs.com/package/relay-dsh-plugin-claude/v/0.2.
|
|
18
|
+
[](https://www.npmjs.com/package/relay-dsh-plugin-claude/v/0.2.4)
|
|
19
19
|
|
|
20
20
|
English | [中文](README.zh.md)
|
|
21
21
|
|
|
@@ -39,8 +39,8 @@ Session. The install requires Node.js 22.13 or newer and `pnpm` on `PATH`. Then
|
|
|
39
39
|
stop DSH Web, install the tested stable release, and restart DSH:
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
|
-
npx @deepseek-ai/dsh@0.1.
|
|
43
|
-
npx @deepseek-ai/dsh@0.1.
|
|
42
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@latest
|
|
43
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 web
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
Open **New Session**, select a workspace, choose **Claude Code** from the mode
|
|
@@ -115,10 +115,10 @@ The published npm package name is
|
|
|
115
115
|
Use `@latest` to install the current stable release:
|
|
116
116
|
|
|
117
117
|
```bash
|
|
118
|
-
npx @deepseek-ai/dsh@0.1.
|
|
118
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@latest
|
|
119
119
|
```
|
|
120
120
|
|
|
121
|
-
At the time of writing, `latest` resolves to stable version `0.2.
|
|
121
|
+
At the time of writing, `latest` resolves to stable version `0.2.4`. The linked
|
|
122
122
|
npm page is the source of truth for the current version.
|
|
123
123
|
|
|
124
124
|
#### npm prerelease (recommended during DSH preview)
|
|
@@ -128,24 +128,24 @@ CI publishing and official DSH compatibility checks. The current candidate also
|
|
|
128
128
|
contains the latest model-selection synchronization fix:
|
|
129
129
|
|
|
130
130
|
```bash
|
|
131
|
-
npx @deepseek-ai/dsh@0.1.
|
|
131
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@next
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
-
At the time of writing, `next` resolves to `0.2.
|
|
134
|
+
At the time of writing, `next` resolves to `0.2.4-rc.1`.
|
|
135
135
|
|
|
136
136
|
#### GitHub development build
|
|
137
137
|
|
|
138
138
|
Install the current `main` branch when testing an unreleased change:
|
|
139
139
|
|
|
140
140
|
```bash
|
|
141
|
-
npx @deepseek-ai/dsh@0.1.
|
|
141
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add github:yangbobo2021/relay-dsh-plugin-claude#main
|
|
142
142
|
```
|
|
143
143
|
|
|
144
144
|
`main` can change at any time. For a reproducible GitHub install, pin a Tag or
|
|
145
145
|
full Commit SHA instead. For example:
|
|
146
146
|
|
|
147
147
|
```bash
|
|
148
|
-
npx @deepseek-ai/dsh@0.1.
|
|
148
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add github:yangbobo2021/relay-dsh-plugin-claude#v0.2.4
|
|
149
149
|
```
|
|
150
150
|
|
|
151
151
|
The official DSH CLI initializes the `web` Profile if it does not exist, asks
|
|
@@ -154,12 +154,12 @@ adds the plugin's bundle layer. No Relay checkout is required. The first
|
|
|
154
154
|
installation can take longer while platform-specific Claude Agent SDK packages
|
|
155
155
|
are downloaded; wait for pnpm's final `Done` message or an explicit error. If
|
|
156
156
|
you already installed the `dsh` command, replace the
|
|
157
|
-
`npx @deepseek-ai/dsh@0.1.
|
|
157
|
+
`npx @deepseek-ai/dsh@0.1.6-alpha.1` prefix with `dsh` in any command above.
|
|
158
158
|
|
|
159
159
|
### 3. Start or restart DSH Web
|
|
160
160
|
|
|
161
161
|
```bash
|
|
162
|
-
npx @deepseek-ai/dsh@0.1.
|
|
162
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 web
|
|
163
163
|
```
|
|
164
164
|
|
|
165
165
|
If you use an installed command, run `dsh web` instead. Bundle membership is read
|
|
@@ -202,8 +202,11 @@ private blocks are skipped; Claude's source transcript is never modified.
|
|
|
202
202
|
|
|
203
203
|
The SDK inventory does not expose a durable running/idle status. Avoid writing
|
|
204
204
|
the same Session from another Claude client while continuing it in DSH. If
|
|
205
|
-
resume fails, DSH keeps the exact imported binding for retry and
|
|
206
|
-
creates a replacement Session.
|
|
205
|
+
resume fails, DSH keeps the exact native or imported binding for retry and
|
|
206
|
+
never silently creates a replacement Session. Native bindings report
|
|
207
|
+
`CLAUDE_SESSION_RESUME_FAILED`; imported bindings report the more specific
|
|
208
|
+
`CLAUDE_IMPORTED_SESSION_RESUME_FAILED`. Import is unavailable with the CLI
|
|
209
|
+
fallback.
|
|
207
210
|
See
|
|
208
211
|
[`docs/spec/claude-native-session-import.md`](docs/spec/claude-native-session-import.md)
|
|
209
212
|
for the complete contract and delivery cases.
|
|
@@ -280,16 +283,17 @@ outside the Session workspace are never imported.
|
|
|
280
283
|
|
|
281
284
|
This repository was designed and compatibility-tested in
|
|
282
285
|
[Relay](https://github.com/yangbobo2021/Relay), an open-source project for
|
|
283
|
-
long-running agent work, external-event delivery,
|
|
284
|
-
|
|
286
|
+
long-running agent work, external-event delivery, and multiple conversation
|
|
287
|
+
backends.
|
|
285
288
|
|
|
286
289
|
The plugin is independently installable. Its only Relay package dependency is
|
|
287
290
|
the provider-neutral session import hub, which the package manager installs
|
|
288
291
|
automatically. It has no runtime dependency on the Relay application, Relay
|
|
289
292
|
Events, or another feature plugin. It does not replace the official DSH layout
|
|
290
|
-
or install
|
|
291
|
-
|
|
292
|
-
|
|
293
|
+
or install workspace UI replacements. Workbench, Files, and Terminal are retired;
|
|
294
|
+
current DSH provides those capabilities officially. This separation lets a user
|
|
295
|
+
install only Claude while the broader Relay project composes Codex, Claude,
|
|
296
|
+
events, waits, and monitors when those capabilities are needed.
|
|
293
297
|
|
|
294
298
|
Explore or star Relay to follow that broader work:
|
|
295
299
|
<https://github.com/yangbobo2021/Relay>.
|
|
@@ -309,7 +313,7 @@ dsh plugin --profile web update relay-dsh-plugin-claude
|
|
|
309
313
|
dsh plugin --profile web remove relay-dsh-plugin-claude
|
|
310
314
|
```
|
|
311
315
|
|
|
312
|
-
Use the `npx @deepseek-ai/dsh@0.1.
|
|
316
|
+
Use the `npx @deepseek-ai/dsh@0.1.6-alpha.1` prefix instead of `dsh` when you do not
|
|
313
317
|
have a persistent DSH command.
|
|
314
318
|
|
|
315
319
|
## Troubleshooting
|
|
@@ -361,10 +365,10 @@ Report bugs and feature requests in this repository's
|
|
|
361
365
|
|
|
362
366
|
### Published stable installation
|
|
363
367
|
|
|
364
|
-
Stable `0.2.
|
|
368
|
+
Stable `0.2.4` targets official DSH `0.1.5-rc.2` and `0.1.6-alpha.1`; install it from npm `latest` or Git tag `v0.2.4`.
|
|
365
369
|
|
|
366
370
|
```sh
|
|
367
|
-
npx @deepseek-ai/dsh@0.1.
|
|
371
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@latest
|
|
368
372
|
# Git tag alternative, after publication:
|
|
369
|
-
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add github:yangbobo2021/relay-dsh-plugin-claude#v0.2.
|
|
373
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add github:yangbobo2021/relay-dsh-plugin-claude#v0.2.4
|
|
370
374
|
```
|
package/README.zh.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# 在 DeepSeek Harness 中使用 Claude Code 对话
|
|
2
2
|
|
|
3
|
-
> **稳定版 `0.2.
|
|
3
|
+
> **稳定版 `0.2.4` 已在官方 DSH `0.1.5-rc.2` 和 `0.1.6-alpha.1` 上验证。** 恢复失败时会保留原 Claude Session 绑定,不会创建替代会话;源码 peer 元数据已声明两个精确版本。[从 npm 安装](https://www.npmjs.com/package/relay-dsh-plugin-claude) · [兼容性证据](https://github.com/yangbobo2021/Relay/tree/codex/relay-foundation/dsh-lab/dsh-0.1.6-alpha.1-20260915)。
|
|
4
4
|
|
|
5
|
-
> **发布通道:** `latest` → `0.2.
|
|
5
|
+
> **发布通道:** `latest` → `0.2.4`;`next` → `0.2.4-rc.1`。
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@
|
|
8
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@0.2.4
|
|
9
9
|
npx @deepseek-ai/dsh@0.1.6-alpha.1 web
|
|
10
10
|
```
|
|
11
11
|
|
|
@@ -15,7 +15,7 @@ npx @deepseek-ai/dsh@0.1.6-alpha.1 web
|
|
|
15
15
|
[](https://github.com/yangbobo2021/relay-dsh-plugin-claude/stargazers)
|
|
16
16
|
[](LICENSE)
|
|
17
17
|
[](https://github.com/deepseek-ai/deepseek-harness)
|
|
18
|
-
[](https://www.npmjs.com/package/relay-dsh-plugin-claude/v/0.2.
|
|
18
|
+
[](https://www.npmjs.com/package/relay-dsh-plugin-claude/v/0.2.4)
|
|
19
19
|
|
|
20
20
|
[English](README.md) | 中文
|
|
21
21
|
|
|
@@ -38,8 +38,8 @@ Agent SDK Session。本插件可独立安装,不需要下载 Relay 仓库。
|
|
|
38
38
|
安装经过测试的稳定版本并重新启动:
|
|
39
39
|
|
|
40
40
|
```bash
|
|
41
|
-
npx @deepseek-ai/dsh@0.1.
|
|
42
|
-
npx @deepseek-ai/dsh@0.1.
|
|
41
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@latest
|
|
42
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 web
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
打开 **New Session**,选择工作区,再从模式菜单中选择 **Claude Code** 并发送
|
|
@@ -110,10 +110,10 @@ claude
|
|
|
110
110
|
使用 `@latest` 安装当前稳定版本:
|
|
111
111
|
|
|
112
112
|
```bash
|
|
113
|
-
npx @deepseek-ai/dsh@0.1.
|
|
113
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@latest
|
|
114
114
|
```
|
|
115
115
|
|
|
116
|
-
本文更新时,`latest` 指向稳定版 `0.2.
|
|
116
|
+
本文更新时,`latest` 指向稳定版 `0.2.4`。最新版本请以链接中的 npm 页面
|
|
117
117
|
为准。
|
|
118
118
|
|
|
119
119
|
#### npm 预发布版(DSH 预览阶段推荐)
|
|
@@ -122,24 +122,24 @@ npx @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web add relay-dsh-plugin-claude
|
|
|
122
122
|
候选版本。当前候选版本还包含最新的模型选择同步修复:
|
|
123
123
|
|
|
124
124
|
```bash
|
|
125
|
-
npx @deepseek-ai/dsh@0.1.
|
|
125
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@next
|
|
126
126
|
```
|
|
127
127
|
|
|
128
|
-
本文更新时,`next` 指向 `0.2.
|
|
128
|
+
本文更新时,`next` 指向 `0.2.4-rc.1`。
|
|
129
129
|
|
|
130
130
|
#### GitHub 开发版
|
|
131
131
|
|
|
132
132
|
如需测试尚未发布的修改,可以直接安装当前 `main` 分支:
|
|
133
133
|
|
|
134
134
|
```bash
|
|
135
|
-
npx @deepseek-ai/dsh@0.1.
|
|
135
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add github:yangbobo2021/relay-dsh-plugin-claude#main
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
`main` 会持续变化。如需可复现的 GitHub 安装,请固定 Tag 或完整 Commit
|
|
139
139
|
SHA。例如:
|
|
140
140
|
|
|
141
141
|
```bash
|
|
142
|
-
npx @deepseek-ai/dsh@0.1.
|
|
142
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add github:yangbobo2021/relay-dsh-plugin-claude#v0.2.4
|
|
143
143
|
```
|
|
144
144
|
|
|
145
145
|
官方 DSH CLI 会在需要时初始化 `web` Profile,通过 `pnpm` 安装所选软件包和
|
|
@@ -147,12 +147,12 @@ Claude Agent SDK 依赖,并将插件加入 Bundle 配置。用户不需要下
|
|
|
147
147
|
仓库。首次安装还会下载 Claude Agent SDK 的平台相关软件包,可能需要更长
|
|
148
148
|
时间;请等待 pnpm 最终显示 `Done` 或明确错误。如果已经安装了持久可用的
|
|
149
149
|
`dsh` 命令,可以将上述任一命令开头的
|
|
150
|
-
`npx @deepseek-ai/dsh@0.1.
|
|
150
|
+
`npx @deepseek-ai/dsh@0.1.6-alpha.1` 替换为 `dsh`。
|
|
151
151
|
|
|
152
152
|
### 3. 启动或重启 DSH Web
|
|
153
153
|
|
|
154
154
|
```bash
|
|
155
|
-
npx @deepseek-ai/dsh@0.1.
|
|
155
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 web
|
|
156
156
|
```
|
|
157
157
|
|
|
158
158
|
如果使用已经安装的命令,则执行 `dsh web`。DSH 只在启动时读取 Bundle
|
|
@@ -188,8 +188,10 @@ thinking,以及已有结果的文本工具活动。未知或私有块会被跳
|
|
|
188
188
|
不会被修改。
|
|
189
189
|
|
|
190
190
|
SDK 列表不提供持久的 running/idle 状态。通过 DSH 继续会话时,应避免另一个
|
|
191
|
-
Claude 客户端同时写入同一个 Session。如果恢复失败,DSH
|
|
192
|
-
|
|
191
|
+
Claude 客户端同时写入同一个 Session。如果恢复失败,DSH 会保留原生或导入的
|
|
192
|
+
原始绑定供重试,绝不会静默创建替代 Session。原生绑定报告
|
|
193
|
+
`CLAUDE_SESSION_RESUME_FAILED`,导入绑定报告更具体的
|
|
194
|
+
`CLAUDE_IMPORTED_SESSION_RESUME_FAILED`。CLI fallback 不支持导入。完整契约和交付
|
|
193
195
|
用例见
|
|
194
196
|
[`docs/spec/claude-native-session-import.md`](docs/spec/claude-native-session-import.md)。
|
|
195
197
|
|
|
@@ -251,14 +253,14 @@ PNG;工作区中不会产生同名 PNG,也不会加载外部资源或执行
|
|
|
251
253
|
## 插件边界及与 Relay 的关系
|
|
252
254
|
|
|
253
255
|
本仓库在 [Relay](https://github.com/yangbobo2021/Relay) 项目中完成设计与
|
|
254
|
-
兼容性验证。Relay 是面向长时间运行 Agent
|
|
255
|
-
|
|
256
|
+
兼容性验证。Relay 是面向长时间运行 Agent、外部事件投递和多种对话后端的
|
|
257
|
+
开源项目。
|
|
256
258
|
|
|
257
259
|
本插件可以独立安装。唯一依赖的 Relay 包是由包管理器自动安装的中立“会话
|
|
258
260
|
导入中心”;运行时不依赖 Relay 应用、Relay Events 或其他功能插件,也不会
|
|
259
|
-
替换 DSH
|
|
260
|
-
|
|
261
|
-
|
|
261
|
+
替换 DSH 官方工作区 UI。Workbench、Files、Terminal 已退役,当前 DSH 直接
|
|
262
|
+
提供这些能力。用户可以只安装 Claude;需要时,Relay 项目可以进一步组合
|
|
263
|
+
Codex、Claude、事件、Wait 和 Monitor。
|
|
262
264
|
|
|
263
265
|
可以访问或 Star Relay 仓库,关注这些更完整的工作:
|
|
264
266
|
<https://github.com/yangbobo2021/Relay>。
|
|
@@ -279,7 +281,7 @@ dsh plugin --profile web remove relay-dsh-plugin-claude
|
|
|
279
281
|
```
|
|
280
282
|
|
|
281
283
|
如果没有持久安装 `dsh` 命令,请将命令开头的 `dsh` 替换为
|
|
282
|
-
`npx @deepseek-ai/dsh@0.1.
|
|
284
|
+
`npx @deepseek-ai/dsh@0.1.6-alpha.1`。
|
|
283
285
|
|
|
284
286
|
## 常见问题
|
|
285
287
|
|
|
@@ -331,10 +333,10 @@ npm pack
|
|
|
331
333
|
|
|
332
334
|
### 已发布稳定版安装
|
|
333
335
|
|
|
334
|
-
稳定版 `0.2.
|
|
336
|
+
稳定版 `0.2.4` 面向官方 DSH `0.1.5-rc.2` 和 `0.1.6-alpha.1`;可通过 npm `latest` 或 Git Tag `v0.2.4` 安装。
|
|
335
337
|
|
|
336
338
|
```sh
|
|
337
|
-
npx @deepseek-ai/dsh@0.1.
|
|
339
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add relay-dsh-plugin-claude@latest
|
|
338
340
|
# Git tag alternative, after publication:
|
|
339
|
-
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add github:yangbobo2021/relay-dsh-plugin-claude#v0.2.
|
|
341
|
+
npx @deepseek-ai/dsh@0.1.6-alpha.1 plugin --profile web add github:yangbobo2021/relay-dsh-plugin-claude#v0.2.4
|
|
340
342
|
```
|
|
@@ -89,10 +89,12 @@ persisted before the next state is attempted.
|
|
|
89
89
|
|
|
90
90
|
Restart, duplicate request, concurrent request, and retry must converge on the
|
|
91
91
|
same DSH Session and native Session. Opening or sending the next DSH turn resumes
|
|
92
|
-
the exact
|
|
93
|
-
missing, or temporarily unavailable, the plugin
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
the exact bound native Session ID. If resume fails because the source is busy,
|
|
93
|
+
missing, or temporarily unavailable, the plugin keeps the binding, creates no
|
|
94
|
+
replacement Session, and reports an error for retry. Native bindings report
|
|
95
|
+
`CLAUDE_SESSION_RESUME_FAILED`; imported bindings retain the more specific
|
|
96
|
+
`CLAUDE_IMPORTED_SESSION_RESUME_FAILED` code. The failed resume must not delete
|
|
97
|
+
or rewrite the persisted binding.
|
|
96
98
|
|
|
97
99
|
## Web route
|
|
98
100
|
|
package/lib/host-plugin.js
CHANGED
|
@@ -2136,8 +2136,10 @@ var ClaudeDshAdapter = class extends LlmAdapter {
|
|
|
2136
2136
|
code: "CLAUDE_IMPORTED_SESSION_RESUME_FAILED",
|
|
2137
2137
|
claudeSessionId: linked
|
|
2138
2138
|
});
|
|
2139
|
-
|
|
2140
|
-
|
|
2139
|
+
throw Object.assign(new Error(`Relay could not resume Claude Session ${linked}; the original binding was kept for retry`, { cause: error }), {
|
|
2140
|
+
code: "CLAUDE_SESSION_RESUME_FAILED",
|
|
2141
|
+
claudeSessionId: linked
|
|
2142
|
+
});
|
|
2141
2143
|
}
|
|
2142
2144
|
const created = await this.runtime.createSession(settings);
|
|
2143
2145
|
this.links.set(sessionId, created.id);
|