Skip to content

v0.2.1

Choose a tag to compare

@danielbill danielbill released this 20 Oct 13:26
· 181 commits to main since this release

[0.2.1] - 2026-10-20

本版聚焦各种崩溃bug性能优化:
中文 markdown 编辑「进程瞬间消失」崩溃修死;
terminal录入exit导致崩溃;
会话发送排队体系上线:运行中发言「排队 / 插话」两档可配;
内存占用优化;
超大文件目录打开卡顿修复。

安装与更新

npm install -g pi-flash@latest   # 首次安装与更新同命令
pi-flash

需要 Node.js ≥ 22.19。
也可直接下载 zip 绿色包,解压后双击 pi-flash.exe 即用,无需 Node。
仅提供 Windows x64 版本。

新增

  • 会话发送排队体系:Agent 运行中再发消息不再「总是插队、冲进当前任务」——默认排队档进入本地队列,本轮结束自动发出;排队卡挂在输入面板上方,支持拖拽重排、铅笔撤回编辑、「立即」打断、垃圾桶删除;缓冲栏已有排队消息时禁止继续入队;停止按钮同步撤回排队消息;ESC 叫停排队;微信远程发送走同一漏斗。设置「其他」页新增「运行中发送方式」两档:排队(默认)/ 插话。(aa5c4fc, 551fa2b, edc23ce, 8f6a1cf, 14e6059, 3367977)
  • 运行中「插话 / 立即」改打断语义:立即中止当前回复并重新下达指令,被打断的回复保留半截内容,新指令带着上文继续。(edc23ce)
  • 会话 / 文件树操作栏不常用图标自动隐藏,悬停操作栏才显影;设置「界面」页新增「部分操作隐藏」开关(默认开,关掉恒显、即切即生效)。(98cbd72, 4bf8673)

修复

  • 中文 markdown 编辑进程瞬间消失:编辑中文文章时窗口无报错直接消失(真机连崩三例,自动保存救回内容)——vendor 编辑器层 tree-sitter 高亮回调裸切片,脏偏移落在汉字(3 字节)中间时 panic 无法跨界 unwind 直接 abort;根因是 IME 组合更新(替换已标记文本)时选区基准错加旧替换区间末尾。回调加字符边界守卫 + 选区基准改正。(6e9af0e)
  • 运行中打断一批:思考中插话把整屏消息拽到屏幕下半部分(打断只退役跟尾期锚点);发言钉顶改按「是否真打断」决定;回显不补刀;stream_cut 残包并回旧回复。(92ff894, 0343a22)
  • 思考强度换挡后胶囊仍显示旧档(真机怎么换都停在 high)。(3ae6f31)
  • 终端两处:终端区变矮瞬间按旧行列数越界绘制崩溃;终端里裸敲 exit 回车不再连锁退出上级 shell,改为关闭当前终端标签页。(faf8987, c4d0aa1)
  • 图片气泡不再显示 [Image: original …] 坐标标注。(5947554)
  • 以子目录打开的仓库文件树展开卡死:git status / numstat 路径钉定仓库根并重定基。(0eefea6)
  • 上下文用量弹窗加宽 40px(420 → 460),英文界面底部三钮不再溢出。(2a73342)
  • 扩展详情状态行不再打印更新检测的原始错误串;「扩展」设置页导航项恢复(市场页上线时被误藏)。(bd21660, 6d26f83)
  • 空闲会话发送不再误入排队缓冲;会话列表「回到最新」按钮在跟尾期不再失灵。(b2a56a3, 6a1dfb1)

改进

  • 内存占用优化:解码位图缓存延迟驱逐(图片多的大会话内存只涨不降的根治);空闲回收连 runtime 实体一起退役。(1f66410, b655602)
  • 模型页与「添加 Provider」相关文案补齐繁中 / 英文翻译。(2042423, 271b653, 2cb104a)
  • 快捷键页版式精简:去掉行内注释说明,只留标题与键帽。(af86124, 65fe2da)
  • 会话内容宽度设置去掉「复位」按钮。(d64e64e)

