本版加入从任意回复分支会话、会话批量操作、模型显示别名和 MCP 工具定义变更审批,并修复长对话里拖选文字卡死、重载后丢失撤销入口等问题。
新增
- 可以从任意一条回复分支出一个独立的新会话 (#12770)
- 会话行上有快速归档和删除;可以多选本地会话做批量操作 (#12775, #12807)
- 把文件夹拖到侧边栏即可添加为项目,项目右键菜单可以打开项目操作 (#12776, #12324 by @KHG420)
- 从上下文环和检查器就能压缩上下文 (#12777)
- 对话导航旁显示当前计划 (#12803)
- 浏览器面板新增宽屏模式,打开时仍能看到对话;浏览器页面可以逐个或批量关闭 (#11762, #12806)
- 文件面板右键增加「复制路径」和「复制引用」,名称里含冒号或以反斜杠结尾而无法表示成引用时会禁用后者 (#12818, #12842 by @XTLine)
- 可以给每个模型设置显示别名;添加来源前可以批量检测模型 (#12821, #12835)
- 模型偏好里可以设置联网搜索使用的模型 (#11761)
- MCP 服务器的工具定义变更后,需要重新批准才会启用 (#12829)
- 回退之后对话顶部显示持久的撤销提示,可以关闭,重载后仍在 (#12831, #12559 by @XTLine)
- 可以在右键菜单里引用选中的回复文字 (#12836)
- 发送快捷键成为统一的偏好设置 (#12837)
- 反馈表单里可以直接打开日志文件夹;反馈对话折叠显示并保留未读状态 (#12768, #12802)
- 正在使用的版本被撤回时,应用会告知用户 (#12769)
- 工作台「+」按钮会显示启动器,从导航打开聚焦会话的文件 (#12826 by @XTLine, #12832)
变更
- 会话标签页改为按需开启 (#12841)
- 项目里置顶的会话排在最前并带标记 (#12845)
- 默认浅色主题的层次重新调整;视图标签与页面色调一致 (#12793, #12782)
- 对话壁纸下的文字光晕可以配置 (#12839)
- 当前使用的模型在输入框的选择器里排第一 (#12801)
- 手机窄屏上未输入时的输入框更紧凑,并保留分支标识 (#12800, #12813)
- 左侧图标栏的图标与对应设置分区一致;设置页打开时侧边栏开关仍可用 (#12753, #12798)
- 首屏改用 1.9 MB 的核心字体子集;对话导航条每个可区分位置只画一个标记 (#12766, #12767)
- 多个会话共用一个工作区时,写入改用乐观租约 (#12772)
- 没有声明检查的项目里,写过文件的未识别命令不再免除验证 (#12848 by @boscocp)
修复
- 长对话里拖选文字会卡死:选区经过的远处块改为按对话原文保留,1200 轮对话里跨屏选择从数十秒降到约 0.1 秒;这些中间块复制出的是对话原文,不再带界面标签 (#12850)
- 一个超过 128 个字符的 MCP 工具名会让整个会话的每次请求失败:现在只缩短工具名部分 (#12849)
- 密集的时间线信号可以逐个查看 (#12815)
- 压缩对话时转录区不再跳动 (#12783)
- 停放的浏览器页面再次显示时会重新附着,不再留下空白 (#12778)
- Windows 上替换插件目录时不再重命名被监视的目录 (#11822)
- 反馈里正确报告 Windows 11 的产品线 (#12734 by @jf200s)
- 没有任何对话的文件夹现在返回空的会话列表 (#12744 by @jipeng6036-del)
- 终端界面里补全菜单中按 Esc 会同时停止正在运行的回合 (#12761 by @xxoingr)
- 记忆改名时先下线旧名再发布;归档记忆恢复失败后可以重试,索引与归档保持一致 (#12785 by @chuiwenwei, #12816 by @chuiwenwei, #12819 by @chuiwenwei)
- 自动召回的记忆在轨迹里记录是被条数还是字符预算截掉的 (#12843 by @thehui13)
贡献者
感谢本版本的贡献者:@KHG420、@XTLine、@boscocp、@jf200s、@jipeng6036-del、@xxoingr、@chuiwenwei、@thehui13
What's Changed
- fix(feedback): report the Windows 11 product line in the environment version by @jf200s in #12734
- fix(studio): draw each rail entry with the mark of the settings section it opens by @esengine in #12753
- docs: add an inline registration link to each sponsor's paragraph by @esengine in #12760
- Update acknowledgments contributors / 更新致谢贡献者 by @esengine in #12758
- build(deps-dev): bump the npm group in /desktop/electron with 2 updates by @dependabot[bot] in #12684
- feat(update): withdraw a published Studio version from the catalog by @esengine in #12759
- perf(studio): draw the first screen from a 1.9 MB core CJK face by @esengine in #12766
- build(deps): bump the go group with 2 updates by @dependabot[bot] in #12682
- perf(studio): draw one conversation-rail mark per distinguishable position by @esengine in #12767
- fix(e2ebench): record and report incomplete tape recordings by @chuiwenwei in #12563
- feat(bench): persist what a context-retrieval batch was beside its results by @chuiwenwei in #12757
- test(remote): split jump resolution from the installed ssh by @xxoingr in #12762
- fix(tui): Esc in the completion menu also stops a running turn by @xxoingr in #12761
- fix(e2ebench): restore before checking the base side and name what is missing by @chuiwenwei in #12763
- test(control): fix the resumed-goal notice before the goal can complete by @xxoingr in #12765
- feat(studio): open the logs folder from the feedback form by @esengine in #12768
- feat(update): tell a user whose running version was withdrawn by @esengine in #12769
- feat(studio): branch a conversation from any reply into its own session by @esengine in #12770
- fix(studio): preserve restore undo across reload / 保留重载后的还原撤销入口 by @XTLine in #12559
- feat(config): an optimistic write lease for sessions sharing a workspace by @esengine in #12772
- feat(studio): open project actions from context menus by @KHG420 in #12324
- refactor(studio): draw the session menu in its own component by @esengine in #12774
- feat(studio): offer quick archive and delete on session rows by @esengine in #12775
- feat(studio): compact context from the ring and inspector by @esengine in #12777
- feat(studio): add project folders by dropping onto the sidebar by @esengine in #12776
- fix(electron): attach a parked browser page again when it is shown by @esengine in #12778
- fix(studio): let the view tabs share the page's tone by @esengine in #12782
- fix(studio): stop the transcript jumping while a conversation is being compacted by @esengine in #12783
- fix(studio): refine default light theme hierarchy by @esengine in #12793
- fix(memory): retire the old name before publishing a renamed fact by @chuiwenwei in #12785
- fix(studio): keep the sidebar toggle usable while a settings page is open by @esengine in #12798
- fix(studio): compact the untouched phone composer by @esengine in #12800
- fix(studio): put the current model first in the composer picker by @esengine in #12801
- feat(studio): fold feedback conversations and preserve unread state by @esengine in #12802
- feat(studio): close browser pages individually or in bulk by @esengine in #12806
- feat(studio): select local sessions for batch actions by @esengine in #12807
- chore(perf): load the same stylesheets as the app by @esengine in #12809
- fix(studio): keep the branch chip when the phone composer is quiet by @esengine in #12813
- feat(studio): show the current plan beside conversation navigation by @esengine in #12803
- fix(studio): make crowded timeline signals inspectable by @esengine in #12815
- feat(studio): add per-model display aliases by @esengine in #12821
- fix(memory): keep a failed archived-memory recovery retryable by @chuiwenwei in #12816
- fix(memory): keep the index and the archive consistent when a publish fails by @chuiwenwei in #12819
- feat(studio): wide mode for the browser pane that keeps the conversation visible by @esengine in #11762
- feat(studio): web search model setting in model preferences by @esengine in #11761
- feat(studio): approve MCP tools whose definition changed by @esengine in #12829
- fix(studio): offer a launcher from the workbench new-tab button by @XTLine in #12826
- feat(studio): add persistent event-driven rewind notice by @esengine in #12831
- fix(studio): open the focused session files from navigation by @esengine in #12832
- feat(studio): add file path and reference copy actions by @esengine in #12818
- fix(studio): batch-check models before adding a source by @esengine in #12835
- feat(studio): quote selected reply text from the context menu by @esengine in #12836
- feat(studio): add a shared send shortcut preference by @esengine in #12837
- fix(studio): make session tabs opt-in by @esengine in #12841
- fix(plugins): publish a replaced plugin directory without renaming a watched tree on Windows by @esengine in #11822
- fix(studio): lead a project with its pinned conversations and mark them by @esengine in #12845
- fix(memory): preserve recall omission causes in trajectories by @thehui13 in #12843
- fix(studio): guard ambiguous file reference copies by @XTLine in #12842
- test: name the store's cause when a turn's evidence was not sealed by @xxoingr in #12847
- test(session): let the torn-sidecar view test outlast a late heal by @xxoingr in #12846
- fix(theme): make wallpaper transcript glow configurable by @esengine in #12839
- fix(readiness): an unrecognised command clears the check only when it did not write / 未写入时才清除待验证 by @boscocp in #12848
- fix(mcp): keep a model-visible tool name within the provider's 128-character limit by @esengine in #12849
- fix(studio): hold the blocks a long selection passes through as plain text by @esengine in #12850
- docs(release): Studio 2.38.0 notes by @esengine in #12852
New Contributors
Full Changelog: studio-v2.37.0...studio-v2.38.0
macOS 已用 Developer ID 签名并公证,打开时不需要清除隔离属性。Windows 的窗口、内核与安装器都经 Certum 代码签名证书做了 Authenticode 签名。Linux Debian 系从 .deb 安装,Fedora、RHEL、openSUSE 等从 .rpm 安装(sudo dnf install ./ReasonixStudio-linux-amd64.rpm)。
三个平台都能自更新:Linux 的 .deb 走自己的包(.rpm 的自更新尚未提供,请手动下载新包),Windows 运行下一个安装器,macOS 替换自身 bundle。