本版加入子代理记录入口、文件管理器菜单与经同意的 URL 征询,并修复 Windows 远端打不开项目、存储迁移丢项目清单、引导按钮点不到、远端用 nvm 装的 npm 找不到、模型因上下文提示提前停手、底部栏数字跳动等问题。
新增
- 右下角的子代理读数在委派结束后保留,可点开完整记录;嵌套输出被截断时可「显示全部」 (#11529 by @esengine, #11505)
- 项目「⋯」菜单新增「在文件管理器中显示」 (#11533 by @esengine, #11524)
- MCP 服务器要用户去浏览器完成外部步骤时,改为经同意的 URL 征询,回环与私有地址会警告 (#11475 by @KHG420)
- 手动调整的项目顺序会被保存,并且不改变启动时打开的项目 (#11458 by @KHG420)
- 无头
reasonix run在未信任目录里被拒绝时,会说明原因与补救办法 (#11494 by @esengine, #11493) - 指南新增「Hooks」一节,说明事件、settings.json 写法、退出码与限制 (#11562 by @esengine)
- 没有本机文件夹选择器的浏览器/无头部署,「打开项目」改为弹出路径输入框,按内核所在机器上的路径添加工作区 (#11613 by @Harbor404, #11574 fixed in #11613 by @Harbor404)
- 新增会话开始时注入上下文的作者示例包 (#11590 by @KHG420)
变更
- 输入框右键的编辑菜单(剪切、复制、粘贴等)跟随界面语言 (#11530 by @esengine, #11524)
- 用户自己取消的回合不再画成错误卡,输入框显示「已取消」 (#11551 by @esengine, #11559 by @esengine)
- 上下文预算与「引导未生效」提示按界面语言显示,终端对用户原文做清洗并限长 (#11552 by @esengine, #11524)
- 排队暂停的原因按界面语言显示,不再出现英文内核原文 (#11555 by @esengine)
- 用户跳过提问后,排队的引导按原顺序继续派发;停止、报错、超时仍保持暂停 (#11563 by @esengine)
- 启动时不再同步整理会话历史,改为后台进行,历史很多的机器冷启动更快 (#11488 by @esengine)
- 添加来源时,名称规则在输入框旁即时提示,不再显示成「无法连接」 (#11585 by @esengine)
- 流式 diff 围栏逐块着色,多文件 diff 的文件头按普通样式绘制 (#11419 by @BuGlessRB)
- 会话行右键打开菜单,版本角标不再被悬停按钮压住 (#11588 by @Guan0923)
- 反馈提交遇到服务端无法识别的回应时自动重试一次,仍失败则提示已填内容保留并给出「去 GitHub」入口 (#11618 by @esengine, #11608)
- 补充技能目录、MCP 依赖就绪、sidecar 与前端交付的指南和示例 (#11511 by @KHG420, #11514 by @KHG420, #11523 by @KHG420, #11537 by @KHG420, #11542 by @KHG420, #11547 by @KHG420, #11481 by @KHG420)
修复
- Windows 远端主机:绝对路径不再拼到远端家目录后面,Windows 项目现在能打开 (#11541 by @esengine, #11539 fixed in #11541 by @esengine)
- 存储迁移现在会带走项目清单、长期指令、记忆和计划任务,并为已迁移的安装补回遗漏的内容 (#11548 by @esengine, #11550)
- 首次运行的连接卡片在矮窗口里可以滚动,「开始」按钮不再点不到 (#11565 by @esengine, #11561)
- 托盘图标在缩放的显示器上不再发虚 (#11545 by @esengine, #11544)
- 切换连接后,MCP 安装、包操作、运行时重载和行内确认不再沿用上一个连接的状态 (#11486 by @KHG420, #11489 by @KHG420, #11496 by @KHG420, #11498 by @KHG420)
- MCP 安装部分失败后重试会保留已保存的结果并刷新清单,确认期间控件保持稳定 (#11499 by @KHG420, #11500 by @KHG420, #11509 by @KHG420)
- 插件安装中来源不再被改,新插件的安装确认与导出失败原因得以保留,导出结果行自动展开 (#11502 by @KHG420, #11519 by @KHG420, #11520 by @KHG420, #11521 by @KHG420, #11522 by @KHG420)
- 备份恢复里选中的插件不再串到别的项,作者安装通知退出登录后保留,审核结果在并发刷新后保留 (#11510 by @KHG420, #11485 by @KHG420, #11592 by @KHG420)
- 市场投票查询失败后可重试,发布草稿提交中保持稳定,安装检查快捷键加了保护,安装中的来源输入框变暗 (#11558 by @KHG420, #11532 by @KHG420, #11497 by @KHG420, #11528 by @KHG420)
- 远端主机引导改用远端用户自己的登录 shell 环境取得 PATH,nvm 等装的 npm 与 reasonix 不再找不到 (#11624 by @esengine, #11619)
- 上下文预算提示明确说明压缩是自动的、任务会继续,模型不再因它而停手交还任务 (#11601 by @esengine, #11603 fixed in #11601 by @esengine)
- 引导页布局跟随缩放后的宽度折叠 (#11596 by @no-name-touse)
- 来源名称用输入法组词时,「添加来源」保持禁用,不再误提交半截名称 (#11614 by @Harbor404, #11586)
- 生成速度变化时,底部栏数字不再让后面的项左右跳动 (#11629 by @esengine, #11630)
- 个别字体下,侧栏页脚、模型名和文件栏的单行文字不再被上下裁掉 (#11632 by @esengine, #11631)
- 导出的插件包重装后保留钩子脚本的可执行权限,「我的发布」随当前账号切换 (#11599 by @KHG420, #11595 by @KHG420)
- 插件、MCP 安装与包移除后,运行时重载失败的原因和重试入口得以保留 (#11602 by @KHG420, #11604 by @KHG420, #11609 by @KHG420, #11611 by @KHG420)
- 旧版恢复链现在整条一起归档,不再只覆盖可见的首行 (#11610 by @Harbor404, #11581)
贡献者
感谢本版本的贡献者:@esengine、@KHG420、@Harbor404、@BuGlessRB、@Guan0923、@no-name-touse
What's Changed
- feat(mcp): support consent-based URL elicitation by @KHG420 in #11475
- fix(studio): reset package operation state on connection change by @KHG420 in #11489
- fix(studio): scope runtime reload state to its connection by @KHG420 in #11486
- fix(studio): preserve author install notifications after sign-out by @KHG420 in #11485
- docs(studio): add a local frontend delivery example by @KHG420 in #11481
- feat(studio): persist manual project order without changing launch project by @KHG420 in #11458
- fix(studio): guard installation inspection shortcuts by @KHG420 in #11497
- fix(studio): scope MCP row confirmations and responses by @KHG420 in #11496
- fix(studio): reset MCP installation state on connection changes by @KHG420 in #11498
- fix(studio): refresh inventory after partial MCP installation by @KHG420 in #11499
- fix(studio): keep MCP install confirmation stable while pending by @KHG420 in #11500
- fix(studio): preserve new plugin confirmation during install by @KHG420 in #11502
- fix(run): say why a headless run in an untrusted folder did nothing by @esengine in #11494
- fix(studio): isolate plugin selections during backup restore by @KHG420 in #11510
- fix(studio): preserve partial MCP installation results on retry by @KHG420 in #11509
- docs(skills): verify sharing a project playbook across collaborators by @KHG420 in #11514
- fix(studio): expose failed package operations alongside diagnostics by @KHG420 in #11520
- fix(studio): keep the confirmed plugin source stable during preview by @KHG420 in #11519
- fix(studio): preserve plugin export failure reasons by @KHG420 in #11521
- feat(studio): sub-agent transcript entry in the deck, show-all for clipped nested output by @esengine in #11529
- docs(skills): explain the catalog projection and cache boundary by @KHG420 in #11511
- fix(electron): label the edit menus in the interface language by @esengine in #11530
- fix(studio): keep package export feedback current and visible by @KHG420 in #11522
- docs(skills): distinguish manual listing from model invocation by @KHG420 in #11537
- fix(studio): distinguish the busy plugin source without fading text by @KHG420 in #11528
- feat(studio): 重设计用户消息操作栏并新增复制功能 by @Guan0923 in #11304
- docs(skills): explain and verify MCP dependency readiness by @KHG420 in #11523
- docs(sdk): add fullsidecar installation and host checks by @KHG420 in #11542
- fix(desktop): do not draw a user-cancelled turn as an error card by @esengine in #11551
- fix(studio): keep the publishing draft stable while submitting by @KHG420 in #11532
- docs(skill): clarify authoring invocation policy by @KHG420 in #11547
- fix(storage): carry the remembered project list when the state root moves by @esengine in #11548
- fix(inbox): carry why a queue item stopped as a typed code the desktop words itself by @esengine in #11555
- fix(notices): word the context-budget and unapplied-guidance notices from typed codes by @esengine in #11552
- docs: add a Hooks section to the guide and reasonix-guide skill by @esengine in #11562
- fix(control): flag a turn cancelled only when it ended on the cancel sentinel by @esengine in #11559
- fix(studio): make the first-run connect card scroll in short windows by @esengine in #11565
- fix(studio): retry failed market vote lookups by @KHG420 in #11558
- fix(cli): colour a streaming diff fence hunk by hunk / 修复(cli):流式 diff 围栏逐 hunk 着色 by @BuGlessRB in #11419
- fix(studio): sharpen the Windows tray icon at scaled displays by @esengine in #11545
- feat(desktop): show a project's folder in the file manager from the sidebar menu by @esengine in #11533
- fix(studio): show the source name rule beside the field, not as a connection failure by @esengine in #11585
- fix(remote): a Windows absolute workspace is not joined after the remote home by @esengine in #11541
- fix(inbox): a skipped question requeues the guidance queued into its turn by @esengine in #11563
- fix(serve): sweep session history in the background, not inside the build by @esengine in #11488
- fix(studio): 右键打开会话菜单并调整版本角标间距 by @Guan0923 in #11588
- fix(studio): keep review results after concurrent install refresh by @KHG420 in #11592
- docs(release): prepare Studio 2.25.0 notes by @esengine in #11600
- fix(agent): tell the model compaction is automatic and the task continues by @esengine in #11601
- fix(studio): make onboarding layout follow zoom-adjusted width by @no-name-touse in #11596
- fix(studio): retain reload failures after package removal by @KHG420 in #11602
- fix(studio): scope My packages to the current account by @KHG420 in #11595
- fix(studio): preserve installation reload failure reasons by @KHG420 in #11604
- fix(studio): keep exported plugin hooks executable after reinstall by @KHG420 in #11599
- fix(studio): preserve install failures alongside reload errors by @KHG420 in #11609
- fix(studio): retain retry for returned MCP install failures by @KHG420 in #11611
- fix(serve): archive a legacy recovery lineage atomically by @Harbor404 in #11610
- fix(feedback): retry a transient submit response once and say what to do next by @esengine in #11618
- fix(studio): hold Add while a source name is composing by @Harbor404 in #11614
- fix(studio): let browser deployments add workspaces by path by @Harbor404 in #11613
- fix(remote): run bootstrap commands with the remote login-shell PATH by @esengine in #11624
- fix(studio): keep the status rail from jumping as its numbers change by @esengine in #11629
- fix(studio): stop single-line labels from clipping glyphs of tall fonts by @esengine in #11632
- docs(studio): add a session-start context author example by @KHG420 in #11590
- docs(release): add the fixes merged since the first 2.25.0 notes by @esengine in #11634
- ci(windows): give the Windows package budget 12m now that boot runs past 8m by @esengine in #11635
New Contributors
- @no-name-touse made their first contribution in #11596
- @Harbor404 made their first contribution in #11610
Full Changelog: studio-v2.24.0...studio-v2.25.0
macOS 已用 Developer ID 签名并公证,打开时不需要清除隔离属性。Windows 的窗口、内核与安装器都经 Certum 代码签名证书做了 Authenticode 签名。Linux 从 .deb 安装。
三个平台都能自更新:Linux 走自己的包,Windows 运行下一个安装器,macOS 替换自身 bundle。