77 lines
2.0 KiB
Markdown
77 lines
2.0 KiB
Markdown
# 台区线损 target_url 缺失修复 实现计划
|
||
|
||
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||
|
||
**Goal:** 在 `browser_script_skill_tool.rs` 调用 `Action::Eval` 时添加 `target_url` 参数。
|
||
|
||
**Architecture:** 从 `expected_domain` 构造完整 URL(`http://{expected_domain}`),添加到 invoke 的 params 中。
|
||
|
||
**Tech Stack:** Rust, serde_json
|
||
|
||
---
|
||
|
||
### Task 1: 添加 target_url 参数
|
||
|
||
**Files:**
|
||
- Modify: `src/compat/browser_script_skill_tool.rs:238-241` (invoke 调用)
|
||
|
||
- [ ] **Step 1: 修改 invoke 调用,添加 target_url**
|
||
|
||
将:
|
||
```rust
|
||
let result = match browser_tool.invoke(
|
||
Action::Eval,
|
||
json!({ "script": wrapped_script }),
|
||
&expected_domain,
|
||
) {
|
||
```
|
||
|
||
改为:
|
||
```rust
|
||
let target_url = format!("http://{}", expected_domain);
|
||
let result = match browser_tool.invoke(
|
||
Action::Eval,
|
||
json!({
|
||
"script": wrapped_script,
|
||
"target_url": target_url,
|
||
}),
|
||
&expected_domain,
|
||
) {
|
||
```
|
||
|
||
- [ ] **Step 2: 构建项目**
|
||
|
||
Run: `cargo build`
|
||
|
||
Expected: 编译成功,无错误
|
||
|
||
- [ ] **Step 3: 提交修改**
|
||
|
||
```bash
|
||
git add src/compat/browser_script_skill_tool.rs
|
||
git commit -m "fix: add target_url param for Action::Eval in browser_script_skill_tool
|
||
|
||
🤖 Generated with [Qoder][https://qoder.com]"
|
||
```
|
||
|
||
---
|
||
|
||
### Task 2: 端到端验证
|
||
|
||
**Files:**
|
||
- 无文件修改,仅运行验证
|
||
|
||
- [ ] **Step 1: 停止现有 sgclaw 进程**
|
||
|
||
确保没有 `sg_claw.exe` 在运行
|
||
|
||
- [ ] **Step 2: 启动 sgclaw 服务**
|
||
|
||
Run: `target\debug\sg_claw.exe --config-path ..\sgclaw_config.json service`
|
||
|
||
- [ ] **Step 3: 在 service console 发送测试指令**
|
||
|
||
指令: `兰州公司 台区线损大数据 月累计线损率统计分析。。。`
|
||
|
||
Expected: 日志显示 `invoke 成功`,不再出现 `target_url is required for eval` 错误
|