发布日期: 2026-08-26
版本号: v1.21.0

1.21.0版本(2026-08-26)更新内容主要包括:重建了聊天滚动机制,发送消息时将其置于顶部并让回复在其下方流式显示;重新设计了键盘快捷键,支持单次按键和双步操作组合,现在兼容非英文键盘布局;聊天中的上下文附件(如差异评论、终端选区、浏览器标注等)改为紧凑的上下文卡片形式显示;新增可选的会话标签页功能,可在网页/桌面端头部以标签形式展示会话;提升了大型工作区中会话切换的速度;改进了权限卡片的键盘操作方式;增加了会话前进/后退的导航历史;增强了Git操作快捷键;改进了聊天中思考级别的切换逻辑;为面板上下文轨道添加了配置按钮;支持在聊天回复中添加引用评论;在差异查看中支持类似代码审查的评论;编写器中悬停上下文芯片可预览已附加内容;移动端聊天评论输入框与键盘适配;终端会话持久化显示;统一了搜索匹配规则,按最佳匹配排序并忽略标点;@文件提及功能优化了匹配排序和长路径显示;新增聊天流式跟随内容的开关选项;命令面板整理了不常用命令;移动端浏览器布局自动切换;浏览器工具打开页面时不再自动切换面板;移除了无法正常工作的Command Code用量卡片;改进了桌面端远程服务器连接逻辑;修复了移动端键盘遮挡问题;改善了登录过期提示和发送失败恢复机制;修复了会话视图定位、窗口项目隔离、Git分支PR徽章显示、流式代码块高亮、消息闪烁等多项问题;同时进行了大量界面细节调整和错误修复。

更新内容 (中文)

