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

latest release: v2.50.0
7 hours ago

本版让子代理可以在工作台里开成标签页读完整记录,设置里新增导航入口管理、计费方式和放大设置窗口,正文栏可拖宽,并修复多处卡住、显示与对齐问题。

新增

  • 正文栏左右边线可以拖动,两侧同时等量变宽或收窄;缩到“适宜阅读”为止,放到窗口全宽为止,被挡住的侧栏按各自设定的比例让位。关联 #14198 by @imcreazy。
  • 反馈表单的正文可以切到「预览」,先看 Markdown 渲染的样子;公开的议题仍把原文放在代码块里。修复 #14248 fixed in #14255。
  • 设置 → 外观 →「导航入口」可隐藏或调整图标栏和侧栏里的入口,两处同步;会话、反馈、账号和设置始终保留。关联 #14236、#14190。
  • 设置窗口头部多了「放大设置窗口」按钮,可铺满整个窗口、内容区同步变宽;选择会记住,下次打开保持。修复 #14272 fixed in #14271。
  • 桌面端可连自己部署的远程网关(REASONIX_REMOTE_URL、REASONIX_REMOTE_GATEWAY_ID),手机网页按授权里的网关地址连接;非 wss:// 地址会被拒绝。关联 #14282。
  • 从“子代理”面板打开子代理,会在工作台开成标签页,读内核记录的完整对话(运行中持续刷新),工具步骤可折叠、可同时开多个;找不到记录时仍用原对话框。关联 #13523 fixed in #14291。
  • 连接编辑页可选“计费方式”(按量计费或订阅套餐),订阅套餐的用量会按所填价格折算成估算值单独显示,不计入实际花费。关联 #13276。
  • 设置 → 工具与权限第二项提供「AI 文件交付卡片」开关,支持搜索并保存用户选择,重新打开会话生效。关联 #14063 by @SivanCola。

变更

  • 侧栏会记住你折叠过的项目,重新打开界面后仍保持折叠;新项目默认展开,不替你做决定。关联 #14195 by @lancy69。
  • 设置打开时,背后的内容被更深的平面遮罩压下去,设置面板更突出;没有使用实时模糊。关联 #14196 by @lancy69。
  • 正文两侧的拖拽边线常驻一条短细线,看得出这里可以拖;长对话里回到顶部与跳到最新的提示不再一移就消失;两个把手也能用键盘调宽。关联 #14198 by @imcreazy。
  • 隐藏图标栏时,侧栏列出与图标栏相同的入口(文件、工具与权限、扩展、记忆、远程),名称统一;两处读同一份清单。关联 #14236。
  • 并行写入的“乐观模式”现在默认开启:没声明写入范围的子代理和写入不再占住整个工作区;已选过“严格”的不受影响,可在设置里关闭。关联 #14240。
  • 你对某个对话选的“本会话允许”现在随这个对话保存,恢复或重新打开这个对话后不再重复询问;仍只对该对话有效,可随时撤销。关联 #14243。
  • AI 文件交付工具默认开启;已有的显式关闭选择仍然有效。下一次打开会话时增加工具定义,可能产生一次缓存未命中。关联 #14063 by @SivanCola。

