86 lines
3.9 KiB
Markdown
86 lines
3.9 KiB
Markdown
# sgClaw Overlay And Basic Navigation Fixes Implementation Plan
|
|
|
|
> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
|
|
|
|
**Goal:** Make ordinary webpages render the new sgClaw floating chat design and support base navigation instructions like `打开知乎`.
|
|
|
|
**Architecture:** Keep the ordinary-page injection entrypoint unchanged, but replace its in-shadow DOM layout with the same floating-window shell used by the new debug page. On the runtime side, extend the deterministic planner with explicit homepage navigation plans for supported sites so freeform open-site commands do not fail before the compat runtime can help.
|
|
|
|
**Tech Stack:** Chromium WebUI resource pipeline, injected Shadow DOM overlay JavaScript, Rust planner tests
|
|
|
|
### Task 1: Lock the current regressions with failing tests
|
|
|
|
**Files:**
|
|
- Modify: `/home/zyl/projects/superRpa/src/chrome/browser/superrpa/sgclaw/sgclaw_chat_smoke.mjs`
|
|
- Modify: `/home/zyl/projects/sgClaw/claw/tests/planner_test.rs`
|
|
|
|
**Step 1: Write the failing smoke expectations**
|
|
|
|
Add assertions that the ordinary webpage overlay shows the new subtitle `面向当前网页的悬浮式对话与自动执行` and no longer exposes the old card titles like `聊天记录`.
|
|
|
|
**Step 2: Run the smoke to verify it fails**
|
|
|
|
Run: `node /home/zyl/projects/superRpa/src/chrome/browser/superrpa/sgclaw/sgclaw_chat_smoke.mjs`
|
|
Expected: FAIL because ordinary webpages still render the old overlay shell.
|
|
|
|
**Step 3: Write the failing planner test**
|
|
|
|
Add a test asserting `plan_instruction("打开知乎")` returns one `Navigate` step to `https://www.zhihu.com`.
|
|
|
|
**Step 4: Run the planner test to verify it fails**
|
|
|
|
Run: `cargo test planner_supports_open_zhihu_homepage_instruction --test planner_test`
|
|
Expected: FAIL with `unsupported instruction: 打开知乎`.
|
|
|
|
### Task 2: Migrate the ordinary webpage overlay to the new shell
|
|
|
|
**Files:**
|
|
- Modify: `/home/zyl/projects/superRpa/src/chrome/browser/resources/superrpa/sgclaw_overlay.js`
|
|
- Test: `/home/zyl/projects/superRpa/src/chrome/browser/superrpa/sgclaw/sgclaw_chat_smoke.mjs`
|
|
|
|
**Step 1: Replace the old card layout with the new floating shell**
|
|
|
|
Keep bridge calls, ids, and polling behavior intact, but render the new header, message pane, composer, settings panel, and debug drawer structure inside the existing injected Shadow DOM.
|
|
|
|
**Step 2: Keep runtime visibility without reintroducing the old layout**
|
|
|
|
Move logs and final result into secondary panels or inline cards so the ordinary webpage still exposes execution details without the old four-card layout.
|
|
|
|
**Step 3: Run the smoke again**
|
|
|
|
Run: `node /home/zyl/projects/superRpa/src/chrome/browser/superrpa/sgclaw/sgclaw_chat_smoke.mjs`
|
|
Expected: PASS once rebuilt resources are being served by the browser binary.
|
|
|
|
### Task 3: Extend planner support for basic open-site commands
|
|
|
|
**Files:**
|
|
- Modify: `/home/zyl/projects/sgClaw/claw/src/agent/planner.rs`
|
|
- Test: `/home/zyl/projects/sgClaw/claw/tests/planner_test.rs`
|
|
|
|
**Step 1: Implement the minimal homepage plans**
|
|
|
|
Support `打开知乎` and `打开百度` by returning single-step `Navigate` plans to their homepages.
|
|
|
|
**Step 2: Run planner tests**
|
|
|
|
Run: `cargo test --test planner_test`
|
|
Expected: PASS.
|
|
|
|
### Task 4: Build and verify the integrated behavior
|
|
|
|
**Files:**
|
|
- Modify: `/home/zyl/projects/superRpa/src/AGENTS.md`
|
|
- Modify: `/home/zyl/projects/superRpa/src/docs/handoffs/2026-03-27-sgclaw-runtime-verification.md`
|
|
|
|
**Step 1: Rebuild impacted targets**
|
|
|
|
Run: `autoninja -C /home/zyl/projects/superRpa/src/out/KylinRelease chrome/browser/resources/superrpa:resources sgclaw`
|
|
|
|
**Step 2: Re-run targeted verification**
|
|
|
|
Run the smoke and a focused `sgclaw` task submission check for `打开知乎`.
|
|
|
|
**Step 3: Document the final runtime path**
|
|
|
|
Record that ordinary webpages and `chrome://superrpa-functions/sgclaw-chat` now share the same floating shell, and that homepage navigation commands are handled by the planner.
|