这一版讲的是终端里的键盘与鼠标。Cordy 的终端现在同时讲 Windows CLI 依赖的两套键盘 协议,于是这些 CLI 在自己页脚里宣传的换行键——Claude Code 的 Shift+Enter、Codex 的 Shift+Enter 与 Ctrl+J——真的换行,而不是把消息发出去。请求鼠标的 TUI 重新拿回鼠标, 选文本改用 Shift+拖拽。启动之后新开的终端标签页,也不会再偶尔一上来就丢掉自己会话 最开头的那几个字节。围绕这些还有:CPU / 内存小标签重新带回一块紧凑总览,工具栏的 编辑器按钮一次点击就打开编辑器,应用升到 Electron 42.11.3 以带上当前的 Chromium 安全补丁。
新增
- Windows CLI 依赖的两套键盘协议都开了——于是 Shift+Enter 就是换行。 Cordy 的
终端现在同时启用 win32-input-mode(Windows Terminal 一直在跑的那套,读 console
输入记录的 CLI 用它)与 kitty 键盘协议(读 VT 字节的 CLI 用它)。两个都不开时,
终端根本无法表达 Enter 上的修饰键:Shift+Enter 与 Ctrl+Enter 发出去都是一个
裸回车——与普通 Enter 逐字节相同——所以 Cordy 里的每个 CLI 都把它们读成「提交」。
现在每个 CLI 拿到的是它自己文档里承诺的那个键:Codex 里 Shift+Enter 与 Ctrl+J
插入换行,Claude Code 里 Shift+Enter 插入换行。Cordy 只忠实编码按键、不自作主张
做任何重映射——哪个键是什么意思仍由 CLI 决定——而换行这件事是拿真实的 Codex
CLI 验的,不是模拟的。两套协议在程序主动索要之前都是惰性的,所以跑普通 shell 的
终端逐字节不变。中文输入法组词不受影响:一道按键释放护栏把输入法自己的内部按键
事件挡在 wire 之外。随应用捆绑的 Windows Terminal ConPTY 匹配对升到
1.25.2603.03002——与 VS Code 发给它自己用户的是同一对,出自 preview 线而非 Windows Terminal 的稳定发布——因为只有这条线会把按键再编码成 kitty 协议的形式 交给索要了它的 CLI。有一条后果值得知道:在一个开启了 kitty 协议的 CLI 里,Ctrl+C 以该协议的按键事件抵达,而不是原始的中断字节,由该 CLI 自己处理——这是每一台实现 该协议的终端的规定行为,Windows Terminal、kitty、ghostty 都一样。没有 CLI 索要的 地方,Ctrl+C 仍然是中断字节,与从前一致。 - 紧凑的性能总览回到了小标签上。 点击工具栏的 CPU / 内存小标签重新弹出一块小 面板:2m / 10m / 1h 窗口的实时内存与 CPU 图、按内存排前六的应用进程(每行标明它 承载的是什么)、一行把 Rust runtime + shell + agent 合计起来的 Workload,以及选择 小标签本身显示哪些数字的按钮。View details 打开 0.3.0 引入的完整监控面板, 后者一字未改——总览是旧弹层里唯一值得留下的那部分。
- 工具栏的编辑器按钮,一次点击就打开编辑器。 紧凑顶栏里它此前是一个只会展开 菜单的控件,于是启动编辑器永远要点两下。现在它一分为二:左半边立即用默认编辑器 打开当前工作区,并显示该编辑器自己的图标(tooltip 里写出它的名字);右侧的箭头 展开列表换一个。从列表里选中的那个会成为新的默认。
修复
- 启动之后新开的终端标签页,可能丢掉自己会话最开头的那几个字节。 新标签页可能 从来没收到过会话已经发出的那些一次性终端设置——焦点上报,以及 上面那套键盘协议——因为那些字节广播出去时,该 pane 还在订阅途中。普通输出能熬过 这个窗口(终端会自行重绘),但一次性的模式不会重来,于是那一个标签页无声地退回 旧编码,界面上没有任何可见差别。现在每个新终端都会与 runtime 自己的快照对账一次, 与重新挂接的终端走的是同一条路,标签页来得及监听之前产生的东西不再丢失。
- 退出确认填满它自己的窗口。 Cordy 收进托盘之后,退出确认会作为一个独立窗口 打开——但它画的是与应用内一样的悬浮描边卡片,于是看起来就是一个小方框对话框又被 框在另一个小窗口里。现在它填满自己拥有的那个窗口。
- 从 CSV 导入密码时,选择器停在你的下载目录。 密码保险箱的 Import from CSV 文件选择器此前开在系统决定的位置;现在它开在 Cordy 配置的下载目录——密码管理器 导出的文件真正落地的地方。
变更
- 请求鼠标的 TUI 现在真的拿到鼠标。 0.3.0 让普通拖拽在 TUI 开着鼠标上报时也能 选中文本,代价是应用永远拿不到鼠标:可点、可 hover 的 TUI——比如 Claude Code 的会话内 agent 列表——只有按住 Alt 才收得到点击,hover 更是完全收不到。这笔交易 已经翻转。点击、拖拽与 hover 都交给应用,在那里选文本改用 Shift+拖拽——其他 终端通用的手势,也正是 Claude Code 自己页脚告诉你的那个——再用 Ctrl+C 或 Ctrl+Shift+C 复制。macOS 上 Option 同样能强制选区(代价是该平台失去 Alt 列选; Windows 与 Linux 两样都保)。无选区的 Ctrl+C 仍然是中断,未变。
- Electron 42.11.3,以及一次依赖刷新。 42.11 线带的是当前的 Chromium 安全修复 (Chromium 148、Node 24.19)——这对 Cordy 有实际意义,因为它的浏览器 pane 会加载 任意网页。同批还有:xterm 6.1 beta.304(Cordy 的输入法补丁原样重做、编辑面一字 未改)、React 19.3、tiptap 3.31,以及打包用的 electron-builder 26.16。
- WebSQL 不再列为可清除的站点存储。 Chromium 已经移除 WebSQL,所以 设置 → Site data 里那个按站点清除的桶其实早就不存在了。按站点清除覆盖的其余部分—— cookies、local storage、IndexedDB、各类缓存、service worker——一切照旧。
已知限制
- Windows 安装包未做代码签名。 首次运行时 SmartScreen 会弹「无法识别的应用」 拦截页,选择「更多信息 → 仍要运行」即可。证书是计划中的采购项,自签名解决不了 这个问题。
- 监控面板的 Workload 半边仅限 Windows。 在 macOS 与 Linux 上它会如实说明, 只显示 App 半边;紧凑总览里的 Workload 一行遵循同一规则,在那两个平台上直接不 显示。