Repository navigation
持续优化 Web 使用体验:设置、浏览器、文件与会话交互 #597
Description
Activity
我来认领本 Issue 的本轮实现与回归验证。
计划将 PR #561 之后已完成的两轮使用测试结果整理为独立 PR:保留最新 main 已合并的 PTY 创建取消实现,提交其余输入、会话隔离、浏览器键盘、分栏、Diff 焦点、终端输入队列和文件引用修复,并补充针对失败、取消和迟到结果的测试。
会在新 PR 中关联本 Issue、附上可复核的研究记录,并在最新 main 上重跑仓库检查、完整测试和浏览器回归。本次认领范围为这批具体问题,后续未验证方向继续在本 Issue 中跟进。
- changed the title
[-]持续优化 Web 使用体验:输入、会话隔离与工作栏交互回归[/-][+]持续优化 Web 使用体验:设置、浏览器、文件与会话交互[/+]on Sep 21, 2026 PR #598 now includes commit 94059b5 for per-user-turn change cards, Codex-inspired native history/item pagination, and explicit recovery of truncated visible message bodies. The cumulative composer file bubble is removed. The older-reading-window duplicate-input regression and narrow-screen jump control are covered.
Local verification:
bun run check,bun run test(Node 1,948 pass / 5 skip; Vitest 498 pass), and full Chromium E2E 67/67 pass. GitHub CI is pending. No restart or deployment to the resident 57161 service was performed.Reusable conclusion, evidence boundaries, and ablation: https://github.com/testikun/openpi/blob/codex/web-ux-597/docs/research/WEB_TURN_EVIDENCE_AND_ITEM_RECOVERY_2026-09-23.md . Turn diffs are temporal Git comparisons, not proof of the writer; old Sessions are not backfilled and unavailable or quota-limited baselines are marked explicitly.
Validation follow-up for PR #598 commit 94059b5: the full CI run is green across Node 22/24/26, Linux Web E2E, and Windows background terminals: https://github.com/openpi-dev/openpi/actions/runs/35840808353 . This supersedes the pending-CI status in the prior update; the resident 57161 service has not been restarted.
PR #598 的 2026-09-26 批次已推送:后台 A 运行时查看 B,侧栏按精确 Session 文件身份显示运行/排队;Files、Trajectory、Git review 不再混用 A 的实时状态。设计取舍、参考源码事实、消融与验证记录见 Web 后台会话的观察身份。本地
bun run check、bun run test和 Chromium E2E 67/67 通过;PR CI 待确认。PR #598 后续提交
736ab52已更新排队消息交互:移除独立编号卡片,改为输入区内的紧凑单行预览、限高滚动和可访问展开。设计依据来自本机 Codex Desktop 26.917.62051 的排队组件,并明确区分 Pi 原生队列与 Codex 的逐条可写操作。研究记录:Web 输入区的排队消息。核对
/api/prompt的 12000 字符门限后,消融掉了不必要的超长输入摘要协议;没有新增队列存储或编辑/撤回权限。bun run check、完整bun run test(Node 1954 通过、5 跳过;Vitest 504 通过)及最终 Composer 71 项回归通过。本轮按用户要求不重新运行 E2E,更新了旧移动端包含关系断言,不宣称 Codex 像素一致性。57162 预览更新,57161 常驻服务未改动。继续迭代到 PR #598:
d364bc3完成设置入口、草稿离开确认和原生配置失败恢复这一批。- 凭据入口直接进入 Models 并一次性定位;普通 Settings 仍进入 General。
- 关闭/转运行状态/跨服务商前保护未保存草稿;读取重试不删草稿,确认放弃也只在读取成功后替换。
- 保存失败留在原表单并使用安全说明;模型刷新不再重建凭据输入。多个模型草稿保留各自基线,外部变更者不能直接覆盖。
- 修复保存后选择与偏好刷新、外部模型移除与凭据确认之间的竞争。
参考、设计推断、验证边界及消融记录 已记录在仓库,并反链本 Issue。
验证:
bun run check通过;全套 Node 1956 通过/5 跳过,Vitest 536/536。首轮焦点测试采到异步恢复中间态,改为等待真实焦点/光标完成,未改实现或加固定延时;全套重跑通过。隔离 57162 在 390x844、1280x900 做入口和草稿确认检查,没有真实密钥保存或模型调用;未重跑 E2E,也未更新 57161。消融移除当前检查对象保留后,外部模型删除回归失败,恢复后通过;常驻确认组件和冗余清理则已删除。
这个 Issue 继续保持开放。下一批候选是工作栏预览后的返回/焦点/Escape 层级,以及 Session 草稿、阅读位置和归档分页;这些尚未实现,不将本批当作整个 Web 体验迭代完成。
继续迭代 PR #598,本轮提交
c9350af:工作栏“检查后返回”。- Diff 内 Escape 先回原文件行及滚动位置,列表再关闭工作栏;终端 Escape 仍发送给 PTY,不停止资源。
- Git 列表/预览共用刷新;失败保留内容,单文件结果按 source/path/revision 隔离。
- Files 预览保留原列表、嵌套来源和外层入口;相同 ID 不同路径或 Session switching 撤销旧预览/焦点/grant,Tools 导航不叠加面板。
bun run check、完整bun run test通过:Node 1956 通过、5 跳过;Vitest 566/566。桌面与手机尺寸的实际 Git 刷新、两层 Escape 验证通过。- 没有运行 E2E、更新 57161、调用真实模型或扩展文件权限。本机 Codex 窗口仍被自动化工具直接拒绝,具体规则未暴露;参考产品本轮仅冻结源码核对。
事实、设计、消融与验证限制已保留在工作栏研究记录。Session 工作位置及其它 Web 细节仍在本 Issue 继续迭代,不关闭 #597。
Session working-position iteration is now in PR #598 at
e141ee0479e73f5221081b8d1abb3e72e69c1fe2.- Exact Session id/path scopes unsent text, caret and completed images; send cleanup uses captured revisions, creation uses exact native receipts, and navigation is not prompt-admission evidence.
- Bounded reading windows and entry-offset bookmarks return together across Session switches. Repeated controlled selection is idempotent; hiding a workspace does not revoke an otherwise valid native reader/controller.
- Archived Sessions use the existing native query/cursor API with abortable reads, stale-cursor refresh and scoped restore feedback. Restoration never implicitly selects a Session.
- Full
bun run checkandbun run testpassed: Node 1,956 passed/five skipped, Vitest 634/634. Focused tests, independent review findings/fixes, ablations, isolated desktop/mobile observations and limits are preserved in the research record. - No E2E rerun, real-model call or resident 57161 update in this batch. Codex native automation retry returned the same app-access denial without a policy identifier; bundled source and screenshots remain narrower evidence.
This is one iteration, not closure of #597 or a claim that the complete Web interaction is finished.
Web operator action continuity: 09c18fd
继续提交到 PR #598,本批记录:设计、消融和验证边界。
- 原生问答按精确 Session 文件和 request 保留选择、备注、确认位置及不确定提交的原始 payload;canonical successor/null 同步更新身份,旧回执不会覆盖新提问。
- 重命名和移除工作区等待实际结果,失败留在原位置;归档刷新保留已打开分页,新建 Session 不覆盖后来的筛选意图。
- 完整模型目录本地筛选,截断目录复用原搜索 API;普通快照不重启搜索,settings_changed 覆盖隐藏模型修改。Slash 保留正常 Tab 导航,文件引用替换选中范围并拒绝迟到插入。
验证:完整
bun run check通过;bun run testNode 1,956 通过、5 跳过,Vitest 702 通过。独立复核确认两项竞态修复;聚焦回归及消融详见记录。57162 桌面/窄屏手工检查了模型弹层、文件引用和布局边界,无消息发送或凭据修改。按用户要求未跑 E2E,57161 未修改。真实问答/归档操作、多浏览器设置、Safari/完整 IME 和原生 Codex UI 不在本批验收范围。本机 Codex 窗口重新尝试后仍被 Computer Use 接口按应用拒绝,没有策略编号;官方说明区分自身自动化限制与 macOS 权限,不把此结果当作缺失系统授权。完整 Web 交互迭代仍在继续,不关闭 #597。
Continued Web interaction iteration in PR #598, commit fa0fbc2.
- Recover terminal transport through the original PTY/offset. Restart has a locked confirmation; native modal Escape and focus stay owned by the terminal.
- Retain full over-limit input, classify definite rejection, retry the original uncertain request, and use exact native admission/handled facts without converting execution failure to success. Late/collapsed receipts preserve newer or retyped drafts, including abandon/rejection/Session round trips.
- Keep one child detail through overview/action refresh, expose unavailable file references honestly without wider grants, and reject same-tick duplicate side-conversation actions.
Validation: full check passed; full test passed (Node 1,957 passed/five skipped, Web 772 passed across 46 files). Focused prompt 335, terminal 28, child/side-conversation 82 and Host 49 passed; independent final selection 17 passed. Necessary protections were restored after actual ablations; redundant state conditions, focus refs and a suppression were removed.
Bounded 57162 observations at 1280x900 and 390x844 verified modal containment/focus, mobile Escape and full 12,001-character draft retention with Send disabled and no overflow. No prompt/model call or E2E rerun; resident 57161 is unchanged. Synthetic input and viewport overrides were cleared. Live uncertain-admission/child workflows and broader IME/Safari are not claimed.
Reusable research record and remaining limits. This issue remains open for the broader Web iteration.
Continued PR #598 with
6ee6dbf5cca664e1af8f7baa55d60a18518caa08: result reading and inspection.- Draft image thumbnails open a native dialog with Fit/Original modes and owned close/return focus. Long screenshots remain contained and can be scrolled at natural size.
- Large plans read the exact successful, validated native
plan_readyentry, not tool arguments or result prose. Partial/full copying is explicit; reading is not approval or execution. - Execution rows, cards and collapsed groups preserve missing evidence, process failure and native workflow uncertainty. Per-turn review and full-text completion retain reading/return focus.
- Healthy browser frames cannot hide operation failures; obsolete navigation, input, resize and initial-restore receipts cannot contaminate the current page or draft.
- The two JSX-free UI suites now follow the existing
.spec.tsdiscovery convention. A full gate also exposed and corrected a question test's DOM-before-passive-cleanup wait without weakening its assertions or changing production lifecycle.
Validation:
bun run checkpassed;bun run testpassed with 1960 native tests / five platform skips and 51 UI suites / 841 tests. Final focused reading selection passed 91 tests. Actual ablations and necessary restored guards are in the source-scoped record.Bounded desktop observations used the isolated 57162 preview and synthetic local media, without submitting a model prompt. The requested mobile override remained at desktop dimensions, so this round does not claim mobile manual acceptance. No browser E2E rerun or resident 57161 update. The 57162 development runtime was explicitly restarted after the commit to load current backend source.
#597 remains open for the wider Web interaction iteration.
Model entry iteration:
0693906Continued on PR #598 with truthful native current/unselected/loading model states, an actionable empty picker, and the existing Models settings route. Catalog refresh no longer leaves contradictory no-match feedback. Popup return preserves draft/focus; model options alone scroll so configuration remains visible.
Pi still owns selection, prompt/auth preflight and extension commands. No automatic model, credential copy, new configuration store or Send guard was added. Removed the duplicate popup frame and unused selector placeholder after ablation/manual checks.
Validation:
bun run checkpassed; full tests passed 1963 native tests (5 platform skips) and 51 UI suites / 851 tests. Native focused suite 55, picker 26. Actual desktop and same-origin 390px/320px CSS viewports were inspected; a synthetic 50-model fixture confirmed scrolling bounds. Temporary fixtures/tabs removed; 57161 untouched. No browser E2E, physical phone/IME, authentication save or model execution claimed. Native Codex automation again returned its application-level tool rejection, without a bypass.Durable source/evidence record: Web model entry. Broader Web iteration remains open.
Browser committed-text iteration:
e526d11Continued on PR #598. The screenshot browser now enables a real host text surface only after a native editable-focus receipt; final Unicode commits carry an opaque owner checked before dispatch. Physical key handling stays with the page. Password targets remain unknown to this plain-text proxy, and earlier rejected characters are not hidden by a later character or scroll.
Reusable evidence and limitations: Web browser committed text input. The record links back to this Issue and PR.
bun run checkpassed;bun run testpassed 1,983 native tests (5 platform skips) and 52 UI suites / 907 tests. A bounded desktop Chrome check covered mixed Unicode, Tab target change, page-prevented slash, noneditable controls and password focus. Browser E2E was skipped per request; actual OS IME candidate windows and mobile keyboard activation remain unverified. Direct native Codex window automation is currently rejected by the Computer Use service, so no Codex UI parity is claimed.The larger Web UX issue remains open.
文件功能已在独立分支完成并推送:testikun/openpi#2,基于 #598 的最新浏览器提交
79a4f63,目标分支为codex/web-ux-597。旧“生成文件”入口已替换为工作区文件树+原位预览;目录/搜索支持加载更多,长文本支持同版本继续读取。DSH 的冻结源码比较、支持格式、资源边界与消融记录:工作区文件与原位预览。
本地
bun run check、完整bun run test通过(Node 1956 passed / 5 skips;Vitest 823 passed)。文件真实 Host/Chromium 专项 3/3 通过;合并最新浏览器实现后,其余 56 条 Chromium 用例通过。完整浏览器套件的 11 条既有失败已在未修改的e526d11基线全部重现,细节和验证命令范围见记录与 PR;没有禁用仓库测试,也没有将完整 E2E 声称为通过。Office 当前提供内容预览,不保证原软件排版;HTML/SVG 是不执行脚本的静态沙箱预览。
Workspace sidebar refinement is now included in PR #598 (
4ecc5a3). The design and validation record documents the DSH/Maka/Pi Web references, folder and Session hierarchy, compact archive access, duplicate-path disambiguation and simplification. Local checks and the full suite passed (2,005 Node tests, eight skipped; 852 Vitest tests), plus five targeted Chromium scenarios. This remains a design record, not an accepted architectural constraint.2026-10-08:完成一轮 Codex 风格执行活动区迭代,分支 codex/web-execution-codex-ui,基于上游 main
3cb2ecf。UI 实现为ce87d266和bb7ef027。- 运行中的外层过程默认展开,执行结束后折叠;内部思考和完整工具详情设置独立生效,手动展开查看可用。
- 使用统一线框图标和紧凑活动行,保留 read/edit/write 高亮、文件名预览、Shell 输出与复制反馈。
- 本轮补上单行命令摘要与截断、基于成功返回 diff 的增删数、部分证据提示、简短分组标题、向右/向下折叠箭头及本地化状态说明。
源码参考、Claude 项目对照、所有者边界、消融和验证范围见 研究记录。
bun run check通过;按用户要求未运行自动化测试套件。实际组件的合成展示确认了折叠、长命令、增删数、键盘文件预览和浅/深色交互;不作为真实工具执行或数值还原度证明。本地常驻部署已更新到检查过的构建,页面及授权快照可用。没有公开私人 Session、凭据或配置。补充浏览器工具接入的本机验证:Pi browser tools and OpenPI embedded pages。来源固定为 OpenPI
3cb2ecfe、Pi0.99.1和已有的pi-computer-use0.5.1。OpenPI Web 原生 package loader 可以加载外部浏览器工具,独立 Chrome 的读取、中文输入和按钮操作通过。现有 iframe 面板的目标定位与精确输入未通过,原生窗口截图可用;这一结果不能当作已经完成面板自动化接入。
此次只验证工具执行层,没有真实模型调用或当前 Web 服务配置变更。来源、失败路径、简化实验及本机原始证据引用保存在研究记录中;provider seam 的讨论也已回链到 #169。重连展示属于后续独立范围。
Follow-up: draft PR #720 adds a browser-only pi-computer-use source adaptation for OpenPI's existing embedded pages. The earlier standalone-package/iframe failures are retained, with the new integration evidence appended in the research record.
Local validation passes native Pi tool exposure, bound same/cross-process iframe read, exact Chinese input/button output, real iframe PNGs, internal page creation/navigation, stale-state rejection, native cancellation before a later write and extension-owned debugger detach. Chrome keeps one top-level OpenPI tab. Full checks/tests pass; the fixture pixel and DOM verifiers are separate from provider claims.
The default-off tool uses Pi Session/turn/controller authority and the existing Browser Bridge, with browser-reviewed debugger permission. This does not install the complete desktop package, claim a real provider/model turn, enable the live Web deployment or change reconnection presentation. Frozen local source/verifier/receipts and the remaining boundaries are named in the record; large evidence and isolated Session data stay outside Git.
Browser setup iteration is now in draft PR #720. The existing settings window gains one Browser page: default-off master control, separate embedded/native browser grants, default selection, real connection status, and installation/connection guidance. Users can name Chrome or Edge in conversation; unnamed requests use their configured default. Settings save through the shared writer without a model turn, and revocation works during an active turn.
The design, simplification and validation record links this UI work to #169 and the PR. Light/dark/390px layouts, installation without implicit authorization and WCAG 2 A/AA checks passed. A local standalone screenshot HTML distinguishes synthetic settings states from real Pi/provider screenshots. Four real
gpt-6.1-sol/mediumcases passed on clean0af87f36, independently checking the selected browser's input/save values; the original embedded navigation regression also passed. Full checks/tests pass (2,328 Node / 1,161 UI, nine Node skips).Chrome and Edge were real isolated headless profiles because the Mac desktop was locked. Native installation dialogs in the everyday profile, Brave/Chromium physical testing and Windows/Linux launch helpers remain unverified; browser-owned installation/permission clicks are still required. No resident production update or reconnection-display change is claimed. The broader Web iteration remains open.
Final browser setup delivery: PR #720 is updated through
97d04d2c. All final CI jobs passed, including Node 22/24/26, Windows and both browser shards. The complete local Chrome suite also passed 107/107, alongside the full Node/UI gates.The updated design and validation record retains the CI failures and corrections rather than replacing their history. The final real-provider run on clean production implementation
f19f0442passed all four default/explicit browser scenarios, with 12 successful calls, eight actual images and independent Chinese input/save-value verification. The local HTML report includes screenshots, exact source/browser/model identity and the final CI receipt.Installation remains optional and browser-reviewed; model access is separately opt-in. Pi core and upstream pi-computer-use are unchanged. The everyday desktop installation path was not manually exercised while the Mac was locked. The broader Issues #169 and #597 remain open; this PR remains a draft for review.
目标
持续优化 OpenPI Web 的日常使用体验,围绕真实使用中的“输入 → 发送 → 查看执行与文件变化 → 切换会话 → 取消或恢复”闭环,按可复现的小批次修复交互与生命周期问题。
Related to #455。#455 保持总体体验入口;本 Issue 聚焦 PR #561 合并后的使用测试与迭代,不重复建设已完成的工作栏、设置页、终端或浏览器功能。
当前已确认的问题
基于 PR #561 的真实 Web 实例和两轮确定性回归,发现以下需要继续修复的场景:
另发现的“Session 切换或清理后仍创建旧 PTY”已由 #561 最终合并版本修复。本轮沿用主分支实现,补充排队、加载、切换工作目录及清理边界测试,不重复替换实现。
以上是已经复现的问题或已合并的修复事实;更广泛的移动端、输入法、长期断线和性能体验属于后续调查方向,不视为当前已证实缺陷。
迭代方式与边界
本轮验收标准
bun run check、bun run test与 Chromium 端到端测试通过;明确记录真实模型与真实 PTY smoke 的结果和局限。本 Issue 用于持续跟进,首个修复 PR 完成上述批次后更新状态;尚未验证的后续方向单独复现、评估和拆分,不由一个 PR 宣称全部解决。
本轮进展
前两轮修复已合并到同一个 PR:#598,由 @testikun 提交,已推送,待 Review / 合并。本轮不再拆分多个 PR。
初始整合时(2026-09-20),在已合并 #561 的 main 上,
bun run check通过;Node 1703 passed / 1 platform skip,Vitest 309 / 309,Chromium 端到端 52 / 52。两个源码研究记录保留复现步骤、消融、真实模型与 PTY smoke 以及验证局限:已在本 Issue 留言认领;当前账号无权修改仓库 Assignee 字段,需维护者设置为 @testikun。实现和提交不受此字段限制。
2026-09-21 更新:同一 PR 的后续使用迭代
所有修复继续集中在 #598,最新提交
4d229e5,没有拆分新的 PR。/openpi-setup,密钥不会进入模型对话。参考调查覆盖 Codex 官方 Review、Claude Checkpointing,以及固定版本 Maka、两种 Pi Web 和 Chromium 实现;结论、范围、消融与证据边界保存在 原生 Web 交互调查记录。
最新验证:
bun run check通过;Node 1711 passed / 1 Windows-only skip,Vitest 317 passed,生产构建 Chromium E2E 54/54 passed。独立实例验证模型/测试密钥保存与 setup 表单;真实 Chromium 验证 2x PNG 视口及输入坐标。均不是通用性能 Benchmark,也未声称覆盖所有超时原因。用户正在使用的 57161 常驻实例未更新或重启;测试服务和临时测试页已关闭。后续未验证体验仍留在本 Issue 持续跟进。
2026-09-21 第三轮:五项交互与响应问题
继续集中在 #598,提交
c781376:修复前新增用例有 6 条失败(Control/Meta 分别覆盖),修复后通过。最终
bun run check通过;Node 1711 passed / 1 Windows-only skip,Vitest 329 passed,生产构建 Chromium E2E 56/56 passed。真实 Chromium 用例验证本地 HTTP 页面、全选替换与撤销,并读取外层 UI 已显示 PNG 的像素确认画面改变。两次本机按键到画面更新上界样本为 151ms 和 123ms,含自动化及轮询开销,不作为通用性能保证。完整复现、消融及证据边界。
57161 常驻实例仍未更新或重启。配置归属与
/openpi-setup入口保持原有约定。2026-09-21 第四轮:保存反馈、键盘与拖拽
已继续提交到同一个 #598,提交
ece3e42。本轮五类修复:修复前 7 条设置用例、2 条鼠标用例失败;真实 Chromium 越界拖拽也复现失败。修复后
bun run check通过,Node 1711 passed / 1 Windows-only skip,Vitest 338 passed,生产构建 Chromium E2E 56/56 passed。独立 57461 实例确认:方向键切换生效,编辑即清除成功提示,外部修改后能载入最新字段值。真实 Chromium 验证越界松开和右键身份。测试页与测试服务已关闭,57161 常驻实例未更新或重启。
第四轮复现、消融与验证记录。持续优化目标保持开放;没有把本轮五类修复解释为所有 UI 问题已经清除。
2026-09-22 第五轮:侧栏、图片、设置与回合反馈
继续集中在 #598,最新提交
fbf15d2;已合入 main6132d99(合并提交d9568c4),保留上游会话 ID/路径校验和前台 post-edit 生命周期。/openpi-setup。/菜单开放原生 setup 与现有 Web 面板快捷入口,其他命令显示不可用原因。参数不适用时保留草稿并说明。验证:
bun run check;Node 1856 passed / 1 Windows-only skip,Vitest 417 passed,生产构建 Chromium E2E 61/61 passed。真实 UI 完成配置保存及25秒耗时显示;独立采样确认连续 setup 正确重新暴露 writer,澄清提示后的两次真实配置各应用一次并保存。该样本不代表普遍模型可靠性;曾观察到的未应用结果与正反证据均保留在记录中。第五轮复现、消融、参考与验证边界。原始截图和日志单独归档,凭据与私有 Session 不进 Git。57161 常驻服务未更新或重启,独立57561测试服务已在空闲时关闭。
持续优化仍在进行;下一批优先修复长会话历史缺页、正文阅读排版,并复现侧边对话导航、终端焦点和文件预览关闭状态等候选;执行过程区域保持原设计,未验证项不提前记为已解决。
2026-09-22:历史阅读、后台进度和输入控制
继续集中在 #598,提交
2f78cf3;main6132d99已包含在分支内。本轮补齐以下实际使用问题:最终本地验证:
bun run check通过;Node 1869 passed/1平台skip,Vitest459 passed,真实Chromium E2E65/65 passed。SDK与HTTP的双Session浏览器场景确认A继续显示进度,停止只影响A、B继续运行。读历史锚点偏移≤2px。远端CI将按新提交重新运行。完整证据、消融、边界与SDK关联限制。原始证据在私有round6归档,凭据和用户Session不进Git。
用户57161常驻服务未更新、重启或中断。其GitHub连接超时与启动环境的代理差异相关,未擅自修改用户Git或代理配置;这与已修复的后台UI状态盲点分开记录。本Issue继续开放,不声明所有Web问题均已消除。
2026-09-22 收尾验证
同一 PR #598 已推送历史/输入修复
4e9ba87、启动诊断0b5a0f2和关闭清理修复4480b8d,继续保留 main6132d99。ENOTEMPTY:发送结束信号后就删除目录,而 Chromium 仍在写文件。现在等待原生 close 后清理目录,保留有限清理重试;原始启动失败不再被次级清理错误覆盖。旧实现两项真实进程回归失败,新实现通过。bun run check通过;Node 1873 passed / 1 skip、Vitest 465 passed、生产构建 Chromium 65/65 passed。该次 CI 的 Linux 冷启动与 Web E2E 通过,另外两项失败来自 React 效果未就绪和 POSIX/Windows 管道语义不同的测试前提,随后在13465ad修正,保留实际输入断言及所有平台的原生进程关闭覆盖。原始复现、失败日志、消融与最终验证在原 round6 私有证据目录追加归档;公共结论仍见历史与生命周期记录。
2026-09-23:同步最新 main 并完成集成验证
所有变更仍在 #598,最新提交
0bc3470,已合入实际 main43cd2e9。保留结构化问答、计划卡片、原生命令反馈、配置诊断/回滚、锁恢复、工作区准入后身份复查、Windows PTY、工作流产物预算及会话日期等主线变更。/usage走主线原生命令反馈,其他面板快捷入口保留;setup 原请求与结果仍显示,问答卡片只允许原控制标签提交。最新本地
bun run check通过;Node 1925 passed / 5 skipped,Vitest 497 passed;默认真实 Chromium E2E 65/65,Pi SDK+脚本化 provider 的问答/计划/命令 E2E 12/12。脚本化 provider 不作为真实模型能力证明。最终提交 CI 已全部通过:Node 22.19.0 / 24 / 26、Linux Web E2E(含三次独立 Chromium 冷启动与清理)、Windows 原生进程和完整套件。PR 无冲突;工作区已提交干净。该轮验收时,57161 仍为
6c58e98、PID 1113,未部署或重启。曾阻断完整测试的自动审批服务已恢复,测试已实际执行;没有绕过审批或把未执行命令记为通过。2026-09-23:PR 复审问题修复
继续提交到 #598,提交
81d4c67:13465ad等待 React 被动效果,当前修复没有撤掉断言。本次继续等待新提交 Node 24 和完整 CI,不拿旧版本的绿色结果替代。六项真实 Git 回归在原 head 上全部失败,修复后 Git review 15/15 通过;分别移除路径与对象身份保护,回归再次失败。完整本地检查通过,Node 1931 passed / 5 skipped、UI 497 passed、真实 Chromium 66/66 passed。
81d4c67的 Node 24 等 Node/Windows 检查通过,Web 任务在用例运行前的冷启动门禁失败,诊断给出无效 D-Bus 地址。250731f为 Linux CI 提供隔离会话总线;保留三次启动的失败、原超时和 sandbox。最新 CI 已全部通过:Node 22/24/26、三次 Linux 冷启动及清理、Web E2E 66/66、Windows 进程生命周期和完整套件。当前 Node 24 的完整测试包含原滚轮回归。复现、消融和验证边界。原始证据保存在私有
openpi-pr561-usage-20260920/git-review-20260923。常驻 57161 此前已按用户要求更新到0bc3470;本次 Git 修复未重启该实例。2026-10-09 — Files, Terminal and Changes workbar refinement
PR #711 now includes the scoped workbar tools design and acceptance record. It separates the supplied Codex/DSH references from OpenPI's native owners and distinguishes live installed DSH/sidebar versions from latest static source.
Files gain labelled New / Import / More menus, explicit save states and keyboard focus restoration; Changes retain native status and comparison once; Terminal preserves manual reading with an explicit return to bottom. The active tool picker keeps editor/output visible and all descriptions fit the tested 320px viewport. Product
7685f38dpassed the complete check and test commands: 2,324 Node passes with 9 skips, and 1,254 UI passes. Native Files/Git/PTY acceptance, provenance, ablation and limitations are recorded in the linked document; private raw evidence and credentials remain outside Git.