tabby-bianbu-mcp 0.9.0 → 0.9.2

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 CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
  All notable changes to `tabby-bianbu-mcp` will be documented in this file.
4
4
 
5
+ ## [0.9.2] - 2026-03-23
6
+
7
+ ### Removed
8
+ - **Push Repair button**: removed from the UI. Repair requires MCP connectivity, but if the service is broken enough to need repair, MCP itself is unreachable — making the button useless. For a broken server, SSH in and run `sudo ./bianbu_agent_proxy.sh bootstrap` instead.
9
+
10
+ ### Changed
11
+ - README updated: removed all Repair references, added guidance to SSH + bootstrap for broken servers
12
+
13
+ ## [0.9.1] - 2026-03-23
14
+
15
+ ### Fixed
16
+ - **502 gateway errors no longer trigger early abort**: during repair/upgrade the old server restarts, causing expected 502/503/504 from the gateway (openresty). These are now excluded from the consecutive-failure counter, so the plugin waits the full timeout for the new server to come up instead of aborting after ~46 seconds.
17
+
5
18
  ## [0.9.0] - 2026-03-23
6
19
 
7
20
  ### Added
package/README.md CHANGED
@@ -111,6 +111,7 @@
111
111
 
112
112
  **🔧 Remote Maintenance**
113
113
  - One-click push-upgrade from Tabby
114
+ - Step-by-step progress bar with cancel support
114
115
  - Auto-rollback on failed deployments
115
116
  - Remote health diagnostics & version tracking
116
117
  - Downloadable session logs (local + remote)
@@ -120,6 +121,7 @@
120
121
 
121
122
  **🔧 远程维护**
122
123
  - Tabby 内一键推送升级
124
+ - 分步进度条,支持取消
123
125
  - 部署失败自动回滚
124
126
  - 远程健康诊断和版本追踪
125
127
  - 可下载会话日志(本地 + 远端)
@@ -136,28 +138,194 @@
136
138
  ## 📦 Installation / 安装
137
139
 
138
140
  <table>
