@tencent-ai/codebuddy-code 2.93.3 → 2.93.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/CHANGELOG.md +13 -0
- package/dist/codebuddy-headless.js +82 -88
- package/dist/codebuddy.js +110 -116
- package/dist/web-ui/docs/cn/cli/agent-teams.md +16 -2
- package/dist/web-ui/docs/cn/cli/cli-reference.md +1 -0
- package/dist/web-ui/docs/cn/cli/daemon.md +10 -0
- package/dist/web-ui/docs/cn/cli/env-vars.md +29 -1
- package/dist/web-ui/docs/cn/cli/hooks.md +4 -4
- package/dist/web-ui/docs/cn/cli/http-api.md +37 -4
- package/dist/web-ui/docs/cn/cli/installation.md +2 -2
- package/dist/web-ui/docs/cn/cli/keybindings.md +1 -1
- package/dist/web-ui/docs/cn/cli/release-notes/README.md +13 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.84.0.md +35 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.85.0.md +19 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.86.0.md +29 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.87.0.md +34 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.88.0.md +28 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.89.0.md +24 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.90.0.md +26 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.91.0.md +30 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.92.0.md +29 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.93.0.md +26 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.93.1.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.93.2.md +8 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.93.3.md +7 -0
- package/dist/web-ui/docs/cn/cli/remote-control.md +9 -3
- package/dist/web-ui/docs/cn/cli/security.md +18 -0
- package/dist/web-ui/docs/cn/cli/settings.md +2 -1
- package/dist/web-ui/docs/cn/cli/worktree.md +1 -1
- package/dist/web-ui/docs/en/cli/agent-teams.md +16 -2
- package/dist/web-ui/docs/en/cli/cli-reference.md +1 -0
- package/dist/web-ui/docs/en/cli/daemon.md +10 -0
- package/dist/web-ui/docs/en/cli/env-vars.md +29 -1
- package/dist/web-ui/docs/en/cli/http-api.md +37 -4
- package/dist/web-ui/docs/en/cli/installation.md +38 -13
- package/dist/web-ui/docs/en/cli/keybindings.md +1 -1
- package/dist/web-ui/docs/en/cli/release-notes/README.md +13 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.84.0.md +35 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.85.0.md +19 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.86.0.md +29 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.87.0.md +34 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.88.0.md +28 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.89.0.md +24 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.90.0.md +26 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.91.0.md +30 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.92.0.md +29 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.93.0.md +26 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.93.1.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.93.2.md +8 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.93.3.md +7 -0
- package/dist/web-ui/docs/en/cli/remote-control.md +9 -3
- package/dist/web-ui/docs/en/cli/security.md +18 -0
- package/dist/web-ui/docs/en/cli/settings.md +2 -1
- package/dist/web-ui/docs/en/cli/worktree.md +1 -1
- package/dist/web-ui/docs/search-index-en.json +1 -1
- package/dist/web-ui/docs/search-index-zh.json +1 -1
- package/dist/web-ui/docs/sidebar-en.json +1 -1
- package/dist/web-ui/docs/sidebar-zh.json +1 -1
- package/package.json +1 -1
- package/product.cloudhosted.json +2 -2
- package/product.internal.json +25 -4
- package/product.ioa.json +9 -11
- package/product.json +2 -2
- package/product.selfhosted.json +2 -2
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.93.0 Release
|
|
2
|
+
|
|
3
|
+
## ✨ New Features
|
|
4
|
+
|
|
5
|
+
### Canvas Standalone View & Window Management
|
|
6
|
+
|
|
7
|
+
Canvas terminals are fully enhanced, supporting opening individual terminal panes or the entire canvas in a standalone browser window for multi-monitor workflows. New window actions include maximize, minimize, and clone terminal. When maximized, the tile uses fixed positioning detached from the canvas transform for a full-screen immersive experience.
|
|
8
|
+
|
|
9
|
+
### Canvas Interaction Experience Upgrade
|
|
10
|
+
|
|
11
|
+
Aligned with Figma/Miro standard interaction paradigms: scroll to pan, Cmd+scroll to zoom, drag inertia animation, and a transparent overlay that captures pointer events — allowing smooth canvas operations even when the cursor hovers over terminal content.
|
|
12
|
+
|
|
13
|
+
## 🔧 Improvements
|
|
14
|
+
|
|
15
|
+
- **Terminal State Persistence**: PTY Session IDs and working directories of canvas terminals are persisted with the canvas state, automatically restoring connections after refresh
|
|
16
|
+
- **PTY Connection Management**: SSE subscriptions are now included in client liveness detection to prevent active connections from being incorrectly released; eliminated the zsh first-line highlight artifact
|
|
17
|
+
- **Tool Parameter Streaming Rendering**: Fixed multiple correctness issues including parallel tool parameter ID mix-ups, first-frame loss, and empty object flash, making Web UI tool call rendering more stable
|
|
18
|
+
- **Startup Performance Optimization**: Shell snapshot warm-up deferred to 2 seconds after startup, MCP config reads are deduplicated concurrently, reducing cold-start I/O contention
|
|
19
|
+
- **Windows Compatibility**: No longer force-exits when Git Bash is not installed; automatically falls back to PowerShell for shell command execution
|
|
20
|
+
- **Persistence Loss Prevention**: Debounce queues are synchronously flushed on page refresh/close to prevent unpersisted state from being lost
|
|
21
|
+
- **Gateway Security**: PWA-related static files are properly exempted from CSRF validation
|
|
22
|
+
|
|
23
|
+
## 🐛 Bug Fixes
|
|
24
|
+
|
|
25
|
+
- **Marketplace Config Storage**: Fixed data loss caused by concurrent read/write of marketplace configuration
|
|
26
|
+
- **Marketplace Deduplication Logic**: Fixed false-positive deduplication when adding marketplaces
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.93.2 Release
|
|
2
|
+
|
|
3
|
+
## 🐛 Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **File Tree Loading Recovery**: Fixed an issue where corrupted persisted data caused the file tree to permanently display "Loading Failed"; added a retry button for manual recovery
|
|
6
|
+
- **Persisted Data Integrity**: Fixed an issue where Set/Map type fields were restored as empty objects after persistence; data is now automatically converted to a serializable format before saving
|
|
7
|
+
- **Marketplace Storage Stability**: Introduced cross-process file locking and atomic writes for marketplace configuration files, fixing data corruption caused by concurrent multi-process writes; corrupted files are now automatically backed up and rebuilt on read
|
|
8
|
+
- **Conversation History Replay**: Fixed an issue where slash commands (e.g., `/clear`) were incorrectly truncated during history replay, ensuring complete command content restoration
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.93.3 Release
|
|
2
|
+
|
|
3
|
+
## 🔧 Improvements
|
|
4
|
+
|
|
5
|
+
- **Permission System Optimization**: Project-level allow rules in trusted directories can now override dangerous command interception without manually moving rules to user-level configuration. Behavior in untrusted directories remains unchanged
|
|
6
|
+
- **CORS Wildcard Support**: Added subdomain wildcard (`https://*.example.com`) and allow-all (`*`) configuration modes to the CORS whitelist, making it easier to onboard multi-subdomain environments
|
|
7
|
+
- **LAN Access Simplification**: When starting with `--host 0.0.0.0`, the local LAN IP is now automatically added to the CORS and Host whitelists, allowing LAN devices to access the Web UI directly via IP without additional configuration
|
|
@@ -130,6 +130,12 @@ By default, the Gateway allows cross-origin requests from the following origins:
|
|
|
130
130
|
- The public address assigned by the Tunnel
|
|
131
131
|
- Additional origins configured via `gateway.corsOrigins`
|
|
132
132
|
|
|
133
|
+
Three configuration modes are supported:
|
|
134
|
+
|
|
135
|
+
- **Exact match**: `https://example.com`
|
|
136
|
+
- **Subdomain wildcard**: `https://*.example.com` (matches all subdomains, including multi-level subdomains such as `a.b.example.com`)
|
|
137
|
+
- **Allow all**: `*`
|
|
138
|
+
|
|
133
139
|
## Web UI
|
|
134
140
|
|
|
135
141
|
The Web UI provides a complete CodeBuddy Code interaction interface, including:
|
|
@@ -153,7 +159,7 @@ You can configure Gateway-related options in `~/.codebuddy/settings.json`:
|
|
|
153
159
|
"gateway": {
|
|
154
160
|
"auth": "password",
|
|
155
161
|
"password": "your-custom-password",
|
|
156
|
-
"corsOrigins": ["https://your-domain.com"],
|
|
162
|
+
"corsOrigins": ["https://your-domain.com", "https://*.example.com"],
|
|
157
163
|
"maxConnections": 5,
|
|
158
164
|
"tokenTtlMs": 86400000
|
|
159
165
|
}
|
|
@@ -164,7 +170,7 @@ You can configure Gateway-related options in `~/.codebuddy/settings.json`:
|
|
|
164
170
|
|:------|:-----|:------|
|
|
165
171
|
| `auth` | Authentication mode, `"password"` or `"none"` | `"none"` |
|
|
166
172
|
| `password` | Custom password. Auto-generated on first start if empty | Auto-generated |
|
|
167
|
-
| `corsOrigins` | List of additional allowed CORS origins | `[]` |
|
|
173
|
+
| `corsOrigins` | List of additional allowed CORS origins. Supports exact origins, `*.domain` subdomain wildcards, and `*` to allow all | `[]` |
|
|
168
174
|
| `maxConnections` | Maximum concurrent ACP connections | `5` |
|
|
169
175
|
| `tokenTtlMs` | ACP Session Token TTL in milliseconds | `86400000` (24 hours) |
|
|
170
176
|
|
|
@@ -172,7 +178,7 @@ You can configure Gateway-related options in `~/.codebuddy/settings.json`:
|
|
|
172
178
|
|
|
173
179
|
| Environment Variable | Description |
|
|
174
180
|
|:---------|:-----|
|
|
175
|
-
| `CODEBUDDY_CODE_CORS_ORIGINS` | Additional allowed CORS origins (comma-separated) |
|
|
181
|
+
| `CODEBUDDY_CODE_CORS_ORIGINS` | Additional allowed CORS origins (comma-separated). Supports exact origins, `*.domain` subdomain wildcards, and `*` to allow all. e.g., `https://*.example.com,https://specific.com` |
|
|
176
182
|
|
|
177
183
|
## Instance Management
|
|
178
184
|
|
|
@@ -83,6 +83,24 @@ We encourage writing your own MCP servers or using MCP servers from providers yo
|
|
|
83
83
|
|
|
84
84
|
See [MCP Integration Documentation](mcp.md) for details.
|
|
85
85
|
|
|
86
|
+
## Gateway Network Security
|
|
87
|
+
|
|
88
|
+
When starting the HTTP service via `--serve` mode or Daemon, CodeBuddy Code employs multi-layered defenses to protect API endpoints:
|
|
89
|
+
|
|
90
|
+
### CORS Whitelist
|
|
91
|
+
|
|
92
|
+
Only cross-origin requests from legitimate origins are allowed. Requests with unauthorized Origins (whether OPTIONS preflight or actual requests) are rejected outright without executing any business logic. Three configuration modes are supported: exact origin (`https://example.com`), subdomain wildcard (`https://*.example.com`), and allow all (`*`). Configure via the environment variable `CODEBUDDY_CODE_CORS_ORIGINS` or the setting `gateway.corsOrigins`.
|
|
93
|
+
|
|
94
|
+
### Custom Request Header Validation
|
|
95
|
+
|
|
96
|
+
All API requests must include the `X-CodeBuddy-Request: 1` header. This mechanism leverages browser security policies: custom headers force a CORS preflight, and browsers do not allow sending custom headers in `no-cors` mode, thereby preventing cross-site request forgery.
|
|
97
|
+
|
|
98
|
+
Can be disabled via `CODEBUDDY_DISABLE_REQUEST_VALIDATION=1`. See [HTTP API Security](http-api.md#security) for details.
|
|
99
|
+
|
|
100
|
+
### Authentication Protection
|
|
101
|
+
|
|
102
|
+
Sensitive endpoints (including `/info`, `/health`) require a Bearer Token when password authentication is enabled. See [HTTP API Authentication](http-api.md#authentication) for details.
|
|
103
|
+
|
|
86
104
|
## Sandbox Security
|
|
87
105
|
|
|
88
106
|
CodeBuddy Code supports Bash sandbox functionality that isolates bash commands from your file system and network:
|
|
@@ -65,7 +65,7 @@ The `settings.json` file is the official mechanism for configuring CodeBuddy Cod
|
|
|
65
65
|
| `model` | Override the default model used by CodeBuddy Code | `"gpt-5"` |
|
|
66
66
|
| `agent` | Override the agent name used by the main thread (built-in or custom agent), applying that agent's system prompt, tool restrictions, and model configuration. Priority: `product.json default` → `plugin agent` → `settings.json agent` → `CLI --agent` | `"my-reviewer"` |
|
|
67
67
|
| `statusLine` | Configure a custom status line to display context. See [statusLine documentation](#status-line-configuration) | `{"type": "command", "command": "~/.codebuddy/statusline.sh"}` |
|
|
68
|
-
| `enableAllProjectMcpServers` | Auto-approve all MCP servers defined in the project's `.mcp.json` file | `
|
|
68
|
+
| `enableAllProjectMcpServers` | Auto-approve all MCP servers defined in the project's `.mcp.json` file | `false` |
|
|
69
69
|
| `enabledMcpjsonServers` | List of specific MCP servers approved from `.mcp.json` files | `["memory", "github"]` |
|
|
70
70
|
| `disabledMcpjsonServers` | List of specific MCP servers rejected from `.mcp.json` files | `["filesystem"]` |
|
|
71
71
|
| `autoCompactEnabled` | Enable auto-compaction | `true` |
|
|
@@ -89,6 +89,7 @@ The `settings.json` file is the official mechanism for configuring CodeBuddy Cod
|
|
|
89
89
|
| `additionalDirectories` | Additional [working directories](iam.md#working-directories) that CodeBuddy can access | `[ "../docs/" ]` |
|
|
90
90
|
| `defaultMode` | Default [permission mode](iam.md#permission-modes) when opening CodeBuddy Code | `"acceptEdits"` |
|
|
91
91
|
| `disableBypassPermissionsMode` | Set to `"disable"` to prevent activating `bypassPermissions` mode. This disables the `-y` and `--dangerously-skip-permissions` CLI flags | `"disable"` |
|
|
92
|
+
| `subagentPermissionMode` | Override the default permission mode for subagents/team members. When set, all subagents use this mode instead of inheriting from the main session's mode. The `mode` parameter of the Agent tool takes higher priority | `"bypassPermissions"` |
|
|
92
93
|
|
|
93
94
|
### Memory Configuration (Experimental)
|
|
94
95
|
|
|
@@ -71,7 +71,7 @@ When starting with the `--worktree` parameter:
|
|
|
71
71
|
- If `--worktree-branch xxx` is specified, uses the local branch `xxx`
|
|
72
72
|
- If not specified, defaults to the remote default branch (usually `origin/main` or `origin/master`)
|
|
73
73
|
3. Automatically creates a corresponding branch (e.g., `worktree-feature-auth`)
|
|
74
|
-
4. Switches the working directory to the worktree
|
|
74
|
+
4. Switches the working directory to the worktree; if you started from a subdirectory of the repository, it will preferentially enter the corresponding relative subdirectory in the new worktree
|
|
75
75
|
5. Runs initialization (copies settings, creates symlinks, copies `.worktreeinclude` files, etc.)
|
|
76
76
|
|
|
77
77
|
**Behavior when the branch does not exist**:
|