tabby-bianbu-mcp 0.3.2 → 0.5.0
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 +33 -0
- package/LICENSE +21 -21
- package/README.md +115 -82
- package/assets/bianbu_agent_proxy.meta.json +9 -0
- package/assets/bianbu_agent_proxy.sh +1843 -0
- package/dist/commands.d.ts +7 -0
- package/dist/configProvider.d.ts +25 -0
- package/dist/filesTab.component.d.ts +104 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -1845
- package/dist/index.js.map +1 -1
- package/dist/mcp.service.d.ts +55 -0
- package/dist/profileProvider.d.ts +16 -0
- package/dist/remoteRelease.d.ts +37 -0
- package/dist/settingsTab.component.d.ts +28 -0
- package/dist/settingsTabProvider.d.ts +8 -0
- package/dist/shellSession.d.ts +28 -0
- package/dist/shellTab.component.d.ts +15 -0
- package/package.json +67 -45
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `tabby-bianbu-mcp` will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [0.5.0] - 2026-03-19
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- 32-slot MCP request scheduler with 2 interactive lanes and up to 30 transfer lanes
|
|
9
|
+
- single-active-file queue so multiple file transfers run one file at a time
|
|
10
|
+
- explicit worker cadence setting for 100 ms dispatch cycles
|
|
11
|
+
- parallel offset-based chunk transfer support between the Tabby client and remote Bianbu MCP server
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- upload chunk default changed to 32 KiB
|
|
15
|
+
- download chunk default changed to 128 KiB
|
|
16
|
+
- downloads now stream into Tabby's native download sink instead of browser Blob URLs
|
|
17
|
+
- remote installer now raises the Express JSON body limit explicitly and reports parallel chunk capability in health
|
|
18
|
+
|
|
19
|
+
## [0.4.0] - 2026-03-19
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
- release asset sync pipeline for the remote installer script
|
|
23
|
+
- remote diagnostics and push-upgrade workflow from the settings page
|
|
24
|
+
- persistent MCP shell session support with fallback for older servers
|
|
25
|
+
- packaged remote installer metadata for version comparison and release verification
|
|
26
|
+
- node-based release tests and verification scripts
|
|
27
|
+
- remote backup restore command via `restore-latest`
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
- file rename now prefers remote atomic rename support when available
|
|
31
|
+
- build pipeline now emits declaration files into `dist/`
|
|
32
|
+
- README expanded with release and remote maintenance guidance
|
|
33
|
+
- remote installer upgraded with richer health/version metadata, hash verification, safer backup behavior, and a secure default for passwordless sudo
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 niver2002
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,82 +1,115 @@
|
|
|
1
|
-
# tabby-bianbu-mcp
|
|
2
|
-
|
|
3
|
-
A Tabby plugin
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
- `
|
|
40
|
-
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
- `
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
1
|
+
# tabby-bianbu-mcp
|
|
2
|
+
|
|
3
|
+
A Tabby plugin for Bianbu Cloud remote shell and file operations over MCP.
|
|
4
|
+
|
|
5
|
+
It adds a dedicated Bianbu MCP settings page, a shell-like terminal tab, a file manager tab, remote health diagnostics, and a bundled installer push-upgrade flow for the matching Bianbu Cloud MCP server.
|
|
6
|
+
|
|
7
|
+
## Features
|
|
8
|
+
|
|
9
|
+
- Bianbu MCP settings page inside Tabby
|
|
10
|
+
- Bianbu Cloud Shell and Bianbu Cloud Files profiles
|
|
11
|
+
- shell experience backed by MCP `run_command` and logical shell sessions
|
|
12
|
+
- file explorer backed by MCP file tools
|
|
13
|
+
- remote diagnostics: health, versions, capabilities, FILE_ROOT, transport mode
|
|
14
|
+
- packaged remote installer asset with SHA-256 metadata and integrity verification
|
|
15
|
+
- push latest installer to the remote host and trigger `up` or `repair`
|
|
16
|
+
- chunked upload and download support for larger files
|
|
17
|
+
- 32-slot request scheduling with 2 reserved interactive lanes and up to 30 transfer lanes
|
|
18
|
+
- one active file transfer at a time with queued follow-up uploads/downloads
|
|
19
|
+
- parallel offset-based file chunk transfers against the matching remote installer
|
|
20
|
+
- atomic rename support through MCP `rename_path`
|
|
21
|
+
- remote backup and `restore-latest` recovery support in the installer
|
|
22
|
+
|
|
23
|
+
## What this plugin is not
|
|
24
|
+
|
|
25
|
+
- not native SSH
|
|
26
|
+
- not native SFTP
|
|
27
|
+
- not a replacement for the upstream Bianbu Cloud gateway authentication layer
|
|
28
|
+
|
|
29
|
+
The plugin talks to a Bianbu Cloud MCP endpoint such as:
|
|
30
|
+
|
|
31
|
+
`https://<domain>/mcp`
|
|
32
|
+
|
|
33
|
+
Authentication relies on the existing upstream `X-API-KEY` layer. The plugin does not add a second proxy token layer.
|
|
34
|
+
|
|
35
|
+
## Settings
|
|
36
|
+
|
|
37
|
+
The plugin stores these main settings under `bianbuMcp`:
|
|
38
|
+
|
|
39
|
+
- `enabled`
|
|
40
|
+
- `name`
|
|
41
|
+
- `url`
|
|
42
|
+
- `apiKey`
|
|
43
|
+
- `interactiveConcurrency`
|
|
44
|
+
- `transferConcurrency`
|
|
45
|
+
- `workerCadenceMs`
|
|
46
|
+
- `maxRetries`
|
|
47
|
+
- `retryBaseMs`
|
|
48
|
+
- `uploadChunkBytes`
|
|
49
|
+
- `downloadChunkBytes`
|
|
50
|
+
- `notes`
|
|
51
|
+
- `installerRemotePath`
|
|
52
|
+
- `maintenanceAsRoot`
|
|
53
|
+
- `reconnectPollMs`
|
|
54
|
+
- `upgradeHealthTimeoutMs`
|
|
55
|
+
|
|
56
|
+
## Remote maintenance flow
|
|
57
|
+
|
|
58
|
+
The plugin package contains a bundled copy of `bianbu_agent_proxy.sh` plus release metadata.
|
|
59
|
+
|
|
60
|
+
When you click `Push latest installer + upgrade`:
|
|
61
|
+
|
|
62
|
+
1. the plugin uploads the bundled installer to `installerRemotePath`
|
|
63
|
+
2. it makes the script executable remotely
|
|
64
|
+
3. it starts the installer in the background with `up` or `repair`
|
|
65
|
+
4. it polls the MCP endpoint until health returns
|
|
66
|
+
5. it shows the reported remote script version and server version
|
|
67
|
+
|
|
68
|
+
This is the intended commercial-release upgrade path because the client and remote installer ship together.
|
|
69
|
+
|
|
70
|
+
The remote installer now defaults `ENABLE_PASSWORDLESS_SUDO=false`. If you want unattended `as_root=true` maintenance through MCP, opt in explicitly and understand the security trade-off.
|
|
71
|
+
|
|
72
|
+
## Build
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npm install
|
|
76
|
+
npm run build
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Test
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
npm test
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Release verification
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
npm run sync:remote-assets
|
|
89
|
+
npm test
|
|
90
|
+
npm run build
|
|
91
|
+
npm pack --dry-run
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Publish
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
npm publish --access public
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Files included in the package
|
|
101
|
+
|
|
102
|
+
- `dist/`
|
|
103
|
+
- `assets/bianbu_agent_proxy.sh`
|
|
104
|
+
- `assets/bianbu_agent_proxy.meta.json`
|
|
105
|
+
- `README.md`
|
|
106
|
+
- `LICENSE`
|
|
107
|
+
- `CHANGELOG.md`
|
|
108
|
+
|
|
109
|
+
## Source repository
|
|
110
|
+
|
|
111
|
+
https://github.com/niver2002/tabby-bianbu-mcp
|
|
112
|
+
|
|
113
|
+
## License
|
|
114
|
+
|
|
115
|
+
MIT
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"fileName": "bianbu_agent_proxy.sh",
|
|
3
|
+
"sourceFile": "bianbu_agent_proxy.sh",
|
|
4
|
+
"scriptVersion": "1.2.0",
|
|
5
|
+
"serverVersion": "1.2.0",
|
|
6
|
+
"sha256": "62c492d026fe0e16e007d9f0bbeeaedfcbd55b457ca357a8d137aff9a24ce594",
|
|
7
|
+
"bytes": 63063,
|
|
8
|
+
"generatedAt": "2026-03-19T11:00:34.100Z"
|
|
9
|
+
}
|