修复

  • 工作模式菜单中的 Ask 名称后明确标注“(未实现)”,避免误以为需要额外配置才能启用;现有模式切换和禁用行为保持不变。关联 #14028 fixed in #14093 by @lancy69。
  • 对话栏变窄(如展开工作台)时,输入框底部的按钮条不再折成两行:模式按钮更早收成图标,模型名随栏宽收缩。关联 #14156。
  • 一个会话用到多种货币时,计量条和费用面板不再把不同币种的金额直接相加,而是分币种各显示一个金额。关联 #14178 by @chuiwenwei。
  • 只运行一次的定时任务错过时间后,不再一直显示“运行中”;它会变成“已到期”,不再出现点“续期”提示成功却什么都没运行。关联 #14179 by @chuiwenwei。
  • 终端里对“可能已经跑过”的恢复条目按 r 或 /queue retry 不再重新发送,会说明原因并建议先看对话记录或删除它。关联 #14180 by @chuiwenwei。
  • 导入旧会话时,不再把另一个窗口正打开着的会话搬走或删除;这类会话会留在原处,之后再导入。关联 #14181 by @chuiwenwei。
  • 输入框下方计量条把整个会话的累计花费标成了“本轮”;现在“本会话”显示累计总额,“本轮”只显示最近一轮的花费。关联 #14200。
  • 队列现在由内核拒绝重发“可能已经跑过”的恢复条目,通过接口或 ACP 调用重试时也一样,不会再重复执行同一条指令。关联 #14202。
  • “交付验收”卡片里的长命令不再铺满一大片,只显示开头一行并以省略号结尾,完整命令在鼠标悬停时可见。关联 #14204。
  • 隐藏图标栏时,侧栏各行的图标和文字对齐在同一条竖线上,字号统一为 12px,“新建会话”和“发送反馈”不再加粗。关联 #14207。
  • 设置里“模型可用的工具”列表中,其余内置工具(搜索、读写文件、子代理、记忆、同伴协作等)也按界面语言显示一句话说明,不再露出英文原文。关联 #14208。
  • 在反馈窗口里点过空白处之后,Ctrl+V 粘贴截图不再没反应;剪贴板里以条目形式给出的图片也能贴进去。关联 #14210。
  • 设置窗口加高,菜单在 1080p 屏幕上完整显示、不再出现滚动条;“记忆”图标与文字垂直对齐;空白会话提示和运行分析面板统一称“运行分析”和“运行记录”,不再混称“轨迹”。关联 #14211。
  • 定时运行页现在可以直接信任当前项目,不再要求先去别处点信任;之前点过“暂不信任”或手动选过批准模式、从未看到信任提示的项目也能处理。关联 #14216。
  • 侧栏各行(新建会话、搜索、文件、工具与集成、运行环境、钱包与用量、发送反馈)的文字统一为同一种颜色,“新建会话”不再有底色。关联 #14221。
  • 顶栏「运行分析」的图标换成脉冲线,和旁边的图标一样大、一样粗,不再是偏小的半圆仪表盘。修复 #14222 fixed in #14269。
  • 隐藏图标栏时,侧栏图标对齐项目文件夹,标志对齐行文字;会话分组标签文字上下居中;上面几行去掉提示;账号头像改为单一圆角方块。关联 #14226。
  • 「在文件管理器中显示」按钮换成打开的文件夹图标,不再像分享或外链箭头。关联 #14227。
  • 工作台顶栏里“加宽工作台”按钮移到最左边,“全屏工作台”按钮移到最右边,不再夹在标签中间。关联 #14229。
  • 模型现在知道子代理不是新会话:由它派出、结果回到当前对话、嵌套深度受 max_subagent_depth 限制。关联 #14247。
  • 读取被拒时不再只写“没有权限”:现在说明是哪个路径、它不在会话允许读取的文件夹里,还是在你配置的禁读列表里。关联 #14252。
  • “我的反馈”再次打开时立即显示上次的列表并在后台刷新;等级、账号关联和贡献榜收进一行折叠,点开才加载,不再占满首屏。关联 #14254。
  • 执行过程里调用技能的步骤会写出技能名称,不再只显示 run_skill。关联 #14256 fixed in #14259。
  • 内核拒绝请求后,外壳会检查本次启动的凭据,缺失就立即补回,不必重启 Studio。关联 #14260。
  • 插件的运行时命令不是可执行程序(例如 Windows 上的 .sh 脚本)时,报错直接说明需要提供原生可执行文件,不再只显示系统原话。关联 #14263。
  • 选了与当前实际请求相同的思考强度(如「自动」本就等于「深入」)后,强度按钮立刻显示你的选择,不必退出重进。修复 #14173 fixed in #14265。
  • 付费搜索、网络出站和 MCP 登录的审批卡,「始终允许」下方的说明改为写明它实际记在哪里,不再一律说成权限规则。关联 #14242。
  • 设置里「多个会话同时写一个项目」和「子代理的写入范围」两处的说明改为与新的默认值(乐观模式)一致,不再写「默认严格」。关联 #14240。
  • 模型看到的「派出子代理」工具说明,按新的默认值(乐观模式)描述没声明写入范围的写入,不再说它会占住整个工作区。关联 #14240。
  • 侧栏入口的文字比图标偏高,且“工具与权限”等图标比上面几项更粗更大;现在文字与图标居中,图标粗细大小一致。关联 #14266。
  • 输入完整命令(如 /reload)而旁边有同前缀的更长命令(如 /reload-cmd)时,回车会补全成长命令;现在完整命令排第一,回车直接发送。修复 #14302 fixed in #14304。

