github esengine/DeepSeek-Reasonix studio-v2.40.0
Reasonix Studio v2.40.0

latest release: v2.40.0
6 hours ago

本版本修复工作区「+」无法点击等问题,新增回合叙述设置,并让更新日志支持中英文切换。

新增

  • 反馈对话框新增「截取当前窗口」:只在你点按钮时截一次,截图以可删除的缩略图加入附件,不会自动发送。关联 #11965 fixed in #13033。
  • 侧边栏的会话列表数据现在带「最后活动时间」,可按最近使用排序或显示相对时间。关联 #12011 fixed in #12995。
  • 子代理因另一个子代理占着要写的路径而排队时,现在会说明在等谁、是否因为双方都没声明 write_paths(按整个工作区处理)。关联 #12052。
  • 主题包新增 shadowFloat,可改菜单、弹出层和对话框的投影;不设则保持内置阴影。关联 #12063 fixed in #12996。
  • 图表在数据不多时,会在柱顶和折线数据点旁直接标出数值;数据多到放不下时自动不画,悬停读数仍然可用。关联 #12291。
  • 侧栏里的项目现在可以拖动排序:按住项目行拖到目标位置,上沿或下沿的线指示落点;顺序保存在内核里。关联 #12300。
  • 每轮结束时的「耗时」行现在同时写出这一轮的开始时间(当天只显示时分,其他日子带日期),重新载入会话后仍然保留。关联 #12728 fixed in #12994。
  • 设置 > 账号新增「导出与导入配置」:无需账号,加密导出成文件、换机器时逐项导入;密钥默认不导出,必须设口令。关联 #12736。
  • 设置 → 会话新增「回合间叙述」:选「详细」后,模型会在每批工具调用之间用三四行说明拿到了什么、下一步做什么;默认「简短」,行为不变。关联 #12788 fixed in #13101。
  • 项目右键菜单新增「用 … 打开」:文件管理器之外,可用本机已安装的 VS Code、Cursor、IntelliJ IDEA、系统终端打开项目文件夹。关联 #12858。
  • 工作台文件面板里新增「提交历史」:展开后按提交图谱列出所有分支最近的提交,带分支和标签。关联 #12913 fixed in #13028。
  • 设置 → 外观新增「1.x 旧会话」开关,可把迁移来的 1.x 会话从侧栏隐藏;默认显示,不删除,搜索和已打开的不受影响。关联 #12964 fixed in #13097。
  • 终端界面的 /theme 现在打开选择器:光标移到哪一行就即时预览,Enter 保留,Esc 还原;/theme list 仍列出名称。关联 #12985 fixed in #12999。
  • 上下文超过压缩阈值而无内容可折叠时,现在会说明由什么占用(按类别和最大几项),不再只说「无需压缩」。关联 #13013。
  • 本机 stdio MCP 服务器现在会在 _meta["io.reasonix/writableRoots"] 里收到你额外允许写入的目录;远程服务器不会收到。关联 #13053。
  • 首次启动的设置页新增「稍后再说」:可先进入主界面,输入框上方会提示「去连接」;只对本次启动有效,下次仍会提示。关联 #13065 fixed in #13084。
  • 底部「生成速度」详情新增「首字时间」(从发出请求到首个输出,由内核计时),并改为与「上下文详情」一致的行式样式。关联 #13075 fixed in #13089。
  • 添加项目后会自动选中该项目并打开一个新会话(不会替你发送任何消息),无论是点「打开或新建项目」、首次提示里的按钮还是拖入文件夹。关联 #13076 fixed in #13088。
  • 对话区右下角新增「回到顶部 / 跳到最新」悬浮按钮(距端不足 48px 或无需滚动时隐藏),优先跳到最近的展开块,取代原「回到最新」。关联 #13077 fixed in #13091。
  • 版本页的更新内容可以在中文和英文之间切换,默认跟随界面语言;之后每个版本的发布说明都附带英文。关联 #13081。

