Track the fixed PhotoCraft source baseline with the existing native client integration. Use the actual Pi SDK for normal sends, durable session recovery, demand-loaded enterprise rules and checked undoable canvas tools. Retain request identities and never resend unknown inference. Include local packaging and real-call acceptance evidence.
8.1 KiB
Pi 客户端正式接通与验收 · 2026-10-22
结果与边界
原生客户端正常“编辑画布”发送入口现使用 Pi Coding Agent SDK 1.3.0,保留 PhotoCraft 原生画布、现有极简界面、个人Key、独立对话/生图模型选择。不是另开一个只能在脚本使用的验证器。Pi 在用户电脑运行;服务器新增的只是授权规则读取接口,不承接推理、画布、历史压缩或工具沙箱计算。
本轮真实模型为用户当前选择的 grok-4.7,只访问98k公开客户接口。真实规则来自同事维护的企业知识库及素材库目录,当前完整就绪组合为顾家/电脑桌/GJ-DESK-DNZ0385。其余组合不借用规则或显示就绪。QA产品编号 QA-PI-CLIENT-1022、颜色与尺寸为明确标记的验收资料;使用既有1440px五屏本地画布验证编辑,不把这次验收当成新产品商业详情图质量验收。
接通内容
- 正常客户端发送启动随包的 Node 子进程;Pi 管理完整会话JSONL、事实记忆、历史检索、摘要与工具循环。每次发送可重新启动宿主,继续读取同一项目会话,不依赖界面最近12条消息。
- 素材库每次校验授权、账号及用途;个人Key只在Rust与系统凭据库使用,不传给Node。SDK默认终端、文件工具、用户扩展与自动重试关闭。
- 规则绑定精确到店铺/品类及版本。本机保存完整来源和项目快照,公共规则更新不改写旧项目。普通对话只注入基础约束,需要影像或模板时再加载。品牌文本和登记模块不重复塞入不同字段。
- 当前真实快照14942字符;最终投影:普通对话/文案1184字符,画布3882字符,方案/生图8125字符。这些仅是规则部分,不含工具定义、产品事实和对话历史。
- 老的完整画布/规则工具结果投影为可追溯摘要,原始JSONL保留。超过80000字符先压缩,投影后超过120000字符阻断;每个用户轮含压缩最多12次模型调用。
- 编辑仍进入同一原生命令队列。每步检查文档、账号、revision及接手状态;用户接手、人工修改或撤销后,旧建议不能继续覆盖。子进程预检查尚未结束时接手,同样不能被后续begin重新开启许可。
- 自编工具在QuickJS WASM中运行,仅JSON输入输出,至少3项测试通过、版本哈希匹配才可调用;不开放本机文件、网络、Key或终端。
实际模型与客户端验收
本轮9条成功派发的用户验收指令,共 24笔模型POST,24笔完整结束,0笔新增未知请求。每笔请求体与原生留存的SHA256相符。另有1条指令在HTTP504前置读取时失败,确认没有派发模型;保留失败现场。93条构造长历史明确标注,不计为真实用户对话或模型回答。
| 验收 | 实际结果 |
|---|---|
| 事实与更正 | 原编号、1300×650×760毫米保留;颜色更正为胡桃色,首屏标题定为“留白有序” |
| 店铺/品类注入 | 模型使用真实顾家、电脑桌、Noto Sans SC规则;模板示例与本款高度冲突列为待确认,不静默采用 |
| 方案 | 给出三屏大纲,不启动生图,不宣称完成最终详情图 |
| 长对话 | 插入93条构造消息后实际触发一次摘要,再用历史检索找回仅在原文中的口令“溪杉-6427”,同时保留更正后的产品事实 |
| 关闭重开 | 保存并实际结束原生GUI,再以新进程打开同一项目;编号、尺寸、颜色、标题、品牌品类、字体及历史口令恢复正确 |
| 实时画布 | 真实函数调用把16号文字层改为“留白有序”并右移12px;字号、字体和其他图层保持,界面观察到真实SSE部分回复 |
| 撤销/重做 | 两次撤销与两次重做,完整图层元数据分别与前后快照一致 |
| 用户接手 | 首条编辑排队时接手,0画布修改,后续模型步骤由本机停止,无额外模型POST |
| 自编工具 | 完整本地包内Agent编写client_padding_1022,1440/750/0三个测试通过,实际运行1440得到120;画布未改动 |
长历史摘要调用的最高输入为50654Token,包含构造历史、系统与工具上下文,不能误称为品牌规范本身超过5万或10万Token。原始历史仍保存在本机项目会话树中。
中断与未知请求
受控测试只在原响应完整落盘、原生记录为received后中断本地Node宿主,不伪装成上游宕机。客户端显示待核查,恢复等待窗口内未完成,随后再次执行原请求只读恢复,成功显示原回复 RECOVERY-1022-STABLE-V2。全过程只有 1笔生成POST、恢复0笔POST、自动画布写入0次,不是重发后碰巧成功。
原请求身份:本地b603e953-1d8c-456a-b580-93c011a48d1f,客户请求号92614d9f-14f6-4fb1-97e6-7e1b8f2dc215。完整落盘响应先通过原协议解析器校验;修改类工具建议没有执行证据时保持待核对,不自动回放,可明确放弃后继续。
之前遗留的未知请求0447b17b-1c45-4902-a6a5-18357a3e2a3f/客户请求号9dd3eebf-3b86-46c8-ac9e-3e4bb33c959b,本轮只读查询仍返回410,保持未知,未重发、未删除或换身份重做。生产已有未知任务记录的整体指纹在发布前后也相同。
缓存实测
24笔均返回可用usage:总输入 304000 Token,其中缓存输入 101248 Token,加权命中率 33.31%;单笔 2.53%~99.49%。
这是98k响应报告值,不是独立计费审计。不能保证每个模型或每次调用相同。之前2026-10-21的26笔为46.40%,与本轮是不同样本,不能混为稳定承诺。摘要调用首次读取较长历史也可能低命中。
本地保存规则和会话不等于模型缓存;模型缓存命中仍占上下文窗口,只可能影响响应速度/计费。未返回缓存字段时显示未知,不记成0。必须继续控制注入量,不能用缓存解释重复膨胀。
验证、打包与发布
- Pi测试30/30;原生相关测试55项通过、2项需要显式外部输入而忽略,新增预检查期间接手回归1项通过。
- 严格Clippy、31crate依赖分层和wasm检查通过。wasm保留上游3条既有dead_code警告;本地Windows开发构建仍有图标/版本资源编译警告,不能称为正式签名安装包。
- 正式Web规则接口3项定向测试通过,生产构建通过;已用本地客户端授权态读取在线规则目录。匿名读取HTTP401、
private, no-store;公网健康检查数据库/Redis正常。 $impeccable audit按原生Operate工作台执行:实际查看1440×900及1280×800截图,双模型及规则选择、输入区、操作胶囊均在窗口内,无说明墙或新网页面板。已有布局测试覆盖960/1100/1280/1440/1920等窗口。未宣称做过屏幕阅读器、移动浏览器或Photoshop实机验收。- 本地完整包位于
output/pi-client-integration-20261022/client,包含原生程序、Node 24.16.0、Pi和锁定依赖,约380.7MB;不含配置、Key、用户作品或请求日志。实际观察到客户端启动包内agent/node.exe及agent/src/desktop-host.mjs,自编工具真实调用通过,不依赖源码目录的Node脚本。 - 服务端提交/线上版本:
a8f75f341317dd83e474483c413809682a56b42a。生产镜像配置ID:sha256:a7982b8e400c16eda2871d12999dbe50f38cdce77416c6954592598846cd161b;回退版本70369dbdb2405bb6e7548f821211953b7ccf2557保留。无数据库迁移,无生产模型请求;发布前后未知记录指纹相同。 - 客户端源码另行提交:固定上游基线、二次开发源码与Pi运行层纳入主仓库;不提交嵌套Git元数据和其他未完成的Web/旧Electron改动。客户端源码/报告不改变上述线上Web镜像。
留存证据集中在output/pi-client-integration-20261022:final-client-summary.json、阶段*-passed.json与*-states.json、原生留存响应/payload、interrupt-recovery-passed.json、production-rule-ui.json、两张audit-*.png、项目保存文件及server-release/post-release.log。证据只保留本机,不提交Key、账户配置或运行期请求内容。