升级须知

  • 并行写入的“乐观模式”默认开启,没声明写入范围的子代理不再互相占住整个工作区;想保持原来的严格行为,在设置里关闭。关联 #14240。
  • AI 文件交付工具默认开启,升级后第一次打开会话会因工具定义增加而有一次缓存未命中;想关闭,在设置 → 工具与权限里关掉「AI 文件交付卡片」。关联 #14063 by @SivanCola。

贡献者

感谢本版本的贡献者:@imcreazy、@SivanCola、@lancy69、@chuiwenwei


This release opens sub-agents as Workbench tabs with their full record, adds navigation-entry management, a billing choice and an enlarged Settings window, lets you drag the reading column wider, and fixes a number of stalls, display and alignment problems.

New

  • The reading column's edges can be dragged: both sides widen or narrow by the same amount, between the readable measure and the window. Refs #14198 by @imcreazy.
  • the feedback form's body can switch to a Markdown preview; a public issue still shows the original text in a code block. Fixes #14248 fixed in #14255.
  • Settings → Appearance → Navigation entries hides or reorders the shortcuts in the icon rail and sidebar together; sessions, feedback, account and settings stay. Refs #14236, #14190.
  • the settings window has an Enlarge button that fills the whole window and widens its content; the choice is remembered. Fixes #14272 fixed in #14271.
  • the desktop host can use a remote gateway you run (REASONIX_REMOTE_URL, REASONIX_REMOTE_GATEWAY_ID); the phone page follows the grant's gateway; non-wss:// relays are refused. Refs #14282.
  • a sub-agent opened from the Sub-agents panel is now a Workbench tab reading the kernel's full record (live while it runs), foldable, several at once; no record keeps the dialog. Refs #13523 fixed in #14291.
  • the connection editor now has a Billing choice (pay as you go or subscription plan); a plan's usage is shown as a separate estimate at the entered prices, never as money spent. Refs #13276.
  • a searchable AI file delivery switch is the second item in Tools & permissions. It saves your choice for reopened sessions. Refs #14063 by @SivanCola.

Changed

  • the sidebar remembers which projects you folded and keeps them folded when the interface reopens; new projects still start expanded. Refs #14195 by @lancy69.
  • while Settings is open, the content behind it is pushed back by a stronger flat scrim, so Settings stands out; no live blur is used. Refs #14196 by @lancy69.
  • The reading column's edges carry a standing mark, the two pills keep their tip while the pointer moves, and the handles answer the arrow keys. Refs #14198 by @imcreazy.
  • with the icon rail hidden, the sidebar now lists the same destinations as the rail (Files, Tools and permissions, Extensions, Memory, Remote) under the same names, from one list. Refs #14236.
  • optimistic mode for parallel writes is on by default, so writers with no declared scope no longer hold the whole workspace; a saved strict choice is kept. Refs #14240.
  • "Allow for this session" is now saved with its conversation, so resuming or reopening it no longer asks again; it still covers only that conversation and can be revoked. Refs #14243.
  • AI file delivery defaults on; explicit off choices remain off. Newly opened sessions add its tool schema and may incur one cold prefix. Refs #14063 by @SivanCola.