141
+ <thead>
142
+ <tr><th>Step / 步骤</th><th>English</th><th>中文</th></tr>
143
+ </thead>
144
+ <tbody>
145
+ <tr>
146
+ <td><b>1. Install Tabby</b></td>
147
+ <td>
148
+
149
+ Download from [tabby.sh](https://tabby.sh) — available for Windows, macOS, Linux.
150
+
151
+ </td>
152
+ <td>
153
+
154
+ 从 [tabby.sh](https://tabby.sh) 下载安装 — 支持 Windows、macOS、Linux。
155
+
156
+ </td>
157
+ </tr>
139
158
  <tr>
140
- <td><b>npm (recommended)</b></td>
159
+ <td><b>2. Install Plugin</b></td>
141
160
  <td>
142
161
 
162
+ Open Tabby → **Settings** → **Plugins** → search `tabby-bianbu-mcp` → **Install**.
163
+
164
+ Or via npm:
165
+ ```bash
166
+ npm install tabby-bianbu-mcp
167
+ ```
168
+
169
+ </td>
170
+ <td>
171
+
172
+ 打开 Tabby → **设置** → **插件** → 搜索 `tabby-bianbu-mcp` → **安装**。
173
+
174
+ 或通过 npm:
143
175
  ```bash
144
176
  npm install tabby-bianbu-mcp
145
177
  ```
146
178
 
147
179
  </td>
148
180
  </tr>
181
+ </tbody>
182
+ </table>
183
+
184
+ <br/>
185
+
186
+ ---
187
+
188
+ ## 🖥 First-time Server Setup / 首次服务端部署
189
+
190
+ > The plugin connects to a **remote MCP server** running on your Bianbu Cloud VM. You need to deploy it once before the plugin can work.
191
+ >
192
+ > 插件通过连接运行在算能云主机上的 **MCP 服务** 来工作。首次使用前需要在远端部署一次。
193
+
194
+ <table>
195
+ <thead>
196
+ <tr><th width="50%">English</th><th width="50%">中文</th></tr>
197
+ </thead>
198
+ <tbody>
149
199
  <tr>
150
- <td><b>Tabby Plugin Manager</b></td>
151
200
  <td>
152
201
 
153
- Search for `tabby-bianbu-mcp` in **Settings → Plugins → Install from npm**
202
+ **Option A: One-command install (recommended)**
203
+
204
+ SSH into your Bianbu Cloud VM and run:
205
+
206
+ ```bash
207
+ wget https://github.com/niver2002/tabby-bianbu-mcp/releases/latest/download/bianbu_agent_proxy.sh
208
+ chmod +x bianbu_agent_proxy.sh
209
+ sudo ./bianbu_agent_proxy.sh bootstrap
210
+ ```
154
211
 
155
- **设置 → 插件 → 从 npm 安装** 中搜索 `tabby-bianbu-mcp`
212
+ This will:
213
+ 1. Create a `bianbu` system user
214
+ 2. Install Node.js (if not present)
215
+ 3. Deploy the MCP server to `/opt/bianbu-mcp-server/`
216
+ 4. Register and start a systemd service
217
+ 5. Listen on `http://0.0.0.0:11434/mcp`
218
+
219
+ </td>
220
+ <td>
221
+
222
+ **方式 A:一键安装(推荐)**
223
+
224
+ SSH 登录算能云主机,执行:
225
+
226
+ ```bash
227
+ wget https://github.com/niver2002/tabby-bianbu-mcp/releases/latest/download/bianbu_agent_proxy.sh
228
+ chmod +x bianbu_agent_proxy.sh
229
+ sudo ./bianbu_agent_proxy.sh bootstrap
230
+ ```
231
+
232
+ 这会:
233
+ 1. 创建 `bianbu` 系统用户
234
+ 2. 安装 Node.js(如果没有)
235
+ 3. 部署 MCP 服务到 `/opt/bianbu-mcp-server/`
236
+ 4. 注册并启动 systemd 服务
237
+ 5. 监听 `http://0.0.0.0:11434/mcp`
156
238
 
157
239
  </td>
158
240
  </tr>
241
+ <tr>
242
+ <td>
243
+
244
+ **Option B: Upload via SCP/SFTP**
245
+
246
+ If `wget` is unavailable on the VM, copy the script from your local machine:
247
+
248
+ ```bash
249
+ # On your local machine:
250
+ scp bianbu_agent_proxy.sh user@your-vm-ip:/tmp/
251
+
252
+ # Then SSH into the VM:
253
+ ssh user@your-vm-ip
254
+ cd /tmp
255
+ chmod +x bianbu_agent_proxy.sh
256
+ sudo ./bianbu_agent_proxy.sh bootstrap
257
+ ```
258
+
259
+ </td>
260
+ <td>
261
+
262
+ **方式 B:通过 SCP/SFTP 上传**
263
+
264
+ 如果云主机上没有 `wget`,可以从本机上传:
265
+
266
+ ```bash
267
+ # 在本地机器上:
268
+ scp bianbu_agent_proxy.sh user@你的主机IP:/tmp/
269
+
270
+ # 然后 SSH 登录云主机:
271
+ ssh user@你的主机IP
272
+ cd /tmp
273
+ chmod +x bianbu_agent_proxy.sh
274
+ sudo ./bianbu_agent_proxy.sh bootstrap
275
+ ```
276
+
277
+ </td>
278
+ </tr>
279
+ <tr>
280
+ <td>
281
+
282
+ **Verify it's running:**
283
+
284
+ ```bash
285
+ curl http://127.0.0.1:11434/health
286
+ ```
287
+
288
+ You should see a JSON response with `"ok": true`.
289
+
290
+ </td>
291
+ <td>
292
+
293
+ **验证是否运行:**
294
+
295
+ ```bash
296
+ curl http://127.0.0.1:11434/health
297
+ ```
298
+
299
+ 应看到包含 `"ok": true` 的 JSON 响应。
300
+
301
+ </td>
302
+ </tr>
303
+ </tbody>
304
+ </table>
305
+
306
+ ### Environment Variables / 环境变量
307
+
308
+ <table>
309
+ <thead>
310
+ <tr><th>Variable</th><th>Default</th><th>Description / 说明</th></tr>
311
+ </thead>
312
+ <tbody>
313
+ <tr><td><code>PORT</code></td><td><code>11434</code></td><td>Server listen port / 监听端口</td></tr>
314
+ <tr><td><code>RUN_USER</code></td><td><code>bianbu</code></td><td>System user for the service / 服务运行用户</td></tr>
315
+ <tr><td><code>FILE_ROOT</code></td><td><code>/home/bianbu</code></td><td>File manager root / 文件管理器根目录</td></tr>
316
+ <tr><td><code>ENABLE_PASSWORDLESS_SUDO</code></td><td><code>false</code></td><td>Allow <code>as_root=true</code> without password / 免密 sudo 提权</td></tr>
317
+ <tr><td><code>TLS_CERT_FILE</code></td><td><i>(empty)</i></td><td>HTTPS cert path / HTTPS 证书路径</td></tr>
318
+ <tr><td><code>TLS_KEY_FILE</code></td><td><i>(empty)</i></td><td>HTTPS key path / HTTPS 私钥路径</td></tr>
319
+ <tr><td><code>MCP_TRANSPORT_MODE</code></td><td><code>stateless</code></td><td>MCP transport: <code>stateless</code> or <code>sse</code></td></tr>
320
+ </tbody>
159
321
  </table>
160
322
 
323
+ Example with custom settings / 自定义配置示例:
324
+
325
+ ```bash
326
+ PORT=8080 FILE_ROOT=/data ENABLE_PASSWORDLESS_SUDO=true sudo -E ./bianbu_agent_proxy.sh bootstrap
327
+ ```
328
+
161
329
  <br/>
162
330
 
163
331
  ---
@@ -306,16 +474,24 @@ Copy the auto-generated JSON config for other MCP clients:
306
474
 
307
475
  The plugin bundles `bianbu_agent_proxy.sh` — a self-contained MCP server installer with **blue/green deployment** and **automatic rollback**.
308
476
 
309
- **Upgrade flow:**
310
- 1. Upload bundled installer → remote host
311
- 2. Launch detached `up` or `repair` process
312
- 3. Installer stages the new release, validates with `node`, then swaps atomically
477
+ **Push Upgrade** — updates the remote server to the version bundled with your plugin (blue/green, safe).
478
+
479
+ **What happens when you click:**
480
+ 1. Upload bundled installer remote host (chunked, with progress bar)
481
+ 2. Launch detached `up` process
482
+ 3. Installer stages the new release in a temporary directory, validates with `node`, then swaps atomically
313
483
  4. Plugin polls remote health until expected version appears
314
484
  5. On failure: previous installation is auto-restored
315
485
 
486
+ **Progress UI** (v0.9.0+):
487
+ - Step-by-step progress bar: Upload → Launch → Wait → Verify
488
+ - Elapsed time counter
489
+ - Cancel button to abort at any stage
490
+ - Error display shows which step failed
491
+
316
492
  **After maintenance**, download session logs from the Settings page for debugging.
317
493
 
318
- > **Note:** `ENABLE_PASSWORDLESS_SUDO` defaults to `false`. Opt in explicitly if needed.
494
+ > **If the service is completely broken** (e.g. Node.js removed, server won't start at all), Push Upgrade can't help — SSH into the VM and run `sudo ./bianbu_agent_proxy.sh bootstrap` to reinstall from scratch.
319
495
 
320
496
  </td><td width="50%">
321
497
 
@@ -323,16 +499,24 @@ The plugin bundles `bianbu_agent_proxy.sh` — a self-contained MCP server insta
323
499
 
324
500
  插件内置了 `bianbu_agent_proxy.sh` — 一个自包含的 MCP 服务器安装脚本,支持**蓝绿部署**和**自动回滚**。
325
501
 
326
- **升级流程:**
327
- 1. 上传内置安装脚本到远端主机
328
- 2. 后台启动 `up` 或 `repair` 进程
329
- 3. 安装脚本在暂存区准备新版本,用 `node` 验证后原子切换
502
+ **Push Upgrade(推送升级)** — 将远端服务器更新到插件内置的版本(蓝绿部署,安全)。
503
+
504
+ **点击按钮后的流程:**
505
+ 1. 分块上传内置安装脚本到远端主机(带进度条)
506
+ 2. 后台启动 `up` 进程
507
+ 3. 安装脚本在临时目录准备新版本,用 `node` 验证后原子切换
330
508
  4. 插件持续轮询远端健康状态,直到出现预期版本号
331
- 5. 如果失败:自动恢复到之前的安装
509
+ 5. 如果失败:自动还原之前的安装
510
+
511
+ **进度 UI**(v0.9.0+):
512
+ - 分步进度条:上传 → 启动 → 等待 → 验证
513
+ - 已用时间计时器
514
+ - 取消按钮,随时中止
515
+ - 错误提示明确显示哪个步骤失败
332
516
 
333
- **维护完成后**,可在设置页面下载会话日志用于调试。
517
+ **维护完成后**,可在设置页下载会话日志用于排查问题。
334
518
 
335
- > **注意:** `ENABLE_PASSWORDLESS_SUDO` 默认为 `false`。如需无密码 sudo,请明确开启并了解安全影响。
519
+ > **如果服务彻底坏了**(如 Node.js 被删、服务完全无法启动),Push Upgrade 无法修复 — 请 SSH 登录主机执行 `sudo ./bianbu_agent_proxy.sh bootstrap` 重新安装。
336
520
 
337
521
  </td></tr>
338
522
  </table>
@@ -341,6 +525,40 @@ The plugin bundles `bianbu_agent_proxy.sh` — a self-contained MCP server insta
341
525
 
342
526
  ---
343
527
 
528
+ ## ❓ Troubleshooting / 常见问题
529
+
530
+ <table>
531
+ <thead>
532
+ <tr><th>Problem / 问题</th><th>Solution / 解决方案</th></tr>
533
+ </thead>
534
+ <tbody>
535
+ <tr>
536
+ <td><code>connect ECONNREFUSED</code> when opening Shell/Files</td>
537
+ <td>MCP server is not running. SSH into the VM and run <code>sudo ./bianbu_agent_proxy.sh bootstrap</code> (first time) or <code>sudo systemctl restart bianbu-mcp-server</code> (existing install).<br/><br/>MCP 服务未运行。SSH 登录主机,首次执行 <code>sudo ./bianbu_agent_proxy.sh bootstrap</code>,已安装则执行 <code>sudo systemctl restart bianbu-mcp-server</code>。</td>
538
+ </tr>
539
+ <tr>
540
+ <td>Push Upgrade fails at <b>[upload]</b> step</td>
541
+ <td>Usually a network timeout. Check your API key and domain. If <code>E2BIG</code> error, update to plugin v0.8.5+.<br/><br/>通常是网络超时。检查 API 密钥和域名。如报 <code>E2BIG</code>,请升级插件到 v0.8.5+。</td>
542
+ </tr>
543
+ <tr>
544
+ <td>Push Upgrade fails at <b>[wait]</b> step with timeout</td>
545
+ <td>The installer is slow or Node.js is not installed. SSH into VM and check:<br/><code>cat /tmp/bianbu_agent_proxy.sh.log</code><br/><code>systemctl status bianbu-mcp-server</code><br/><br/>安装脚本执行慢或 Node.js 未安装。SSH 登录查看日志:<br/><code>cat /tmp/bianbu_agent_proxy.sh.log</code></td>
546
+ </tr>
547
+ <tr>
548
+ <td>Shell works but no PTY (no colors, no vim)</td>
549
+ <td>Remote server < v1.5.0 doesn't support PTY. Use <b>Push Upgrade</b> to update.<br/><br/>远端服务器 < v1.5.0 不支持 PTY。使用 <b>Push Upgrade</b> 更新。</td>
550
+ </tr>
551
+ <tr>
552
+ <td>Health check shows <code>unknown</code> versions</td>
553
+ <td>Remote server is very old. Use <b>Push Upgrade</b> to update, or SSH in and run <code>sudo ./bianbu_agent_proxy.sh bootstrap</code>.<br/><br/>远端服务器版本过旧。使用 <b>Push Upgrade</b> 更新,或 SSH 登录执行 <code>sudo ./bianbu_agent_proxy.sh bootstrap</code>。</td>
554
+ </tr>
555
+ </tbody>
556
+ </table>
557
+
558
+ <br/>
559
+
560
+ ---
561
+
344
562
  ## 🏗 Architecture / 架构
345
563
 
346
564
  ```
@@ -5,5 +5,5 @@
5
5
  "serverVersion": "1.5.0",
6
6
  "sha256": "6b70a7f973a8f4204ab012ff2b88875cebcf1e3912604c996f354ba64b323890",
7
7
  "bytes": 87798,
8
- "generatedAt": "2026-03-23T11:17:27.264Z"
8
+ "generatedAt": "2026-03-23T12:10:52.877Z"
9
9
  }