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

latest release: v2.46.0
2 hours ago

本版新增会话级 Agent 预设(默认关闭)、终端排队消息管理、设置里独立的“会话间消息”、项目内 .reasonix/reasonix.toml,长会话占用的内存明显降低,并修复公网远程误报离线、多标签页掉帧、macOS 托盘图标、1.x 会话导入等一批问题。

新增

  • 新增会话级 Agent 预设:人设、工具和模块按会话绑定版本,在人设页管理,输入框上方的状态行里选择;默认不启用,选择器默认隐藏,可在人设页开启。关联 #13613 by @SivanCola。
  • 预设只能调整 MCP 和扩展的超时,不能改写启动参数、地址或凭据;写预设和切换组合需要配置编辑授权;跨项目移动已绑定的会话会被拒绝,原会话保持不变。关联 #13613 by @SivanCola。
  • 终端里排队的消息画在工作行下:↑ 选中修改,Alt+↑/↓ 调序,Enter 保存,连按两次 d 删除,r 重试,空格暂停。关联 #12144。
  • 设置里的“会话间消息”成为独立的一项,可以从已添加的项目里选择放行、一键撤销。关联 #13794。
  • 提问卡片的自由填写框也能“优化提示词”:点星标或按 Ctrl+Shift+E,改写只在你点“采用”后才替换。关联 #13870。
  • 关联电脑到账号时多一个默认勾选的“加入贡献榜”,旁边显示将公开的名字,点“确认”才生效;终端关联后也会提示加入命令。关联 #13142。
  • 发送反馈时附上各进程的内存(只有进程类型和数字),表单里能先看到,方便判断是界面还是内核占得多。关联 #13899。
  • Studio 项目配置支持 .reasonix/reasonix.toml,仅在根目录的 reasonix.toml 不存在时使用,项目权限限制不变。关联 #6007 fixed in #13887 by @lancy69。

变更

  • 长会话占用的内存更少:已完成的长输出在页面里只保留开头和结尾各 4 KB,可点“显示完整输出”取回;命令运行期间只保留最近 64 KB。关联 #13899。
  • 已完成的子代理卡片收起时不再加载它的子调用,展开才加载;120 个子代理的页面节点从约 5 万降到约 5 千。关联 #13899。
  • 技能子代理(explore、locate 等)在子代理列表里除了名字,也显示它收到的任务的第一行。关联 #13458。
  • 模型派任务给尚未决定信任的项目时,对方窗口保持打开并显示信任问题,并告知任务未发送;后台窗格在等你决定信任时,侧栏会话行也会标出来。关联 #13681、#13890。

修复

  • 公网远程时,较大的历史或文件传输超过半分钟会被误报“请检查电脑是否在线”;现在电脑仍在回传就继续等。关联 #13909。
  • 打开两个及以上标签页时,展开或收起左侧会话栏会掉帧;现在隐藏的标签页不再参与重排。关联 #13936 fixed in #13937。
  • macOS 菜单栏里的托盘图标不再是整个彩色应用图标,改为随浅色、深色菜单栏着色的单色图标。关联 #13929 fixed in #13930。
  • 长时间使用后偶发“缺少本次启动的凭据,请重新打开 Studio 后重试”、发送按钮失效;外壳现在会在认证 cookie 被移除时立即补回,并在日志里记下原因。关联 #13932。
  • 恢复旧会话时,1.x 桌面端自己新建的、编号带 desktop- 或 desktop-manual- 前缀的会话不再被跳过;1.x 里已归档的会话迁移后仍是归档。关联 #13920 fixed in #13921、#13880 by @imcreazy。
  • 会话很多时点开“归档”,读取期间不再显示“没有匹配的会话”,改为“正在读取文件夹…”。关联 #13884。
  • 工作区很大(如整个盘根)时,首个工具最多等待 10 秒的工作区快照,超时记为观察不完整,不再一直卡住。关联 #13883。
  • 侧栏会话行的标题不再被过早截断:不再为没显示的按钮留空位,归档按钮只在悬停或聚焦时占位。关联 #13904 fixed in #13908。
  • 显示左侧图标栏时,侧栏底部的“连接与机器”不再重复出现。关联 #13916。
  • 历史索引遇到暂时读不了的会话文件后,会在它恢复可读时重新索引,不再一直显示“正在建立索引”。关联 #13923 by @chuiwenwei。
  • 代码模式的脚本里 read_file 现在返回文件原文,不再把带行号的显示形式写回文件造成污染。关联 #13945 by @SivanCola。
  • 压缩失败(摘要被截断或拒绝)后不再把日期、技能列表、项目说明重复发给模型,提示不再越滚越大。关联 #13949 by @SivanCola。
  • 根目录忽略规则里以转义的 ! 或 # 开头的模式、以及 core.excludesFile 的读取方式,现在和 git 一致。关联 #13907 by @kevin9327、#13906 by @kevin9327。
  • 记忆迁移遇到读不了的条目时会如实报告而不是中途停止;还原归档时先暂存再发布,避免半途失败丢失。关联 #13912 by @chuiwenwei、#13905 by @chuiwenwei。
  • 读取 OpenAI 兼容流里数字形式的错误码;合并工具进度和前后增量,展开游标跟随最新输出。关联 #13881 by @imcreazy、#13895 by @jf200s。

