本版加强了项目配置的安全边界:仓库自带的配置只能收紧你的设置,项目声明的程序首次使用前需要你批准。同时新增 OpenAI Pro 模式、更完整的推理档位、四个一键服务商预设、长时间无进展提示和输入框草稿保存。
新增
- 在 GPT-5.6、GPT-6(OpenAI Responses 接口)上可以在推理强度菜单里打开 Pro 模式,只对当前会话生效,会消耗更多 token (#11194 by @esengine)
- 推理档位覆盖 GPT-5.6、GPT-6 和通义 Qwen3.8 的完整档位,菜单里选的档位会原样发给模型 (#11166 fixed in #11189 by @esengine)
- 新增 OpenRouter、OpenAI、Gemini 和火山方舟 Coding Plan 四个一键服务商预设 (#11193 by @esengine)
- 连续多轮没有可观察的进展时,输入框上方会给出提示,可以直接停止;阈值在「设置 → 会话」里调整 (#11160 by @esengine)
- 模型反复输出同一段文字时,输入框上方会给出提示,默认不打断也不改动对话 (#11183 by @BuGlessRB)
- 输入框里没发出去的文字会按会话保存,刷新页面或重新打开会话后恢复 (#9580 fixed in #11176 by @KHG420)
- 可以在用户配置
[tools.shell.env]里为 bash 工具预设环境变量 (#11163 by @BuGlessRB) - 新增技能编写指南
docs/SKILLS.md(#11191 by @esengine) - 模型服务设置里可以按模型单独设置推理档位,同一个中转接入下不同厂商的模型各用各的档位 (#11192 fixed in #11197 by @esengine)
- 命令行界面可以在用户配置里设置
ui.commandmode = "vi",开启 vi 命令模式 (#11074 by @BuGlessRB) - 工作台资源管理器新增「显示隐藏文件」按钮,默认关闭;版本库目录和 node_modules 始终不显示 (#11203 fixed in #11214 by @esengine)
变更
- 项目的
reasonix.toml和.reasonix/settings.json只能让沙盒、权限和审批设置更严格,不能再放宽 (#11208 by @esengine) - 项目声明的钩子、语言服务器、模型服务商、shell、ripgrep、浏览器等程序,首次使用前需要你批准;声明或相关文件变化后会再次询问 (#11208 by @esengine)
- 在项目里选择的「总是允许」改为保存在你的 Reasonix 主目录,不再写进仓库 (#11208 by @esengine)
- 沙盒可写目录在会话中保持首次授权时的位置,被替换成链接后不再授予写权限 (#11208 by @esengine)
- 更新下载并校验完成后由你决定何时重启,有任务在运行时会先提示;只有主动回退才会固定版本 (#11196 by @esengine)
- 更新没有生效时会说明原因,并给出完整安装包的下载链接 (#11196 by @esengine)
- 内置浏览器面板只在真正被遮挡时才暂停,并显示网页的最后一帧,不再误判页面被遮住 (#11198 by @esengine)
- MCP 服务向你提问时,系统通知会注明是哪个服务在问,并截短过长的内容 (#10950 by @scrappylabsai)
/memory recall分别列出因条数上限和字数预算而省略的记忆 (#11170 by @chuiwenwei)
修复
- 手机在同一网络直连时,工作台里的文件可以正常打开,窄屏下文件列表和文件内容轮流显示 (#11205 fixed in #11212 by @esengine)
- 手机直连长时间使用后卡住、切换不了会话的问题:连续收不到心跳时会自动重连并接着接收 (#11207 fixed in #11216 by @esengine)
- 文件列表开着时,关掉最后一个标签不再收起整个工作台 (#11204 fixed in #11213 by @esengine)
- 去掉速度指示前面多余的仪表盘图标 (#11202 fixed in #11215 by @esengine)
- 中等宽度下输入框工具栏溢出、发送按钮压住推理强度选择器的问题 (#11159 fixed in #11162 by @esengine)
- 点击网页元素时误报被其他元素遮挡的问题 (#11195 by @esengine)
- OpenAI 预设改走 Responses 接口,GPT-6 调用工具不再出错 (#11199 fixed in #11200 by @esengine)
- 英文界面下回退菜单的范围标签显示为中文的问题 (#11179 fixed in #11180 by @Robertoarce)
- 记忆索引不可读时,恢复归档和迁移旧记忆会先报错,不再留下写了一半的状态 (#11167 by @kate1128, #11172 by @chuiwenwei)
--continue --copy在没有历史会话时改为直接开始新会话 (#10945 by @BuGlessRB)
升级须知
- 项目声明的程序需要批准一次:在项目目录运行
reasonix trust查看,reasonix trust --yes批准;钩子也可以在钩子设置页批准 (#11208 by @esengine) - 同一仓库的每个工作树、每个其他文件夹都需要分别批准 (#11208 by @esengine)
tools.shell.path、tools.search.rg_path和浏览器路径不能再指向工作区、临时目录或工具链缓存里的程序,请改为已安装的程序 (#11208 by @esengine)- 只指向未批准项目服务商的模型设置会回落到你自己的设置;项目里不再生效的设置会在加载时以警告列出 (#11208 by @esengine)
贡献者
感谢本版本的贡献者:@esengine、@BuGlessRB、@KHG420、@scrappylabsai、@chuiwenwei、@Robertoarce、@kate1128
What's Changed
- fix(studio): keep the composer toolbar inside the composer at every width by @esengine in #11162
- fix(memory): probe index readability before first write in RestoreArc… by @kate1128 in #11167
- feat(studio): say when a run stops producing observable progress by @esengine in #11160
- test(memory): assert the pinned-budget refusal in the recovery test by @chuiwenwei in #11165
- feat(tools): preset environment variables for the bash tool / 工具(tools):为 bash 工具预设环境变量 by @BuGlessRB in #11163
- feat(memory): split omitted recall facts by limit and budget by @chuiwenwei in #11170
- fix(memory): check the index is readable before migrating facts by @chuiwenwei in #11172
- refactor(config): one resolver for the project config path / 重构(config):为项目配置路径提供单一解析器 by @BuGlessRB in #11173
- fix(studio): restore unsent text drafts per session by @KHG420 in #11176
- fix(control): name the MCP server and clip the prompt in ask notifications by @scrappylabsai in #10950
- fix(studio): translate the rewind menu's scope labels by @Robertoarce in #11180
- feat(effort): GPT-5.6/GPT-6 and Qwen3.8 reasoning ladders, and send what the menu offers by @esengine in #11189
- docs: add a Skills guide by @esengine in #11191
- feat(config): curated presets for OpenRouter, OpenAI, Gemini and Volcengine Ark by @esengine in #11193
- feat(model-modes): declare optional model modes; OpenAI Pro on GPT-5.6/GPT-6 by @esengine in #11194
- fix(browser): judge a click by where the pointer would really land by @esengine in #11195
- fix(config): serve the OpenAI curated preset on the Responses API by @esengine in #11200
- fix(cli): start fresh on --continue --copy with no session / 修复(cli):--continue --copy 无会话时改为新开会话 by @BuGlessRB in #10945
- feat(effort): per-model reasoning levels on a relay by @esengine in #11197
- fix(studio): the browser panel pauses only for a layer that is really over it by @esengine in #11198
- fix(studio): ask before restarting into an update, and pin only on rollback by @esengine in #11196
- feat(cli): add vi command mode to the composer prompt / 功能(cli):为输入框加入 vi 命令模式 by @BuGlessRB in #11074
- fix(config): workspace configuration only narrows the user's settings by @esengine in #11208
- docs(release): prepare Studio 2.22.0 notes by @esengine in #11211
- fix(agent): detect perseveration loops and retry once with a nudge / 修复(agent):检测重复输出循环并在提醒后重试一次 by @BuGlessRB in #11183
- fix(studio): let the files toggle open the explorer on narrow screens by @esengine in #11212
- fix(studio): keep the workbench open while its explorer is showing by @esengine in #11213
- feat(studio): let the explorer show hidden files on request by @esengine in #11214
- fix(studio): drop the gauge icon in front of the speed meter by @esengine in #11215
- fix(studio): replace an event stream that has gone silent by @esengine in #11216
- docs(release): add the mobile and workbench fixes to the Studio 2.22.0 notes by @esengine in #11218
- test: approve the workspace and pin perseveration fixture bytes by @esengine in #11222
New Contributors
- @kate1128 made their first contribution in #11167
- @Robertoarce made their first contribution in #11180
Full Changelog: studio-v2.21.0...studio-v2.22.0
macOS 已用 Developer ID 签名并公证,打开时不需要清除隔离属性。Windows 的窗口、内核与安装器都经 Certum 代码签名证书做了 Authenticode 签名。Linux 从 .deb 安装。
三个平台都能自更新:Linux 走自己的包,Windows 运行下一个安装器,macOS 替换自身 bundle。