@tencent-ai/codebuddy-code 2.125.4-next.41bad82.202607231203 → 2.126.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 +22 -0
- package/dist/codebuddy-headless.js +11 -11
- package/dist/codebuddy.js +13 -13
- package/dist/web-ui/docs/cn/cli/agent-teams.md +6 -0
- package/dist/web-ui/docs/cn/cli/cli-reference.md +3 -2
- package/dist/web-ui/docs/cn/cli/costs.md +7 -7
- package/dist/web-ui/docs/cn/cli/daemon.md +8 -2
- package/dist/web-ui/docs/cn/cli/env-vars.md +16 -6
- package/dist/web-ui/docs/cn/cli/hooks.md +26 -4
- package/dist/web-ui/docs/cn/cli/http-api.md +98 -5
- package/dist/web-ui/docs/cn/cli/iam.md +1 -1
- package/dist/web-ui/docs/cn/cli/models.md +43 -13
- package/dist/web-ui/docs/cn/cli/permissions.md +2 -1
- package/dist/web-ui/docs/cn/cli/plugins-reference.md +2 -0
- package/dist/web-ui/docs/cn/cli/release-notes/README.md +15 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.120.0.md +31 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.121.0.md +42 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.121.1.md +20 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.121.2.md +23 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.121.3.md +21 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.122.0.md +52 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.123.0.md +28 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.123.1.md +13 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.124.0.md +30 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.124.1.md +22 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.125.0.md +44 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.125.1.md +22 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.125.2.md +13 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.125.3.md +30 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.125.4.md +33 -0
- package/dist/web-ui/docs/cn/cli/sdk-hooks.md +30 -0
- package/dist/web-ui/docs/cn/cli/settings.md +38 -4
- package/dist/web-ui/docs/cn/cli/slash-commands.md +2 -2
- package/dist/web-ui/docs/cn/cli/sub-agents.md +116 -11
- package/dist/web-ui/docs/cn/cli/troubleshooting.md +55 -0
- package/dist/web-ui/docs/cn/cli/web-ui.md +1 -0
- package/dist/web-ui/docs/en/cli/agent-teams.md +6 -0
- package/dist/web-ui/docs/en/cli/cli-reference.md +3 -2
- package/dist/web-ui/docs/en/cli/costs.md +4 -4
- package/dist/web-ui/docs/en/cli/daemon.md +8 -2
- package/dist/web-ui/docs/en/cli/env-vars.md +16 -6
- package/dist/web-ui/docs/en/cli/hooks.md +26 -4
- package/dist/web-ui/docs/en/cli/http-api.md +98 -5
- package/dist/web-ui/docs/en/cli/models.md +43 -13
- package/dist/web-ui/docs/en/cli/permissions.md +2 -1
- package/dist/web-ui/docs/en/cli/plugins-reference.md +10 -0
- package/dist/web-ui/docs/en/cli/release-notes/README.md +15 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.120.0.md +31 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.121.0.md +42 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.121.1.md +20 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.121.2.md +23 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.121.3.md +21 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.122.0.md +52 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.123.0.md +28 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.123.1.md +13 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.124.0.md +30 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.124.1.md +22 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.125.0.md +44 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.125.1.md +22 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.125.2.md +13 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.125.3.md +30 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.125.4.md +33 -0
- package/dist/web-ui/docs/en/cli/sdk-hooks.md +30 -0
- package/dist/web-ui/docs/en/cli/settings.md +37 -3
- package/dist/web-ui/docs/en/cli/slash-commands.md +2 -2
- package/dist/web-ui/docs/en/cli/sub-agents.md +114 -9
- package/dist/web-ui/docs/en/cli/troubleshooting.md +55 -0
- package/dist/web-ui/docs/en/cli/web-ui.md +3 -0
- 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 +2 -3
- package/product.cloudhosted.json +2 -2
- package/product.internal.json +2 -2
- package/product.ioa.json +2 -2
- package/product.json +2 -2
- package/product.selfhosted.json +2 -2
- package/dist/web-ui/docs/cn/cli/brokered-shell-macos.md +0 -778
- package/dist/web-ui/docs/en/cli/brokered-shell-macos.md +0 -778
|
@@ -69,6 +69,17 @@ The following paths do not require the `X-CodeBuddy-Request` header:
|
|
|
69
69
|
|
|
70
70
|
This validation can be disabled via the environment variable `CODEBUDDY_DISABLE_REQUEST_VALIDATION=1`.
|
|
71
71
|
|
|
72
|
+
### CORS Allowlist
|
|
73
|
+
|
|
74
|
+
Cross-origin request `Origin` headers are matched against the server's CORS allowlist. Sources not on the allowlist are rejected (preflight returns 204 without CORS headers; actual requests return 403 `Origin not allowed`). Allowlist sources:
|
|
75
|
+
|
|
76
|
+
- Local endpoints and their loopback variants (`localhost` / `127.0.0.1` / `[::1]`)
|
|
77
|
+
- Tunnel URL (if enabled)
|
|
78
|
+
- Configuration item `gateway.corsOrigins`
|
|
79
|
+
- Environment variable `CODEBUDDY_CODE_CORS_ORIGINS` (comma-separated, supports exact origin, `*.domain` subdomain wildcards, and `*` for all)
|
|
80
|
+
|
|
81
|
+
When binding to `0.0.0.0` (e.g., `--host 0.0.0.0`, common in cloud VM / LAN exposure scenarios), if `CODEBUDDY_CODE_CORS_ORIGINS` is not explicitly set, the server **automatically allows all origins** (equivalent to configuring `*`), enabling access to the Web UI via any IP or domain without additional configuration. When this environment variable is explicitly set, the user configuration takes precedence.
|
|
82
|
+
|
|
72
83
|
### Authentication
|
|
73
84
|
|
|
74
85
|
Two modes are supported (controlled by environment variable `CODEBUDDY_GATEWAY_AUTH`):
|
|
@@ -286,10 +297,12 @@ Aligned with E2B process.proto, mapping gRPC methods to REST endpoints:
|
|
|
286
297
|
| POST | `/api/v1/plugins/enable` | Enable plugin |
|
|
287
298
|
| POST | `/api/v1/plugins/disable` | Disable plugin |
|
|
288
299
|
| POST | `/api/v1/plugins/uninstall` | Uninstall plugin |
|
|
300
|
+
| POST | `/api/v1/plugins/update` | Update plugin to latest version |
|
|
289
301
|
| GET | `/api/v1/plugins/marketplaces` | List configured plugin marketplaces |
|
|
290
|
-
| POST | `/api/v1/plugins/marketplaces` | Add plugin marketplace |
|
|
302
|
+
| POST | `/api/v1/plugins/marketplaces` | Add plugin marketplace (optional `autoUpdate` to enable auto-update on add) |
|
|
291
303
|
| POST | `/api/v1/plugins/marketplaces/browse` | Browse available plugins in marketplace |
|
|
292
304
|
| POST | `/api/v1/plugins/marketplaces/update` | Update marketplace (sync remote repository content) |
|
|
305
|
+
| POST | `/api/v1/plugins/marketplaces/auto-update` | Enable/disable marketplace auto-update |
|
|
293
306
|
| DELETE | `/api/v1/plugins/marketplaces/:name` | Delete plugin marketplace |
|
|
294
307
|
|
|
295
308
|
### Settings Management
|
|
@@ -302,6 +315,15 @@ Aligned with E2B process.proto, mapping gRPC methods to REST endpoints:
|
|
|
302
315
|
| POST | `/api/v1/settings/:key/items` | Append values to an array-type setting |
|
|
303
316
|
| POST | `/api/v1/settings/:key/remove` | Remove values from an array-type setting |
|
|
304
317
|
|
|
318
|
+
### Workspace Directories
|
|
319
|
+
|
|
320
|
+
| Method | Endpoint | Description |
|
|
321
|
+
|--------|----------|-------------|
|
|
322
|
+
| GET | `/api/v1/workspace-dirs` | List current attached working directories |
|
|
323
|
+
| POST | `/api/v1/workspace-dirs` | Add a single working directory |
|
|
324
|
+
| DELETE | `/api/v1/workspace-dirs?path=` | Remove a single working directory |
|
|
325
|
+
| PUT | `/api/v1/workspace-dirs/sync` | Full sync of working directory list |
|
|
326
|
+
|
|
305
327
|
### Task Templates
|
|
306
328
|
|
|
307
329
|
| Method | Endpoint | Description |
|
|
@@ -352,17 +374,46 @@ curl http://127.0.0.1:8080/api/v1/health
|
|
|
352
374
|
### Initiate Agent Execution
|
|
353
375
|
|
|
354
376
|
```bash
|
|
355
|
-
# Send message
|
|
377
|
+
# Send message (body is Gateway Protocol format, id/type required)
|
|
356
378
|
curl -X POST http://127.0.0.1:8080/api/v1/runs \
|
|
357
379
|
-H "Content-Type: application/json" \
|
|
358
|
-
-
|
|
380
|
+
-H "X-CodeBuddy-Request: 1" \
|
|
381
|
+
-d '{
|
|
382
|
+
"id": "run-1",
|
|
383
|
+
"type": "message",
|
|
384
|
+
"source": {"platform": "generic", "sender": {"id": "dev", "name": "Developer"}, "conversation": {"id": "run-1", "type": "direct"}},
|
|
385
|
+
"payload": {"text": "Help me analyze code performance"}
|
|
386
|
+
}'
|
|
359
387
|
|
|
360
388
|
# Response: {"data": {"runId": "uuid-xxx", "status": "accepted"}}
|
|
361
389
|
|
|
362
|
-
# Get results via SSE stream
|
|
363
|
-
curl http://127.0.0.1:8080/api/v1/runs/uuid-xxx/stream
|
|
390
|
+
# Get results via SSE stream (also requires X-CodeBuddy-Request header)
|
|
391
|
+
curl -H "X-CodeBuddy-Request: 1" http://127.0.0.1:8080/api/v1/runs/uuid-xxx/stream
|
|
364
392
|
```
|
|
365
393
|
|
|
394
|
+
#### Request Body Fields (Gateway Protocol)
|
|
395
|
+
|
|
396
|
+
The request body for `POST /api/v1/runs` uses the Gateway Protocol inbound message format:
|
|
397
|
+
|
|
398
|
+
| Field | Required | Type | Description |
|
|
399
|
+
|------|------|------|------|
|
|
400
|
+
| `id` | ✅ | string | Unique message ID, generated by the caller, used for deduplication and tracing |
|
|
401
|
+
| `type` | ✅ | `"message"` \| `"action"` | Message type. `message` initiates a conversation, `action` sends a control command |
|
|
402
|
+
| `payload.text` | — | string | Prompt text (also accepts top-level `text` / `prompt`) |
|
|
403
|
+
| `payload.attachments` | — | array | Attachment list, elements contain `type` (`image`/`voice`/`video`/`file`), `url`, `urlType` (`local-path`/`url`), etc. |
|
|
404
|
+
| `version` | — | string | Protocol version, default `"1.0"` |
|
|
405
|
+
| `source.platform` | — | string | Source platform, default `"generic"` |
|
|
406
|
+
| `source.sender.id` | — | string | Sender ID, used for rate limiting; defaults to `"unknown"` |
|
|
407
|
+
| `source.sender.name` | — | string | Sender name |
|
|
408
|
+
| `source.conversation.id` | — | string | Conversation ID, defaults to `id` |
|
|
409
|
+
| `source.conversation.type` | — | `"direct"` \| `"group"` | Conversation type, default `"direct"` |
|
|
410
|
+
| `action` | — | `"cancel"` \| `"status"` | Control action, only used when `type="action"` |
|
|
411
|
+
| `callback.url` | — | string | Callback URL for async result delivery (mode B) |
|
|
412
|
+
| `callback.headers` | — | object | Custom headers for the callback request |
|
|
413
|
+
| `timeoutMs` | — | number | Single execution timeout (milliseconds), takes priority over `settings.gateway.runTimeoutMs`; can also use the `X-Codebuddy-Run-Timeout` request header. Set to 0 or negative to disable timeout protection |
|
|
414
|
+
|
|
415
|
+
> The authoritative definition is in the source code `src/node/remote-gateway/gateway-protocol.ts` as `GatewayInboundMessage`.
|
|
416
|
+
|
|
366
417
|
### PTY Terminal Management
|
|
367
418
|
|
|
368
419
|
```bash
|
|
@@ -541,6 +592,11 @@ curl -X POST http://127.0.0.1:8080/api/v1/plugins/uninstall \
|
|
|
541
592
|
-H "Content-Type: application/json" \
|
|
542
593
|
-d '{"plugin": "my-plugin@my-marketplace"}'
|
|
543
594
|
|
|
595
|
+
# Update plugin to latest version (pass waitForApply=true to wait for rebuild to take effect before returning)
|
|
596
|
+
curl -X POST http://127.0.0.1:8080/api/v1/plugins/update \
|
|
597
|
+
-H "Content-Type: application/json" \
|
|
598
|
+
-d '{"plugin": "my-plugin@my-marketplace"}'
|
|
599
|
+
|
|
544
600
|
# List plugin marketplaces
|
|
545
601
|
curl http://127.0.0.1:8080/api/v1/plugins/marketplaces
|
|
546
602
|
|
|
@@ -549,6 +605,11 @@ curl -X POST http://127.0.0.1:8080/api/v1/plugins/marketplaces \
|
|
|
549
605
|
-H "Content-Type: application/json" \
|
|
550
606
|
-d '{"source": "https://example.com/marketplace", "name": "my-marketplace"}'
|
|
551
607
|
|
|
608
|
+
# Add plugin marketplace with auto-update enabled by default (equivalent to adding and then calling marketplaces/auto-update)
|
|
609
|
+
curl -X POST http://127.0.0.1:8080/api/v1/plugins/marketplaces \
|
|
610
|
+
-H "Content-Type: application/json" \
|
|
611
|
+
-d '{"source": "https://example.com/marketplace", "name": "my-marketplace", "autoUpdate": true}'
|
|
612
|
+
|
|
552
613
|
# Browse plugins in marketplace
|
|
553
614
|
curl -X POST http://127.0.0.1:8080/api/v1/plugins/marketplaces/browse \
|
|
554
615
|
-H "Content-Type: application/json" \
|
|
@@ -559,6 +620,11 @@ curl -X POST http://127.0.0.1:8080/api/v1/plugins/marketplaces/update \
|
|
|
559
620
|
-H "Content-Type: application/json" \
|
|
560
621
|
-d '{"marketplace": "my-marketplace"}'
|
|
561
622
|
|
|
623
|
+
# Enable/disable marketplace auto-update (when enabled, periodically syncs and upgrades installed plugins in the background)
|
|
624
|
+
curl -X POST http://127.0.0.1:8080/api/v1/plugins/marketplaces/auto-update \
|
|
625
|
+
-H "Content-Type: application/json" \
|
|
626
|
+
-d '{"marketplace": "my-marketplace", "autoUpdate": true}'
|
|
627
|
+
|
|
562
628
|
# Delete plugin marketplace
|
|
563
629
|
curl -X DELETE http://127.0.0.1:8080/api/v1/plugins/marketplaces/my-marketplace
|
|
564
630
|
```
|
|
@@ -591,6 +657,33 @@ curl -X POST http://127.0.0.1:8080/api/v1/settings/permissions/remove \
|
|
|
591
657
|
-d '{"values": ["Allow: Read(**)"]}'
|
|
592
658
|
```
|
|
593
659
|
|
|
660
|
+
### Workspace Directories
|
|
661
|
+
|
|
662
|
+
Manage attached working directories so that the permission system allows file operations under these directories (same effect as the `/add-dir` command).
|
|
663
|
+
|
|
664
|
+
```bash
|
|
665
|
+
# List current attached working directories
|
|
666
|
+
curl http://127.0.0.1:8080/api/v1/workspace-dirs
|
|
667
|
+
|
|
668
|
+
# Add a working directory
|
|
669
|
+
curl -X POST http://127.0.0.1:8080/api/v1/workspace-dirs \
|
|
670
|
+
-H "Content-Type: application/json" \
|
|
671
|
+
-d '{"path": "/Users/me/other-project"}'
|
|
672
|
+
|
|
673
|
+
# Remove a working directory
|
|
674
|
+
curl -X DELETE "http://127.0.0.1:8080/api/v1/workspace-dirs?path=/Users/me/other-project"
|
|
675
|
+
|
|
676
|
+
# Full sync (call after page refresh recovery)
|
|
677
|
+
curl -X PUT http://127.0.0.1:8080/api/v1/workspace-dirs/sync \
|
|
678
|
+
-H "Content-Type: application/json" \
|
|
679
|
+
-d '{"dirs": ["/Users/me/project-a", "/Users/me/project-b"]}'
|
|
680
|
+
```
|
|
681
|
+
|
|
682
|
+
**Notes**:
|
|
683
|
+
- Added directories are stored in CLI scope (process memory) and are lost when the instance shuts down
|
|
684
|
+
- The frontend persists them via the Web UI's workspace storage and automatically syncs to the backend on page refresh
|
|
685
|
+
- After adding, Agent tools (Read/Write/Glob/Grep/Bash) can access these directories without asking
|
|
686
|
+
|
|
594
687
|
### Usage Statistics
|
|
595
688
|
|
|
596
689
|
```bash
|
|
@@ -338,7 +338,7 @@ During a single CodeBuddy Code session, the model is switched based on the scena
|
|
|
338
338
|
|------|------|---------|
|
|
339
339
|
| `lite` | Lightweight fast model, used for background extraction, summarization, and other low-value requests; also the model corresponding to the Agent tool's `model: "lite"` parameter | **Active** |
|
|
340
340
|
| `reasoning` | Reasoning-enhanced model, used for complex reasoning requiring deep thinking; the model corresponding to the Agent tool's `model: "reasoning"` parameter | **Active** |
|
|
341
|
-
| `subagent` | Default model used by sub-agents / team members | **Reserved, not yet active** —
|
|
341
|
+
| `subagent` | Default model used by sub-agents / team members | **Reserved, not yet active** — sub-agents use a separate `subagents` resolution chain and do not read this field |
|
|
342
342
|
| `vision` | Vision understanding model, used for requests that need to process images | **Reserved, not yet active** — the type is defined but there is no call site consuming this variant |
|
|
343
343
|
| `longContext` | Long-context model, used for requests with very long context | **Reserved, not yet active** — the type is defined but there is no call site consuming this variant |
|
|
344
344
|
|
|
@@ -347,7 +347,7 @@ During a single CodeBuddy Code session, the model is switched based on the scena
|
|
|
347
347
|
**Key rule (must-read for custom models):**
|
|
348
348
|
|
|
349
349
|
> Custom models added via `models.json` **do not inherit** the product's built-in `defaultRelatedModels`.
|
|
350
|
-
> If `relatedModels
|
|
350
|
+
> If a custom main model does not declare `relatedModels`, and there is no environment variable or `variantModels` override, `lite` and `reasoning` will fall back to the main model. Sub-agents do not read `relatedModels.subagent`, but sub-agents configured as `lite` or `reasoning` will still go through the variant resolution chain to determine the concrete model.
|
|
351
351
|
|
|
352
352
|
**Configuration example (DeepSeek main model + flash as lite / reasoning):**
|
|
353
353
|
|
|
@@ -386,21 +386,51 @@ During a single CodeBuddy Code session, the model is switched based on the scena
|
|
|
386
386
|
}
|
|
387
387
|
```
|
|
388
388
|
|
|
389
|
-
**
|
|
389
|
+
**Variant resolution priority (from highest to lowest; currently only `lite` / `reasoning` go through this resolution chain):**
|
|
390
390
|
|
|
391
|
-
1.
|
|
392
|
-
2. `
|
|
393
|
-
3.
|
|
394
|
-
4.
|
|
391
|
+
1. Corresponding environment variables (`CODEBUDDY_SMALL_FAST_MODEL` for `lite`, `CODEBUDDY_BIG_SLOW_MODEL` for `reasoning`)
|
|
392
|
+
2. Project-level `variantModels[variant]`
|
|
393
|
+
3. User global `variantModels[variant]`
|
|
394
|
+
4. `relatedModels[variant]` on the current main model entry
|
|
395
|
+
5. The product's built-in `defaultRelatedModels[variant]` (**only takes effect for built-in models; custom models skip this step**)
|
|
396
|
+
6. Fall back to the main model itself
|
|
395
397
|
|
|
396
|
-
|
|
398
|
+
`variantModels` is stored in `settings.json` and can also be edited via the **Scenario Models** area in the `/model` panel. It is suitable for fixing `lite` / `reasoning` to specific models within the user or project scope; `relatedModels` is suitable for letting the mapping follow the current main model.
|
|
397
399
|
|
|
398
|
-
**
|
|
400
|
+
**Built-in sub-agent resolution priority (from highest to lowest):**
|
|
399
401
|
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
402
|
+
1. `CODEBUDDY_CODE_SUBAGENT_MODEL`, universally covers all sub-agents
|
|
403
|
+
2. The Agent tool's `model` parameter
|
|
404
|
+
3. Project-level `subagents.agents.<subagent-name>.model`
|
|
405
|
+
4. User global `subagents.agents.<subagent-name>.model`
|
|
406
|
+
5. Product built-in declaration, e.g., `Explore` uses `lite`
|
|
407
|
+
6. Inherit the main conversation model
|
|
408
|
+
|
|
409
|
+
Sub-agent models do not read `relatedModels.subagent`. When a sub-agent is configured as `lite` or `reasoning`, it will continue through the variant resolution chain above to determine the concrete model.
|
|
410
|
+
|
|
411
|
+
The following configuration should be written to user-level or project-level `settings.json`:
|
|
412
|
+
|
|
413
|
+
```json
|
|
414
|
+
{
|
|
415
|
+
"subagents": {
|
|
416
|
+
"agents": {
|
|
417
|
+
"Explore": { "model": "lite" },
|
|
418
|
+
"Plan": { "model": "reasoning" }
|
|
419
|
+
}
|
|
420
|
+
},
|
|
421
|
+
"variantModels": {
|
|
422
|
+
"lite": "<fast-model-id>",
|
|
423
|
+
"reasoning": "<reasoning-model-id>"
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
**When to use different configuration approaches:**
|
|
429
|
+
|
|
430
|
+
- Use `relatedModels` to let scenario mapping follow the main model.
|
|
431
|
+
- Use `variantModels` or `/model` to fix specific `lite` / `reasoning` models within the user or project scope.
|
|
432
|
+
- Use `subagents.agents.<subagent-name>.model` or `/agents` to select models or scenario variants for built-in sub-agents individually.
|
|
433
|
+
- Use model environment variables for CI-level overrides. Environment variables take priority over persistent settings; after unsetting, the lower-priority settings will take effect again.
|
|
404
434
|
|
|
405
435
|
### Complete Example
|
|
406
436
|
|
|
@@ -235,10 +235,11 @@ Several ways to expand the trusted scope:
|
|
|
235
235
|
| :--- | :--- |
|
|
236
236
|
| `--add-dir <path>` startup argument | Process-level |
|
|
237
237
|
| `/add-dir` command within a session | Session-level |
|
|
238
|
+
| Web UI add directory (`/api/v1/workspace-dirs`) | Process-level (persisted by frontend) |
|
|
238
239
|
| `permissions.additionalDirectories` setting | Persistent |
|
|
239
240
|
| `permissions.trustedDirectories` setting | Persistent |
|
|
240
241
|
|
|
241
|
-
The effective trusted directory list = workspace root + `settings.trustedDirectories` + directories added at startup with `--add-dir
|
|
242
|
+
The effective trusted directory list = workspace root + `settings.trustedDirectories` + directories added at startup with `--add-dir`, in-session with `/add-dir`, or via the Web UI.
|
|
242
243
|
|
|
243
244
|
> Both `--add-dir` and `permissions.additionalDirectories` only grant **file access**. They **do not** make CodeBuddy load `.codebuddy/` configuration from those directories (agents / hooks / settings, etc. still use the startup directory).
|
|
244
245
|
|
|
@@ -737,6 +737,14 @@ codebuddy plugin update <plugin> [options]
|
|
|
737
737
|
| `-s, --scope <scope>` | Update scope: `user`, `project`, `local`, or `managed` | `user` |
|
|
738
738
|
| `-h, --help` | Show command help | |
|
|
739
739
|
|
|
740
|
+
### plugin list
|
|
741
|
+
|
|
742
|
+
List installed plugins and their versions, marketplace, enabled status, and dependency errors. `--json` can be used for scripts to read `dependencyErrors`.
|
|
743
|
+
|
|
744
|
+
```bash
|
|
745
|
+
codebuddy plugin list --json
|
|
746
|
+
```
|
|
747
|
+
|
|
740
748
|
### Marketplace Management
|
|
741
749
|
|
|
742
750
|
```bash
|
|
@@ -905,6 +913,8 @@ CodeBuddy calculates the cache key by the following priority:
|
|
|
905
913
|
|
|
906
914
|
Git plugins without an explicit version use the 12-character commit SHA as the cache directory name. When resolving tags via version constraints, the cache directory additionally includes a 12-character commit SHA suffix; constraint validation uses the separately recorded `resolvedVersion` and does not rely on the potentially stale manifest version.
|
|
907
915
|
|
|
916
|
+
Git marketplace plugins previously recorded as `unknown` are automatically migrated at startup: CodeBuddy resolves the commit SHA from the current marketplace checkout, materializes the source code into the corresponding SHA cache directory, and atomically updates `installed_plugins.json`. Old `unknown` directories are only marked as orphan; they are retained for at least 14 days, and are not deleted while they have the `.in_use` flag of an active session. Non-Git sources without an explicit version continue to use `unknown`.
|
|
917
|
+
|
|
908
918
|
---
|
|
909
919
|
|
|
910
920
|
## IX. Compatibility with Claude Code
|
|
@@ -17,6 +17,21 @@ Difference from CHANGELOG.md:
|
|
|
17
17
|
|
|
18
18
|
<!-- New versions are automatically added here -->
|
|
19
19
|
|
|
20
|
+
- [v2.125.4](./v2.125.4.md) - 2026-07-23
|
|
21
|
+
- [v2.125.3](./v2.125.3.md) - 2026-07-23
|
|
22
|
+
- [v2.125.2](./v2.125.2.md) - 2026-07-22
|
|
23
|
+
- [v2.125.1](./v2.125.1.md) - 2026-07-22
|
|
24
|
+
- [v2.125.0](./v2.125.0.md) - 2026-07-21
|
|
25
|
+
- [v2.124.1](./v2.124.1.md) - 2026-07-19
|
|
26
|
+
- [v2.124.0](./v2.124.0.md) - 2026-07-17
|
|
27
|
+
- [v2.123.1](./v2.123.1.md) - 2026-07-16
|
|
28
|
+
- [v2.123.0](./v2.123.0.md) - 2026-07-16
|
|
29
|
+
- [v2.122.0](./v2.122.0.md) - 2026-07-15
|
|
30
|
+
- [v2.121.3](./v2.121.3.md) - 2026-07-15
|
|
31
|
+
- [v2.121.2](./v2.121.2.md) - 2026-07-14
|
|
32
|
+
- [v2.121.1](./v2.121.1.md) - 2026-07-14
|
|
33
|
+
- [v2.121.0](./v2.121.0.md) - 2026-07-14
|
|
34
|
+
- [v2.120.0](./v2.120.0.md) - 2026-07-13
|
|
20
35
|
- [v2.119.4](./v2.119.4.md) - 2026-07-12
|
|
21
36
|
- [v2.119.3](./v2.119.3.md) - 2026-07-12
|
|
22
37
|
- [v2.119.2](./v2.119.2.md) - 2026-07-12
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.120.0 Release
|
|
2
|
+
|
|
3
|
+
## 📦 Version Information
|
|
4
|
+
|
|
5
|
+
| Component | Version |
|
|
6
|
+
|-----------|---------|
|
|
7
|
+
| CodeBuddy Code CLI | v2.120.0 |
|
|
8
|
+
| Agent SDK JS | v0.3.212 |
|
|
9
|
+
| Agent SDK Python | v0.3.211 |
|
|
10
|
+
|
|
11
|
+
## ✨ New Features
|
|
12
|
+
|
|
13
|
+
### Flexible Sub-Agent Model Configuration
|
|
14
|
+
|
|
15
|
+
You can now **independently specify models** at the granularity of built-in sub-agents (Explore / general-purpose / Plan, etc.). Each sub-agent operates independently and can be freely combined, instead of being forced to use a single model via environment variables.
|
|
16
|
+
|
|
17
|
+
- Added `subagents` configuration item (`subagents.agents.<agentName>.model`), supporting both global and project scopes;
|
|
18
|
+
- The `/agents` panel now displays the "effective model + source" for each sub-agent and supports visual editing;
|
|
19
|
+
- The environment variable `CODEBUDDY_CODE_SUBAGENT_MODEL` remains the highest priority and applies uniformly to all sub-agents.
|
|
20
|
+
|
|
21
|
+
### Scenario Variant Model Configuration
|
|
22
|
+
|
|
23
|
+
Added the `variantModels` configuration item. You can view and modify the models currently mapped to the `lite` (lightweight fast) and `reasoning` (enhanced reasoning) scenario slots in the `/model` panel, supporting both global and project scopes. The corresponding environment variables `CODEBUDDY_SMALL_FAST_MODEL` / `CODEBUDDY_BIG_SLOW_MODEL` still apply per variant with the highest priority.
|
|
24
|
+
|
|
25
|
+
> Backward compatible: When no configuration is made, behavior remains identical to before the upgrade.
|
|
26
|
+
|
|
27
|
+
## 🐛 Bug Fixes
|
|
28
|
+
|
|
29
|
+
- **Sandbox Bash Environment Variables**: Fixed an issue where MCP configurations such as Tencent Docs could not be passed through during Bash sandbox execution, causing related tools to be unavailable.
|
|
30
|
+
- **More Robust Sandbox Fallback**: Fixed an issue where a spurious `unhandledRejection` diagnostic warning appeared when the sandbox failed to start and fell back to local execution.
|
|
31
|
+
- **Skill Loading Priority**: Fixed an issue where a project-level Skill with the same name as a global Skill did not take precedence according to the nearest-first priority rule.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.121.0 Release
|
|
2
|
+
|
|
3
|
+
## 📦 Version Information
|
|
4
|
+
|
|
5
|
+
| Component | Version |
|
|
6
|
+
|-----------|---------|
|
|
7
|
+
| CodeBuddy Code CLI | v2.121.0 |
|
|
8
|
+
| Agent SDK JS | v0.3.213 |
|
|
9
|
+
| Agent SDK Python | v0.3.212 |
|
|
10
|
+
|
|
11
|
+
## ✨ New Features
|
|
12
|
+
|
|
13
|
+
### Working Directory Management
|
|
14
|
+
|
|
15
|
+
Added the `/api/v1/workspace-dirs` REST API, supporting listing, adding, removing, and fully syncing additional working directories. The Web UI input toolbar now includes a working directory stack icon for visually adding/removing additional working directories. Additional working directory information is automatically injected into the Agent system prompt, allowing the model to be aware of the complete working scope.
|
|
16
|
+
|
|
17
|
+
### Plugin Update & Marketplace Auto-Update
|
|
18
|
+
|
|
19
|
+
- **Plugin Update Public API**: Added `POST /api/v1/plugins/update`, providing the ability to "update installed plugins to the latest version" via the public HTTP API. Supports specifying plugins, scope, and whether to wait for the update to take effect, serving as a prerequisite for client-side "suite auto-update" capabilities.
|
|
20
|
+
- **Marketplace Auto-Update Toggle**: Added `POST /api/v1/plugins/marketplaces/auto-update` to enable/disable marketplace auto-update. When enabled, the backend periodically syncs the marketplace and upgrades installed plugins to the latest version.
|
|
21
|
+
|
|
22
|
+
### Permission Mode Extension
|
|
23
|
+
|
|
24
|
+
ACP now supports Full Access and Delegate permission modes, providing more flexible permission control options.
|
|
25
|
+
|
|
26
|
+
## 🔧 Improvements
|
|
27
|
+
|
|
28
|
+
- **Hooks Output Replacement**: PostToolUse now supports replacing the output of all tools via `updatedToolOutput`, making it easier to compress verbose results and reduce context usage.
|
|
29
|
+
- **Background Task Toggle**: Added the environment variable `CODEBUDDY_CODE_DISABLE_BACKGROUND_TASKS`. When enabled by the host, it hides the background execution parameters for Agent, Bash, and PowerShell, and falls back to synchronous/foreground execution, ensuring results always flow back to the main response and avoiding result loss in request-response SDK scenarios.
|
|
30
|
+
- **PTY Stability**: Upgraded PTY underlying dependencies, incorporating a fix for file descriptor cleanup after PTY exit on macOS, improving terminal stability.
|
|
31
|
+
- **Input Toolbar**: Optimized the size of the Mode/Model selectors for a more compact layout.
|
|
32
|
+
- **File Tree Loading Experience**: Added delayed loading indicator for directory expansion, preventing flicker during fast loads.
|
|
33
|
+
|
|
34
|
+
## 🐛 Bug Fixes
|
|
35
|
+
|
|
36
|
+
- **Empty Model Response Handling**: Fixed an issue where a model that finished normally but returned no valid content would cause the conversation to be silently cancelled, with only a placeholder shown in the UI. This is now handled as a retryable error, with a clear prompt when the response remains empty, preventing the session from being stuck and unable to continue.
|
|
37
|
+
- **--print stream-json False Error Report**: Fixed an issue where in this mode, after a "tool not found" error was automatically recovered, the final result still incorrectly reported `is_error=true`. Behavior is now consistent with interactive sessions.
|
|
38
|
+
- **Deferred Tool Parameter Stability**: Added parameter structure hints for the target tool during retry rounds, reducing the likelihood of misgenerating complex fields such as arrays.
|
|
39
|
+
- **AskUserQuestion Parameter Validation**: When parameters are invalid, instead of silently returning an empty result, a pre-validation step now returns a readable error message, and a rendering fallback is added for question cards.
|
|
40
|
+
- **ACP Message Timestamp Semantics**: Restored the semantics of recording an independent timestamp for each message, preventing the completion time from being truncated by the first streaming chunk time.
|
|
41
|
+
- **Log Flooding**: Downgraded MCP deferred tool indexing diagnostic logs to debug level and removed per-tool hot-path log lines, preventing log files from growing to GB scale during long sessions.
|
|
42
|
+
- **Linux Sandbox**: Enabled the sandbox-cli backend in WorkBuddy Linux, using pipe mode for command execution.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.121.1 Release
|
|
2
|
+
|
|
3
|
+
## 📦 Version Information
|
|
4
|
+
|
|
5
|
+
| Component | Version |
|
|
6
|
+
|-----------|---------|
|
|
7
|
+
| CodeBuddy Code CLI | v2.121.1 |
|
|
8
|
+
| Agent SDK JS | v0.3.214 |
|
|
9
|
+
| Agent SDK Python | v0.3.213 |
|
|
10
|
+
|
|
11
|
+
## 🐛 Bug Fixes
|
|
12
|
+
|
|
13
|
+
- **Sub-Agent Stuck in preparing / ESC Crash**: Fixed an issue in the local CLI where, after the main Agent invoked the Agent tool to spawn a sub-agent, the sub-agent would remain stuck in the preparing phase for a long time without executing, and pressing ESC to interrupt would crash the process. Sub-agents no longer wait for a session that will never be ready when sandbox is not enabled; interruptions during the preparation phase no longer produce unhandled exceptions; and a request timeout has been added for MCP tool list queries to prevent slow/unresponsive MCP services from blocking sub-agent startup.
|
|
14
|
+
- **Tool Call Streaming Parsing**: Fixed an issue where some models split the tool call `id` and `name` across different streaming chunks, causing the client to fail recognition and resulting in tool call failures and session errors. The recognition conditions for the first chunk have been relaxed, allowing subsequent chunks to supply the tool name, compatible with field-splitting scenarios permitted by the protocol.
|
|
15
|
+
- **Web UI Crash**: Fixed an issue where the chat page crashed the browser due to a circular dependency.
|
|
16
|
+
- **Session Restore List**: Filtered out empty sessions with no real user input (e.g., sessions created and immediately switched away from, leaving only command bookkeeping messages), preventing titles from falling back to displaying command names.
|
|
17
|
+
|
|
18
|
+
## 📝 Documentation Updates
|
|
19
|
+
|
|
20
|
+
- **HTTP API / Daemon Documentation**: Added request header and request body descriptions for `/api/v1/runs`, unified examples to Gateway Protocol format, and added a request body field table.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.121.2 Release
|
|
2
|
+
|
|
3
|
+
## 📦 Version Information
|
|
4
|
+
|
|
5
|
+
| Component | Version |
|
|
6
|
+
|-----------|---------|
|
|
7
|
+
| CodeBuddy Code CLI | v2.121.2 |
|
|
8
|
+
| Agent SDK JS | v0.3.215 |
|
|
9
|
+
| Agent SDK Python | v0.3.214 |
|
|
10
|
+
|
|
11
|
+
## 🔧 Improvements
|
|
12
|
+
|
|
13
|
+
- **Daemon Auto-Update Enabled**: Fixed an issue where auto-update was skipped in daemon mode. As a long-running process, the daemon now always enables auto-update to keep versions up to date.
|
|
14
|
+
- **Daemon Diagnostics Enhancement**: The `daemon status` output now includes an auto-update status field, making it easier to check whether auto-update is currently enabled and why.
|
|
15
|
+
|
|
16
|
+
## 🐛 Bug Fixes
|
|
17
|
+
|
|
18
|
+
- **Daemon Restart Preserves Host Binding**: Fixed an issue where host binding was lost after daemon restart. Restarts now reuse the previously configured host and port.
|
|
19
|
+
- **Clipboard Copy**: Fixed an issue where clipboard copy failed in non-HTTPS environments (e.g., HTTP tunnel access). A fallback mechanism has been added, and users are notified via a prompt when copy fails.
|
|
20
|
+
- **Cross-Origin Access**: Fixed a cross-origin issue when accessing the Web UI via IP or custom domain after starting with `--host 0.0.0.0`. Origins are now automatically allowed when no explicit origin whitelist is configured.
|
|
21
|
+
- **MCP Configuration Robustness**: When an MCP configuration in a given scope contains invalid entries (e.g., mistakenly written as a string / null / number), that entry is now skipped with a warning, instead of causing the entire scope to fail loading or affecting other normal MCP services.
|
|
22
|
+
- **Web UI Window Title**: Fixed an issue where the app name was duplicated in the conversation window title bar after installing the Web UI as a PWA.
|
|
23
|
+
- **Security Center Path Matching**: Fixed an issue on Windows where sandbox path matching for the user's home directory was too broad, preventing other accounts' directories from being mistakenly identified as the current user's directory and causing cross-account rule mismatches. Also fixed an issue where protected directories missed the file blocklist due to trailing slash differences.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.121.3 Release
|
|
2
|
+
|
|
3
|
+
## 📦 Version Information
|
|
4
|
+
|
|
5
|
+
| Component | Version |
|
|
6
|
+
|-----------|---------|
|
|
7
|
+
| CodeBuddy Code CLI | v2.121.3 |
|
|
8
|
+
| Agent SDK JS | v0.3.216 |
|
|
9
|
+
| Agent SDK Python | v0.3.215 |
|
|
10
|
+
|
|
11
|
+
## 🔧 Improvements
|
|
12
|
+
|
|
13
|
+
- **stdio initialize Speedup**: The SDK `initialize` handshake is no longer blocked by slow MCP services when custom system prompts / Agent overrides are provided. Override injection is now performed in the background, and the handshake returns immediately. The first prompt still waits for overrides to take effect before executing. In practice, handshake latency has been reduced from hundreds of milliseconds to millisecond level.
|
|
14
|
+
- **Output Style Lazy Rendering**: Built-in output style template content is now rendered on demand. Loading the style list no longer unconditionally renders all templates; rendering and caching occur only when a style is actually applied, speeding up list loading.
|
|
15
|
+
|
|
16
|
+
## 🐛 Bug Fixes
|
|
17
|
+
|
|
18
|
+
- **First Prompt Missing Some MCP Tools**: Fixed an issue in prewarm mode where the available tools list for the first prompt of a new session occasionally lacked user-level MCP tools that connected late, requiring a second prompt for them to appear. A tool index validation has been added to the runtime path; when late-connecting MCP services become ready, the Agent is rebuilt before execution, with no impact on pre-request performance.
|
|
19
|
+
- **Sub-Agent Delegation Crash**: Fixed a regression where sub-agent delegation failed. The telemetry interceptor crashed due to missing null checks when input was empty. Defensive null checks have been added at both the source and interceptor levels.
|
|
20
|
+
- **TUI Keyboard Input Crash**: Fixed an issue where pasting text or inputting specific escape sequences (such as Ctrl+function key sequences that can be embedded in large pastes) caused key name resolution to read a null value, triggering an uncaught exception that crashed the CLI process. Input boundaries have been uniformly normalized for null values.
|
|
21
|
+
- **Reverted Deferred Tool Retry Parameter Hint Approach**: Reverted the previous approach of injecting active tool parameter structure hints to guide the model in self-correction. This was found to be ineffective for some models after verification. The issue is now resolved via an upstream direct tool connection approach, avoiding the overhead of ineffective hints.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.122.0 Release
|
|
2
|
+
|
|
3
|
+
## 📦 Version Information
|
|
4
|
+
|
|
5
|
+
| Component | Version |
|
|
6
|
+
|-----------|---------|
|
|
7
|
+
| CodeBuddy Code CLI | v2.122.0 |
|
|
8
|
+
| Agent SDK JS | v0.3.217 |
|
|
9
|
+
| Agent SDK Python | v0.3.216 |
|
|
10
|
+
|
|
11
|
+
## ✨ New Features
|
|
12
|
+
|
|
13
|
+
### Web UI Account Login
|
|
14
|
+
|
|
15
|
+
After Gateway authentication, a new CBC account login flow (OAuth) has been added, supporting four login methods: domestic site, international site, enterprise domain, and iOA. The Gateway cookie validity period has been extended to 30 days with sliding-window auto-renewal support; the login token has been migrated to localStorage, keeping the user logged in after closing the tab.
|
|
16
|
+
|
|
17
|
+
### Remote Control Bot Entry Points
|
|
18
|
+
|
|
19
|
+
Supports independently controlling the visibility of the WeChat bot and WeCom bot add-entry points via product configuration, while retaining management capabilities for existing channels.
|
|
20
|
+
|
|
21
|
+
### Auto-Update Enabled by Default When Adding Marketplace
|
|
22
|
+
|
|
23
|
+
When adding a plugin marketplace, an optional auto-update toggle has been added. Once enabled, a single operation completes both "adding the marketplace" and "enabling auto-update for kits." Existing marketplaces also support idempotent retroactive enabling of auto-update.
|
|
24
|
+
|
|
25
|
+
### Web UI Custom Model Management
|
|
26
|
+
|
|
27
|
+
A custom model management entry has been added to the "Models" section of the settings page. You can view, create, edit, and delete custom models (OpenAI-compatible endpoints) in a dialog, with configuration persisted to the user-level config file. In login scenarios, official models distributed to the account are no longer shadowed by a narrowed allowlist caused by custom models.
|
|
28
|
+
|
|
29
|
+
### Web Chat `/skills` Inline Display
|
|
30
|
+
|
|
31
|
+
Entering `/skills` directly in the conversation no longer navigates to a separate page or sends to the model. Instead, the available skills list is displayed inline, grouped by source (user / project / plugin), aligning with the CLI Skills panel information architecture.
|
|
32
|
+
|
|
33
|
+
### Web UI Plugin Page Filtering and Pagination
|
|
34
|
+
|
|
35
|
+
The installed and browse lists now support filtering by type (Skill / MCP / Hook / Tool) and enabled status, with client-side pagination. Switching filters automatically returns to the first page.
|
|
36
|
+
|
|
37
|
+
### Web UI Settings Page TOC Navigation
|
|
38
|
+
|
|
39
|
+
A table of contents (TOC) navigation has been added to the settings page, highlighting the current section as the page scrolls. Clicking an entry smoothly scrolls to the corresponding settings block.
|
|
40
|
+
|
|
41
|
+
## 🔧 Improvements
|
|
42
|
+
|
|
43
|
+
- **Port parsing fix**: Fixed an issue where URL port parsing was incorrect when using default ports (HTTP=80, HTTPS=443)
|
|
44
|
+
- **Daemon startup behavior**: Stale processes are now cleaned up before startup to avoid port conflicts or unclean state
|
|
45
|
+
|
|
46
|
+
## 🐛 Bug Fixes
|
|
47
|
+
|
|
48
|
+
- **/btw side questions**: Fixed an issue where using `/btw` to ask a question during a main task's tool call resulted in a parameter error, preventing side questions from being used
|
|
49
|
+
- **WebUI terminal connection**: Fixed an issue where the WebUI terminal connection was disconnected after ~120 seconds under the standalone binary, causing repeated reconnection attempts and eventual errors
|
|
50
|
+
- **Plugin cache**: Git marketplace plugins without an explicit version now use the commit SHA as the cache version, with automatic migration of historical cache. Old directories still in use by a session are retained until safe cleanup
|
|
51
|
+
- **Plan mode**: Added a short suffix to plan file names to reduce the risk of plan file path conflicts in concurrent sessions
|
|
52
|
+
- **File tool sandbox approval**: When the sandbox is enabled, Edit, Write, MultiEdit, and NotebookEdit are uniformly routed through sandbox file rules for approval, fixing inconsistent behavior between the main Agent and sub-Agents
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.123.0 Release
|
|
2
|
+
|
|
3
|
+
## 📦 Version Information
|
|
4
|
+
|
|
5
|
+
| Component | Version |
|
|
6
|
+
|-----------|---------|
|
|
7
|
+
| CodeBuddy Code CLI | v2.123.0 |
|
|
8
|
+
| Agent SDK JS | v0.3.218 |
|
|
9
|
+
| Agent SDK Python | v0.3.217 |
|
|
10
|
+
|
|
11
|
+
## ✨ New Features
|
|
12
|
+
|
|
13
|
+
### File Version Revert
|
|
14
|
+
|
|
15
|
+
Added the ability to preview and execute a full-round file revert per session request. You can preview the file versions that will be restored before reverting, with the preview results including the actual version identifier used, making the full-round file revert operation more intuitive and controllable.
|
|
16
|
+
|
|
17
|
+
## 🔧 Improvements
|
|
18
|
+
|
|
19
|
+
- **Sentiment metrics toggle**: Sentiment friction analysis is now enabled on demand. Related queries and reporting only occur when the corresponding product feature is explicitly enabled, with no additional overhead by default.
|
|
20
|
+
|
|
21
|
+
## 🐛 Bug Fixes
|
|
22
|
+
|
|
23
|
+
- **Daemon auto-update status**: Fixed the issue where `cbc daemon status` displayed "AutoUpdateService not available." The real status is now obtained from the running daemon process. An external upgrade detection has also been added, allowing the daemon to automatically detect and gracefully restart after a manual global upgrade.
|
|
24
|
+
- **/rewind rollback (Windows)**: Fixed an issue where inconsistent drive letter casing (e.g., `c:\` vs `C:\`) on Windows caused rollback code to silently fail. Drive letter casing is now normalized before matching files, ensuring alignment between the save and revert sides.
|
|
25
|
+
- **Revert code only option**: Fixed an issue where the "Revert code only" option was incorrectly hidden after the user made changes and then reverted them, preventing rollback to that node. The option is now displayed based on whether file edits occurred in that round.
|
|
26
|
+
- **Agent subtasks**: Fixed an issue where a subtask that was successfully created but failed during execution was incorrectly reported as "creation failed." The failure path cleanup has also been completed, ensuring consistent failure state and subsequent cleanup logic.
|
|
27
|
+
- **Custom expert**: Fixed an issue where creating a custom expert could write to the wrong directory due to not inheriting the config directory.
|
|
28
|
+
- **Sentiment analysis reporting**: Fixed sentiment analysis query issues caused by differences in request wrapper tags and gateway response wrapping that led to recall or parsing anomalies, ensuring analysis results are reported normally.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.123.1 Release
|
|
2
|
+
|
|
3
|
+
## 📦 Version Information
|
|
4
|
+
|
|
5
|
+
| Component | Version |
|
|
6
|
+
|-----------|---------|
|
|
7
|
+
| CodeBuddy Code CLI | v2.123.1 |
|
|
8
|
+
| Agent SDK JS | v0.3.219 |
|
|
9
|
+
| Agent SDK Python | v0.3.218 |
|
|
10
|
+
|
|
11
|
+
## 🐛 Bug Fixes
|
|
12
|
+
|
|
13
|
+
- **Text processing**: Fixed an issue where cleaning terminal control characters in certain runtime environments could cause a call exception due to differences in module export forms. Unused dependencies have also been removed to reduce the installation size.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.124.0 Release
|
|
2
|
+
|
|
3
|
+
## 📦 Version Information
|
|
4
|
+
|
|
5
|
+
| Component | Version |
|
|
6
|
+
|-----------|---------|
|
|
7
|
+
| CodeBuddy Code CLI | v2.124.0 |
|
|
8
|
+
| Agent SDK JS | v0.3.220 |
|
|
9
|
+
| Agent SDK Python | v0.3.219 |
|
|
10
|
+
|
|
11
|
+
## ✨ New Features
|
|
12
|
+
|
|
13
|
+
### ShareLink One-Click Sharing Tool
|
|
14
|
+
|
|
15
|
+
A new built-in `ShareLink` tool has been added, enabling a single local HTML file to be deployed as a publicly accessible, online-rendered, shareable link with one click. This makes it easy to send generated reports and visualization pages directly to others for viewing.
|
|
16
|
+
|
|
17
|
+
- Automatically routes infrastructure based on the login environment, covering domestic / international / iOA scenarios
|
|
18
|
+
- Enabled by default, with two-level toggles via the environment variable `CODEBUDDY_SHARE_LINK_ENABLED=false` and cloud-side `productFeatures.ShareLink`
|
|
19
|
+
- Lazy-loaded on demand, reusing the current login session for authentication with no additional configuration required
|
|
20
|
+
|
|
21
|
+
## 🔧 Improvements
|
|
22
|
+
|
|
23
|
+
- **CLI command alias**: Added `codebuddy-code` as a CLI command alias, providing an additional invocation method alongside the existing `codebuddy` / `cbc`.
|
|
24
|
+
|
|
25
|
+
## 🐛 Bug Fixes
|
|
26
|
+
|
|
27
|
+
- **Large file edit freeze**: Fixed an issue where editing large files (e.g., large hardware netlists) on the desktop client caused the diff calculation to block for extended periods, freezing the core for tens of minutes. A timeout budget has been added for diff calculation; files that exceed the timeout are downgraded to only appearing in the change list (still viewable and revertable), no longer blocking subsequent operations.
|
|
28
|
+
- **Stop / SubagentStop Hook payload**: Fixed an issue where `last_assistant_message` in hooks could return stale history messages. The final output is now extracted from the current run result first.
|
|
29
|
+
- **Stop Hook continuation**: Fixed an issue where Stop Hook-triggered continuation in `-p` / ACP scenarios could cause the response to end prematurely, with subsequent output lost.
|
|
30
|
+
- **Linux managed runtime**: Fixed an issue where the bundled Node / Python runtime could not be invoked inside the sandbox on Linux environments such as Kylin OS.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# 🚀 CodeBuddy Code v2.124.1 Release
|
|
2
|
+
|
|
3
|
+
## 📦 Version Information
|
|
4
|
+
|
|
5
|
+
| Component | Version |
|
|
6
|
+
|-----------|---------|
|
|
7
|
+
| CodeBuddy Code CLI | v2.124.1 |
|
|
8
|
+
| Agent SDK JS | v0.3.221 |
|
|
9
|
+
| Agent SDK Python | v0.3.220 |
|
|
10
|
+
|
|
11
|
+
## 🔧 Improvements
|
|
12
|
+
|
|
13
|
+
- **Agent metrics aggregation**: The window flush interval is fixed at 30 seconds, removing the dependency on external configuration, making aggregator startup more stable and simpler.
|
|
14
|
+
|
|
15
|
+
## 🐛 Bug Fixes
|
|
16
|
+
|
|
17
|
+
- **Plan mode non-interactive exit hang**: Fixed an issue where entering and exiting Plan mode in `-p` non-interactive mode caused the process to hang indefinitely. After exiting Plan mode, the task can now continue normally.
|
|
18
|
+
- **Prewarm process local plugin loading**: Fixed an issue where local plugins (including skills / agents / hooks / MCP) were not loaded in the first session when the prewarm process was activated for the first time. Plugins are now re-initialized and loaded after activation.
|
|
19
|
+
- **Reasoning Effort panel**: The Reasoning Effort option in the `/config` settings panel now includes the `max` level, aligning with the `/effort` command.
|
|
20
|
+
- **Source Control - Revert All**: Fixed an issue where "Revert All" could not handle both tracked changes and newly created files simultaneously. A single operation can now fully clean up.
|
|
21
|
+
- **Source Control - Panel refresh**: Fixed an issue where the panel did not update promptly after file changes. A timed polling fallback mechanism has been added.
|
|
22
|
+
- **Terminal session keep-alive**: Fixed an issue where creating a new terminal session on manual reconnect caused historical state loss. Existing sessions kept alive by the backend are now reused first.
|