贡献者

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


This release adds session Agent presets (off by default), terminal queue management, a Session messages entry in Settings and .reasonix/reasonix.toml.
Long sessions use much less memory, and it fixes false offline reports over the relay, dropped frames with several tabs, the macOS tray icon and 1.x session import.

New

  • Session Agent presets: personas, tools and modules are bound to a session by version, managed on the Persona page. Off by default; the picker stays hidden until you turn it on. Refs #13613 by @SivanCola.
  • Presets may adjust only MCP and extension timeouts, never launch arguments, endpoints or credentials. Writing presets and switching need configuration-edit authority. Refs #13613 by @SivanCola.
  • Moving a conversation bound to a preset into another project is refused, and the original stays unchanged. Refs #13613 by @SivanCola.
  • In the terminal, queued messages show under the working line: Up selects, Alt+Up/Down reorders, Enter saves, d twice deletes, r retries, Space pauses. Refs #12144.
  • Session messages is its own entry in Settings, where projects can be allowed through from those already added or taken back. Refs #13794.
  • The free-text box of a question card can optimise the prompt: click the sparkle or press Ctrl+Shift+E; the rewrite replaces your text only when you take it. Refs #13870.
  • Linking a computer offers a pre-ticked "join the contribution board" with the public name, applied only on Confirm; the terminal prints the join command. Refs #13142.
  • A report now carries each process's memory (only the process type and numbers), shown in the form first, to tell the interface from the kernel. Refs #13899.
  • Studio loads .reasonix/reasonix.toml when the root reasonix.toml is absent, with unchanged project restrictions. Refs #6007 fixed in #13887 by @lancy69.

Changed

  • Long sessions use less memory: a finished call's long output keeps its first and last 4 KB, with "Show full output" to fetch the rest; a running command keeps its last 64 KB. Refs #13899.
  • A closed, finished sub-agent no longer holds its child calls in the page; 120 sub-agents drop from about 50,000 nodes to 5,000. Refs #13899.
  • A skill sub-agent (explore, locate and the like) shows the first line of its task in the sub-agent list beside its name. Refs #13458.
  • Dispatching to a project you have not yet trusted keeps its window open with the trust question and says the task was not sent. Refs #13681.
  • A background pane asking whether to trust its folder is marked in the sidebar like any other waiting one. Refs #13890.

Fixed

  • Over the public relay, a history or file taking over 30 seconds to arrive was reported as "check the computer is online"; it is now waited for. Refs #13909.
  • With two or more tabs open, folding the left session rail dropped frames; hidden tabs no longer take part in that relayout. Refs #13936 fixed in #13937.
  • On macOS the menu-bar tray icon is a monochrome template glyph that follows the light or dark bar, not the full-colour app badge. Refs #13929 fixed in #13930.
  • The occasional "this launch's credential is missing" refusal after long use, with a dead send button: the shell now restores its authentication cookie if it is removed and logs the cause. Refs #13932.
  • Recovering older sessions no longer skips the conversations 1.x Desktop created itself (ids prefixed desktop- or desktop-manual-), and sessions 1.x had archived stay archived. Refs #13920 fixed in #13921, #13880 by @imcreazy.
  • With a long history, Archived no longer says "No matching sessions" while still reading; it says it is reading. Refs #13884.
  • In a very large workspace (a drive root, say) the first tool waits at most 10 s for the workspace snapshot and records the observation as incomplete. Refs #13883.
  • Session titles in the sidebar are no longer cut short: nothing is held back for buttons that are not showing, and the archive button takes room only while hovered or focused. Refs #13904 fixed in #13908.
  • The sidebar's "Connections and machines" button no longer repeats the Remote entry of the icon rail while the rail is shown. Refs #13916.
  • After a session file was briefly unreadable, the history index retries it once it can be read, instead of staying at "still building". Refs #13923 by @chuiwenwei.
  • In code mode, a script's read_file returns the file's text, so a read-edit-write script no longer writes the numbered display back into the file. Refs #13945 by @SivanCola.
  • After a failed compaction (a truncated or refused summary), the date, skills listing and project instructions are no longer sent to the model again, so the prompt stops growing. Refs #13949 by @SivanCola.
  • An escaped leading ! or # in root ignore patterns, and how core.excludesFile is read, now follow git. Refs #13907 by @kevin9327, #13906 by @kevin9327.
  • A memory migration reports an entry it cannot read instead of stopping; archive restores stage before publishing. Refs #13912 by @chuiwenwei, #13905 by @chuiwenwei.
  • A numeric error code in an OpenAI-compatible stream error is read; tool progress merges with the deltas around it, and the reveal cursor follows the latest output. Refs #13881 by @imcreazy, #13895 by @jf200s.

