π CodeBuddy Code v2.173.0 Release β
π¦ Version Information β
| Component | Version |
|---|---|
| CodeBuddy Code CLI | v2.173.0 |
| Agent SDK JS | v0.3.288 |
| Agent SDK Python | v0.3.287 |
β¨ New Features β
Unified Image Reading Tool β
Added the ViewImage tool: when called by a multimodal model, it returns the image directly; when called by a non-multimodal model, a vision model first reads the image and returns a text description relevant to the question, so the main model no longer receives the image. This prevents image-bearing requests from triggering server-side model reassignment and session cache invalidation.
When the Read tool encounters an image file, it now directs the model to use ViewImage instead. BMP is now handled the same as PNG / JPG / WEBP / GIF and no longer returns a "binary file" error.
Image-to-Text for User-Sent Images β
When the current model does not support native image input, images in user messages are replaced with a hint containing the local path, guiding the model to read them with ViewImage. The images themselves are still kept in the session history, and are sent directly as usual after switching to a multimodal model, so no images are lost when changing models.
Delegation Becomes a Stackable Coordination Mode β
Delegation no longer occupies the permission mode. It can be stacked on top of the regular, Code Mode, and lite modes, and is mutually exclusive with multi-task mode:
- Added the
/delegatecommand to quickly toggle delegation - Added a delegation pill to the Web UI input box for one-click toggling
- ACP clients can enable delegation via a session configuration option
- Subagents dispatched by delegation inherit the main session's permission settings
- The dialog's permission selector is simplified to three options: Default, Auto, and Full Access
Breaking change: ACP clients can no longer enable delegation by switching the permission mode to
delegate. Such requests now return an error directly; use the delegation configuration option instead.
"Web Access" for Relay Tunnels β
After binding the local Web UI to a sub-path on the relay gateway, you can open the link in any browser or on your phone and sign in with your own iOA account to access it directly, without entering the Web UI password.
- The sub-path can be left empty to generate a random one, and is globally unique on the gateway
- An access key can optionally be enabled (off by default). The copied full link includes the key, which is automatically removed from the address bar after opening
- Supports copying the link, QR codes, enabling / rotating the key, and unbinding
- The binding is automatically restored after CodeBuddy restarts
- The host management page layout on mobile has also been optimized
Host API for the Lite Scenario Model β
Hosts can query, set, and reset the same user-level Lite configuration as /model:lite via /api/v1/model-variants/lite, making it easy for clients such as WorkBuddy to display and modify the currently active Lite model.
π§ Improvements β
- Model list sized to available terminal height: No longer limited to ten items, with full IDs of adjacent models preferentially kept visible. Model IDs, rates, and descriptions are aligned in consistent column widths; on narrow screens, rates are abbreviated first, and the description and rate columns are hidden entirely when space is insufficient
- File change frames now include "before" content guidance: The current content is backed up before each disk write, so the diff view and undo no longer need to guess; when no backup exists, the reason is clearly stated
- Agent Home opens faster and more reliably: Bounded automatic retries on binding failure, Worker prewarming on hover, transcript cache preserved across pages, and new startup-phase instrumentation to help pinpoint where slowness occurs
- Web UI look and usability improvements: Dropdown menus and popovers share a unified popup style, the host management page has been redesigned, and onboarding no longer pops up automatically
- Auto memory no longer saves sensitive data: Passwords, keys, tokens, and real host, port, domain, path, account, and certificate identifiers are no longer saved
- Team no longer refreshes repeatedly when idle: Once all members have finished, the UI stops periodic refreshing, significantly reducing idle CPU usage and log volume
π Bug Fixes β
- Stopping during tool execution no longer leaves the turn stuck "running": In stream-json mode, the cancellation terminal state is written immediately and the same connection can continue the conversation; in A2A hybrid mode, the task reports CANCELED
- Jobs recovered by the daemon finish properly: After
/reply, the job returns todone/idlewith the result of the turn - Replies after creating a new agent render reliably: Fixed streaming replies refreshing repeatedly, body text not appending, and the input box state flickering; after a page refresh, the body text no longer restarts from the middle
- Multiple Agent Home fixes: First-turn reply display, IME composition state when restoring agents, most-recently-active sorting, duplicate messages when busy, and channel attachment uploads
- Reasons are visible when a Hook blocks a tool call: Logs record the block reason and source plugin, and the result received by the model indicates it was blocked by a hook
- Agent View keyboard takeover and list scrolling restored: Enter /
β/ Esc can re-enter background sessions, and the list scrolls with the cursor - Remote host connection fixes: Fixed SSH preparation misreporting hosts as unreachable, explicit ports being ignored, and incorrect account status reports
- Remote CBC updates no longer install an extra copy: The install target is explicitly set to the SSH user's npm prefix, and the actual path is shown in the logs
- Vision timeout relaxed to 60 seconds, Linux standalone CLI sandbox is once again explicitly enabled