变更

  • 左侧图标栏和侧栏的「文件」按钮现在是开关:文件面板已展开时再点一次就收起,在别处关掉后再点会重新展开。关联 #12925 fixed in #12997。
  • 撰写框的模型菜单里,服务商标题更醒目、模型行缩进,并新增按服务商的筛选标签(可多选、可清除,选择会记住)。关联 #12926。
  • 应用、任务栏/Dock、启动器和托盘图标恢复为黑金配色。关联 #13004 by @SivanCola。
  • 对话里的图片、输入框里待发的图片和工具截图共用一个查看器:点击放大原图,Esc 退出,焦点回到缩略图。关联 #13006 fixed in #13022、#13010 fixed in #13022。
  • 设置侧栏的选中项不再带强调色、边框和左侧竖条,只是底色变深;分区标题比选项更轻,层级更清楚。关联 #13045 fixed in #13050、#13046 fixed in #13050。
  • 去掉顶栏的「浏览器」按钮:「工作台」标签是唯一入口,没有运行中的网页时显示「文件 / 改动 / 浏览器」启动页,不再直接开一个空白页。关联 #13067 fixed in #13095。
  • 会话行不再在悬停时显示「归档」「删除」两个小图标,界面更简洁;这两个操作仍在右键菜单里,Delete 键也照常可用。关联 #13068 fixed in #13079。

修复

  • 模型起草提交说明失败时,提交卡片仍列出暂存的文件,输入框留空并说明原因,可以手动填写后提交。关联 #12747 fixed in #12923 and #13005。
  • 上下文用量改为以服务商回报的大小加上之后新增的内容为准,不再取本地估算和回报中较大的一个,估算偏大时不再虚高。关联 #12988 fixed in #12991 and #13018。
  • 只读的 find ... -exec wc/grep/cat/stat ... 不再被当成写入:它不会占用工作区写入租约,也就不会再和另一个会话正在写的文件冲突。关联 #12993 fixed in #13003。
  • 模型退化成「很多句不重复的短句」(如 go. / End. / I wait.)时,重复输出检测现在也会提示;以前只认字节完全相同的循环。关联 #13001 fixed in #13008。
  • 子代理浮层里每个子代理现在显示自己的任务标题(来自任务描述的首行,过长截断,悬停看全文),并行的子代理不再都只写「task」。关联 #13002 fixed in #13014。
  • 切换长会话时不再弹出「扩展界面恢复失败」;只有确实丢了扩展界面才提示一次,读不出历史才报错。关联 #13011 fixed in #13019。
  • 运行分析的信号轨里挨得太近的标记合并成一个带数量的标记,点开列出明细,不再排成很长的竖列。关联 #13034 fixed in #13040。
  • 修复项目行上“…”按钮只有四个角能点、点中间没有反应的问题:行内的数量徽标淡出后仍然盖在按钮上,现在不再拦截鼠标。关联 #13036 fixed in #13042、#13038。
  • 侧栏会话筛选旁的放大镜现在是真正的开关:再点一次会收起搜索框,不再重播弹出动画。关联 #13041 fixed in #13049。
  • 侧栏「这台机器」行上打开或新建项目文件夹的“+”按钮现在始终可见,不再要把鼠标移到行上才出现。关联 #13043 fixed in #13074、#13072。
  • 修复输入框里打开分支菜单时,悬停提示卡没有收起、与菜单叠成两层阴影的问题。关联 #13044 fixed in #13054。
  • 重新载入会话时读取状态失败而弹出的红色提示,在之后同一读取成功时会自动消失,不用再手动点“知道了”。关联 #13047。
  • 设置没生效、链接打不开等不阻断发送的失败,改为右下角的小提示(最多 3 条,点“知道了”才消失),可一键“报告此问题”。关联 #13047、#13048。
  • 扩展界面、MCP 目录和改动文件三处读取遇到缺失的列表字段时按空列表处理,不再弹出「Cannot read properties of undefined (reading 'filter')」。关联 #13055。
  • 分支列表、事件回放和待发队列在为空时现在返回空列表而不是 null,页面不再因此在读取时出错。关联 #13055。
  • 报错条与右下角提示的「报告此问题」现在会把页面自身错误的名称和出错位置(仅文件名与行列号)一并填进反馈草稿,便于定位。关联 #13055。
  • 输入框下的红色提示若是页面自身的程序错误(如“Cannot read properties of undefined”),现在会把调用栈写进控制台,便于定位。关联 #13055。
  • 手机远控页上传较大的图片或文件时,不再把连接弄断:过大的内容会在手机上直接提示并留在原处,其他操作照常。关联 #13056。
  • 手机远控页现在可以上传较大的图片和文件:内容拆成多条消息发送,电脑端收齐后一次处理(最大 16 MB);旧版电脑端仍提示太大。关联 #13056。
  • 修复写入会话临时目录等工作区外位置时反复弹出“检查点记录失败”的提示:这类写入不在检查点范围内,改为记为覆盖缺口。关联 #13060 fixed in #13063。
  • 修复 MCP 服务器启动或重连失败时内核崩溃退出的问题:失败现在只会让这个服务器不可用,不会影响其他功能。关联 #13086 fixed in #13090。
  • 修复部分 Windows 电脑上界面图片(如左上角字标)显示为破损图片的一个可能原因:页面文件的类型不再受注册表里别的程序设置的影响。关联 #13094。

