## 核心功能
- 审查面板无变化
- 修复应用程序中的终端重放问题
- 解决应用程序中的工作区重置问题
- 解决 Homebrew 升级需要多次运行的问题 (@GeneCodeSavvy)
- 针对无效模型选择发布 session.error 事件 (@surma)
- 通过 ACP 写入时若文件不存在则创建 (@BryceRyan)
- 调整代理变体逻辑:检查变体是否适用于模型,而非要求完全匹配
- 新增 ContextOverflowError 类型
- 移除过时的 Copilot 模型启用说明 (@fgonzalezurriola)
- 为阿里云(DashScope)上的所有推理模型启用思考能力 (@AdJIa)
- 解析流式响应中的 OpenAI 错误,防止在不可恢复错误上无限重试
- 还原网页输入焦点快捷键功能 (@gigamonster256)
- 添加网页输入焦点快捷键 (@ChangeHow)
- 为 opencode.json 中的模型自动补全添加 models.dev 模式引用 (@remorses)
- 在助手消息中设置变体 (@shantur)
- 通过 well-known RFC 添加从 URL 发现技能的功能
- 清理孤立的工作树目录 (@maharshi365)
- 正确处理包含特殊字符的文件 URL (@yudgnahk)
- SessionPrompt.shell() 现可在消息排队时触发循环 (@goniz)
- 为非聊天类 GPT-5 模型自动使用推理摘要 (@scratchmex)
- 为 Trinity 模型添加特定系统提示 (@mariamjabara)
- 修正 amazon-bedrock 提供者在 getSmallModel 中的前缀选择 (@NachoFLizaur)
- 不在任务工具渲染中依赖 metadata.summary
- 处理 GitHub 响应文本提取中的 step-start 和 step-finish 部分 (@elithrar)
- 将 @gitlab/gitlab-ai-provider 升级至 3.5.0 (@vglafirov)
- 为插件客户端添加目录参数以支持多项目 (@cooooooooooode)
- 修正用于导入分享 URL 的 /data API 使用方式及数据格式 (@yuvrajvirk)
- 并行下载技能以加快 TUI 加载速度
- 通过 well-known RFC 添加从 URL 发现技能的功能
- 处理配置中带有 $ 字符的文件模式 (@hstove)
## TUI (终端用户界面)
- 根据代码审查清理 dialog-model.tsx
- 还原在会话头部和状态对话框中添加版本信息
- 还原在 /connect 对话框中显示已连接的提供商
- 在 TUI 中为队列消息使用发送者颜色 (@mcostasilva)
- 还原会话视图中的底部栏恢复
- 添加 Claude Code 风格的 --fork 标志,在继续前复制会话 (@ariane-emory)
- 恢复会话视图中的底部栏 (@ariane-emory)
- 增加技能对话框宽度
- 提升技能对话框可读性 (@kynnyhsap)
## 桌面应用
- 暂时恢复使用平台获取
- 在应用中包含基础认证
- 修复应用中全局事件的默认获取行为
- 修复事件获取操作中的内存泄漏
- 重置工作区后不销毁实例
- 根据提交信息 "fix(app): regressions"(无具体更改),只能提供通用摘要:
修复应用中的回归问题
- 在应用中使用代理配置的变体
- 在应用中持久化防御性设置
- 添加重做和撤销的端到端测试 (@neriousy)
- 为侧边栏会话导航使用绝对路径 (@riftzen-bit)
- 工作区中的新会话现在正确使用所选工作区
- 添加 Cmd+[/] 快捷键用于会话历史导航 (@kitlangton)
- 修正 main.rs 中 linux_display 的模块名称 (@Hona)
- 在应用中设置最大宽度
- 修复新会话时工作区不正确的问题
- 在更改时更新标签页文件内容
- 优化“在...中打开”图标的样式
- 为 crypto.randomUUID 不可用时添加回退方案
- 允许在触摸设备上创建会话 (@kitlangton)
- 在 Linux 桌面端添加原生 Wayland 切换选项 (@IsraelAraujo70)
- 在项目未读消息和错误通知中包含沙盒信息 (@Brendonovich)
- 当 isSidecar 属性为真时,在状态中持久化当前 sidecar URL (@OpeOginni)
- 在桌面应用中追踪当前 sidecar URL (@Brendonovich)
- 从生产构建中排除开发者工具 (@sneycampos)
- 向 AppInterface 添加 isSidecar 属性并持久化 sidecar 服务器 URL (@OpeOginni)
- 在命令面板中本地化“关闭标签页”文本 (@alexyaroshuk)
- 改进工作区头部截断和项目交互 (@kitlangton)
- 为 TextField 组件添加默认的剪贴板复制功能 (@kitlangton)
- 修复提示输入中过时的上下文
- 收紧斜杠命令自动补全的匹配规则 (@kitlangton)
- 提交提示时若会话缺失则显示通知弹窗 (@DNGriffin)
- 在桌面应用中添加原生剪贴板图片粘贴功能并修复文本粘贴 (@invarrow)
- 当终端获得焦点时响应终端切换快捷键 (@ryanmiville)
- 保持 /share 功能以复制现有链接 (@kitlangton)
- 禁用 Safari 浏览器的 3 个提示输入烦人特性 (@DNGriffin)
- 在应用中添加拖拽 @提及文件的支持 (@DNGriffin)
- 处理前端文件 URL 编码中的 Windows 路径 (@yudgnahk)
- 将工作区的新建会话按钮移至头部 (@kitlangton)
- 以改进的用户体验切换文件树和审查面板 (@ProdigyRahul)
- 允许在 Windows 上代理选择使用全宽 (@abdiths)
- 保持编辑项目对话框中的启动脚本字段可滚动 (@itskritix)
- 修复应用中的终端重放问题
- 添加 macOS 支持,仅显示已安装的编辑器,并添加 Sublime Text 编辑器 (@OpeOginni)
- 移除额外的错误页面,使用默认错误边界
- 添加加载窗口并重构 Rust 桌面代码 (@Brendonovich)
- 在窄视口隐藏“在应用中打开”按钮
- 更新服务器移除逻辑,若默认服务器 URL 被移除则清除 (@OpeOginni)
- 在命令面板搜索中显示会话最后更新时间 (@alexyaroshuk)
- 为会话头部添加 Windows 文件资源管理器图标 (@maharshi365)
- 支持桌面标题栏双击最大化 (@crob19)
- 为菜单项添加键盘加速键 (@Brendonovich)
- 为桌面应用添加更多基础菜单栏项 (@Brendonovich)
- 为移动端可访问性始终显示项目菜单按钮 (@DNGriffin)
- 默认最大化主窗口 (@Brendonovich)
**感谢 44 位社区贡献者:**
- @kynnyhsap:
- fix(opencode): improve skills dialog readability (#12356)
- @hstove:
- fix(config): handle $ character with {file:} pattern (#12390)
- @AksharP5:
- feat(tui): highlight esc label on hover in dialog (#12383)
- @Brendonovich:
- desktop: maximize main window by default (#12433)
- desktop: add more basic menu bar items
- desktop: add key accelerators to menu itms
- desktop: add loading window and restructure rust (#12176)
- desktop: track currentSidecarUrl
- app: include sandboxes in project unseen/error notifs
- @DNGriffin:
- fix(app): always show project menu button for mobile a11y (#11258)
- feat(app): drag-n-drop to @mention file (#12569)
- fix(app): disable 3 safari prompt-input annoyances (#12558)
- fix(app): Toast when session is missing on prompt-submit (#12654)
- @crob19:
- fix(desktop): support desktop titlebar double-click maximize (#12459)
- @maharshi365:
- fix(ui): add Windows File Explorer icon for session header (#12386)
- fix(opencode): cleanup orphaned worktree directories (#12399)
- @alexyaroshuk:
- feat(app): session last updated time display in command pallete's search (#12376)
- fix(app): localize "close tab" in command pallete (#12756)
- @OpeOginni:
- fix(desktop): update server removal logic to clear default server URL if removed (#12372)
- feat(desktop): added Macos support for displaying only installed editors & added sublime text editor (#12501)
- fix(docs-windows-wsl): update caution note for server security (#12467)
- feat(desktop): add isSidecar prop to AppInterface and logic to persist sidecar server urls (#12366)
- feat(desktop): persist currentSidecarUrl in state when isSidecar prop is true (#12792)
- @yuvrajvirk:
- fix: correct /data API usage and data format for importing share URLs (#7381)
- @cooooooooooode:
- fix: add directory parameter to plugin client for multi-project support (#11344)
- @vglafirov:
- chore(deps): bump @gitlab/gitlab-ai-provider to 3.5.0 (#12496)
- @elithrar:
- fix(github): handle step-start/step-finish parts in extractResponseText (#12470)
- @ariane-emory:
- feat(tui): restore footer to session view (#12245)
- feat(tui): add Claude Code-style --fork flag to duplicate sessions before continuing (resolves #11137) (#11340)
- docs(cli): add documentation for --fork flag (#12561)
- @NachoFLizaur:
- fix(opencode): correct prefix selection for amazon-bedrock provider in getSmallModel (#12281)
- @mariamjabara:
- feat: add specific system prompt for Trinity model (#12144)
- @scratchmex:
- feat(opencode): use reasoning summary auto for gpt-5 models that are not chat (#12502)
- @dbpolito:
- feat(desktop): Session Review Images (#12360)
- @goniz:
- fix(opencode): SessionPrompt.shell() now triggers loop if messages are queued (#10987)
- @itskritix:
- fix(app): keep startup script field scrollable in edit project dialog (#12431)
- @abdiths:
- fix(desktop): allow agent select to use full width on windows (#12428)
- @yudgnahk:
- fix: properly encode file URLs with special characters (#12424)
- fix(app): handle Windows paths in frontend file URL encoding (#12601)
- @shantur:
- feat(core): Set variant in assistant messages too (#12531)
- @remorses:
- feat: add models.dev schema ref for model autocomplete in opencode.json (#12528)
- @ProdigyRahul:
- fix(app): toggle file tree and review panel better ux (#12481)
- @kitlangton:
- fix(app): move workspace New session into header (#12624)
- fix(web): keep /share available to copy existing link (#12533)
- refine(app): tighten slash autocomplete matching (#12647)
- ui: default TextField copy affordance to clipboard (#12714)
- fix(layout): improve workspace header truncation and item interaction (#12655)
- fix(app): allow creating sessions on touch devices (#12765)
- feat(app): add Cmd+[/] keybinds for session history navigation (#12880)
- @ChangeHow:
- feat(app): add web input focus shortcut (#12493)
- @gigamonster256:
- fix: revert "feat(app): add web input focus shortcut (#12493)" (#12639)
- feat(nix): disable build time models.dev fetching (#12644)
- feat(nix): expose overlay for downstream use (#12643)
- @ryanmiville:
- fix(app): respect terminal toggle keybind when terminal is focused (#12635)
- @invarrow:
- fix(desktop): add native clipboard image paste and fix text paste (#12682)
- @jerome-benoit:
- refactor(nix): use native Bun APIs and propagate errors (#12694)
- fix(nix): watch scripts in nix-hashes workflow (#12818)
- fix(nix): restore install script in fileset for desktop build (#12842)
- @AdJIa:
- fix: enable thinking for all reasoning models on alibaba-cn (DashScope) (#12772)
- @fgonzalezurriola:
- fix(provider): remove obsolete copilot model enablement instructions (#12739)
- @sneycampos:
- feat: exclude devtools from production builds (#12290)
- @IsraelAraujo70:
- feat(desktop): add native Wayland toggle on Linux (#11971)
- @jcampuza:
- fix(app): make keyboard focus visible in settings (#12612)
- @BryceRyan:
- fix(opencode): ACP File write should create the file if it doesn't exist (#12854)
- @Hona:
- fix(desktop): correct module name for linux_display in main.rs (#12862)
- @surma:
- fix: publish session.error event for invalid model selection (#8451)
- @mcostasilva:
- fix(tui): use sender color for queued messages (#12832)
- @github-actions[bot]:
- Update VOUCHED list
- @GeneCodeSavvy:
- fix: resolve homebrew upgrade requiring multiple runs (#5375) (#10118)
- @riftzen-bit:
- fix: use absolute paths for sidebar session navigation (#12898)
- @neriousy:
- test(e2e): redo & undo test (#12974)
## Core
- No changes in review pane
- Fix terminal replay in application
- Fix workspace reset issues in the app
- Resolve Homebrew upgrade requiring multiple runs (@GeneCodeSavvy)
- Publish session.error event for invalid model selection (@surma)
- Create file if it doesn't exist when writing via ACP (@BryceRyan)
- Adjust agent variant logic to check if variant is available for model instead of requiring exact match
- Add new ContextOverflowError type
- Remove obsolete Copilot model enablement instructions (@fgonzalezurriola)
- Enable thinking for all reasoning models on Alibaba Cloud (DashScope) (@AdJIa)
- Parse mid-stream OpenAI response errors to prevent infinite retries on unrecoverable errors
- Revert web input focus shortcut feature (@gigamonster256)
- Add web input focus shortcut (@ChangeHow)
- Add models.dev schema reference for model autocomplete in opencode.json (@remorses)
- Set variant in assistant messages (@shantur)
- Add skill discovery from URLs via well-known RFC
- Clean up orphaned worktree directories (@maharshi365)
- Properly encode file URLs with special characters (@yudgnahk)
- SessionPrompt.shell() now triggers loop if messages are queued (@goniz)
- Use reasoning summary auto for GPT-5 models that are not chat (@scratchmex)
- Add specific system prompt for Trinity model (@mariamjabara)
- Correct prefix selection for amazon-bedrock provider in getSmallModel (@NachoFLizaur)
- Don't rely on metadata.summary in task tool render
- Handle step-start and step-finish parts in GitHub response text extraction (@elithrar)
- Bump @gitlab/gitlab-ai-provider to 3.5.0 (@vglafirov)
- Add directory parameter to plugin client for multi-project support (@cooooooooooode)
- Correct /data API usage and data format for importing share URLs (@yuvrajvirk)
- Parallelize skill downloads for faster loading in TUI
- Add skill discovery from URLs via well-known RFC
- Handle dollar sign character with file pattern in configuration (@hstove)
## TUI
- Clean up dialog-model.tsx per code review
- Revert addition of version to session header and status dialog
- Revert showing connected providers in /connect dialog
- Use sender color for queued messages in TUI (@mcostasilva)
- Revert footer restoration in session view
- Add Claude Code-style --fork flag to duplicate sessions before continuing (@ariane-emory)
- Restore footer to session view (@ariane-emory)
- Increase skill dialog width
- Improve skills dialog readability (@kynnyhsap)
## Desktop
- Back to platform fetch for now
- Include basic authentication in app
- Fixed global event default fetch behavior in app
- Fixed memory leak in event fetch operation
- Don't dispose instance after reset workspace
- Based on the commit message "fix(app): regressions" without access to the actual changes, I can only provide a generic summary:
Fix regressions in the app
- Use agent configured variant in app
- Persist defensiveness in app
- Add redo and undo end-to-end test (@neriousy)
- Use absolute paths for sidebar session navigation (@riftzen-bit)
- New session in workspace now correctly uses the selected workspace
- Add Cmd+[/] keybinds for session history navigation (@kitlangton)
- Correct module name for linux_display in main.rs (@Hona)
- Set maximum widths in app
- Incorrect workspace on new session
- Update tab file contents on change
- Polish Open in icon treatment
- Add fallback for when crypto.randomUUID is unavailable
- Allow creating sessions on touch devices (@kitlangton)
- Add native Wayland toggle on Linux desktop (@IsraelAraujo70)
- Include sandboxes in project unseen message and error notifications (@Brendonovich)
- Persist current sidecar URL in state when isSidecar prop is true (@OpeOginni)
- Track current sidecar URL in desktop application (@Brendonovich)
- Exclude devtools from production builds (@sneycampos)
- Add isSidecar prop to AppInterface and persist sidecar server URLs (@OpeOginni)
- Localize "close tab" in command palette (@alexyaroshuk)
- Improve workspace header truncation and item interaction (@kitlangton)
- Add default clipboard copy affordance to TextField component (@kitlangton)
- Fix stale context in prompt input
- Tighten slash command autocomplete matching (@kitlangton)
- Display toast notification when session is missing on prompt submit (@DNGriffin)
- Add native clipboard image paste and fix text paste in desktop app (@invarrow)
- Respect terminal toggle keybind when terminal is focused (@ryanmiville)
- Keep /share available to copy existing link (@kitlangton)
- Disable 3 Safari prompt-input annoyances (@DNGriffin)
- Add drag-and-drop support for @mentioning files in the app (@DNGriffin)
- Handle Windows paths in frontend file URL encoding (@yudgnahk)
- Move workspace New session button into header (@kitlangton)
- Toggle file tree and review panel with improved UX (@ProdigyRahul)
- Allow agent select to use full width on Windows (@abdiths)
- Keep startup script field scrollable in edit project dialog (@itskritix)
- Fix terminal replay issues in app
- Added macOS support for displaying only installed editors and added Sublime Text editor (@OpeOginni)
- Remove extra error page and use default error boundary
- Add loading window and restructure Rust desktop code (@Brendonovich)
- Hide 'open in app' button on narrow viewports
- Update server removal logic to clear default server URL if removed (@OpeOginni)
- Display session last updated time in command palette search (@alexyaroshuk)
- Add Windows File Explorer icon for session header (@maharshi365)
- Support desktop titlebar double-click maximize (@crob19)
- Add keyboard accelerators to menu items (@Brendonovich)
- Add more basic menu bar items to desktop application (@Brendonovich)
- Always show project menu button on mobile for accessibility (@DNGriffin)
- Maximize main window by default (@Brendonovich)
**Thank you to 44 community contributors:**
- @kynnyhsap:
- fix(opencode): improve skills dialog readability (#12356)
- @hstove:
- fix(config): handle $ character with {file:} pattern (#12390)
- @AksharP5:
- feat(tui): highlight esc label on hover in dialog (#12383)
- @Brendonovich:
- desktop: maximize main window by default (#12433)
- desktop: add more basic menu bar items
- desktop: add key accelerators to menu itms
- desktop: add loading window and restructure rust (#12176)
- desktop: track currentSidecarUrl
- app: include sandboxes in project unseen/error notifs
- @DNGriffin:
- fix(app): always show project menu button for mobile a11y (#11258)
- feat(app): drag-n-drop to @mention file (#12569)
- fix(app): disable 3 safari prompt-input annoyances (#12558)
- fix(app): Toast when session is missing on prompt-submit (#12654)
- @crob19:
- fix(desktop): support desktop titlebar double-click maximize (#12459)
- @maharshi365:
- fix(ui): add Windows File Explorer icon for session header (#12386)
- fix(opencode): cleanup orphaned worktree directories (#12399)
- @alexyaroshuk:
- feat(app): session last updated time display in command pallete's search (#12376)
- fix(app): localize "close tab" in command pallete (#12756)
- @OpeOginni:
- fix(desktop): update server removal logic to clear default server URL if removed (#12372)
- feat(desktop): added Macos support for displaying only installed editors & added sublime text editor (#12501)
- fix(docs-windows-wsl): update caution note for server security (#12467)
- feat(desktop): add isSidecar prop to AppInterface and logic to persist sidecar server urls (#12366)
- feat(desktop): persist currentSidecarUrl in state when isSidecar prop is true (#12792)
- @yuvrajvirk:
- fix: correct /data API usage and data format for importing share URLs (#7381)
- @cooooooooooode:
- fix: add directory parameter to plugin client for multi-project support (#11344)
- @vglafirov:
- chore(deps): bump @gitlab/gitlab-ai-provider to 3.5.0 (#12496)
- @elithrar:
- fix(github): handle step-start/step-finish parts in extractResponseText (#12470)
- @ariane-emory:
- feat(tui): restore footer to session view (#12245)
- feat(tui): add Claude Code-style --fork flag to duplicate sessions before continuing (resolves #11137) (#11340)
- docs(cli): add documentation for --fork flag (#12561)
- @NachoFLizaur:
- fix(opencode): correct prefix selection for amazon-bedrock provider in getSmallModel (#12281)
- @mariamjabara:
- feat: add specific system prompt for Trinity model (#12144)
- @scratchmex:
- feat(opencode): use reasoning summary auto for gpt-5 models that are not chat (#12502)
- @dbpolito:
- feat(desktop): Session Review Images (#12360)
- @goniz:
- fix(opencode): SessionPrompt.shell() now triggers loop if messages are queued (#10987)
- @itskritix:
- fix(app): keep startup script field scrollable in edit project dialog (#12431)
- @abdiths:
- fix(desktop): allow agent select to use full width on windows (#12428)
- @yudgnahk:
- fix: properly encode file URLs with special characters (#12424)
- fix(app): handle Windows paths in frontend file URL encoding (#12601)
- @shantur:
- feat(core): Set variant in assistant messages too (#12531)
- @remorses:
- feat: add models.dev schema ref for model autocomplete in opencode.json (#12528)
- @ProdigyRahul:
- fix(app): toggle file tree and review panel better ux (#12481)
- @kitlangton:
- fix(app): move workspace New session into header (#12624)
- fix(web): keep /share available to copy existing link (#12533)
- refine(app): tighten slash autocomplete matching (#12647)
- ui: default TextField copy affordance to clipboard (#12714)
- fix(layout): improve workspace header truncation and item interaction (#12655)
- fix(app): allow creating sessions on touch devices (#12765)
- feat(app): add Cmd+[/] keybinds for session history navigation (#12880)
- @ChangeHow:
- feat(app): add web input focus shortcut (#12493)
- @gigamonster256:
- fix: revert "feat(app): add web input focus shortcut (#12493)" (#12639)
- feat(nix): disable build time models.dev fetching (#12644)
- feat(nix): expose overlay for downstream use (#12643)
- @ryanmiville:
- fix(app): respect terminal toggle keybind when terminal is focused (#12635)
- @invarrow:
- fix(desktop): add native clipboard image paste and fix text paste (#12682)
- @jerome-benoit:
- refactor(nix): use native Bun APIs and propagate errors (#12694)
- fix(nix): watch scripts in nix-hashes workflow (#12818)
- fix(nix): restore install script in fileset for desktop build (#12842)
- @AdJIa:
- fix: enable thinking for all reasoning models on alibaba-cn (DashScope) (#12772)
- @fgonzalezurriola:
- fix(provider): remove obsolete copilot model enablement instructions (#12739)
- @sneycampos:
- feat: exclude devtools from production builds (#12290)
- @IsraelAraujo70:
- feat(desktop): add native Wayland toggle on Linux (#11971)
- @jcampuza:
- fix(app): make keyboard focus visible in settings (#12612)
- @BryceRyan:
- fix(opencode): ACP File write should create the file if it doesn't exist (#12854)
- @Hona:
- fix(desktop): correct module name for linux_display in main.rs (#12862)
- @surma:
- fix: publish session.error event for invalid model selection (#8451)
- @mcostasilva:
- fix(tui): use sender color for queued messages (#12832)
- @github-actions[bot]:
- Update VOUCHED list
- @GeneCodeSavvy:
- fix: resolve homebrew upgrade requiring multiple runs (#5375) (#10118)
- @riftzen-bit:
- fix: use absolute paths for sidebar session navigation (#12898)
- @neriousy:
- test(e2e): redo & undo test (#12974)