[0.2.1] - 2026-10-20

This release focuses on crash fixes and performance:
the Chinese markdown editor "process vanishes instantly" crash is fixed;
crashes caused by typing exit in the terminal are gone;
the session send-queue system ships — "Queue / Steer" modes configurable while the agent runs;
memory usage optimizations;
and lag when opening very large file directories is fixed.

Install & Update

npm install -g pi-flash@latest   # same command for first install and updates
pi-flash

Requires Node.js ≥ 22.19.
A zip portable build is also available: download, unzip, double-click pi-flash.exe — no Node needed.
Windows x64 only.

New

  • Session send-queue: messages sent while the agent is running no longer "always cut in line" — by default they enter a local queue and go out automatically when the current turn ends; the queue card sits above the input panel and supports drag-to-reorder, pencil recall-to-edit, "Send now" interrupt, and trash delete; sending is blocked while the buffer already holds a queued message; the stop button recalls queued messages too; ESC cancels the queue; WeChat remote sends go through the same funnel. Settings → Other adds "Send behavior while running" with two modes: Queue (default) / Steer. (aa5c4fc, 551fa2b, edc23ce, 8f6a1cf, 14e6059, 3367977)
  • "Steer / Send now" now means interrupt: the current reply is aborted immediately and re-issued as a new instruction; the half-finished reply stays on screen and the new message continues with that context. (edc23ce)
  • Infrequently used icons in the session / file-tree action bars auto-hide and reveal on hover; Settings → Interface adds an "Auto-hide icons" switch (on by default; turn it off to keep icons always visible, effective immediately). (98cbd72, 4bf8673)

Bug fixes

  • Chinese markdown editing killed the process instantly: the window vanished with no error while editing Chinese articles (three real-machine crashes in a row; autosave saved the content) — the vendored editor's tree-sitter highlight callback sliced raw bytes, and a dirty offset landing inside a 3-byte Han character panicked across an extern "C" boundary (cannot unwind → abort); the root cause was the IME composition update computing its selection base from the wrong end of the replaced range. Fixed with a char-boundary guard in the callback plus the corrected selection base. (6e9af0e)
  • Interrupts while running: an interjection during thinking dragged the whole message screen into the lower half (interrupts now only retire the tail-follow anchor); pinned-to-top is now decided by "was it a real interrupt"; echoes no longer double-post; stray stream_cut fragments merge back into the old reply. (92ff894, 0343a22)
  • The thinking-level capsule kept showing the old level after switching (on real machines it always showed high). (3ae6f31)
  • Terminal: painting right after the terminal area shrank read stale row counts and crashed; a bare exit + Enter no longer kills the parent shell — it now closes the terminal tab. (faf8987, c4d0aa1)
  • Image bubbles no longer show the [Image: original …] coordinate caption. (5947554)
  • File tree froze when expanding a repo opened via a subdirectory: git status / numstat paths are now anchored to the repo root. (0eefea6)
  • The context-usage popup is 40px wider (420 → 460), so the bottom three buttons no longer overflow in English. (2a73342)
  • Extension detail status no longer prints raw update-check error strings; the "Extensions" settings nav item is back (it was hidden when the market page shipped). (bd21660, 6d26f83)
  • Idle sends no longer wrongly enter the send queue; the "back to latest" button in the chat list no longer fails while tail-following. (b2a56a3, 6a1dfb1)

Improvements

  • Memory usage: decoded-bitmap cache entries are now evicted lazily (root fix for image-heavy long sessions where memory only grew); idle reclamation now retires runtime entities too. (1f66410, b655602)
  • Completed Traditional Chinese / English translations for the model page and "Add Provider" texts. (2042423, 271b653, 2cb104a)
  • Shortcuts page simplified: inline explanatory notes removed, leaving titles and keycaps. (af86124, 65fe2da)
  • Removed the "Reset" button from the session content width setting. (d64e64e)