Gemini CLI 一行转义码清空滚动历史,PR 改用非破坏性刷新
diegogodinezr · ghdev · 2026-10-17
有开发者向 google-gemini/gemini-cli 提交 PR,修复交互式会话中终端滚动历史被意外清空的问题。根因是 refreshStatic 使用了 ansiEscapes.clearTerminal,其中 \x1b[3J(ED 3)会让终端模拟器清掉保存的滚动缓冲区,导致窗口缩放或切换展开输出(Ctrl+O)时之前的输出丢失——而标准缓冲模式正是默认配置。
修复方案是改用非破坏性的视口清除:\x1b[2J 只擦可见区域 + 光标归位,不再发出 \x1b[3J,其余刷新管线(stdout corking、DEC 同步输出、宽度变化防抖)保持不变。副作用是刷新后 <Static> 重渲染的历史会追加在旧内容之后,滚动区可能保留上一次宽度的渲染。
「编程与Agent」频道最新
- 50+ 免费 AI Agent 学习资源合集:视频与仓库一站打包 — ifioknkem · 2026-10-23
- 自封「全网最佳」的免费 AI Agent 资源库引围观 — ifioknkem · 2026-10-23
- Vercel 推出免注册部署:拖拽文件到首页即得线上 URL — steren · 2026-10-23
- 5 个 Claude Code 会话经 MCP 互发邮件,组队攻破多品牌网络摄像头 — doodlestein · 2026-10-23
- Vercel 上线 vercel deploy --temporary,可临时部署后自动清理 — cramforce · 2026-10-23
- 用同一个 Notion 工作区让多个 Agent 互相沟通分工,实测有效 — nbaschez · 2026-10-23