Releases: AlchemistCxC/Pylon-co-works
Release list
Pylon 0.2.6-Abc
Full Changelog: v0.2.5-Evo...v0.2.6-Abc
Pylon 0.2.5-Evo
计算内核与流式性能的一轮收口。
变更
- 计算核 scope 收窄(#220):投影与 events 层回退 TypeScript,wasm 计算核只保留 markdown 解析/高亮与流式(切分 + 揭示预算引擎);wasm 总体积 gzip −21%(1.22MB → 0.96MB)。随投影回退,首次打开 agent sheet 的装载竞态一并消失。
- 流式边界性能(#220):揭示出口改为增量尾巴——长流每拍过界从 O(全文) 降到 O(新增),3000 拍基准 822ms → 10.7ms(77×);markdown 流式切分热路径改块边界偏移(22.3ms → 4.7ms);揭示预算欠账记账降为 O(行数)。
- 预设组装线(#223):出厂区域预设独立成数据、theme 退场为计算视图(行为零变化)。
- 修复:打包态 CSP
connect-src缺'self'导致 wasm 计算核从未加载成功的 P0(#220 引入、同轮修复,并新增check:csp门禁防复发)。
校验
pylon-0.2.5-Evo-win64.zip.sha256与pylon-0.2.5-Evo-win64.manifest.json为交付校验材料(238 项逐一核对)。- 便携包自带 webview2-mcp 调试服务器;注意:启用调试端口等于向同机进程开放窗口(见包内
tools/webview2-mcp/README.md)。
Pylon 0.2.4-Rev
Pylon 0.2.4-Rev(Windows 便携包)。本包由 Ru5t/Reflector 分支(版本号提交 1ec0957)构建。
重放与直播分流(#212 / #213)
- #212 历史不再被当直播逐字铺开。此前打开/切换会话时,历史正文按 128 UTF-16 单位/拍(≈7.7k 字符/秒)逐字揭示,且被揭示的行每拍整段重解析(静态路径不走 graft,O(N²/128))。现在:预算插值只在"本拍有直播语义"时使用,已完成的历史整发上屏。真机读数:切 22,840 字符会话,内容在一个 100ms 采样步长内一步到位、骨架 0、long task 0 条、落位精确贴底。
- #213 活性权威化。
generating改由本进程回合时钟决定,不再由文档形状推断——进程重启或回合被截断后,旧会话不再永久显示"生成中"(页脚 spinner / 思考中…),也不再波及发送队列的 busy 判定。 - 配套渲染改动:LRU 命中同步渲染(历史行不过骨架)、渐进挂载窗口(首 16 行 + 每帧 +32)、长代码块流式期不折叠(按用户裁决,生成期能看到它继续长)、自管锚点 +
overflow-anchor: none、水合窗口 600ms。
交互与超时(#209 / #216)
- #216 等用户答复不算沉默。回合此前会被 180s 的"闲置窗口"判死,而那个窗口判错的不是"卡死"而是"agent 在等用户点击"(
last_activity只在session/update刷新,权限请求不刷新)。现在收到 agent 发起的请求即续命;闲置窗口与 prompt 预算解耦,缺省 600s(首 token 仍按短判据"起没起来")。 - #209 权限弹窗永远收得回来。此前回合被截断后,弹窗里的 Deny/Allow 点了都没反应、也没有任何关闭入口,输入区被永久挡住,只能 reload。现在新增本地收口出口(
Escape与显式「关闭」),不再要求后端仍持有该请求;上次应答失败的原因也会显示出来。
内存与渲染细节
- #204③ 长思考流式内存:真机判定为瞬时 churn 而非泄漏(族峰值 1189MB / 单进程 828MB,但强制 GC 后堆 22.8MB,族峰值自行回落)。本轮进一步压低:折叠态大正文惰性渲染、markdown 缓存改字符预算、graft 基座加字节预算(256KiB,至少保留 1 条)、全局分配器换 mimalloc。
内核与存储(本分支早段)
- #205 切会话冷读 + 投影线性化。compact 读从全表物化改为两段 SQL 下推 + 读侧 delta 折叠:135,826 行库 954.8ms / 413.2MB 峰值 → 142.2ms / 13.4MB;投影 Θ(N²) → Θ(N)(40k 行 49,540ms → 986ms)。
- #155 T1/T2/T3-1:
canonical_events28 列 → 15 列、(owner_key, sequence)WITHOUT ROWID 主键;写侧相邻同类 delta 聚合为*.delta.batch(行数 20,000 → 625,存储 8.27 → 5.56MB)。 - #208 超长代码块不再静默截断:折叠提示带展开/收起,按有界步长增量展开。
已知边界
- #155 T3-2(draft 尾巴契约)未做:ADR-0008/0016 允许"停在 T2",且跨窗口累积到回合边界会改动"在途行何时落盘"的 flush 语义,需先裁决。
- #217 活性权威上移内核未实现:ADR-0017 已入库(在途回合成为内核一等事实),分片 K1–K4 待开工。当前降级链为
kernel 缺位时的 clock > document。 - 长会话冷开时挂载窗口与自管锚点补偿在真机未触发(实例最大 13 行 < 初始窗口 16),仅单测覆盖;锚点用例已做反证。
校验
pylon-0.2.4-Rev-win64.zip.sha256:SHA256 校验pylon-0.2.4-Rev-win64.manifest.json:包内文件清单与大小- 全新机器首装:运行
tools/install-webview2.bat(同目录手动放置的安装器优先,否则从微软官方地址下载)
Pylon 0.2.3
Pylon 0.2.3(Windows 便携包)。本包由 Ru5t/Reflector 分支(版本号提交 be5ee80)构建。
发行包变更
- WebView2 安装器出库(#185 / ADR-0014):便携 ZIP 不再内置
MicrosoftEdgeWebview2Setup.exe,manifest 不再有webview2Bootstrapper字段。全新机器首装:运行tools/install-webview2.bat——同目录手动放置的安装器优先(离线场景),否则从微软官方地址下载并静默安装;已具备 WebView2 运行时的机器无感。
内核与依赖
- dispatcher:canonical live updates 批量下发(#180/#181),减少逐条事件分发开销
- 依赖升级(dependabot):rustls 0.23.45、encoding_rs 0.8.41、tauri-plugin-dialog 2.7.3、log 0.4.34
工程(不影响运行时行为)
校验
pylon-0.2.3-win64.zip.sha256:SHA256 校验pylon-0.2.3-win64.manifest.json:包内 216 项文件清单,与 ZIP 逐项 verify OK
Pylon 0.2.2
Pylon 0.2.2(Windows 便携包)。本包由 Ru5t/Reflector 分支(PR #169)构建——该 PR 尚未合入 main。
标题栏
- 右簇收敛为两个控件:设置齿轮菜单 + 右栏折叠钮。界面模式与设置合并进同一个菜单(三段:界面模式 / 设置域跳转 / 插件项),原「界面」「设置」两个文字触发与第三处面板切换入口「右侧栏」菜单全部删除。
- 标题栏所有可点盒子统一高度:
--ui-control-standard(36px)+ 垂直居中。此前窗口三钮比图标钮低 0.5px、「···」通高 43px,同一行三种几何。 - 右栏折叠钮图标重画:改为画出来的面板符号(右侧实心条 = 右栏在,折叠时压淡),不再用与窗口控制撞脸的
»箭头。 - 删除「重新打开最近关闭的 Sheet」按钮;能力保留在命令
workspace.sheet.reopen与页签右键菜单。
插件可注册标题栏菜单项(插件 API 2.1)
标题栏贡献新增 slot: 'app-menu' + renderKind: 'command':插件只声明 label / icon / commandId,菜单外壳(分段、图标、键盘导航、错误边界)归宿主,点击经命令注册表执行。注册期 fail-closed 校验(app-menu ⇔ command 互相绑定、commandId 非空、槽位封闭词表)。
页签(浏览器式)
- 新建 Sheet 的「+」紧贴最后一个页签;页签之间是小竖线,与「+」之间没有竖线。
- 页签随数量自动压缩;压到最小仍装不下的不再滚动,改为收进「···」选单(选单列出全部页签)——容器右缘不会出现被切掉一半的页签。
- 活动页签落在渲染窗口之外时,窗口整体平移把它带进来。
右栏面板模型(插件 API 2.2,ADR-0012)
workspaceKind由「可用性闸门」改为「默认选中的亲和」:面板不再按 Sheet 种类被裁掉,用户可在右栏切换器里切换任意面板;when仍是硬闸门。- 默认选中顺序:亲和当前 Sheet 种类的面板 → 第一个
global面板 → 列表第一个。用户显式选择落rightRailStore.activePanelId(跨 Sheet 保持、重载后仍在)。 - 删除右栏内部的重复折叠钮(折叠只有标题栏一处)。
修复
- 左栏所有按钮曾长期失效:长按拖拽在
pointerdown就捕获指针,click因此被改派到模块头,头内部的标题/折叠钮/「打开」/头部动作全部收不到 click。改为长按到点才捕获,并补pointerleave取消长按。
门禁
tsc -b 无输出;eslint src/ 0 error;全量 601 文件 / 4380 用例通过;check:docs / check:first-party-styles / check-plugin-manifests / 打包自测(三处版本一致性 + 说明书收集契约)均通过。浏览器实测见 .agents/records/154-titlebar-and-context-rail.md。
Pylon 0.2.1
Pylon 0.2.1(Windows 便携包)。
- 统一侧栏模型(#154):左列几何收归布局层——四套独立宽度 token 收敛为唯一真值
--sheet-sidebar-track-width(展开=用户宽 / 折叠或本 Sheet 无左栏=0);竖直分割线改由布局层单点绘制,8 个 Sheet 一律不再自画边框(此前浏览器 Sheet 硬编码 156px,实测与标题栏分割线错开 84px);折叠 = 0 宽(不再保留 42px 紧凑轨道),可见性由布局层状态统一负责;折叠按钮固定在最左端、三灯其右,且展开/折叠两态位置不变;「右侧栏 / 界面 / 设置」与窗口控制在两态下位置逐项不变。新增左栏拖拽实时调宽手柄。 - 生成指示器终帧交付(#68):新增终帧 window 广播兜底轨,并把终态证据落到 generation 账本(#99 语义)。
- 内核落盘设计(#155 / ADR-0008 系列):流式 chunk 聚合 + 批事务、合批口径、两级存储提议与 schema 重建口径等决策入库;
src/__tests__/replay/补五层不变量 harness 与场景矩阵。 - 发行包内置调试通路:
tools/webview2-mcp/pylon-webview2-mcp.exe与同级README.md随包分发(拿到 exe + 运行中的 Pylon 即可用,不需要源代码);release 构建固化--remote-debugging-port=9222,使发行版同样可被 MCP 反连。代价:这等于把窗口对同机任何进程开放,已在 README 与发行包清单中写明;如需关闭,删掉src-tauri/tauri.conf.json的additionalBrowserArgs一行即可。 - 版本号 0.2.1(
package.json/src-tauri/tauri.conf.json/src-tauri/Cargo.toml三处版本源 +Cargo.lock一致),docs/说明书三份「适用版本」行同步。 - 已先把远端
main合并进本分支(含 #153 的 #116 前端收尾),合并后tsc -b0 错、定向 vitest 108 文件 534 项全绿、lint 0 error、首方样式与 tailwind token 门禁通过。
资产:pylon-0.2.1-win64.zip + .sha256 + .manifest.json(逐文件大小与 SHA-256,共 213 项)。
ZIP SHA-256:9d1ceebed9a48f2b37a44628c4b7f460808103a02d274696acd4a51f51a27b05
Pylon 0.2.0
Pylon 0.2.0(Windows 便携包)。
- 发行包新增自带的调试 MCP 服务器:
tools/webview2-mcp/pylon-webview2-mcp.exe与同级README.md(接线方式、以及「加调试端口等于把窗口对同机任何进程开放」的代价说明)。 - 版本号 0.2.0(package.json / tauri.conf.json / src-tauri/Cargo.toml 三处版本源一致)。
- 测试基建:
pylon-fake-agent新增 fork / rebind 场景;迁移 main 合并带入的两处旧 API 调用,修掉 lib test 编译阻断。 - CI:ACP shadow parity 的 duration 维度改为度量 fixture 本体耗时(原先量的是含编译的进程墙钟)。
资产:pylon-0.2.0-win64.zip + .sha256 + .manifest.json(逐文件大小与 SHA-256)。