[1.21.0] - 2026年8月26日

  • 聊天滚动重建以您的消息为中心。 发送消息会将其置于接近顶部的位置,回复则在其下方逐步流畅地显示。向上滚动时,您将立刻获得控制权;当您离开时,“滚动到底部”提示条会显示模型的工作状态。
  • 键盘快捷键重新设计: 日常操作使用单键和弦,Cmd/Ctrl+K 作为两步打开/执行操作的引导键,按住 Cmd/Ctrl+数字键用于会话标签页,Cmd/Ctrl+Option+数字键用于面板界面。快捷键现在支持非英语键盘布局,工具提示会显示您实际设置的绑定,旧的自定义绑定会重置一次。完整映射可在“设置 → 快捷键”中查看(注册表由 @ChangeHow 贡献——感谢!)。
  • 聊天上下文附件: 差异评论、终端选区、浏览器标注、关联的 Issue/PR 等现在会作为紧凑的上下文卡片出现在对话中,而非成片的原始文本。
  • 会话标签页(可选启用): 网页/桌面端标题栏可以将打开的会话显示为浏览器风格的标签页(设置 → 通用 → 导航)。切换标签页会切换整个工作区;关闭标签页不会触及会话本身。
  • 会话: 在大型工作区中切换速度大大加快——切换时侧边栏不再重建,最近查看的会话会恢复其已渲染的消息;在加载了数千个会话的情况下,端到端切换时间大约减半(感谢 @c-w-xiaohei)。
  • 权限: 卡片支持键盘操作:Alt+Enter 允许一次,Alt+Shift+Enter 总是允许,Alt+Backspace 拒绝——按键信息印在按钮上。自动接受切换快捷键为 Cmd/Ctrl+K, A。
  • 会话: Cmd/Ctrl+Alt+左/右方向键可按照浏览器历史记录风格,在您在此窗口中打开的会话间前后导航;若启用了会话标签页,则改为在相邻标签页间移动。
  • Git: 在提交信息框中按 Cmd/Ctrl+Enter 即可提交。差异审查使用 Alt+下/上方向键在已更改文件间移动,到达时自动展开折叠的文件。
  • 聊天: Cmd/Ctrl+Shift+T 现在可以在所选模型提供的所有思考级别间循环,而不是在到达末尾后跳过级别(感谢 @nimobeeren)。
  • 面板: 上下文轨道新增配置按钮——对话框可选择轨道显示哪些面板。隐藏的面板会保留其数据,仍可通过命令面板访问,并留下数字切换器,因此数字始终与您看到的图标匹配。
  • 聊天: 评论回复——在聊天消息中选择文本(或在文件中渲染的 Markdown 预览),选择“评论”即可附加该确切引用,当能定位时会附上源行范围,并附带您的注释。输入注释时,选中的文本会保持高亮。
  • 差异: 像代码审查一样评论——悬停一行时在边栏显示 +;点击或拖拽跨行会打开该范围的评论编辑器,样式与聊天评论一致。
  • 编辑器: 悬停或点击上下文芯片会打开所有附件的堆叠预览,可在发送前就地编辑评论或移除项目。
  • 移动端: 聊天评论输入框会精确覆盖在编辑器上方,并随键盘移动;Enter 在此处换行,附件按钮在旁边。
  • 终端: 终端不再在您切换后消失——每个标签页和设备都会显示已在服务器上运行的终端,且后台标签页在空闲清理中得以保留。
  • 搜索: 所有可搜索的选择器现在使用统一的匹配器——最佳匹配优先,多词查询可任意顺序,忽略标点符号(例如 “gpt4o” 可匹配 “gpt-4o”)。Ctrl/Cmd+P 匹配完整文件路径。
  • 聊天: @文件提及会按匹配质量将文件和目录一起排序,长路径会保留文件夹和文件名的可见部分。
  • 聊天: 新增“流式传输时跟随新内容”复选框(设置 → 聊天 → 流式传输,默认开启),关闭后将完全停止自动跟随;关闭后,一旦回复内容超出可见区域,“滚动到底部”提示条会立即出现。
  • 命令面板: 较少使用的命令(固定会话、复制会话 ID、多重运行启动器、归档会话、笔记、待办事项、状态、主题)可通过输入查找,但不会显示在首屏。
  • 移动端: 将浏览器窗口缩小至手机尺寸以下会切换到移动布局(扩大后恢复);旧版/新版移动布局设置已移除。
  • 浏览器: 使用浏览器工具打开页面的代理现在不会弹出浏览器面板(或切换您所在的界面)——页面会在后台加载,轨道是您查看它的地方。
  • 用量: “Command Code”磁贴已移除——其官方 API 不提供用量数据,因此该磁贴只能失败。
  • 桌面端: 中继配对的默认主机不再在每次重启时都显示“无法连接远程服务器”界面——存储的直接地址(通常是配对机器的自身回环地址)探测失败后,现在会正常启动应用并连接到中继,当直接地址再次响应时会自动恢复使用。
  • 移动端: 在安卓浏览器中,编辑器在聊天中也保持位于键盘上方——键盘可能遮挡它且无法滚动查看;草稿视口的固定现在覆盖了安卓上的聊天屏幕。
  • 认证: 过期的 OpenChamber 登录会在几秒内通过带有“登录”按钮的横幅通知,而非通过操作失败来发现。发送会暂停直到登录,之后失败加载的对话会重新加载。
  • 聊天: 发送失败后,您输入的提示词会返回到输入框——无论原因是什么——而不是丢失在错误提示中;发送过程中切换会话,提示词会进入该会话的草稿。
  • 聊天: 打开会话或调整面板大小可能导致视图停留在最后一条消息下方的大片空白区域;现在列表会返回真实末尾,调整宽度时,位于底部的阅读器会保持在底部。
  • 聊天: 提示轨道和消息跳转在布局完成测量后会精确落在目标上,并且点击轨道最后一项总是有效。
  • 桌面端: 不同项目的两个窗口不再相互干扰——一个窗口的会话切换可能使另一个窗口在您输入时采用其项目。通知点击和 openchamber:// 链接现在只在一个窗口中打开,而非所有窗口。
  • Git: 分支的 PR 徽标不再会链接到陌生人的 Pull Request——当贡献者的分叉添加为远程仓库后,仅共享分支名的已关闭分叉 PR 不会再显示在本地分支上。
  • 聊天: 流式传输的代码块在流式传输时进行语法高亮,完成的消息在填入行号时不再跳动。
  • 聊天: 完成的回复不再闪烁——工具卡片在完成时不再重播其显示动画,窗口调整大小也不会再使对话在底部晃动。
  • 移动端: 在流式回复期间滚动再次工作——拖拽会立即接管,提示条出现,加载更早内容不再会将您抛到页面底部。
  • 修复了消息中的文件链接被检查两次,且第一次检查使用了错误项目目录的问题。
  • 修复了当设置响应乱序到达时,所选项目或会话会短暂跳回之前选项的问题。
  • 修复了会话在与 OpenCode 半开放连接后永久停留在“加载会话”的问题——停滞的读取现在会超时并重试(感谢 @herjarsa)。
  • 文件: 超出可编辑大小限制的预览会显示整个文件,并进行虚拟化处理,因此大文件不再使应用卡顿(感谢 @gaojunran)。
  • VSCode: 聊天视图在慢速或远程连接时不再停留在加载屏幕上(感谢 @VinciYan)。
  • 终端: 移动端键盘不再将每个命令的首字母大写。
  • 桌面端: 新安装或更新的构建版本不再从缓存中加载先前版本的界面。
  • 设备: 重新配对手机会保留设备的现有名称,而非重置为“OpenChamber Mobile”。
  • 中继: 当应用重启而另一个本地 OpenChamber 进程正在运行时,配对设备不再会被注销。
  • 会话: 标题现在也能查找归档会话,因此归档会话的标题不再丢失。
  • 文件: 编辑器工具栏始终停靠在文件标签页下方;浮动的悬停工具栏及其设置已移除。
  • UI: 聊天的滚动淡入淡出效果恢复,首次打开未缓存会话有淡入效果,时间线对话框适配小屏幕(感谢 @gaojunran),OpenCode 通知共享一种样式,草稿目标菜单保持在聊天区域内,Linear 和 Cloudflare 工具显示自己的图标,侧边栏工具提示在快速划过时不再出现,以及 btw 面板的阴影与编辑器匹配。