贡献者

感谢本版本的贡献者:@SivanCola


This release fixes the unclickable workspace "+" button, adds a turn-narration setting, and lets the changelog switch between Chinese and English.

New

  • The feedback dialog gains "Capture this window": it takes one picture of the app window only when you click, adds it as a removable thumbnail, and never sends it on its own. Refs #11965 fixed in #13033.
  • The session tree now carries each conversation's last-activity time, so a list can sort by recency or show a relative time. Refs #12011 fixed in #12995.
  • A sub-agent queued behind another's write claim now says whose claim it waits on, and whether neither declared write_paths (each treated as writing the whole workspace). Refs #12052.
  • Theme packs gain shadowFloat, the shadow menus, popovers and dialogs cast; unset keeps the built-in one. Refs #12063 fixed in #12996.
  • Charts now write each value beside its bar or line point while the plot is sparse, and draw none when there are too many marks to read; hover readout is unchanged. Refs #12291.
  • Projects in the sidebar can now be reordered by dragging a row; a line on the target's top or bottom edge shows where it lands, and the order is kept by the kernel. Refs #12300.
  • The "Worked for" line at the end of a turn now also says when the turn began (time of day for today, with the date for another day), and it survives reopening the session. Refs #12728 fixed in #12994.
  • Settings > Account gains "Export and import config": no account needed; export an encrypted file and import it item by item elsewhere. Keys off by default; a passphrase is required. Refs #12736.
  • Settings → Session gains "Narration between tool calls": Detailed asks the model for three or four lines between batches of tool calls; Brief, the default, changes nothing. Refs #12788 fixed in #13101.
  • The project menu gains "Open with …": besides the file manager, open a project folder in the VS Code, Cursor, IntelliJ IDEA or system terminal this machine has installed. Refs #12858.
  • The workbench explorer gains a "Commit history" section: opened, it lists the newest commits of every branch as a graph, with branches and tags. Refs #12913 fixed in #13028.
  • Settings → Appearance gains a "Sessions from 1.x" switch to hide migrated 1.x sessions from the sidebar; shown by default, nothing is deleted. Refs #12964 fixed in #13097.
  • In the terminal UI, /theme now opens a picker that previews each row as you move, keeps it on Enter and restores the original on Esc; /theme list still prints the names. Refs #12985 fixed in #12999.
  • When the context is over the compaction threshold with nothing to fold, a notice now says what holds the tokens, by class and largest items. Refs #13013.
  • Local stdio MCP servers now receive the extra folders you allowed tools to write in _meta["io.reasonix/writableRoots"]; remote ones do not. Refs #13053.
  • First-run setup gains "Not now": open the workbench first, with a note above the input box leading back to setup; this launch only, offered again next time. Refs #13065 fixed in #13084.
  • The bottom "Generation speed" detail gains "Time to first token" (request sent to first output, timed by the kernel) and now uses the same row layout as the context detail. Refs #13075 fixed in #13089.
  • Adding a project now selects it and opens a new session in it (nothing is sent for you), whether through "Open or create project", the first-run prompt or a folder drop. Refs #13076 fixed in #13088.
  • New floating "Back to top" / "Jump to latest" buttons in the conversation (hidden near an end or when nothing scrolls) land on the nearest expanded block first. Refs #13077 fixed in #13091.
  • The Versions page can switch a release's notes between Chinese and English, following the interface language by default; every release's notes now carry English. Refs #13081.

