Skip to content

PI 0.1.1(pi 1.0.1)

Choose a tag to compare

@heikeyangle-code heikeyangle-code released this 04 Oct 09:00
· 432 commits to main since this release

引擎:pi-coding-agent 0.99.2 → 1.0.1(Node 24.19 不变)。下面是从上一个包 v0.1.0 到这一版的全部 80 笔提交,按类型分组,原始标题一字未改。

新功能(6)

  • render — 裸 HTML 照 pi 原样排字(块级走 custom 新分支,行内走 annotator 认领钩子)
  • render — 保行通道落地(候选 B,只在含显示式网格的消息里打开)
  • render — 移植 pi 的竖直排版(renderLayout + 环境),118 条块级目标逐字节断言
  • pi — 设备工具按能力注册 —— 关掉的能力一个字都不进提示词
  • workspace — 图片自己渲染,渲染不了的交系统;修掉图片查看器里被背景层吃掉的手势
  • render — markdown 图片按视口采样、表格解禁一行限制、http(s) 真的加载

修复的 bug(36)

  • session — 分叉的用词与那条缺了的提示(落另一个代理交回的两处 diff)
  • chat — 分叉与分支按上游分开 —— 会话列表改说「来自谁」,树行仍说「分叉」
  • session — 重启时同一个 id 有两份就不猜 —— 改用 --session <path>
  • session — 列表不再把「劈成两半的对话」折成一行 —— 只有一份的字节是另一份的前缀才合并
  • session — 一次引擎重启劈开一段对话 —— --session-id 用同一个 id 再建一个文件
  • workspace — 提示条被底栏盖住 —— 它挂在没吃 contentPadding 的那个 Box 上
  • composer — 发出去的字又回到输入框 —— 失焦那次回调把清空前的文本写回了草稿
  • image — URL 画图全链路 —— 裸链接也出图、表格缩略图按格宽解码、清掉两个会伤到它的数字
  • session — 点叉就必须退出 —— 「覆盖层开着」不再住在可以重放的状态里
  • session — 点叉退出又被拉回会话树 —— 关掉覆盖层必须作废排队中的导航请求
  • runtime — 客机时区指到了 Android 那份 zoneinfo,短名静默退化成 UTC
  • session — 退出来又被拉回会话树 —— 「请求级」的状态不许比请求活得久
  • viewer — 放大不清晰是三层叠加 —— 块预算比屏幕小、倍率本来就越过源 1:1、进 App 前已被压小
  • runtime — 目录也纳入载荷所有权 —— prune 在同一趟里删掉旧载荷的空目录
  • runtime — 收尾失败不许静默,也不许照样记账
  • render — 网格写回源文本时前导缩进被 markdown 当成代码块,公式被切成两半
  • render — 正文图片根本没有点按 —— URL 图渲染出来了,却没有任何手势通向查看器
  • viewer — 放大后拖动只走了手指的 1/scale —— 手势位移按倍率换算回屏幕像素
  • render — 网格的等宽段落不再对库的类型 copy —— CI 红在 Unresolved reference 'copy'
  • build — 两个提交把 main 弄红了 —— 缺一个实参、以及注释里的 /*
  • bridge — 生产者超预算时也把结论写进 lastFailure,别让它挂着别处的旧原因
  • session — 会话树的「读取会话树 ↔ 就绪」来回刷、以及退出来又被拉回树
  • viewer — 放大之后按源图坐标重解可见的一块 —— 8× 看到的是细节,不再是小图拉大
  • render — $ 的两条前缀判定按真实 prose 语料对齐,收尾那条保留并说明理由
  • attachment — images.autoResize 关掉之后 App 照压 —— 接上这个开关的消费者
  • render — 数学补两种定界符与 5 类解析缺口,表/行为改由 pi 夹具钉住
  • attachment — 截图类源被压成有损 JPEG —— 候选序改成与 pi 一致的 PNG 优先
  • viewer — 双击直接放到最大(1× ⇄ 8×),不再有第三个档位
  • attachment — 竖拍照片被当成横图送出去 —— 先按 EXIF 摆正,再算尺寸
  • composer — 命令面板塞进来的 / 后面光标停在 0,再打字落在斜杠前面
  • bridge — KDoc 里的「星号斜杠星号」提前关掉注释,两个 APK job 全挂
  • workspace — 能看的地方就能改 —— 去掉刚加的那层"只读层"特例
  • workspace — 认得 guest 的两种拼法;工作区屏改成能往上走的文件管理器
  • ui — 「显示时间戳」真的管到气泡上的时间了,并且默认关
  • boot — 「已是最新」不再占屏 —— 没有解包可做的启动不再闪一次启动页
  • runtime — 覆盖解压前先清掉"占了目录位置"的旧节点 —— 升级不再必须重建

性能(7)

  • render — 数学预处理每轮重扫串尾 ⇒ 平方;改成两个单调迭代器
  • session — 打开会话的两处重复劳动 —— 为量一个长度序列化整棵 JSON、逐字符切行
  • render — 行内 HTML 的认领钩子只在源文本含 < 时才装 —— 其余消息代价归零
  • session — 会话列表索引落盘 + 有界并行扫描,冷启动那一次不再逐行解析几百 MB
  • bridge — 正文远端图片的请求策略 —— 进程级去重、45 s 负缓存、取字节并发上限
  • render — 表格单元格不再无限折行,mermaid 滚回来不再重问 guest
  • export — 保存会话导出不再绕一遍 base64 —— 少两份峰值内存

撤销 / 回退(2)

  • image — 裸 URL 不再改写成图 —— ![]() 才是图,链接就是链接
  • blocks — 通用工具卡标题回到原样,去掉 MCP 的 server/tool 改写

检查与不变量(本机可跑)(6)

  • pre-spawn — 三条源码不变量跟上 restartEngine 的「两种钉法」
  • session — replay-cost 的两条源码不变量跟上「argv 的两种钉法」
  • runtime — 钉住"目录也在载荷所有权里"
  • runtime — 钉住「收尾失败不许静默」的四处形状
  • session-replay-cost — §3b 那一列量的是整份 readAll,列名别写成 entries
  • session — 补一条断言 —— -c(mostRecentForResume)走索引时也必须给出同一行

文档(15)

  • --session-id/--session 的现状与列表合并规则(三处过期说法 + 一处登记)
  • session — TerminalScreen 的注释不再提已经删掉的 PiOverlay.Terminal
  • test — P19 与 fetch-runtime.mjs 必须成对改
  • runtime — 耐久目录的保护来自 DurablePreserve,不是"在易失树之外"
  • render — §A2 记下 NBSP 缩进保护(上一提交的实现)
  • render — 行内 HTML 钩子的注释别再引用会漂的行号
  • render — §A2 记下保行通道的实测结论 —— 候选 A 走不通,B 的作用域可收紧
  • render — 收录渲染能力盘点(只读审计,424 行)
  • check — EXIF 夹具条数在注释里写错(28 → 26)
  • render — §A2 里的夹具条数 31 → 34
  • attachment — AttachmentBudget 的四处过期引用(含 0.86.1 → 1.0.1)
  • render — manifest 已开明文,改掉两处"没有 usesCleartextTraffic"的过期话
  • 1.0.0 之后清一遍文档里"对当前版本已经不成立"的说法
  • readme — 装上改为指向正式 release
  • readme — 重排——能扩展成什么样提到最前,装上/架构/升级挪到底部

其他维护(8)

  • session — 剩下三处注释不再提已删除的 setOverlayView/PiOverlay/overlayIndex
  • session — 删掉没用的尾巴 setOverlayView,以及两处还提着旧名字的注释
  • checks — 注册 guest-timezone —— 钉住客机的时钟来源
  • checks — 注册 markdown-image-tap —— 正文图片点开查看器那条接线
  • html — 生成器按惯例搬进 tools/,并把 html harness 注册进 CI
  • checks — sessions 与 session-identity 两个闭包加进新文件 PiSessionIndex.kt
  • pi — 钉住 1.0.1,并把引擎那棵依赖树自己锁起来
  • pi — 钉住 pi 1.0.0,并修掉 node.tgz 的一个静默构建缺陷