Repository navigation
Releases
v3.1.2
亮点
- 远端 SSH 会话能用了:此前选 SSH 连接后界面一直停在「连接中」,发出去的消息一个字都到不了远端 claude —— 启动脚本把它的输入接到了 base64 管道上。本机模式不受影响,一直正常。
- 开窗那一下不再错位:加载占位照抄真实界面(侧栏导航、顶栏、连接页的整块看板),骨架与内容用同一套扫光;数据几十毫秒就回来时直接出结果,不再闪一下灰条。
- 改代码和取结果更顺手:
edit_files可以按行号整行改写,匹配不上时告诉你「最接近处」差在哪;后台命令的结果没被及时取走也不会两分钟就没了。
更新摘要
远端 SSH 连接修好了:启动脚本把远端 claude 的输入接到了管道上,消息发不过去,界面就停在「连接中」。这一版还重画了开窗时的加载占位,让它跟真实界面一致、加载快时不再闪;工具层补上按行号改写、失败定位与结果保留,终端标签补上运行态与撤销关闭。
新增
edit_files增加行号模式:条目带startLine/endLine时,把这几行整行换成newString(为空即删除),oldString只需是这几行里一小段好写的文字,用来防行号过期——对不上就拒写并给出当前首行。转义层级多的文本(代码里的字符串、正则、路径)不必再把原文一字不差地写进 oldString。不能与replaceAll/expectCount同用;编码、行尾、备份与普通替换一致。edit_files匹配失败时给出「最接近处」:从第几行开始、前几行一致、第几行不同,并贴出文件原文与 oldString 对应行;能识别「只差缩进空白」「反斜杠个数不同(转义层级)」「全角 / 半角符号」三类;连首行都找不到时明确提示可能改错文件或已被改过。省掉一次重新读文件的往返。- 终端标签常驻显示运行态:CC 自报的「在干活 / 等确认 / 完成 / 出错」与普通 shell 命令结束汇到同一套徽标,配未读标记;标签栏右端加「待处理 / 已断开」两档汇总,标签滚出视野时点一下就跳过去。顺手补了撤销关闭(8 秒窗口,连接先留着)、清空输入与 Alt 列选。
变更
- 后台命令的结果没被取走时不再 2 分钟就清掉:未读过的至少保留 30 分钟,读过(wait_command / get_command_output 拿到了结束状态)的照旧按宽容期清理。此前隔一会儿再来取会拿到「未知的 handle」,只能整条重跑。后台名额满时先腾读过的,仍不够才腾没读过的。
search_files结果不完整时只给一条说明(列出几条、因字符预算省略几条、是否到了条数上限),不再三条提示、数字互相对不上;条数上限被压低但没截到时不再提示。- 开窗那一下的加载占位改成照抄真实界面:侧栏五项导航、顶栏、以及连接页的 12 列看板(靛蓝状态卡 + 四张指标卡 + 健康度/用量 + 接入向导),不再画成三张竖排白卡;骨架块统一走扫光,与页面内的加载态同一套语言。深色与玻璃主题开窗也不再先闪一下实色白壳。
- 数据加载快到看不见时不再闪一下骨架(150ms 内回来的直接出结果),其余几个标签页的代码在首屏空闲时预取,切换时基本不再出现占位。
修复
- 对话界面选 SSH 连接在远端跑时一直停在「连接中」、没有任何回应:远端启动脚本是经管道喂给 bash 的,claude 接到的输入是那根管道而不是 SSH 通道,发出去的消息一个字都到不了它。改为把脚本作为参数传给 bash,输入直通 claude。本机模式不受影响。
- 并发调用
run_command时偶发的「启动命令失败:参数错误」:进程包装的注册顺序写反,子进程没有按预期挂起启动,之后又对可能已退出的进程执行恢复操作。本机 16 线程并发压测,短命令 192 次里失败 7 次;改回正确顺序后同样压测 0 次失败。 - 毛玻璃主题下的版本徽章统一成同一档面料(此前同一个版本号在侧栏槽位、关于页 chip、更新历史胶囊上是三种圆角与投影)。
- Release 页面正文不再为空,改由 CHANGELOG 的更新说明提供。
v3.1.1
亮点
- 长命令不再白跑:前台命令跑过约 50 秒会自动转后台,用
wait_command接着等,结果一个字不丢(此前客户端约 60 秒就断开,命令却还在跑)。 - 返回体积瘦身:读文件默认不再套一层 JSON 转义,命令输出省略空字段、搜索结果带预算,同样的上下文能装更多真内容。
- 点「停止」不再像报错:被停下的工具显示中性的「已中断」,不再是一排红色「失败」。
更新摘要
工具调用不再白跑:单次操作守住客户端的时限,跑久了自动转后台接着等;返回体积明显变瘦,中文乱码、带引号的 cmd 命令、白名单目录重复等一批老毛病一并修好。对话侧补上读屏播报、流式光标与长会话窗口化。
新增
- 对话侧:读屏软件能听到「开始执行 / 等待批准 / 本轮完成」四类播报(流式期间不逐个字念);生成中正文末尾显示光标;每条回复下方常显「复制 / 重新生成」,不必再靠鼠标悬停;长会话只渲染最近 200 条,往上翻可加载更早(搜索仍覆盖全部)。
read_files/run_command/wait_command新增可选参数format:"raw":正文与命令输出不再包进 JSON 字符串(换行 / 引号 / 反斜杠不再转义)。read_files 每个文件一个文本块,首行元信息 JSON、之后原文;命令类是「状态 JSON 块 + stdout 块 +[stderr]块」。省略时行为不变;内联上限仍按 JSON 口径计,换格式不会越线。edit_files匹配失败时给出「最接近处」:从第几行开始、前几行一致、第几行不同,并贴出文件原文与 oldString 对应行;能识别「只差缩进空白」「反斜杠个数不同(转义层级)」「全角 / 半角符号」三类;连首行都找不到时明确提示可能改错文件或已被改过。省掉一次重新读文件的往返。
变更
- 对话流式渲染分层:涨字时只重画末尾那一块,长会话滚动与搜索不再整棵树重算,切回旧会话的白屏时间明显缩短。
- 工具参数 schema 带上说明:
ToolSchema派生宏新增#[schema(desc = "..", values = "a|b")],分别生成description与enum。此前 inputSchema 只有类型,outputMode的可选值、deadlineMs的单位与默认值、diff的档位等全靠模型猜。只给容易猜错的参数标注(search_files / read_files / edit_files / run_command / wait_command / get_command_output),不搬开发者文档注释,避免 tools/list 暴涨;标注写错会直接编译失败。 read_files默认改为format:"raw":每个文件一个文本块,首行元信息 JSON,之后是不转义的原文。读文件占全部返回量约 39%,代码里密集的换行、引号、反斜杠进 JSON 都要转义。需要旧形态传format:"json";batch 里的 read_files 子调用未指定时仍是 json(子结果要整体再转义,raw 在那里省不了字符,还会把多文件拆乱)。search_files工具描述更新:去掉过时的「with context lines」(默认已是 0 行),写明长行截断、返回预算和条数上限。search_files增加返回预算:命中行超过 500 字符时只保留命中点附近一段(首尾…标记,lineChars给出原长度),上下文行同样截断;命中列表总量按 wire 口径控制在约 43,000 字符内,超出时整条省略后面的命中并说明「已列出 N 条、省略 M 条、未列出的不代表不存在」,建议改用files_with_matches/count;maxResults/headLimit上限 1000,超出压值并注明。审计里曾有单次返回 13.5 万~180 万字符,超过客户端约 5 万字符的门槛后只剩 2KB 预览,等于白跑一次。search_files返回更紧凑:Windows 路径改用/(仍是绝对路径,可直接传给其他工具;反斜杠在 JSON 里要转义、进 batch 再翻倍);type为content/name的条目不再带type;只剩路径的条目(files_with_matches、按文件名搜索)直接是路径字符串。skipped/error条目不变。run_command没传cwd、但命令以cd <路径>开头时,用该路径作起始目录(同样过白名单),不再报cwdFallback。含变量 /~的路径不推断。有意不做「记住上一次 cwd」:没有连接级标识,只能按来源 IP 记,同机并行会话会串到别人的目录。- server instructions 删掉与 tools/list 逐条重复的工具清单(约 -700 字符),硬规则第 4 条补充「前台超过约 50 秒自动转后台」,新增第 5 条引导使用
format:"raw"。 search_files上下文行默认从 2 改为 0,并且没有上下文时不再输出空的contextBefore/contextAfter:多数搜索只为定位行号,默认带的前后 2 行常是长条目,实测单条命中多出约 600 字符。需要上下文时显式传context。batch子结果展平:子工具返回的 JSON 文本直接内嵌为data(普通文本为text,附加文本块为notes),不再以「JSON 里套 JSON 字符串」的形式被转义两次;含图片或带isError的子结果仍按原样放在result。路径 / 引号密集的结果体积约降 10–15%,审计字节按展平后的实际体积记。run_command/wait_command返回省略默认值字段:stderr 为空时不再带stderr/stderrTotalBytes/stderrTruncated,值为 0 的*DroppedLines/*OmittedLines与值为 false 的*Truncated一律省略(缺失 = 默认值);timedOut/exitCode等状态字段保留。get_command_output依赖*TotalBytes算偏移,不变。wait_command默认等待从 120s 改为 50s、上限从 600s 改为 55s(超出时压到上限并用timeoutNote写明);未显式传tailLines时,命令仍在跑的中间返回只带最后 5 行,结束或命中untilPattern时仍给 40 行。
修复
- 点「停止」后,正在跑的工具不再显示成一排红色「失败」:改为中性的「已中断」,文案说明「没有拿到执行结果(这一轮被停止了)」。统计口径不变(仍算未成功,以免变更集与失败计数失真)。
- 对话界面九处明确缺陷:任务列表的勾选框终于显示对(此前已完成与未完成长得一样);工具行的悬停提示能看出改的是哪个文件;运行中按 Ctrl+Enter 不再误触「发送」;错误详情逐条列出、不再吞掉合法的重复行;Clawd 侧栏不再永久占用左侧 76px。
- 「卡住了」终于看得见:本轮超过 30 秒没有新记录时,浮条与 Clawd 会显示「N 秒无新记录,仍在运行」。此前这条提示从未真正出现过(消息时间戳恒为空)。
- 命令输出里的中文变乱码:中文 Windows 上 ping / dir / netsh / Java / Maven 等按系统代码页(GBK)输出,
run_command/wait_command/get_command_output一律按 UTF-8 解码,报错变成满屏�。现在按行解码:合法 UTF-8 的行原样,否则(仅 Windows)按 GBK 无错解码,都不行才退回�。按行是为了兼顾 Git Bash 的 UTF-8 与 Windows 工具的 GBK 混在同一份输出里的情形。输出被截断时,切在中文字符中间的 UTF-8 行仍按 UTF-8 处理(只坏切点那一个字),不会被 GBK 「无错」解成整行乱码(实测约 1/4 的切点会触发)。 - 前台命令转后台后
timeoutMs仍然生效:跑满就杀整树(wait_command 报terminated),卡死的命令不再永远留在后台;会话 cwd 捕获用的临时文件在命令结束后删除。 cd 相对路径 && …不再被推断为起始目录:相对路径会按服务进程自己的当前目录解析,再叠加命令里的cd就成了src/src。- 工具 panic 时审计记为「服务端处理异常」,不再误记成「客户端断开」。
- batch 整次调用有了时间预算(约 50s):客户端约 60s 断开的是整个 batch,此前几条长操作加起来越线时,整条返回作废、里面的写操作却已执行。现在预算用完就不再开始后面的子操作,返回
notExecuted并说明;batch 内的 run_command 按剩余时间转后台,wait_command 的等待、search_files 的软超时也压到剩余时间以内。 background:true的命令在会话模式下不再把 cwd 捕获临时文件留在 %TEMP%。- run_command 的描述与
timeoutMs说明更正:转后台后跑满timeoutMs仍会被终止,不是「不杀进程」。 - 客户端中途断开的工具调用在审计里不留任何记录(处理中的请求被直接取消,走不到写审计的分支),面板看不到、事后也无法回查。现在会补记一条失败审计:「客户端在 N 秒时断开了请求…」,输出字节记 0。
- 白名单根目录会重复(实测同一目录出现两次,
list_allowed_roots也返回两遍):加载、保存、切换配置组、导入配置时统一去重,保留首次出现的;比较时忽略\\?\前缀与末尾分隔符,Windows 上再忽略大小写与斜杠方向。 run_command在 cmd 壳层下,只要命令里带双引号(如cd "D:\a b"、echo "x")就必然失败,报「文件名、目录名或卷标语法不正确」:命令按普通参数传给cmd /C,Rust 按 MSVC 规则把"转成\",而 cmd 不认这套转义。现在 cmd 改为原样传参cmd /S /C "<命令>"。Git Bash / sh 壳层不受影响。- 单次工具调用超过约 60s 就拿不到任何结果:Claude Code 的 HTTP 传输对「等第一个字节」有约 60s 的时限,而服务端要等工具跑完才发响应(审计全量历史无一次超过 60s;
wait_command等 65/90/300/600s 全部失败、等 55s 全部成功)。旧默认值全部越线:wait_command默认 120s 必失败;run_command前台默认 120s,跑 60–120s 的命令客户端先断开、一个字拿不到,命令却继续跑到 120s 被杀。现在前台命令跑到约 50s 仍未结束就自动转后台(不杀进程,接管已有输出缓冲),返回backgrounded:true+handle,用wait_command接着等;timeoutMs≤ 50s 的调用仍按旧语义到点杀。
v3.1.0
更新摘要
3.1.0 把「对话」做成了与终端并列的主力工作区:一个窗口可开多个会话并分屏浏览,历史会话回到侧栏,支持改名、归档、编辑重发与分叉;正文升级为全量 Markdown 渲染,新增 @ 引用文件、TodoWrite 任务卡、会话内搜索、命令面板拼音检索与快捷键速查层;审批卡可直接查看 diff,并可一键放行同类调用。终端修掉了 ssh 启动探测、回显重复输入、等待命令漏判等一批稳定性问题;MCP 工具在大文件、长输出与 GBK 源码场景下更省对话上下文。更新弹框同步升级为品牌双栏样式。
新增
- 升级更新弹框并完善终端交互
- 升级 Clawd 对话小队与本轮插话交互
- 优化对话工作区交互与执行反馈
- 对话页对齐柔光画布、动效扩展与输入区收缩
- 升级对话工作区与日常聊天交互
- 对话页接线(时间轴 / 导航 / 导出 / 草稿),并修 6 处交互缺陷
- 对话页新增四个能力模块(时间轴标记 / 按轮导航 / 导出 / 草稿存储)
- 审批卡支持「以后都放行这类调用」
- 侧栏等批准行显示剩余秒数 + 分组头不再写「0 在跑」
- 审批卡直接看 diff(不再让人读转义 JSON)
- 等批准时发桌面通知(此前只有轮结束有)
- 流内轮次脚注(四类 token / 输出速度 / 双时长)
- 轮次用量的数据源(生成时长 / 首 token / 工具耗时)
- 对话详略三档(详细 / 标准 / 精简)
- 进程中途退出可见(侧栏 dead + 流内横幅)
- 图片输入接入 Composer(粘贴 → chips → 发送 → 回显,批 C)
- 图片输入协议层(探针已通,批 C)
- 对话页 diff 井排视图与词级高亮 + 审批面板内嵌 diff
- 对话页呈现·检索·引用全面升级 + 命令面板拼音 + 审计事件推送
- 3-2 S1 托管通道纯函数层 + 探针修复
- 审批即审计(批4-2)
- 上下文税仪表(批4-1)
- 消息编辑重发与分叉(批3-3)
- 侧栏改名与归档(批3-1d)
- 历史会话回侧栏 + 同目录并发提示(批3-1c)
- 对话页多会话——每条会话一个 pane + 侧栏(批3-1b)
- 对话多会话容器与命令显式带 id(批3-1a)
- 对话页快赢七项与对齐六项的前端落地
- CC 对话链路真协议化、历史对话、审批自动放行与会话用量账
- CC 对话补齐三处缺口——远端路径、远端工作目录、提问回答
- CC 对话全链路——进程复用、事件流水、内联审批
- stop_command 保留条目与输出,新增 terminated/outputComplete 语义
- MCP 返回上下文优化批B——read_files 超限即拒、batch 返回预算、搜索软超时、长命令后台化
- MCP 返回上下文优化批A——run_command 保存/返回分离、compact 默认、readOnlyHint 下发
- 对话输入框支持 @ 引用文件 / 目录(设计稿《对话页-@引用与排版偏好》):打出
@浮出补全面板(SlashPanel 同款形态与键位,IME 组词期放行),本机目标的根层为「本会话目录置顶 + 白名单根」、远端目标为本会话远端 cwd;@desktop/src/ccM式路径逐段自动下钻(含 Windows 绝对路径的前缀跳级),选中目录续写路径继续下钻、选中文件插入@路径收尾。远端列目录复用ssh_sftp_list;browse_directory新增include_files参数(目录选择器行为不变),BrowseEntry补发isDir(前端类型早有此字段,此前从未发过)。 - 对话正文排版偏好:输入区底行「Aa」循环 小 / 中 / 大(12 / 13 / 14.5px,行高联动),localStorage 全局记忆、所有 pane 即时生效;刻意只作用于助手与用户气泡(工具行 / 思考是 metadata 层,跟随变字号会把 24px 行撑乱)。管道走 CSS 变量,不穿 props 链。
- 对话页正文升级为全量 Markdown 渲染(设计稿《对话页-Markdown与TodoWrite卡片》):标题 / 列表 / 表格 / 引用 / 链接 / fenced 代码块(语言角标 + 悬浮复制,视觉沿用 MonoBlock 的 border-l-2 家族)。实现走 marked 词法 → React 元素:零 innerHTML、不引 DOMPurify,原始 HTML 不解析原样转义展示,链接只放行 http(s)/mailto;单换行渲染为换行(breaks,与旧 pre-wrap 行为一致)。用户气泡同步升级(与正文同一渲染器)。
TodoWrite渲染为「任务计划」进度卡:进行项呼吸点高亮、完成项划线、全部完成时头部与进度条转 success;同一会话只有最新一张展开,历史更新折叠成一行(每次调用都是全量列表,不折叠会刷屏)。- 助手正文悬浮复制(工具输出 / 思考全文此前已有,正文补齐;
focus-visible对键盘用户常显)。 - 会话内搜索(Ctrl+F,设计稿《对话页-会话内搜索》):浮层搜索条不占布局,当前命中实底反色、其余 wash 底;Enter / Shift+Enter 翻页、Esc 关闭并把焦点还给输入区(Esc 带 IME 守卫)。搜索范围 = 可见文本(用户 / 助手的 markdown 叶子、思考标题、工具行摘要),索引口径与渲染层逐字对齐(叶子序号 + 区间),不存在「计数说命中、界面找不到」。
- 命令面板检索升级(设计稿《命令面板-拼音模糊与最近使用》):拼音全拼 / 首字母匹配(敲
mx出「模型」、qk出「清空」,注音槽显示命中的音节);label 子串 > 子序列 > keywords > 拼音的分数序 + 命中字符加亮;空查询时「最近使用」(frecency:次数 × 距今衰减,本机 localStorage,上限 50 条)置顶。键盘链路与高危确认弹窗零改动。 - 快捷键速查层:非输入态按
?唤起,全局 / 对话页 / 终端页三组键位;登记处单一真源在lib/shortcuts.ts(加键位要连实现一起改,防速查层谎报)。 - 对话流长会话渲染跳过:消息列的每条消息离屏后跳过 paint/layout(
content-visibility: auto+ 记忆高度),一条跑满 4096 条事件的会话不再为上千个离屏节点付每 tick 的布局成本;锚点跳转 / 搜索命中对折叠节点依旧有效(盒子一直在,内容按需渲染)。 - 审计日志改为事件驱动刷新:后端每条审计落盘即 emit
audit:appended(write_audit_log单一漏斗,覆盖 MCP 工具调用、备份还原/删除、配置与撤销操作的全部写入方),日志页从 10s 一刷变成逐条活起来;前端 500ms 防抖失效缓存(batch / 高频调用时一次失效顶一串事件),轮询降级为 60s 兜底(性能面板 30s → 60s 同理)。窗口隐藏时不失效(规则 8)。 - 状态刷新消费后端既有的
mcp-status-changed事件(start/stop/restart 时后端一直在发、前端从未听过):MCP 启停即时点亮/熄灭,不等 5s 轮询;轮询保留——uptime 等实时字段仍靠它跳动。 - 新增依赖
marked(仅用词法)与pinyin-pro(拼音索引)。 - 对话页「本会话改动」面板改为按审批点分组:用协议原样带下来的
tool_use_id精确对上「我点的那一次允许」与「它实际改了什么」,每个审批点可单独撤销,也能按轮次整组撤销。有审计备份的用备份还原;CC 内置Edit/MultiEdit走反向补丁(逆序应用、每处必须恰好匹配一次,任一处对不上就整体拒绝、一个字不动);内置Write只有工具结果明确说「创建了」才给删除入口,删除前还会逐字节比对当前内容。撤不了的写明原因(内置Write覆盖了已有文件、批量写只留一个备份、历史会话查不到当时的审计)。 search_files增加encoding参数(如"gbk"):非 UTF-8 文件按指定编码转码后再匹配,中文关键字终于能搜到 GBK 老工程源码;合法 UTF-8 文件始终不转码,混合编码目录也安全。中文关键字零命中且未指定编码时,返回里会提示加encoding重试。- 对话页工具输出 / 思考全文 / 审批详情增加悬浮「复制」按钮(复制全文,截断显示不影响复制内容)。
- 审批 / 提问卡的「60s 后自动拒绝」改为真实走秒的倒计时(此前是印死的常量)。
- 发送键可选:默认 Enter 发送 / Shift+Enter 换行(主流习惯),可在输入区底行一键切回「Ctrl+Enter 发送」(入口就是原来那句提示本身,不新开设置页);两档下 Shift+Enter 都只换行。
- 会话条的工作目录 chip 点开可改(此前只在空状态能改,说过第一句话就成了死文本,换项目只能关会话重开):输入框手填、本机可「浏览…」选文件夹、可恢复默认;说过话的会话会明说「下一句会开一条新会话,模型看不到这段对话」。
- 图片可以直接拖进输入框(与粘贴同一条通道;只接管带
Files的拖拽,拖一段文字进来照常插到光标处),拖拽期间整块输入区描虚线并提示「松手添加图片」。 - 最后一条用户消息可「重发」(原地再问一遍,不另开会话)—— 上一轮因为网络 / 进程崩溃没收尾时,用户要的是这个,不是多开一个 pane。
- 等批准时的桌面通知(此前只有轮结束有):标题带会话目录末段(多会话时回答「哪一条」)、正文写工具与动什么,并说明 60 秒不处理会自动拒绝。四道门——通知开关、窗口不在前台、待批只有这一条、20 秒节流——都是为了让它不被用户关掉。
- 侧栏「等批准 / 等选择」的行上显示剩余秒数(最后 20 秒转警示色):这 60 秒里切到别的会话,此前唯一的线索是一个 6px 圆点,超时即静默失败。
- 审批卡新增「以后都放行这类」:把这次的工具与参数加成一条自动放行规则(规则文本由后端拼,glob 元字符全部转义成字面量,
ls *.rs里的*不会顺手放行ls *.rs && rm -rf /),加完即放行这一次;规则可在设置页撤销。取不到主参数的调用不给这个按钮(那时只剩「整个工具全放行」,不替用户决定);配置还没读出来时也不写(那是整字段覆盖,用空表往上写会把已有规则清空)。 - 会话条新增导出对话为 Markdown(复制到剪贴板):标题 + 目录 / 模型 / 导出时间,正文保留助手 Markdown、思考折叠、
Bash的命令与输出(唯一能说明「凭什么得出这个结论」的证据),Edit/Write只写改了哪个文件、改了几处(diff 是过程不是结论)。代码围栏按内容里最长的反引号串自动加长,工具输出里的三反引号不会提前闭合整段。 - 对话流新增「上一条 / 下一条我的提问」翻页钮(与「回到底部」同一条浮条,只在上滚离开底部时出现):几十轮的会话靠滚轮回到某个提问要滑很久,而搜索找的是字、不是轮。到顶 / 到底就不动,不弹提示。
- 对话流新增两条时间轴注释:「已停止 · 这一轮没跑完」与「上下文已清空 · 以上内容模型不再记得」。中断后正文停在半句、工具行停在「已中断」,隔一会儿翻回来分不清是被打断的还是模型本来就这么说;
/clear更极端——界面一个字没变而模型已经忘光。清空线从消息内容推导(那条用户消息是/clear),历史重放也自动在;停止线留在原处不动(停止本身会杀进程,下一条消息必然起新进程,但标记不跟着消失),一条消息都没产出就停时它落在所有消息之前。 - 输入框草稿关窗口不丢:打了一半还没发出去的字按会话落在本机,窗口关掉或重启后回来还在(最后约 400 毫秒内被打断仍可能丢 —— 不去拦关窗,那是拿「窗口关不掉」换这几个字)。此前它只活在一个组件
state里,一卸载就没了,而那段字往往是一整段刚组织好的需求或贴进来的报错栈。只存文字不存图片(一张图是几 MB 的裸 base64,而localStorage是同步 API、只有 5MB 配额,写的时候还会卡输入);超过 2 万字符整条不存而不是截断存(截断会让人重开时发现「少了后半截」,看着像程序吞了数据);当前窗口里没有对应会话的孤儿草稿会一并清掉(否则重启后新建的第二条会话会读到上一个窗口的草稿)。
变更
- docs: 对话页全面升级方案 + 产品定位记录
- docs: CHANGELOG 登记本批对话页 5 处 UI 修复
- docs: CHANGELOG 登记本批对话页改动(4 新增 / 2 变更 / 3 修复)
- docs: 对齐表补「每轮用量与速度」反超项
- docs: 对话 GUI 目标边界收敛「只做本机可跑通,远端 SSH 预留」
- tools: 3-2 S2 远端装配验证脚本
- docs: 批 B(可调节布局)取消,取证结论留档
- 引入 Transport 枚举(批 3-2 S3,只放 Direct)
- tools: CDP 真实时间核验脚本
- docs: 批 C 收尾(探针文档补落地三坑 + 两张规划表同步)
- docs: 补齐优化轨道 §八 并同步批 C 探针结论
- docs: 批4-1 上下文税仪表方案;计划/对齐表补交付
- style: cargo fmt 补齐批3-1d 的 store.rs 格式化
- docs: 批3-2 会话不死方案与探针;开工计划/对齐表补 3-1d/3-3 交付
- docs: 开工计划补 3-1c 交付,对齐表更正改名/归档的批次
- docs: 批3-1c 方案与真机核验(历史区 / 载入三态 / 同目录并发)
- docs: 批3-1b 落地交付与能力对齐表更新
- docs: 批3多会话调研、结构方案、能力对齐表与 0-4 托管探针实测
- docs: 对话 GUI 差距清单、开工计划与批0协议探针追加
- docs: CC 对话客户端调研、成本评估与协议探针报告
- docs: 上下文消耗方案标记批B落地,补两轮自查修掉的 6 处缺陷
- docs: 上下文消耗方案标记批A落地,同步同源五条措辞
- docs: 复核上下文消耗优化方案,修正重复计算的收益并补开工前置条件
- 终端支持标签重命名、标签切换与跨标签搜索快捷键、字号快捷键、分屏窗格关闭和文件多选操作;优化断线状态、重连提示与后台关注提醒。
- 更新弹框采用品牌双栏与大版本号,适配深浅色、毛玻璃、经典外观及窄窗口;统一展示下载、安装待重启与失败状态,下载进度可关闭后重新查看。
- 更新提示区分“稍后提醒”和“忽略此版本”,保留下载完成自动启动安装器;需要应用内重启的平台改为确认重启,并检查对话、后台成员、命令及文件传输状态。
- 修复终端准备期间输入重复发送、终端聚焦时 Ctrl+Tab 失效、批量下载只处理首个文件及并发连接突破软件数量限制的问题;改进多行粘贴确认和非法正则反馈。
- 对话运行中默认“补充当前任务”,通过同一 CLI 在工具边界读取;新增“立即调整方向”和独立“下一轮发送”,Ctrl/⌘+Enter 可立即调整,命令始终延后。
- 插话增加接收、处理和本轮结束回执及文字恢复;重复点击与未确认重试按消息标识去重,失败保留草稿和附件,连接意外断开暂停下一轮队列。Clawd 状态同步显示补充等待与调整进度。
- 对话小队默认展示全部成员:宽窗口常驻右侧,常规及窄窗口在输入框上方横向浏览;成员增加稳定配色、角色配饰、独立动作和实时完成反馈。
- 输入框升级为圆角复合输入面,引用文件与命令可直接操作;窄窗口仍明确显示发送方式,矮窗口自动压缩草稿高度,保留审批、队列与单成员停止链路。
- 对话页对齐全应用柔光画布,阅读区、标题栏与浮层层次更清晰;会话抽屉、队列和执行过程增加轻量开合动效,跟随系统减少动态效果偏好,菜单不再短暂撑高页面。
- 升级对话工作区:常驻会话搜索与新建入口,窄窗自动切换会话抽屉;阅读字号改为 14 / 15 / 16px,默认 15px,模型与执行模式集中到输入区。
- 日常聊天支持逐条查看、编辑和移除排队消息,停止后可明确恢复发送;润色先预览再采用,连续成功操作折叠为执行摘要,连接异常提供诊断与恢复入口。
- 会话花费($)改为替换式累计:CLI 的
total_cost_usd是会话累计值,旧逻辑按轮累加会把第 2 轮显示成「第 1 轮 + 两条累计」的虚高值。 - 对话页的错误提示不再顺手把「运行中」拍成空闲:运行中润色失败、点掉错误横幅不会再触发队列误发(该路径曾造成消息被后端拒收后直接丢失);发送失败撤回乐观状态改走独立的内部动作。
- 实时工具输出 / 入参 JSON 在界面层截断到 16k 字符(与历史入库侧同口径),超长命令输出不再整串进 DOM 造成卡顿,并提示已截断。
- 审批卡直接给 diff(此前一律
JSON.stringify入参):Edit/MultiEdit显示真实改动(多处以 ⋯ 分隔),Write显示即将写入的内容并注明「这里没有改动前的样子」(我们手上确实没有),Bash显示命令,其余才退回 JSON。转义后的\n字面量根本读不出改了哪行,等于让人盲批文件改动。复制按钮仍给无损入参原文。 - 「Aa」正文排版与「详略」从循环钮改成三档分段控件:三档一次摊开、当前档高亮(循环钮看不出有几档、不知道该点几下,
aria-pressed也没有意义)。 - 中断不再清空待发队列:改为暂停自动发送,内容原样留着,提示条上给「继续」。此前是替用户猜「他也不想发那几句」,猜错时后果最重(排了三句想好的话,点一下全没了,而这件事只写在 tooltip 里)。停止请求还在途中(杀进程是异步的)时按发送会等它收干净再发,不再被后端拒成一句「上一轮还在进行」。
- 会话条按「运行参数 / 动作」之间加一条竖线分组(左边模型 / 上下文 / 花费 / 权限,右边改动 / 历史 / 新对话 / 终端);没花钱的会话不再显示
$0.00;侧栏分组头不再给每个组都写一遍「0 在跑」。 - 待审批时的输入框占位符改成「本轮在等批准,现在发的会排队,批准后自动发…」——此前写的「先处理上面的审批,再继续」是谎话,实际能排队。
- 会话条右端的动作区(改动 / 导出 / 历史 / 新对话 / 终端)独立成组件:它与左边的运行参数没有状态往来,只是排在同一行;挪出去后会话条那一条不再逼近体量上限。
修复
- 终端画布上的横幅改用不透明底,恢复横幅可本次忽略
- 终端剥除器扣留治理(空闲冲刷 + pending 上界 + 输入关联闸)
- 探测 ssh 客户端可执行性,跳过存在但跑不起来的候选
- 终端偶尔自己输入 echo(注入时序从猜时间改成等回执)
- wait_command 在命令已结束时漏判 untilPattern
- 同一个远端失败同时显示两条几乎一样的红条
- 紧凑列表的项目符号独占一行,正文下移缩进
- 会话条两行布局右半截大段留白
- 上下文余量条在浅色主题下几乎不可见
- 浮层改 fixed 定位,不再被 pane 边界切掉左半边
- 历史面板浮层向右展开,会被 pane 的 overflow 裁掉
- stop_command 的 outputComplete 断言同样不成立(macOS 收尾窗口)
- 4 条测试写死了 Windows 行为(main 的 CI 从 10-25 起连红四次)
- 对话页交互缺陷(发送键 / 拖图 / 目录 / 重发 / 队列 / stderr / 图片)
- 对话页一轮 UX 修复(回到底部 / 待批准 / 键盘可达 / 超时禁用 / 发送队列)
- 全 GUI 一轮缺陷修复(IME 劫持 / 更新卡死 / 并发与竞态)
- 上下文构成面板的开关按钮关不掉自己
- 对话 GUI 一轮缺陷修复(丢事件 / 丢消息 / 丢滚动位置)
- 上下文税哨兵值不再当字符数落盘
- 侧栏「⋯」菜单被滚动容器裁掉(改 fixed 定位 + 就近向上翻)
- batch 子操作审计按实际进入上下文记字节,外层容器条目不再重复计 token
- env 参数静默失效、搜不到 GBK 里的中文等 4 处工具问题
- 对话页:模型选择 / 上下文构成 / 历史对话 / 本会话改动四个浮层改用 fixed 定位 + 视口 clamp。此前是
absolute right-0,只在锚点靠右时不越界;会话条flex-wrap之后右端那一组会整组换到第二行、贴到 pane 左端,浮层向左伸的前半截被面板的overflow-hidden裁掉 —— 表现不是报错而是文字缺开头(Opus Plan显示成s Plan、「下一轮生效」显示成「效」)。左右两个边界都要管,calc(100vw - …)救不了,因为裁切来自面板而不是视口。 - 对话页:无序列表的项目符号不再独占一行。
list-inside的 marker 属于行内盒,而紧凑列表的li里还包了一层块级<p>,于是圆点自成一行、正文整体下移缩进。 - 对话页:上下文余量条在浅色主题下看得见了。此前轨道用
bg-muted、挂在bg-card的会话条上几乎同色,占用率低时整条只剩一个点,读起来像数字前面多打了个逗号。 - 对话页:会话条两行布局不再右半截大片留白。此前参数与动作全挤在同一个
ml-auto组里,组内换行把两行都推到右端,第一行只剩「目标 + 目录」(1578px 窗口下实测空出约 800px);拆成两组后 flex 先在第一行排参数,放不下才让动作整体落到第二行。 - 对话页:同一次远端失败不再显示两条几乎一样的红条。前端摘要(
远端探测失败: … Permission denied (publickey,password).)与 CLIstderr原文重叠时,stderr 那条按保守判据藏掉:仅当它的整行(≥12 字符)被某条错误完整包含才判重复,有一个细节不同就照常显示。 - 对话页:会话内搜索现在能搜到工具的展开正文(
Bash的输出、Read/ 其余工具的入参),此前只索引行上的参数摘要 —— 「那个报错在哪一轮」恰恰是最常搜的东西。索引与渲染共用同一份截断后的文本,高亮不会标错字;命中落在收着的工具卡里时那张卡自动摊开(否则计数说「2/5」、点下一处界面不动,而Read与其余工具默认就是收着的)。 - 对话页:点「停止」不再被误报成「claude 进程在生成中退出了(崩溃或被中断)」。中断走的是杀进程,
Exit事件一定会到,而那条提示拿「还在运行?」当判据 —— 现在停止先自己落下运行态,用户按的是停止,不该被告知出了事故。 - 对话页:前端错误改为多条并存、各关各的(此前只有一个槽,连续两件事出错时后一条顶掉前一条,而先发生的那条往往更重要;那个 × 还会把另一条一起关掉)。最多留 5 条:保头 + 最新的几条 —— 只留最新会把根因挤掉(一次探测失败会让之后每一步各失败一条),只留最旧又会让横幅冻住。
- 对话...
v3.0.0
更新摘要
3.0.0 是一次大版本更新。新增文件直传、图片查看与后台等待三个工具,跨设备读写大文件、核对截图不再消耗大量对话;界面统一成一体化外壳,连接、安全、日志与设置共用同一套布局与留白;终端加入分屏、临时放大与更完整的文件管理;经典与柔光玻璃两套外观都能各自选择深浅色。同时修掉了自动更新在更新源异常时反复空等、失败提示误报「网络问题」的毛病。
新增
- 新增
prepare_upload/prepare_download工具与PUT|GET /transfer/{ticket}端点:大文件与二进制文件的字节改走 MCP 之外的 HTTP 通道直传,不再经过对话上下文(169KB 的 pptx 走 base64 要十几万 token,直传只要几十个)。工具只负责签发一次性票据并返回可直接执行的curl命令;上传流式落盘、边写边算 sha256(可由服务端比对,不符整次作废)、超限立即中止、覆盖前自动备份、临时文件原子改名,下载返回文件大小与 sha256 供本地校验。票据一次性、默认 5 分钟失效、只绑单路径单方法,/transfer因此不要求长期 Bearer token;审计另记transfer条目(含字节数与哈希,不含票据本身)。 - 新增
wait_command工具:用一次调用等后台命令结束再返回结果,替代反复轮询get_command_output。支持untilPattern(输出命中正则就提前返回)、timeoutSec(默认 120 秒、上限 600)与输出过滤;超时不会杀进程,返回里标明命令仍在运行,可继续等或用stop_command结束。 - 新增
view_image工具:把图片(png/jpg/gif/webp/bmp)当图片返回给 AI,而不是 base64 文本——同一张图当文本要十几万字符,当图片内容块只要一两千 token。支持按原图像素crop、maxWidth等比缩放与 png/jpeg 重编码,核对截图与渲染效果不再需要 AI 手写截图脚本。 - 设置增加应用材质预览、独立终端实时预览和系统通知测试;终端明暗、字体与字号变化保留现有会话。
- 在「设置 → 应用 → 外观」增加经典与柔光玻璃风格切换,支持独立选择深浅色,即时生效并记住偏好;默认使用柔光玻璃,保留用户已保存的经典偏好。
变更
- 一体化外壳统一页面外围留白:默认 12px、大窗口 16px、窄窗口 8px,滚动条计入右侧空间;连接、安全、日志与设置页共用间距,保留卡片内部留白与终端贴边行为。
- 设置分类切换增加菜单选中底板跟随与有方向的短程内容切入,连续导航取消旧动画,搜索定位使用淡入并保留草稿/滚动位置;连接看板在默认与缩小窗口保持卡片位置,紧凑宽度收紧留白,极窄窗口仅看板横向滚动,接入配置独立适配。
- 完善整体 UI 操作体验:终端标签区分断开与关闭并支持方向键切换;文件管理增加路径面包屑、直接输入及前进后退;日志区分无历史与筛选无匹配并统一选择控件;设置增加相邻分类滚动提示,统一小字、点击区域与页面/弹窗动效。
- 连接看板增加状态更新时间与短暂同步反馈,新增调用触发链路提示;指标、健康度和当日估算用量平滑更新,趋势图保留真实空值与断层语义。沿用现有刷新频率,隐藏页面或窗口及减弱动效时停止动画,历史用量柱保持稳定。
- SSH 文件下载改用系统另存为,记住保存目录;文件列表底部统一展示传输、取消、完成与失败重试,完成后可打开文件或所在文件夹,长文件名不再挤压操作按钮。
- 经典与柔光主题共用一体化窗口外壳,去掉顶栏与侧栏接缝;页面留白随内容滚动,滚离顶部后显示轻微淡化边缘,分别保留经典实色和柔光透色的卡片层次。
- 终端工作区外轮廓统一为 16px 圆角,经典与柔光主题一致,分屏内部保持连续,全屏模式贴边显示。
edit_files增加encoding与expectCount:前者按次强制编码(GBK 源码不必为了改一个文件去改全局自动识别开关),后者断言原文出现次数——不符时整条拒写,并报实际次数与前几处行号。run_command/get_command_output的输出可按include/exclude正则与tailLines在服务端过滤,被剔除的行只报数量,省掉「再跑一次 grep -v」的整轮往返。write_files/edit_files增加diff回显档位:新建文件默认只回+N/-M 行统计,覆盖与编辑默认只回截断到 4KB 的改动片段,需要逐行全文时传diff:"full"——AI 刚写进去的内容不再被整份回显一遍。- 审计里的 token 用量估算只统计文本内容,图片结果不再按 base64 字符数虚记(此前一张 200KB 的图会被估成二十多万 token)。
- 设置重组为应用、终端、网络与接入、文件与命令、外挂 MCP、数据与记录、通知七个分类及独立关于入口;分类保留草稿与滚动位置,搜索直达具体控件,兼容原有深链接。
- 设置统一选择卡、分段单选、行内保存/错误状态和宽窄布局;将资源、编码、限流与终端操作归入对应任务分类,统计与配置迁移采用独立子视图。
- 接入模式、连接命令、访问令牌与权限授权改为常驻操作,突出连接命令复制;长授权脚本按需查看,窄窗口自动纵向排列,保留令牌重生成确认。
- 地址与接入模式统一采用浅紫选中底色、柔和外圈及右上角实心勾,连通性徽章移至地址信息行独立展示。
- 普通内容区的粗粒度鼠标滚轮增加短程惯性缓停,保留精细输入、滑块拖动和终端滚轮归属,支持减少动态效果与交互中断;柔光主服务卡保留更深一档雾蓝紫色,恢复页面主次层级。
- 柔光连接页服务卡改为雾蓝淡紫玻璃与深色文字,统一按钮、地址条和链路节点材质,减轻投影、工具分段器及 IP 选中边框;防护与普通配置状态分开表达,无数据与真实零值图表使用中性展示。
- 主页面滚动条采用 4px 细滑块与 12px 拖动范围,滚动、悬停和键盘操作时增强显示,移除上下箭头;连接、安全与设置页共用右侧留白,减少独立空白带。
- 柔光主题弱化卡片整圈描边和顶部高光,顶栏与侧栏采用淡蓝灰分隔线,保留投影、选中态与键盘焦点。
- 柔光玻璃采用更明显的背景透色、卡片边缘高光与分层柔影,接入区域增加内凹层次,适配深浅色并保留经典风格原样。
- 连接、安全、日志与设置页统一保留 12px 顶部间距,经典与柔光风格一致,终端工作区保持紧凑。
- 终端改为单侧栏工作区:连接列表并入全局导航,单窗格标签与操作合为单行,状态栏移至底部,保留会话历史、重连与文件管理。
- 分屏增加独立窗格操作栏、临时放大和顶部布局控制;默认均分,窄窗口首次分屏自动上下排列,分割线支持拖动、键盘调整与双击均分。
修复
- 自动更新:更新源不可用时不再反复重试白等数秒;失败提示区分「服务器暂时没有更新信息」「网络或代理不通」「更新包校验失败」等原因,悬停可看原始错误;启动时的自动检查失败不再弹窗打扰。
- 修复 SSH 文件切目录时旧列表仍可操作、过期请求覆盖新目录的问题;加载和失败期间锁定文件操作,只记住成功目录,支持文件夹键盘打开和目录读取失败重试。安全概览开关补齐逐项保存反馈与失败提示,保存期间阻止重复及关联操作,保留原有风险确认。
- 服务状态卡统一看板悬浮层次与过渡;放大工作区折叠箭头、顶栏搜索、窗口最大化及终端标签操作图标,保留原有点击区域与行为。
- 终端全屏改为一体化顶栏,避免与应用标题栏重叠;窗口控件与退出入口固定可达,安全提醒紧凑展示,低频操作收进更多菜单;分屏操作跟随当前窗格,切换全屏保留终端实例与历史。
- 修复从终端文件路径进入管理器时,
ls成功返回文件却未定位父目录的问题;自动定位并高亮文件,本机保存仅使用文件名,避免混入远程目录。 - 恢复设置目录的滚轮上下切换,保留防连跳节流、搜索结果与溢出目录的正常滚动。
- 设置右侧内容滚到顶部或底部后,继续滚轮可切换相邻分类;优先保留内容和嵌套列表滚动,避开表单、下拉与终端预览,保留各分类草稿和滚动位置。
- 外挂 MCP 设置补齐加载、读取失败重试与操作中反馈,区分停用、探测结果和桥关闭状态;优化工具清单搜索、窄窗布局与深色玻璃文字对比度,防止取消最后一个工具时意外恢复全部开放,保存失败保留待确认参数。
- 修复设置分类返回时滚动位置被清零,以及端口保存成功但服务重启失败后缺少直接重试入口的问题。
- 审计保留策略改为显式应用并确认缩短期限的清理影响;修复 HTTPS 保存失败仍继续重启、SSE 过早提示成功和自启读取失败误显示关闭的问题,本机偏好存储失败会如实反馈。
- 修复还原终端分屏时另一会话抢走输入焦点,以及接入命令中家目录简写无法展开的问题。
- 调整 SSH 探针正常收尾时的提示行清理,减少连接后的重复提示符,异常路径继续恢复终端回显。
- 修复最小窗口下连接卡片和接入工具栏裁切,统一主要页面水平边距;柔光主题强化关闭开关、选中边框与稳定阅读面,弱化常规状态胶囊,并补齐 SSH 表单标签和帮助按钮点击范围。
- 修复柔光玻璃在浅色应用搭配深色终端时,标签与工具栏叠成灰底导致对比度不足的问题;服务卡地址条改为更明亮的玻璃表面。
- 分屏副格重连优先复用原标签,保留终端节点与历史;普通连接不再激活分屏专属会话。
- 收起分屏时将副格保留为独立标签,避免断开连接或丢失输出历史;连接未完成时收起也能保留迟到的会话。
v2.10.0
更新摘要
本次为安全与体验大版本:完成 56 条安全审查加固(Rust 与前端双侧),并落地多项关键体验闭环。
- 多设备接入模式(设置可选开启):每台电脑生成独立条目的接入命令,多机并存互不覆盖,告别「互踢」。
- 更新体验重做:更新弹窗升级亮点聚合与仪式感改版;折叠侧栏也能看到更新状态点;安装后自动重启倒计时。
- 连接页修复与增强:修复切换 IP 不弹「复制命令」横幅的问题;「复制命令」随处可复制并带明确成功反馈;IP 修复命令改为 Linux/macOS 通用写法。
- 管控与洞察:白名单排除规则、外挂 MCP 工具级暴露、用量「按天×工具」矩阵视图与 CSV 导出、「近期 AI 改动」时间线。
新增
- 多设备接入模式开关迁入接入卡标题行
- 更新弹窗融合稿——升级亮点聚合与仪式感改版
- 折叠态侧栏更新状态点——可行动状态零反馈修复
- 安装后自动重启倒计时 + update:ready 时序 P1 修复
- IP 命令倒计时归零挂起为顶栏胶囊(方案 A)
- 多设备接入模式(P0+P1+批3,opt-in 默认关,关闭时逐字现状)
- 关于卡邀 Star(胶囊 + 信息行,关闭后退化为纯 GitHub 入口)
- IP 替换命令任意页可复制(S3 横幅按钮 + 命令面板项)
- 用量卡「按天×工具」矩阵视图 + 三表 CSV 导出
- get_token_usage 增 byDayTool 按天×工具细分矩阵
- 外挂 server 工具暴露复选框编辑器(即时落库 + 陈旧项灰显)
- 外挂 MCP server 工具级暴露(allowed_tools,服务端三处强制)
- 排除规则前端编辑器(chips + 预置模板 + 实时匹配预览)
- 白名单排除规则(.mcpignore 式 glob,path.rs 校验链强制)
- 文件管控页新增「近期 AI 改动」时间线(对比/还原复用日志弹窗)
- 设置行信息三层分级组件(InfoPopover + ToggleRow/SettingsRow info prop)
- 统一交互动效节奏与界面友好度改造
- 更新徽章原地化 + 升级仪式感(A/B/B+/C/D 全量落地)
变更
- AddressPicker 说明段迁 ⓘ 层(三层信息分级)
- 删除窗口顶 2px 通栏进度线 UpdateProgressLine
- docs: 安全审查报告 + 自动更新测试指南与本地假更新源
- 安全审查 56 条——前端侧修复与回归测试
- 安全审查 56 条——Rust 侧修复与回归测试
- docs: 多设备场景分析与完整规划收口(P0-P3)
- 侧栏品牌字排印精排(设计稿 B 案)
- test: 既有 ExternalMcpServer 测试构造器补 allowed_tools 缺省字段
- docs: 竞品功能学习与储备清单
- docs: 四项增强实施规划(近期 AI 改动/白名单排除/工具级暴露/用量矩阵)
- 审计补漏——防火墙卡原理 sub 迁 ⓘ,运行命令卡头说明缩为一句
- docs: 主页布局改造方案与设置页信息架构分层方案(2026-10-17)
- 设置卡解释文案迁移至按需 ⓘ 层(常显灰字约 50 块降至约 12 块,信息零丢失)
- 设置页分类重构为 5 概念族(安全与接入/数据与记录/体验/高级)
- 侧栏品牌区标语进 APP_INFO 元数据
- docs: 补记复查修复与二次改造的提交号(84b667b / 59ab83b)
- 网速读数搬进顶栏中段 —— 消除 28px 状态条对顶栏控件的字形遮挡
- MCP 工具层精简——响应壳统一 + 测试脚手架归一
- 抽取 useLiveStatus 收敛 status 订阅
- 清理零引用死代码
- docs: 新增代码质量审查与精简方案
- 更新弹窗采用紧凑原生面板:展示升级概览、跨版本亮点与按需展开的完整记录;长内容内部滚动,操作按钮固定可见,沿用轻量进退场与减少动态效果设置。
- 统一交互动效节奏:按钮悬停与按压、开关、页面轻移与交叉淡化、列表重排和弹层进退场共用时长与缓动;支持减少动态效果,保持现有功能、布局与页面状态。
- 通知支持悬停、键盘聚焦和窗口隐藏时暂停倒计时,手动与自动关闭均平滑退场;加载按钮保持尺寸,保存结果支持屏幕阅读器播报。
修复
- 修复切换活 IP 不弹命令横幅 + 复制命令入口与按钮内联反馈
- 用量矩阵进入/切档时自动滚到最右(最新一天贴右缘)
- 用量矩阵默认改最近 30 天(修复首屏铺满保留期外零列)
- ToolFilterEditor 陈旧项凑数时误判「全暴露」换算
- 补提交批 B 漏掉的 StatusResponse.excludePatterns 载荷
- 更新体验复查三修复 —— 重启失败入口/提示语义/relaunch 重入
- 修 security/ban.rs 测试依赖开机时长的下溢
- 修复快速开关弹层时延迟卸载竞争、菜单 Esc 穿透父弹窗,以及主题切换过渡标记可能无法清理的问题。
- 恢复可感知的切页微动画:内容区快照在 200ms 内轻移 6px 并交叉淡化,真实 DOM 与终端固定定位不移动;连续点击以最后一次选择为准,旧运行环境保留 CSS 动画回退。
v2.9.1
亮点
- 复制,更符合你的习惯:新增“选中即复制”开关,修复右键复制与选择异常。
更新摘要
终端的选择与复制这一版收口:右键复制修好了——此前在 Claude Code 里选中文字后右键,菜单里的「复制」总是灰的(xterm 在右键按下那一瞬就把本地选区清掉了,我们改为在菜单弹出前把这一次右键拦在输入端);「选中即复制」变成了开关(设置 → 高级,默认开启),关掉它即可回到「拖选后手动复制,复制按钮 / 右键菜单 / Ctrl+Shift+C 三处照常可用」。同时并入 2.9.0 之后未发布的终端修复:TUI 里滚轮失效、松手选区自己消失、以及命令残渣被打进 TUI 输入栏。
新增
- 「选中即复制」开关(设置 → 高级,默认开),与「终端拖拽即选」正交
- 连接工作台 A 方案高保真预览入口(仅开发模式,不进正式包)
修复
- 右键复制失效——xterm 把右键的鼠标报告当用户输入,按下即清空本地选区
- 选择手势改走输入闸,修滚轮死窗 / 松手清选区 / 注入回显
v2.9.0
亮点
- 两个会话,并排处理:轻量双栏分屏,重启后可手动恢复会话连接。
更新摘要
终端工作区两大件上线:轻量双栏分屏(一个标签并排两个会话,分割条可拖、快捷键 Ctrl+Shift+D)与会话恢复(重启后标签组自动回来,手动一键重连)。同时落地回滚缓冲四档可配、命令历史面板显示命令文本并跟随滚动高亮;复制交互对齐 Ghostty(Shift+拖选、拖拽即选默认开、右键主色引导);UI 侧版本徽章并入设置行、顶栏去除冗余位置文本。
新增
- 版本徽章并入设置行 + 顶栏删冗余位置文本
- 轻量双栏分屏 + 会话恢复(骨架 + 手动重连)
- 命令历史面板显示命令文本 + 跟随滚动高亮
- 回滚缓冲可配——设置页四档热生效
- TUI 复制交互根治——Shift 捕获层 + 拖拽即选默认开 + 右键主色引导
- UI 交互连续性与质感优化——审计分页/设置导航/动效统一/终端侧栏
- 设置页侧栏目录化——进设置页时主侧栏切换为目录模式
- 指标卡 hover 边框点亮(对齐设计稿 .native-metric:hover)
- 设计稿吸收批——深色蓝灰外壳 / P95 语义色 / 小字号抬升
- 窗口尺寸持久化——重启记住用户调整过的大小
- 顶部横向 Tab → 左侧竖排侧栏(200/56 可折叠)
变更
- 顶栏徽章聚合 + 动效体系 P0/P1/P2
- 可读性排版收敛 + 侧栏 foot 重构
- 终端页两栏合并为一张大卡
- 状态栏融卡——与终端画布同底色无缝成一张卡
- 对齐设计稿终端外壳三小改
- 默认窗口尺寸 940x760 → 1280x840
- 设置恢复连续滚动与目录跟随,完善具体项搜索与草稿保留;工作区切换保留查看位置,隐藏页暂停轮询。
- 日志支持全历史条件查询与分页,导出明确区分当前页、匹配结果和全部历史。
- 统一页面、折叠区和确认弹窗的动效;终端连接栏可调宽并记忆,补齐空态入口、独立配色与主次按钮层级。
- 终端空态改为已有连接优先的连接选择器,区分无连接、列表收起与展开状态,补齐连接中反馈。
修复
- 复制整屏剥行尾空白——与「复制选中」路径对齐
- 修复文件传输「一直连接中」——ConPTY 提示污染 + PTY 生命周期死锁 + 遗留协议下载
- run_command cwd 缺失时回退第一个 allowed_root 并显式标记
- 参数入口三类容错,治理 2.3% 错误率中约半数
- 工具名前缀容错——剥离 mcp____ 前缀重试
- push_notification 结果改用 to_string_pretty 对齐全项目惯例
- push_notification 返回值按规范包 content 数组
- 修正 DWM 圆角常量注释笔误(值 2 是 ROUND,ROUNDSMALL 实为 3)
- 修复日志切页签丢失条件、端口输入和保存按钮换行、无调用仍显示成功率等级,以及重复复制通知。
- 修复开发入口漏载补充样式导致终端按钮图标、文字散开的问题。
v2.8.1
亮点
- 外观,按你的喜好:明暗、风格与字体独立设置,内置字体随时可用。
更新摘要
终端新增「外观中心」:应用界面与终端画布的明暗彻底解耦(应用浅色 + 终端深色随意组合),风格 / 明暗 / 字体三轴可在终端工具条一键快切;四套字体全部开箱即用——JetBrains Mono 与 Fira Code 随安装包内置,无需下载安装,切换字体自动重算行列并同步远端。MCP 接入完成 2026-07-28 协议适配 Phase 1(无 handshake 的 stateless HTTP 形态,legacy 客户端无需改动),并统一多客户端接入口径:WorkBuddy、Codex 等通用 MCP 客户端可直接接入,项目规则支持多格式、instructions 自适应。终端能力补齐一批:OSC 52 剪贴板复制(SSH 下 Claude Code 复制可用)、程序状态上报、tmux 桥接、命令块、跨标签搜索与整屏导出。
新增
- 身份转变批3——MCP 2026-07-28 协议适配 Phase 1 + /mcp/messages 补 token
- 身份转变批2——运维闭环(托盘/导入/SSE 警告多客户端覆盖)
- 身份转变批1——接入口径统一(通用 MCP 工具)
- 外观中心——明暗/风格/字体三轴独立设置 + 字体内置化
- 终端能力批——OSC 52 复制 / 环境注入 / tmux 桥接 / 命令块 / 跨标签搜索 / 导出
- 通用双向桥 P0——客户端识别 + 项目规则多格式 + 自适应 instructions
- 终端接入 OSC 7501 程序状态 + DEC 2031 主题通知
变更
- 砍 Cascadia 预设收尾——注释 5→4 套 + 测试补 cascadia 窄化断言
- 砍掉 Cascadia 独立预设(7→5→4 套)
- docs: 新功能规划 2026-10-14(R17 安全设计拍板:无弹窗确认的自动化安全模型)
修复
- 终端滚轮引导条——底色透字修掉 + A+ 单行可展开 + 倒计时可见
- 全站小字对比度达标 + 自签兼容性徽章三态
- 终端亮色主题可读性——12 个 ANSI 色值校准到 WCAG AA + 亮色开启对比度兜底
- 终端滚轮不再打断 Claude Code——滚动条用真实指针坐标 + 选择态守卫
v2.8.0
亮点
- 接入你常用的 AI 工具:接入向导覆盖 Claude Code、WorkBuddy、Codex 与通用工具。
更新摘要
连接页全面体检后修了一整批:新用户进门「接入步骤」自动展开,复制连接命令即完成接入;多网卡选地址不再靠逐个试——本机探测每个 IP 通不通,直接推荐可达的。接入向导扩展到四类工具(Claude Code / WorkBuddy / Codex / 通用),通用工具可复制一段提示词发给 AI 代为接入。HTTPS 远程访问(自签 TLS)上线,远程调用加密传输。终端更友好:全屏 TUI 程序支持虚拟滚动、命令导航、路径点击跳文件浏览器、配色自动跟随主题,滚轮归属一眼可辨,SSH 钩子回显杂音清除。设置页按用户任务重排并保留左侧导航,日志页全键盘可操作,全部提示收敛到统一通知系统。
新增
- 连接页评审修复——has_onboarded 新用户判定、本机探测三态角标、结构收敛、CJK 排版、generic 提示词接入
- 设置 tab 移到最末位(导航末位惯例)+ Ctrl+, 键位
- 终端滚轮归属四态徽章+翻转引导+救急面板;stty 残渣常驻吞除
- 微动画补全第二批——工具tab/引导步骤体/版本历史视图切换入场
- 微动画补全 P0+P1(设计稿 design/微动画补全-P0P1-设计稿.html)
- 设置页信息架构重排(簇标题 + 用户任务分簇 + 五入口确认)
- 日志页 a11y 键盘交互批次(设计稿 8 项全落地)
- P0 四项 + P1 两项——Claude Code 用户痛点批次
- 代答 OSC 10/11 颜色查询,Claude Code theme:auto 跟随桥主题
- P1 批次命令导航 + 路径点击跳文件浏览器
- P0 批次 TUI 友好功能五项
- TUI 态虚拟滚动条(Claude Code 等全屏程序滚动)
- 接入向导多工具化(Claude Code/WorkBuddy/Codex/通用)+ 接入命令 TLS 感知
- P1 HTTPS 远程访问(自签 TLS + 401 封禁)+ 双向桥 RFC
- 统一通知系统——三级分级模型收敛 12 处分散通知实现
变更
- 文件管控卡渐进披露拆分,移出体量基线(301→117 行)
- 安全页去重统一——三核心开关唯一家,风险判定单一源
修复
- 终端 UI critique 修复——引导条覆盖层化、语义色分诊、卡片动作收口、快捷键面板
- SSH 钩子注入回显治理(stty 舞步)+ 六处截断/竖排 UI 缺陷
- 终端重连后鼠标移动/滚轮变 SGR 乱码
- 终端拖选 Claude Code 输出内容复制不出文字
- 设置页侧栏导航点击高亮错位/无响应
- 终端 Ctrl+V 粘贴内容重复两条
v2.7.7
更新摘要
首页新增「Token 用量」卡:今日估算 token、调用次数与近 7 天柱状图一眼可见;设置页新增完整用量仪表盘——KPI 环比、14 天趋势、90 天节奏热力图与按工具排行,点首页卡片直达。显示的是按经桥请求/响应字节数折算的估算值(约 4 字节 ≈ 1 token),不是账单值。
新增
- 首页 Token 用量卡。第二行新增用量卡:今日估算 token 大数字、调用次数、输入/输出拆分与近 7 天柱状图,数据每 30 秒自动刷新,点击直达设置页详情。
- 设置页「Token 用量」仪表盘。四张 KPI 卡(今日 / 近 7 天合计,含与上一周期的环比涨跌)、近 14 天输入+输出堆叠趋势、90 天节奏热力图(深度 = 当日用量分位)、按工具排行(近 7 天 Top 4,其余并入「其他」)。
变更
- 健康度与安全治理合并为一张卡,为用量卡腾出位置;安全治理的各个入口胶囊全部保留,跳转行为不变。