Changed

  • The Files button in the rail and sidebar now toggles: pressed while the files panel is open it folds it, and it reopens after the panel was closed elsewhere. Refs #12925 fixed in #12997.
  • The composer's model menu now sets provider headings apart, indents the models, and adds multi-select provider chips that are remembered. Refs #12926.
  • Restore the black-and-gold application, taskbar/Dock, launcher and tray icons. Refs #13004 by @SivanCola.
  • Sent pictures, pictures waiting in the composer and tool screenshots share one viewer: open the original, Esc to leave, focus returns. Refs #13006 fixed in #13022, #13010 fixed in #13022.
  • The Settings sidebar's selected row no longer carries the accent colour, outline and edge bar, only a deeper fill; section titles are lighter than the items under them. Refs #13045 fixed in #13050, #13046 fixed in #13050.
  • The title-bar Browser button is gone: the Workbench tab is the one way in, and with nothing running it shows the Files / Changes / Browser start page instead of opening a blank page. Refs #13067 fixed in #13095.
  • Session rows no longer show the hover Archive and Delete icons; both stay in the right-click menu, and the Delete key still works. Refs #13068 fixed in #13079.

Fixed

  • When the model cannot draft a commit message, the commit card still lists the staged files and says why; type the message and commit. Refs #12747 fixed in #12923 and #13005.
  • The context gauge now reads the provider's reported size plus what grew since, instead of the larger of that and the local estimate, so an estimate running high no longer inflates it. Refs #12988 fixed in #12991 and #13018.
  • A read-only find ... -exec wc/grep/cat/stat ... is no longer treated as a write, so it does not claim the workspace write lease or collide with another session's edit. Refs #12993 fixed in #13003.
  • The repeated-output guard now also flags a stream that collapses to a few tiny lines in no fixed order; before it only saw byte-identical loops. Refs #13001 fixed in #13008.
  • Each sub-agent in the sub-agents popover now shows its own task title (the first line of its description, cut to fit, full text on hover), so parallel ones no longer all read "task". Refs #13002 fixed in #13014.
  • Switching to a long session no longer shows "could not restore extension surfaces"; you hear once only if a surface was dropped. Refs #13011 fixed in #13019.
  • On the run-analysis signal rail, marks too close together now share one counted marker that opens a list, instead of stacking into a tall column. Refs #13034 fixed in #13040.
  • Fixed the project row's "…" button answering only at its corners: the faded count badge kept sitting over it and taking the click; it no longer takes the pointer. Refs #13036 fixed in #13042, #13038.
  • The magnifier beside the session filters is now a real toggle: pressing it again closes the find box instead of replaying its opening animation. Refs #13041 fixed in #13049.
  • The "+" that opens or creates a project folder on the sidebar's "This machine" row is now always visible instead of appearing only when the row is hovered. Refs #13043 fixed in #13074, #13072.
  • Fixed the branch hover card staying on screen under the branch menu and stacking a second shadow. Refs #13044 fixed in #13054.
  • The red notice raised when reading the session status fails on reload now clears itself when that read next succeeds, instead of waiting for "Got it". Refs #13047.
  • Failures that do not block sending now show as corner notices (three at most, dismissed only by you) with "Report this problem". Refs #13047, #13048.
  • The extension-surface, MCP catalog and changed-files reads treat a missing list as empty instead of raising "Cannot read properties of undefined (reading 'filter')". Refs #13055.
  • The branch list, event replay and queue now answer an empty list instead of null when they are empty, so the page no longer fails reading them. Refs #13055.
  • The "Report this problem" entry on error bars and corner notices now also writes a page defect's error name and where it came from (file name and line only) into the feedback draft. Refs #13055.
  • A red notice under the composer that comes from a defect of the page itself (for example "Cannot read properties of undefined") now also logs its stack to the console. Refs #13055.
  • Uploading a large image or file from the phone remote page no longer drops the connection: an oversized request is refused on the phone with a clear message and the link keeps working. Refs #13056.
  • The phone remote page can now upload larger images and files, sent as several messages and handled once the desktop has them all (up to 16 MB). Refs #13056.
  • Fixed the repeated "Checkpoint recording failed" warning for writes outside the workspace, such as the session temp folder: they are now a coverage gap, not a failure. Refs #13060 fixed in #13063.
  • Fixed the kernel crashing when an MCP server fails to launch or reconnect: a failed server now only becomes unavailable, nothing else is affected. Refs #13086 fixed in #13090.
  • Fixed one likely cause of broken images (such as the sidebar wordmark) on some Windows machines: the page's file types no longer follow other programs' registry entries. Refs #13094.

Contributors

Thanks to this release's contributors: @SivanCola

What's Changed

  • feat(studio): say when a turn began beside how long it worked by @esengine in #12994
  • feat(serve): carry each session's last-activity time on the tree row by @esengine in #12995
  • fix(studio): fold the files panel when the Files button is pressed again by @esengine in #12997
  • feat(theme): let a pack set the shadow menus, popovers and dialogs cast by @esengine in #12996
  • fix(release): wait up to 15 minutes for npm to show a published CLI package by @esengine in #12998
  • feat(tui): preview each theme as the /theme picker moves by @esengine in #12999
  • fix(studio): let a person write the commit message when the model cannot draft one by @esengine in #13005
  • fix(shellsafe): treat find -exec of a known read-only program as a read by @esengine in #13003
  • fix(agent): flag a stream that collapses to a few tiny lines by @esengine in #13008
  • fix(studio): restore black-and-gold application and tray icons (carries #13004) by @esengine in #13015
  • fix(serve): a log kept to its cap is not a failed surface restore by @esengine in #13019
  • fix(studio): make the workbench explorer's text and icons easier to read and hit by @esengine in #13025
  • fix(desktop): draw the Windows unread dot smaller, smooth and ringed by @esengine in #13026
  • feat(studio): reorder projects by dragging a row by @esengine in #13024
  • feat(studio): name each sub-agent row by its task by @esengine in #13014
  • fix(studio): share original image previews across conversation entrances by @esengine in #13022
  • fix(computer): reduce CUA latency and normalize Windows app identities by @esengine in #13021
  • feat(studio): add text selected in an open file to the conversation from the right-click menu by @esengine in #13029
  • feat(studio): show the commit graph in the workbench explorer by @esengine in #13028
  • feat(studio): capture the app window into a feedback report by @esengine in #13033
  • test(config): cover removing the last provider by @hasandenizuk in #12962
  • feat(agent): say what holds an over-threshold context that cannot fold by @esengine in #13037
  • fix(studio): merge crowded signal marks into one counted marker by @esengine in #13040
  • fix(studio): let the faded row count pass the pointer through to the row actions by @esengine in #13042
  • fix(computer): recover hidden applications through CUA launch by @esengine in #13032
  • fix(studio): make the session-filter magnifier a real toggle by @esengine in #13049
  • fix(studio): quiet the settings sidebar's selected row and separate section titles from items by @esengine in #13050
  • fix(studio): hide the branch hover card while the branch menu is open by @esengine in #13054
  • fix(agent): the gauge follows the provider's count, not the larger estimate by @esengine in #13018
  • feat(studio): open the page the agent is working on in the default browser by @esengine in #13031
  • fix(studio): clear a status-read error when that read next succeeds by @esengine in #13059
  • feat(mcp): tell a local stdio server the extra writable folders by @esengine in #13058
  • fix(checkpoint): a write outside the workspace is a coverage gap, not a recording failure by @esengine in #13063
  • feat(studio): set provider headings apart and filter the model menu by provider by @esengine in #13064
  • feat(studio): write values beside sparse chart marks by @esengine in #13069
  • fix(remote): refuse a request too large for the relay link instead of dropping the link by @esengine in #13070
  • chore(studio): log the stack of a page fault that reaches the pane's error bar by @esengine in #13071
  • fix(studio): drop the hover archive and delete icons from session rows by @esengine in #13079
  • fix(studio): keep the add-folder button on the machine row visible without hover by @esengine in #13074
  • feat(delegation): say whose write claim a queued sub-agent is waiting on by @esengine in #13073
  • feat(studio): switch a release's notes between Chinese and English by @esengine in #13082
  • feat(remote): carry a request too large for one relay message as numbered parts by @esengine in #13080
  • feat(studio): show non-blocking failures as dismissible corner notices with a report action by @esengine in #13062
  • feat(studio): let first-run setup be put off (#13065) by @esengine in #13084
  • fix(studio): treat a missing list in three reads as empty (#13055) by @esengine in #13087
  • fix(plugin): a failed transport build is a nil interface, not a typed nil by @esengine in #13090
  • feat(agent): report time to first token and show it in the speed detail (#13075) by @esengine in #13089
  • feat(studio): adding a project selects it and opens a new session (#13076) by @esengine in #13088
  • fix(serve): answer an empty list as [] in branches, event replay and the queue (#13055) by @esengine in #13093
  • feat(studio): one way into the workbench (#13067) by @esengine in #13095
  • feat(studio): a setting to keep 1.x sessions out of the sidebar lists by @esengine in #13097
  • feat(studio): jump-to-top / jump-to-latest buttons in the conversation (#13077) by @esengine in #13091
  • feat(studio): report a page defect with its error name and where it came from (#13055) by @esengine in #13098
  • feat(studio): export and import the configuration as an encrypted file (#12736) by @esengine in #13096
  • feat(studio): a shared meter, with the queue's capacity limits on it by @esengine in #13103
  • fix(serve): the page's files keep their declared type whatever the machine registered by @esengine in #13104
  • feat(studio): open a project in another program (#12858) by @esengine in #13100
  • feat(agent): a setting for how much the model says between tool calls by @esengine in #13101
  • docs(release): Studio 2.40.0 notes by @esengine in #13112

New Contributors

Full Changelog: studio-v2.39.0...studio-v2.40.0


macOS 已用 Developer ID 签名并公证,打开时不需要清除隔离属性。Windows 的窗口、内核与安装器都经 Certum 代码签名证书做了 Authenticode 签名。Linux Debian 系从 .deb 安装,Fedora、RHEL、openSUSE 等从 .rpm 安装(sudo dnf install ./ReasonixStudio-linux-amd64.rpm)。x86_64 用文件名带 amd64 的包,aarch64(统信 UOS、麒麟等)用带 arm64 的包。

三个平台都能自更新:Linux 的 .deb 走自己的包(.rpm 的自更新尚未提供,请手动下载新包),Windows 运行下一个安装器,macOS 替换自身 bundle。

Don't miss a new DeepSeek-Reasonix release

NewReleases is sending notifications on new releases.