Fixed

  • the work-mode menu now labels the unavailable mode “Ask (Not implemented)” so it does not imply a missing configuration step. Mode switching and Ask's disabled state are unchanged. Refs #14028 fixed in #14093 by @lancy69.
  • with the conversation column narrow (workbench open), the buttons under the composer stay on one row: the mode button collapses sooner and the model name shrinks. Refs #14156.
  • a session billed in more than one currency no longer shows one summed figure under a single symbol; the meter and cost panel show one amount per currency. Refs #14178 by @chuiwenwei.
  • a one-shot scheduled run that missed its time no longer stays Active; it shows as expired, so Renew no longer reports success when nothing will run. Refs #14179 by @chuiwenwei.
  • in the terminal, r and /queue retry no longer re-send a recovered queue entry that may already have run; they say why and suggest checking the transcript or deleting it. Refs #14180 by @chuiwenwei.
  • importing legacy sessions no longer moves or deletes a session that another window has open; it is left in place and settled on a later import. Refs #14181 by @chuiwenwei.
  • the meter under the composer labelled the whole session's spend as "This turn"; it now shows "This session" and the last turn's own amount. Refs #14200.
  • the queue itself now refuses to retry a recovered entry that may already have run, including retries made through the API or ACP, so an instruction is not run twice. Refs #14202.
  • a long command in the delivery receipt card no longer fills the card; it shows its first line with an ellipsis, and the whole command is in the hover text. Refs #14204.
  • with the icon rail hidden, sidebar rows line up icons and labels on one vertical line and share one 12px regular label style; New session and Send feedback are no longer bold. Refs #14207.
  • the settings tool list now describes the remaining built-in tools (search, file edits, sub-agents, memory, peers) in the interface language, not model-facing English. Refs #14208.
  • pasting a screenshot into the feedback form no longer does nothing after clicking a blank part of it, and an image the clipboard offers as an item is taken too. Refs #14210.
  • the settings sheet is taller so its whole menu shows on a 1080p screen, the Memory icon lines up with its label, and the run analysis view keeps one name instead of "trajectory". Refs #14211.
  • the scheduled runs page can trust the open project itself, so a project that never showed the trust prompt, or was declined earlier, no longer leaves you stuck. Refs #14216.
  • the sidebar rows now share one label colour, and New session no longer has a filled background at rest. Refs #14221.
  • the top bar's Run analysis icon is now a pulse line the same size and weight as its neighbours, instead of a small half-circle gauge. Fixes #14222 fixed in #14269.
  • with the rail hidden, sidebar icons match the project folders and the logo the labels; session tabs centre their text; top rows lose hints; the avatar is one rounded square. Refs #14226.
  • the "show in file manager" button now uses an open-folder icon instead of an arrow that read as share or external link. Refs #14227.
  • the workbench bar puts the wide toggle at its left edge and the full-size toggle at its right edge instead of between the tabs. Refs #14229.
  • the model is now told a sub-agent is not a new session: it dispatches it, the answer returns here, and nesting is bounded by max_subagent_depth. Refs #14247.
  • a refused read now says which path was refused and whether it is outside the folders the session may read or on your forbidden-read list, not just "permission denied". Refs #14252.
  • My feedback shows its last list at once and refreshes behind it; level, account and the leaderboard sit behind one collapsed row loaded on open instead of filling the first screen. Refs #14254.
  • a skill step in the execution process now shows which skill it ran instead of just run_skill. Fixes #14256 fixed in #14259.
  • after the kernel refuses a request the shell now checks this launch's credential cookie and restores it if missing, so no relaunch is needed. Refs #14260.
  • when a plugin's runtime command is not an executable program (such as a .sh script on Windows), the error now says the plugin must ship a native executable. Refs #14263.
  • choosing a reasoning depth that sends the same request as the current one (such as High when Auto resolves to High) now shows at once, not after a restart. Fixes #14173 fixed in #14265.
  • on the paid search, network egress and MCP sign-in approval cards, the note under "Always allow" now says where the answer is actually kept instead of calling it a permission rule. Refs #14242.
  • the settings text for sessions writing one project and for sub-agent write scope now matches the new default (optimistic mode) instead of saying "strict by default". Refs #14240.
  • the sub-agent tool's description the model reads now describes writes with no declared scope under the new default (optimistic mode), not as claiming the whole workspace. Refs #14240.
  • sidebar labels sat higher than their icons, and the Tools/Extensions/Memory/Remote icons were bolder and larger than the others; both are now level and matched. Refs #14266.
  • with a command typed in full (/reload) beside longer ones sharing its name (/reload-cmd), Enter completed the longer one; the typed one is now listed first and Enter sends it. Fixes #14302 fixed in #14304.

