Skip to content

Extract floating-panel shared runtime services - #2008

Open
0xTotoroX wants to merge 2 commits into
BigPizzaV3:mainfrom
0xTotoroX:codex/stepwise-floating-panel-pr4-runtime
Open

Extract floating-panel shared runtime services#2008
0xTotoroX wants to merge 2 commits into
BigPizzaV3:mainfrom
0xTotoroX:codex/stepwise-floating-panel-pr4-runtime

Conversation

@0xTotoroX

@0xTotoroX 0xTotoroX commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

背景与目标

悬浮窗的页面运行能力同时服务 Stepwise 和 Answer Outline。此前这些能力仍集中在单一注入核心中,回答上下文识别、页面 Bridge 调用、DOM 文本处理、运行生命周期和设置同步彼此交织,后续功能改动容易扩大审查范围。

本 PR 将共享运行能力按职责归位到 assets/inject/floating-panel/runtime/,为后续 Stepwise 与 Answer Outline 功能拆分提供稳定的共享边界。它只整理共享运行时源码和源码契约,不新增用户可见功能,也不引入新的 CDP Bridge、模型请求链或页面注入入口。

变更内容

  • 新增 runtime/state.js:集中运行时状态、持久化适配、功能开关、运行代际和基础边界原语。
  • 新增 runtime/answer-context.js:统一当前用户问题、最新助手回答、回答身份、虚拟化消息和 Composer/消息 DOM 识别。
  • 新增 runtime/bridge-client.js:复用现有页面 Bridge,提供单一轻量调用包装和超时保护。
  • 新增 runtime/dom.js:提供自有悬浮窗过滤、文本提取和通用 DOM 文本辅助。
  • 新增 runtime/lifecycle.js:集中扫描调度、MutationObserver、启动/停止和运行代际清理契约。
  • 新增 runtime/settings.js:集中设置同步、启动、销毁和 HTML 转义边界。
  • 新增 floating_panel_runtime.rs:验证上述片段的职责契约,并明确 runtime 不创建第二套 WebSocket/CDP Bridge。

行为边界

  • 不修改现有 assets.rs 的生产 bundle 组合,因此当前页面注入行为保持不变。
  • 不新增浏览器运行时 import()、目录扫描、网络资源加载或第二个悬浮窗实例。
  • Rust 侧仍由既有 bridge.rs 负责 CDP 连接和 Binding;Rust 侧仍由既有 stepwise.rs 负责模型请求和协议适配。
  • 视觉样式、面板布局/拖动、Stepwise 建议业务、Answer Outline 解析和 Manager 设置组装不在本 PR 范围内。

验证

  • cargo test -p codex-plus-core --test floating_panel_runtime --test floating_panel_appearance --test floating_panel_core_shell --test cdp_bridge116 项通过。
  • cargo check -p codex-plus-core:通过。
  • runtime 片段组合后的 node --check:通过。
  • 六个 runtime 文件与完整目标树 T(commit 2258044)逐字节一致,SHA-256 已核对。
  • git diff --check:通过。
  • 最新验证基线为 upstream/main commit 7385664

提交说明

  • f68a6ee:共享 runtime 源码片段。
  • 8395d7c:runtime 源码契约测试,包含 Windows CRLF 兼容。

这两个提交分别对应生产源码与测试覆盖,便于单独审查和回退。

@0xTotoroX
0xTotoroX force-pushed the codex/stepwise-floating-panel-pr4-runtime branch from 1d1edd8 to 8395d7c Compare August 26, 2026 19:08
@0xTotoroX
0xTotoroX marked this pull request as ready for review August 26, 2026 19:32
@0xTotoroX
0xTotoroX force-pushed the codex/stepwise-floating-panel-pr4-runtime branch from 8395d7c to 869e6da Compare August 29, 2026 14:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant