What happened?
终端窗口 resize 时,主要异常并不是正文文字重叠,而是 底部输入框 / composer 区域的蓝色边框、分隔线会不断残留并累积。
具体现象:
- 拖拽终端窗口放大/缩小时,底部输入区会留下旧帧的蓝色横线
- 每次 resize 都会再多累积一层
- 缩放几次后,下半部分会出现越来越多条蓝线残影
- 停止缩放后通常也不会自动恢复
更准确地说,是 输入框区域的旧边框没有被正确擦除,新帧又继续画上去,导致蓝色横线按帧累积。
复现截图:

What did you expect to happen?
终端窗口 resize 后,界面应正确重绘:
- 输入框区域的边框/分隔线不应残留
- 不应随着 resize 次数不断累积蓝色横线
- 停止缩放后界面应保持干净一致
Client information
- Qwen Code: v0.15.6
- 依赖锁定:
ink@6.2.3
已确认可复现环境:
- macOS + Warp
- macOS + iTerm2
- Windows + WSL(本地手动测试,问题仍然存在)
Login information
No response
Anything else we need to know?
我本地对源码做了只读核对,当前的高置信度判断是:
- Qwen Code 通过
process.stdout 的 resize 事件更新终端尺寸
- Ink 在收到 resize 后会走:
resized() -> calculateLayout() -> onRender()
- Ink / log-update 在重绘前会先执行基于上一帧行数的擦除:
ansiEscapes.eraseLines(previousLineCount),再写入新内容
- resize 后,同一份 UI 内容在新宽度下会 reflow,但擦除旧帧时仍使用上一帧记录的高度
- 对于带边框的输入区域,这会导致 旧边框没有被完整擦掉,新边框再画一次,于是蓝色横线不断累积
所以当前更像是:
high-confidence likely root cause:Ink 6.2.3 在 terminal resize + reflow 场景下,旧帧擦除高度与新宽度下的实际占用高度不匹配。
相关代码路径(只读核对):
packages/cli/src/ui/hooks/useTerminalSize.ts
packages/core/src/agents/backends/TmuxBackend.ts
ink@6.2.3
另外,仓库里已有一个较泛的相关问题:#3213。这个 issue 是想把现象进一步具体化到 输入框蓝色边框线条累积残影 这个表现。
What happened?
终端窗口 resize 时,主要异常并不是正文文字重叠,而是 底部输入框 / composer 区域的蓝色边框、分隔线会不断残留并累积。
具体现象:
更准确地说,是 输入框区域的旧边框没有被正确擦除,新帧又继续画上去,导致蓝色横线按帧累积。
复现截图:
What did you expect to happen?
终端窗口 resize 后,界面应正确重绘:
Client information
ink@6.2.3已确认可复现环境:
Login information
No response
Anything else we need to know?
我本地对源码做了只读核对,当前的高置信度判断是:
process.stdout的resize事件更新终端尺寸resized() -> calculateLayout() -> onRender()ansiEscapes.eraseLines(previousLineCount),再写入新内容所以当前更像是:
相关代码路径(只读核对):
packages/cli/src/ui/hooks/useTerminalSize.tspackages/core/src/agents/backends/TmuxBackend.tsink@6.2.3另外,仓库里已有一个较泛的相关问题:
#3213。这个 issue 是想把现象进一步具体化到 输入框蓝色边框线条累积残影 这个表现。