Upgrade notes

  • Optimistic parallel writes are on by default, so sub-agents that declare no write paths no longer hold the whole workspace; turn it off in Settings to keep the strict behaviour. Refs #14240.
  • The AI file-delivery tool is on by default, so the first session after upgrading has one cache miss; turn it off under Settings, Tools and permissions. Refs #14063 by @SivanCola.

Contributors

Thanks to this release's contributors: @imcreazy, @SivanCola, @lancy69, @chuiwenwei

What's Changed

  • feat(studio): drag the edges of the reading column by @imcreazy in #14198
  • fix(migrate): leave a leased session where it is by @chuiwenwei in #14181
  • fix(desktop): keep a session's money per currency by @chuiwenwei in #14178
  • fix(tui): refuse a retry that may already have run by @chuiwenwei in #14180
  • feat(studio): separate Settings with a feedback-style flat scrim by @lancy69 in #14196
  • feat(studio): propose remembered sidebar expansion states by @lancy69 in #14195
  • docs(release-notes): fragments for #14178, #14180, #14181, #14195 and #14196 by @esengine in #14199
  • fix(schedule): a missed one-shot stops being active by @chuiwenwei in #14179
  • fix(desktop): label the meter's running total as the session's and add the turn's own amount by @esengine in #14200
  • docs(release-notes): fragment for #14179 by @esengine in #14201
  • fix(inbox): the queue refuses to retry an entry that may already have run by @esengine in #14202
  • fix(desktop): show only the start of a long command in the delivery receipt by @esengine in #14204
  • fix(desktop): line up the sidebar rows' icons and labels with the rail hidden by @esengine in #14207
  • fix(desktop): describe every built-in tool in the settings list in the interface language by @esengine in #14208
  • fix(desktop): a paste into the feedback form reaches it after a click on a blank part by @esengine in #14210
  • fix(desktop): the settings sheet shows its whole menu, the memory icon is centred, and the run analysis view keeps one name by @esengine in #14211
  • fix(schedule): offer the open project for trust on the scheduled runs page by @esengine in #14216
  • fix(control): retract the goal contract when a goal stops by @chuiwenwei in #14104
  • fix(migrate): a failed copy must not stamp the import marker by @chuiwenwei in #14212
  • fix(stats): the projection keeps a zero-amount quote by @chuiwenwei in #14215
  • fix(stats): a relocated stats root does not count twice by @chuiwenwei in #14214
  • fix(desktop): the sidebar rows read in one colour and New session has no fill at rest by @esengine in #14221
  • test(stats): the relocation fixture expects the zero-amount quote the projection now keeps by @esengine in #14224
  • fix(desktop): the workbench's wide toggle sits at the left edge of its bar and the full-size toggle at the right edge by @esengine in #14229
  • fix(studio): keep composer chip text aligned during reflow by @lancy69 in #14225
  • fix(desktop): the sidebar's top and bottom rows sit on the project folders' icon line by @esengine in #14226
  • ci(studio): give the browser guards job 25 minutes by @esengine in #14244
  • feat(approval): a conversation remembers the answers given for it, and resuming it does not ask again by @esengine in #14243
  • fix(tui): a runtime continuation is not the person's message by @chuiwenwei in #14238
  • fix(memory): a fact that cannot be read is not absent by @chuiwenwei in #14239
  • feat(config): optimistic claims are the default for sub-agent claims and the write lease by @esengine in #14240
  • fix(desktop): my feedback shows the list it has at once and keeps level, account and board behind one row by @esengine in #14254
  • feat(feedback): preview the report body as Markdown before sending by @esengine in #14255
  • fix(tools): a refused read says which target, which folders may be read and why by @esengine in #14252
  • fix(delegation): tell the model a sub-agent is not a new session by @esengine in #14257
  • fix(studio): the reveal-in-file-manager icon is an open folder, not an arrow by @esengine in #14258
  • fix(studio): a skill step names the skill it ran by @esengine in #14259
  • fix(desktop): check and restore the launch credential cookie after a refused request by @esengine in #14261
  • fix(sidecar): a runtime that is not a program says what the plugin has to ship by @esengine in #14263
  • fix(effort): the status says the depth the person chose even when the request does not change by @esengine in #14265
  • feat(studio): the sidebar offers the same destinations as the icon rail, from one list by @esengine in #14266
  • fix(approval): session grants persist in order, so a revoke is not undone by an earlier write by @esengine in #14262
  • feat(studio): hide or reorder the navigation entries of the icon rail and the sidebar by @esengine in #14268
  • fix(studio): the run analysis icon is a pulse line that matches its neighbours by @esengine in #14269
  • fix(studio): label Ask work mode as not implemented by @lancy69 in #14093
  • fix(approval-card): the always-allow note says where paid search, egress and sign-in answers are kept by @esengine in #14270
  • feat(studio): the settings window can be enlarged to fill the window, and remembers it by @esengine in #14271
  • fix(studio): the buttons under the composer stay on one row as the conversation column narrows by @esengine in #14273
  • test(approval): wait for every queued grant write before reading the sidecar by @esengine in #14274
  • fix(settings): the session-coordination hints say optimistic is the default by @esengine in #14275
  • fix(delegation): the task tool description says optimistic is the default for undeclared writes by @esengine in #14276
  • fix(sessionstore): a NUL-filled branch-meta sidecar reads as absent by @ShryukGrandhi in #14281
  • feat(remote): the desktop host and the phone page can use a gateway the person runs by @esengine in #14286
  • fix(jobs): bound background wait timeout by @tongsailong in #14277
  • fix(delegation): track background subagent progress by @tongsailong in #14278
  • fix(composition): allow lightweight mode without image capability by @lancy69 in #14152
  • feat(delegation): a sub-agent run names the tool call that spawned it by @esengine in #14290
  • feat(tools): propose default-on file delivery / 提议默认启用文件交付卡片 by @SivanCola in #14066
  • fix(completion): report writes outside observed roots by @tongsailong in #14279
  • feat(studio): add opt-in file delivery settings / 新增文件交付卡片开关 by @SivanCola in #14063
  • feat(studio): a sub-agent opens beside the conversation as a workbench tab that reads its full record by @esengine in #14291
  • feat(providers): a connection says whether it is billed per use or by subscription by @esengine in #14292
  • test(control): wait for the second ask to yield, not just to register by @xxoingr in #14297
  • docs(mcp): point a running chat at the /mcp panel, not /mcp add by @xxoingr in #14298
  • fix(studio): make the reading column's handles visible and reachable by @imcreazy in #14293
  • fix(studio): a sidebar destination's label centres on its icon by @esengine in #14303
  • fix(studio): a command typed in full is still sent by Enter when longer commands share its name by @esengine in #14304
  • docs(release): studio 2.50.0 notes by @esengine in #14306

New Contributors

Full Changelog: studio-v2.49.0...studio-v2.50.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 的包。也提供 .AppImage(只提供下载,不会自更新;需要 FUSE 2,或用 --appimage-extract-and-run 启动)。

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

Don't miss a new DeepSeek-Reasonix release

NewReleases is sending notifications on new releases.