Contributors

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

What's Changed

  • fix(agent): the first tool waits at most snapshotWait for the turn-start snapshot by @esengine in #13885
  • test(openai): pin how usage is read from captured DeepSeek streams (stop and length) by @esengine in #13878
  • fix(studio): the sidebar says it is reading, not that nothing matches, while the rows of another view are still in hand by @esengine in #13886
  • fix(delegation): a skill sub-agent's row carries the first line of its task as its label by @esengine in #13879
  • fix(openai): read a numeric error code from a stream error event by @imcreazy in #13881
  • feat(tui): queued messages are drawn as rows and managed with the keys 1.x had by @esengine in #13854
  • feat(config): support .reasonix/reasonix.toml project fallback by @lancy69 in #13887
  • feat(studio): linking a computer offers the contribution board with a name to confirm, and the terminal says how to join by @esengine in #13896
  • fix(memory): rebuild the derived index when it cannot be read by @chuiwenwei in #13800
  • fix(dispatch): keep an undecided project's window open and say the task was not sent by @esengine in #13890
  • feat(studio): the free-text answer of a question card can optimise the prompt like the composer by @esengine in #13893
  • feat(studio): a conversation out of sight that is asking whether to trust its folder is marked as waiting in the sidebar by @esengine in #13900
  • Update acknowledgments contributors / 更新致谢贡献者 by @esengine in #13897
  • feat(studio): session messages have a settings entry of their own, with projects allowed through to add and take back by @esengine in #13847
  • fix: explain invalid market source commits / 准确提示市场来源提交号错误 by @SivanCola in #13855
  • fix(memory): stage archive entries before publishing a restore by @chuiwenwei in #13905
  • fix(studio): a session title takes the room the row leaves it by @esengine in #13908
  • fix(gitignore): read core.excludesFile the way git does by @kevin9327 in #13906
  • fix(sessionstore): gate the compaction sidecar on the session write permit by @chuiwenwei in #13910
  • feat(feedback): a report carries each process's memory as a fixed type and two numbers, shown in the form first by @esengine in #13911
  • perf(studio): a finished sub-agent card mounts its child calls only while it is open by @esengine in #13903
  • fix(remote): wait for a desktop answer that is still arriving instead of reporting the computer offline by @esengine in #13909
  • fix(event): merge tool progress with the deltas around it; fix(studio): the reveal cursor follows a shorter replacement back by @jf200s in #13895
  • fix(studio): a feedback capture that finishes after the dialog is gone writes no state by @esengine in #13914
  • fix(studio): the sidebar does not repeat the Remote entry while the icon rail shows it by @esengine in #13916
  • perf(studio): a running command keeps only the end of its output in the page and says how much came before by @esengine in #13915
  • fix(gitignore): keep an escaped leading ! or # in root ignore patterns by @kevin9327 in #13907
  • fix(memory): report a fact the migration cannot read instead of stopping by @chuiwenwei in #13912
  • fix(migration): keep the conversations 1.x had archived archived by @imcreazy in #13880
  • fix(sessionstore): import the 1.x Desktop sessions whose ids carry a desktop- or desktop-manual- prefix by @esengine in #13921
  • feat(studio): a finished call's long output is kept as its two ends in the page and fetched whole from the kernel on request by @esengine in #13917
  • fix(history): retry a corrupt source once its transcript is readable by @chuiwenwei in #13923
  • fix(e2ebench): count a killed run's wall in the same population as the report by @chuiwenwei in #13925
  • fix(desktop): draw a monochrome template glyph in the macOS menu bar by @esengine in #13930
  • fix(desktop): restore the launch credential cookie when something removes it by @esengine in #13933
  • Publish the Studio website changelog after releases / 发布后自动同步并验证官网 Studio 更新日志 by @SivanCola in #13939
  • perf(studio): hidden panes skip layout while the rail animates by @esengine in #13937
  • feat(studio): add session Agent compositions / 新增会话级 Agent 预设 by @SivanCola in #13613
  • fix(e2ebench): count script calls inside their round; keep one trajectory per trial by @SivanCola in #13944
  • fix(script): a script's read_file returns the file's text, not its display by @SivanCola in #13945
  • fix(control): a fold that folded nothing does not re-owe standing state by @SivanCola in #13949

New Contributors

Full Changelog: studio-v2.45.0...studio-v2.46.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.