Skip to content

v0.8.3

Latest

Choose a tag to compare

@gemron gemron released this 08 Sep 17:42

V0.8.3:后端命令让出 IPC 线程、Git 改监听、hook 事件清理

  • Agent 忙时打字不再卡:此前所有同步后端命令都跑在同一条 IPC 线程上,每 3 秒一次的 Git 轮询(每次约半秒)和每秒一次的事件同步会排在按键前面,按键因此成批冒出来。除 write_terminalresize_terminal 外的命令现在改到线程池执行,按键路径独占 IPC 线程。实测按键延迟 p99 从 514 毫秒降到 19 毫秒。
  • Git 状态改为监听,不再轮询:侧栏显示的仓库现在监听文件变化,只在真正有改动时才重新读取,不再每 3 秒读一次,另留 60 秒兜底。空闲时 Git 开销归零,改动约 1 秒内出现。一条 git status --porcelain=v2 --branch 同时拿到 HEAD、分支和工作树,仓库根与 HEAD 派生数据都缓存,一次轮询从 5–8 个 git 进程降到 1 个。
  • Hook 事件不再无限堆积:事件 spool 和数据库表此前无上限增长,达到几百兆,每次启动都从头重读。现在事件只保留 UI 用到的字段,读取位置跨重启保留,读空的 spool 会被截断,新增索引服务最新优先的查询,超过 30 天的事件在启动时清理。启动时的事件读取从一秒多降到几毫秒。
  • 任务可中途中止与追加指令:中止运行中的任务会保留其终端与会话,可继续执行或放回待办;运行中的任务也能通过同一个 Agent 会话追加补充指令,不必等到验收不通过之后。
  • Agent 状态面板重新归类:顶部固定一张概览卡,显示当前 Agent 及其余量、变更数、分支、运行数;下方的活动 Agent、会话详情、代码变更、供应商余量、最近活动改成可折叠区块,并记住展开状态。

首次升级到本版时,启动仍会较慢一次:旧的 hook 事件 spool 要最后完整读一遍才能截断,之后每次启动只读增量。