更新内容 (原始)

[1.21.0] - 2026-08-26

  • Chat scrolling rebuilt around your message. Sending parks your message near the top and the reply streams in below it, gliding smoothly a paragraph at a time. Scrolling up immediately hands you the wheel; the scroll-to-bottom pill carries the model’s working status while you’re away.
  • Keyboard shortcuts redesigned: single chords for everyday actions, a Cmd/Ctrl+K leader for two-step open/go actions, held Cmd/Ctrl+digit for session tabs and Cmd/Ctrl+Option+digit for panel surfaces. Shortcuts work on non-English keyboard layouts now, tooltips show the binding you actually have set, and old custom bindings reset once. The full map lives in Settings → Shortcuts (registry contributed by @ChangeHow — thanks!).
  • Chat context attachments: diff comments, terminal selections, browser annotations, linked issues/PRs and the rest now appear in the conversation as compact context cards instead of walls of raw text.
  • Session tabs (opt-in): the web/desktop header can show open sessions as browser-style tabs (Settings → General → Navigation). A tab switches the whole workspace; closing one never touches the session itself.
  • Sessions: switching is much faster in large workspaces — the sidebar no longer rebuilds on switch and recently viewed sessions restore their rendered messages; end-to-end switch time roughly halved with thousands of loaded sessions (thanks to @c-w-xiaohei).
  • Permission: cards answer to the keyboard Alt+Enter allows once, Alt+Shift+Enter allows always, Alt+Backspace denies — the keys are printed on the buttons. The auto-accept toggle got Cmd/Ctrl+K, A.
  • Sessions: Cmd/Ctrl+Alt+Left/Right steps back and forward through the sessions you opened in this window, browser-history style; with session tabs enabled it moves between neighbouring tabs instead.
  • Git: Cmd/Ctrl+Enter in the commit message box commits. Diff review moves between changed files with Alt+Down/Up, expanding a collapsed file on arrival.
  • Chat: Cmd/Ctrl+Shift+T now cycles through every thinking level offered by the selected model instead of skipping levels after reaching the end (thanks to @nimobeeren).
  • Panels: the context rail got a configure button — a dialog chooses which panels the rail shows. Hidden panels keep their data, stay reachable from the command palette, and leave the digit switcher, so digits always match the icons you see.
  • Chat: comment on a reply — select text in a chat message (or a rendered markdown preview in Files) and choose Comment to attach exactly that quote, with a source line range when it can be located, plus your note. The selection stays highlighted while you type.
  • Diff: comment like a review — hovering a line shows a + in the gutter; clicking or dragging across lines opens the comment editor for that range, styled like the chat’s comments.
  • Composer: hovering or tapping a context chip opens a stacked preview of everything attached, where a comment can be edited in place or an item removed before sending.
  • Mobile: the chat comment input overlays the composer exactly and rides the keyboard; Enter makes a new line there, with attach on the button.
  • Terminal: terminals no longer vanish behind your back — every tab and device shows the ones already running on the server, and background tabs survive the idle cleanup.
  • Search: every searchable picker uses one matcher now — best matches first, multi-word queries in any order, punctuation ignored (“gpt4o” finds “gpt-4o”). Ctrl/Cmd+P matches whole file paths.
  • Chat: @ file mentions rank files and directories together by match quality, and long paths keep the folder next to the file name visible.
  • Chat: a “Follow new content while streaming” checkbox (Settings → Chat → Streaming, on by default) turns automatic following off entirely; with it off, the scroll-to-bottom pill now appears as soon as the reply grows past the visible area.
  • Command palette: rarely used commands (pin session, copy session ID, multi-run launcher, archived sessions, notes, todos, status, theme) are found by typing but stay off the first screen.
  • Mobile: narrowing a browser window past phone size switches into the mobile layout (and back when widened); the old/new mobile layout setting is gone.
  • Browser: an agent opening a page with the browser tool no longer pops the browser panel open (or switches the surface you’re on) — the page loads in the background and the rail is where you peek at it.
  • Usage: the Command Code tile is gone — their official API exposes no usage data, so the tile could only fail.
  • Desktop: a relay-paired default host no longer greets every restart with the “Remote Server Unreachable” screen — the stored direct address (often the pairing machine’s own loopback) failing its probe now boots the app normally and connects over the relay, picking the direct route back up automatically when it answers again.
  • Mobile: on Android browsers the composer now stays above the keyboard in the chat too — the keyboard could cover it with no way to scroll it into view; the draft screen’s viewport pinning now covers the chat screen on Android.
  • Auth: an expired OpenChamber login is announced within seconds by a banner with a Log in button, instead of being discovered through failing actions. Sending pauses until login, and a conversation that failed to load reloads itself afterwards.
  • Chat: a failed send returns your typed prompt to the input — whatever the reason — instead of losing it to an error toast; a mid-send session switch lands it in that session’s draft.
  • Chat: opening a session or resizing panels could strand the view in a large empty space below the last message; the list now returns to the real end, and a width resize keeps a reader who was at the bottom at the bottom.
  • Chat: prompt-rail and message jumps land exactly on the target once the layout finishes measuring, and clicking the last rail item always works.
  • Desktop: two windows on different projects no longer hijack each other — one window’s session switch could make the other adopt its project mid-typing. Notification clicks and openchamber:// links now open in one window instead of all of them.
  • Git: the branch’s PR badge no longer picks up a stranger’s pull request — with contributor forks added as remotes, a fork’s closed PR sharing only the branch name could show up on the local branch.
  • Chat: streamed code blocks are syntax-highlighted while streaming, and finished messages no longer jump when line numbers fill in.
  • Chat: finished replies no longer flicker — tool cards stopped replaying their reveal animation on completion, and window resizing no longer throws the conversation around at the bottom.
  • Mobile: scrolling during a streaming reply works again — a drag immediately takes over, the pill shows up, and load-older no longer throws you to the bottom.
  • Fixed file links in messages being checked twice, and against the wrong project directory on the first pass.
  • Fixed the selected project or session briefly jumping back to a previous choice when settings responses arrived out of order.
  • Fixed sessions staying on “loading sessions” forever after a half-open connection to OpenCode — stalled reads now time out and retry (thanks to @herjarsa).
  • Files: previews above the editable size cap show the whole file, virtualized so huge files no longer freeze the app (thanks to @gaojunran).
  • VSCode: the chat view no longer sticks on its loading screen on slow or remote connections (thanks to @VinciYan).
  • Terminal: mobile keyboards no longer capitalize the first letter of every command.
  • Desktop: a freshly installed or updated build no longer loads the previous version’s interface from cache.
  • Devices: re-pairing a phone keeps the device’s existing name instead of resetting it to “OpenChamber Mobile”.
  • Relay: paired devices no longer get logged out when the app restarts while another local OpenChamber process is running.
  • Sessions: headers now find archived sessions too, so an archived session’s title no longer goes missing.
  • Files: the editor toolbar is always docked under the file tabs; the floating hover toolbar and its setting were removed.
  • UI: the chat’s scroll fades are back, the first uncached session open fades in, the timeline dialog fits small screens (thanks to @gaojunran), OpenCode notices share one style, draft target menus stay inside the chat area, Linear and Cloudflare tools show their own icons, sidebar tooltips no longer appear on passing hover, and the btw panel’s shadow matches the composer.

下载链接