@wenbin_wb/dsh-bridge 2.2.3 → 2.2.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.md +70 -6
- package/README.zh-CN.md +70 -6
- package/client/client.js +310 -128
- package/client/index.js +265 -113
- package/docs/qq-usage.md +385 -0
- package/lib/index.js +39 -0
- package/lib/platform/conversation-bridge.js +36 -18
- package/lib/qq/gateway.js +31 -11
- package/lib/qq/index.js +14 -3
- package/lib/qq/node.js +155 -66
- package/lib/tunnel-client.mjs +0 -3
- package/lib/wechat/index.js +1 -1
- package/lib/wechat/node.js +42 -16
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# dsh-bridge
|
|
2
2
|
|
|
3
|
-
[
|
|
3
|
+
English | [简体中文](README.zh-CN.md)
|
|
4
4
|
|
|
5
5
|

|
|
6
6
|
|
|
@@ -73,12 +73,21 @@ npm install -g @deepseek-ai/dsh
|
|
|
73
73
|
|
|
74
74
|
## Installation
|
|
75
75
|
|
|
76
|
-
### From npm
|
|
76
|
+
### From npm (Recommended)
|
|
77
77
|
|
|
78
78
|
```bash
|
|
79
|
+
# Install latest version
|
|
79
80
|
dsh plugin --profile web add @wenbin_wb/dsh-bridge
|
|
81
|
+
|
|
82
|
+
# Or specify version (e.g. 2.2.4)
|
|
83
|
+
dsh plugin --profile web add @wenbin_wb/dsh-bridge@2.2.4
|
|
80
84
|
```
|
|
81
85
|
|
|
86
|
+
> 💡 **No global install permission?** Use `npx`:
|
|
87
|
+
> ```bash
|
|
88
|
+
> npx --yes @deepseek-ai/dsh plugin --profile web add @wenbin_wb/dsh-bridge
|
|
89
|
+
> ```
|
|
90
|
+
|
|
82
91
|
### From source
|
|
83
92
|
|
|
84
93
|
```bash
|
|
@@ -91,7 +100,10 @@ After installation, restart DSH and find "Remote Access" in settings.
|
|
|
91
100
|
### Upgrade to latest
|
|
92
101
|
|
|
93
102
|
```bash
|
|
103
|
+
# Force install latest version (recommended)
|
|
94
104
|
dsh plugin --profile web add @wenbin_wb/dsh-bridge@latest
|
|
105
|
+
|
|
106
|
+
# Or copy the upgrade command from DSH Web Settings → "Remote Access" → "Version Check"
|
|
95
107
|
```
|
|
96
108
|
|
|
97
109
|
> **Note**: `update --latest` may fail to reach the newest major version due to version constraints from already-installed dependencies. Use the `add @latest` command above to force-install the latest version (no need to know the exact version number).
|
|
@@ -103,7 +115,7 @@ If you upgrade right after a release, `add @latest` may still install an older v
|
|
|
103
115
|
**Solutions** (pick one):
|
|
104
116
|
|
|
105
117
|
1. **Add `minimumReleaseAge: 0` to your profile's `pnpm-workspace.yaml`**, then run `pnpm install` (recommended, permanent)
|
|
106
|
-
2. **
|
|
118
|
+
2. **Copy the versioned upgrade command from DSH Web Settings → "Remote Access" → "Version Check"** (works immediately, no waiting)
|
|
107
119
|
3. **Wait 24 hours**: the protection lifts automatically after 1 day
|
|
108
120
|
|
|
109
121
|
After upgrading, restart DSH and **hard-refresh** the browser (Windows: `Ctrl+Shift+R`, macOS: `Cmd+Shift+R`) to clear the cache, then confirm the latest version is shown in settings.
|
|
@@ -116,6 +128,8 @@ After upgrading, restart DSH and **hard-refresh** the browser (Windows: `Ctrl+Sh
|
|
|
116
128
|
|
|
117
129
|
Automatically enabled after plugin starts, no configuration needed. Open Settings → "Remote Access", scan the QR code with your mobile device.
|
|
118
130
|
|
|
131
|
+

|
|
132
|
+
|
|
119
133
|
### Cloudflare Tunnel
|
|
120
134
|
|
|
121
135
|
1. Click "Enable" in the Cloudflare Tunnel card
|
|
@@ -137,6 +151,8 @@ Config is auto-persisted to `~/.dsh/dsh-bridge/config.json`, no need to re-enter
|
|
|
137
151
|
|
|
138
152
|
Built on Tencent's official WeChat ClawBot feature (iLink Bot API). Scan a QR code to log in a WeChat personal account, then chat with, control, and approve your DeepSeek Harness agents directly in WeChat — all through Tencent's official servers, no public server or tunnel required.
|
|
139
153
|
|
|
154
|
+

|
|
155
|
+
|
|
140
156
|
**Highlights**
|
|
141
157
|
|
|
142
158
|
- 🗂️ **Multi-workspace**: `/workspaces` to list workspaces; `@N` or `@path` to create sessions in a specific project directory
|
|
@@ -158,12 +174,13 @@ Built on Tencent's official WeChat ClawBot feature (iLink Bot API). Scan a QR co
|
|
|
158
174
|
| Command | What it does |
|
|
159
175
|
|---------|--------------|
|
|
160
176
|
| *(plain text)* | Routes to the active agent |
|
|
161
|
-
| `/sessions` | List sessions (grouped by workspace, with titles) |
|
|
162
|
-
| `/use N` | Switch to session N |
|
|
177
|
+
| `/sessions` (or `/list`) | List sessions (grouped by workspace, with titles) |
|
|
178
|
+
| `/use N` (or `/resume N`) | Switch to session N |
|
|
163
179
|
| `/workspaces` | List available workspaces |
|
|
164
180
|
| `/new <prompt>` | Create a fresh session and start (current workspace) |
|
|
165
181
|
| `/new <prompt> @N` (or `@path`) | Create a session in a specific workspace |
|
|
166
182
|
| `/stop` | Cancel the active turn |
|
|
183
|
+
| `/end` | End current session |
|
|
167
184
|
| `/status` | Agent status + session summary |
|
|
168
185
|
| `/yes` `/no` (or `1`/`2`) | Answer a permission request |
|
|
169
186
|
| `/start` | Auto-start a session after first scan |
|
|
@@ -180,12 +197,59 @@ Built on Tencent's official WeChat ClawBot feature (iLink Bot API). Scan a QR co
|
|
|
180
197
|
|
|
181
198
|
---
|
|
182
199
|
|
|
200
|
+
## QQ Bot (OpenAPI v2)
|
|
201
|
+
|
|
202
|
+
Connect your official QQ Bot for private/group chat (@mention in groups), streaming output, Markdown rendering, message buttons, and rich media (images/files). Built on Tencent's official QQ Bot OpenAPI v2, WebSocket real-time push, auto token refresh, auto-reconnect.
|
|
203
|
+
|
|
204
|
+

|
|
205
|
+
|
|
206
|
+

|
|
207
|
+
|
|
208
|
+
**Highlights**
|
|
209
|
+
|
|
210
|
+
- 💬 **Private + Group Chat**: direct message for private chat, @mention to trigger in groups (first @mention auto-authorizes the group)
|
|
211
|
+
- 📝 **Streaming Markdown**: real-time streaming output, code highlighting, tables, lists fully rendered
|
|
212
|
+
- 🎯 **Message Buttons**: /end and other commands trigger quick buttons (new session/list/help), requires latest QQ client
|
|
213
|
+
- 🖼️ **Rich Media**: send/receive images and files
|
|
214
|
+
- 🔄 **Session Management**: multi-session switching, persistence, grouped by workspace
|
|
215
|
+
- ✅ **Auto Authorization**: first message in private chat, first @mention in group auto-adds to allowlist
|
|
216
|
+
|
|
217
|
+
**Usage**
|
|
218
|
+
|
|
219
|
+
1. Go to [QQ Open Platform](https://q.qq.com) to create a bot app, get AppID and ClientSecret
|
|
220
|
+
2. Open Settings → "Remote Access" → "IM Bots" → select "QQ"
|
|
221
|
+
3. Fill in AppID and ClientSecret, click "Save Config" to auto-connect
|
|
222
|
+
4. **Private Chat**: add bot as friend, send first message to auto-authorize
|
|
223
|
+
5. **Group Chat**: invite bot to group, @mention bot to send message (first @mention auto-authorizes the group)
|
|
224
|
+
|
|
225
|
+
**Commands in QQ** (full details in [QQ Bot Guide](docs/qq-usage.md))
|
|
226
|
+
|
|
227
|
+
| Command | What it does |
|
|
228
|
+
|---------|--------------|
|
|
229
|
+
| *(plain text)* | Routes to the active agent |
|
|
230
|
+
| `/new <prompt>` | Create new session and start |
|
|
231
|
+
| `/sessions` (or `/list`) | List sessions (grouped by workspace) |
|
|
232
|
+
| `/use N` (or `/resume N`) | Switch to session N |
|
|
233
|
+
| `/end` | End current session (triggers quick buttons) |
|
|
234
|
+
| `/stop` | Stop current task |
|
|
235
|
+
| `/status` | View agent status |
|
|
236
|
+
| `/workspaces` | List available workspaces |
|
|
237
|
+
| `/help` | View all commands |
|
|
238
|
+
|
|
239
|
+
**Important Notes**
|
|
240
|
+
|
|
241
|
+
- **Custom menus / command panels / message buttons require latest QQ client** (2026-08-12 new feature, mobile version priority support)
|
|
242
|
+
- API config success but client not showing is normal — update QQ to latest version and try again, or wait for official gradual rollout
|
|
243
|
+
- Plain text commands (like `/new` `/sessions` `/help`) work on any version
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
183
247
|
## Optional Configuration
|
|
184
248
|
|
|
185
249
|
Plugin works out-of-the-box, no configuration needed. To change proxy port, add to cordis.yml:
|
|
186
250
|
|
|
187
251
|
```yaml
|
|
188
|
-
- name: dsh-bridge
|
|
252
|
+
- name: '@wenbin_wb/dsh-bridge'
|
|
189
253
|
config:
|
|
190
254
|
port: 3082 # Default 3082
|
|
191
255
|
```
|
package/README.zh-CN.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# dsh-bridge
|
|
2
2
|
|
|
3
|
-
[English](README.md)
|
|
3
|
+
[English](README.md) | 简体中文
|
|
4
4
|
|
|
5
5
|

|
|
6
6
|
|
|
@@ -73,12 +73,21 @@ npm install -g @deepseek-ai/dsh
|
|
|
73
73
|
|
|
74
74
|
## 安装
|
|
75
75
|
|
|
76
|
-
### 从 npm
|
|
76
|
+
### 从 npm 安装(推荐)
|
|
77
77
|
|
|
78
78
|
```bash
|
|
79
|
+
# 安装最新版
|
|
79
80
|
dsh plugin --profile web add @wenbin_wb/dsh-bridge
|
|
81
|
+
|
|
82
|
+
# 或指定版本(如 2.2.4)
|
|
83
|
+
dsh plugin --profile web add @wenbin_wb/dsh-bridge@2.2.4
|
|
80
84
|
```
|
|
81
85
|
|
|
86
|
+
> 💡 **没有全局安装权限?** 使用 `npx` 方式:
|
|
87
|
+
> ```bash
|
|
88
|
+
> npx --yes @deepseek-ai/dsh plugin --profile web add @wenbin_wb/dsh-bridge
|
|
89
|
+
> ```
|
|
90
|
+
|
|
82
91
|
### 从源码安装
|
|
83
92
|
|
|
84
93
|
```bash
|
|
@@ -91,7 +100,10 @@ dsh plugin --profile web add ./dsh-bridge
|
|
|
91
100
|
### 升级到最新版
|
|
92
101
|
|
|
93
102
|
```bash
|
|
103
|
+
# 强制安装最新版(推荐)
|
|
94
104
|
dsh plugin --profile web add @wenbin_wb/dsh-bridge@latest
|
|
105
|
+
|
|
106
|
+
# 或在 DSH Web 设置页的「远程访问」→「版本检查」中一键复制升级命令
|
|
95
107
|
```
|
|
96
108
|
|
|
97
109
|
> **注意**:`update --latest` 可能因已安装依赖的版本约束而无法升级到最新版。用上面的 `add @latest` 命令即可强制安装最新版(无需知道具体版本号)。
|
|
@@ -103,7 +115,7 @@ dsh plugin --profile web add @wenbin_wb/dsh-bridge@latest
|
|
|
103
115
|
**解决方法**(任选其一):
|
|
104
116
|
|
|
105
117
|
1. **在 profile 的 `pnpm-workspace.yaml` 添加 `minimumReleaseAge: 0`**,然后重新 `pnpm install`(推荐,一劳永逸)
|
|
106
|
-
2.
|
|
118
|
+
2. **在 DSH Web 设置页的「远程访问」→「版本检查」中复制带版本号的升级命令**(立即生效,无需等待)
|
|
107
119
|
3. **等待 24 小时**:发布满 1 天后保护自动解除
|
|
108
120
|
|
|
109
121
|
升级完成后重启 DSH,并在浏览器**硬刷新**(Windows: `Ctrl+Shift+R`,macOS: `Cmd+Shift+R`)清除缓存,然后确认设置页显示最新版本号。
|
|
@@ -116,6 +128,8 @@ dsh plugin --profile web add @wenbin_wb/dsh-bridge@latest
|
|
|
116
128
|
|
|
117
129
|
插件启动后自动开启,无需任何配置。打开设置页「远程访问」,用手机扫描二维码即可访问。
|
|
118
130
|
|
|
131
|
+

|
|
132
|
+
|
|
119
133
|
### Cloudflare 隧道
|
|
120
134
|
|
|
121
135
|
1. 点击「Cloudflare 隧道」卡片中的「开启」按钮
|
|
@@ -137,6 +151,8 @@ dsh plugin --profile web add @wenbin_wb/dsh-bridge@latest
|
|
|
137
151
|
|
|
138
152
|
基于腾讯官方开放的微信 ClawBot 插件功能(底层 iLink Bot API),扫码登录微信个人号后,即可在微信里直接与你的 DeepSeek Harness agent 对话、控制和审批,全程走腾讯官方服务器,无需公网与隧道。
|
|
139
153
|
|
|
154
|
+

|
|
155
|
+
|
|
140
156
|
**功能亮点**
|
|
141
157
|
|
|
142
158
|
- 🗂️ **多工作区**:`/workspaces` 查看工作区,`@N` 或 `@路径` 指定项目目录新建会话
|
|
@@ -158,12 +174,13 @@ dsh plugin --profile web add @wenbin_wb/dsh-bridge@latest
|
|
|
158
174
|
| 命令 | 说明 |
|
|
159
175
|
|------|------|
|
|
160
176
|
| *(普通文本)* | 发给当前活动 agent |
|
|
161
|
-
| `/sessions
|
|
162
|
-
| `/use N
|
|
177
|
+
| `/sessions`(或 `/list`) | 列出会话(按工作区分组,带标题) |
|
|
178
|
+
| `/use N`(或 `/resume N`) | 切换到会话 N |
|
|
163
179
|
| `/workspaces` | 列出可用工作区 |
|
|
164
180
|
| `/new <提示词>` | 新建会话并开始(当前工作区) |
|
|
165
181
|
| `/new <提示词> @N`(或 `@路径`) | 在指定工作区新建会话 |
|
|
166
182
|
| `/stop` | 停止当前任务 |
|
|
183
|
+
| `/end` | 结束当前会话 |
|
|
167
184
|
| `/status` | 查看 agent 状态与会话摘要 |
|
|
168
185
|
| `/yes` `/no`(或 `1`/`2`) | 回应权限审批请求 |
|
|
169
186
|
| `/start` | 首次扫码后自动开始一个会话 |
|
|
@@ -180,12 +197,59 @@ dsh plugin --profile web add @wenbin_wb/dsh-bridge@latest
|
|
|
180
197
|
|
|
181
198
|
---
|
|
182
199
|
|
|
200
|
+
### QQ Bot(OpenAPI v2)
|
|
201
|
+
|
|
202
|
+
接入 QQ 官方机器人,支持单聊/群聊(群聊需 @机器人)、流式输出、Markdown 渲染、消息按钮、富媒体消息(图片/文件)。走腾讯官方 QQ Bot OpenAPI v2,WebSocket 实时推送,Token 自动刷新,断线自动重连。
|
|
203
|
+
|
|
204
|
+

|
|
205
|
+
|
|
206
|
+

|
|
207
|
+
|
|
208
|
+
**功能亮点**
|
|
209
|
+
|
|
210
|
+
- 💬 **单聊 + 群聊**:私聊直接对话,群聊 @机器人 触发(首次 @自动授权该群)
|
|
211
|
+
- 📝 **流式 Markdown**:实时流式输出,代码高亮、表格、列表完整渲染
|
|
212
|
+
- 🎯 **消息按钮**:/end 等命令触发快捷按钮(新建会话/列表/帮助),需最新版 QQ 客户端
|
|
213
|
+
- 🖼️ **富媒体**:图片/文件双向传输
|
|
214
|
+
- 🔄 **会话管理**:多会话切换、持久化、按工作区分组
|
|
215
|
+
- ✅ **自动授权**:单聊首次发消息、群聊首次 @机器人 自动加白名单
|
|
216
|
+
|
|
217
|
+
**使用步骤**
|
|
218
|
+
|
|
219
|
+
1. 前往 [QQ 开放平台](https://q.qq.com) 创建机器人应用,获取 AppID 和 ClientSecret
|
|
220
|
+
2. 打开设置页「远程访问」→「IM 机器人」→ 选中「QQ」
|
|
221
|
+
3. 填入 AppID 和 ClientSecret,点「保存配置」后自动连接
|
|
222
|
+
4. **单聊**:添加机器人好友,发送第一条消息自动完成授权
|
|
223
|
+
5. **群聊**:将机器人拉入群,@机器人 发送消息(首次 @自动授权该群)
|
|
224
|
+
|
|
225
|
+
**QQ 里的命令**(完整说明见 [QQ Bot 使用说明](docs/qq-usage.md))
|
|
226
|
+
|
|
227
|
+
| 命令 | 说明 |
|
|
228
|
+
|------|------|
|
|
229
|
+
| *(普通文本)* | 发给当前活动 agent |
|
|
230
|
+
| `/new <提示词>` | 新建会话并开始 |
|
|
231
|
+
| `/sessions`(或 `/list`) | 列出会话(按工作区分组) |
|
|
232
|
+
| `/use N`(或 `/resume N`) | 切换到/恢复会话 N |
|
|
233
|
+
| `/end` | 结束当前会话(触发快捷按钮) |
|
|
234
|
+
| `/stop` | 停止当前任务 |
|
|
235
|
+
| `/status` | 查看 agent 状态 |
|
|
236
|
+
| `/workspaces` | 列出可用工作区 |
|
|
237
|
+
| `/help` | 查看全部命令 |
|
|
238
|
+
|
|
239
|
+
**重要提示**
|
|
240
|
+
|
|
241
|
+
- **自定义菜单 / 指令面板 / 消息按钮需要最新版 QQ 客户端**(2026-08-12 新功能,手机版优先支持)
|
|
242
|
+
- API 配置成功但客户端不显示是正常现象——更新 QQ 到最新版再试,或等官方灰度全量开放
|
|
243
|
+
- 纯文字命令(如 `/new` `/sessions` `/help`)在任何版本都完全可用
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
183
247
|
## 可选配置
|
|
184
248
|
|
|
185
249
|
插件开箱即用,无需配置。如需修改代理端口,在 cordis.yml 中添加:
|
|
186
250
|
|
|
187
251
|
```yaml
|
|
188
|
-
- name: dsh-bridge
|
|
252
|
+
- name: '@wenbin_wb/dsh-bridge'
|
|
189
253
|
config:
|
|
190
254
|
port: 3082 # 默认 3082
|
|
191
255
|
```
|