ref: simplify feishu history injection, tune web_scan/plan_sop/driver

This commit is contained in:
Liang Jiaqing
2026-03-09 08:55:22 +08:00
parent 378799f8ea
commit 2b387f2dcf
6 changed files with 69 additions and 36 deletions

View File

@@ -64,7 +64,7 @@ L3: ../memory/ (记录库层 - 包含 .md/.py 等各类文件)
| L2/L3 修改值 | 若不影响场景定位则不动 L1 |
| 发现通用避坑规律 | 压缩为一句加入 RULES |
> **同步红线**L1 只写关键词/名称,禁搬细节。
> **同步红线**L1 只写关键词/名称,禁搬细节。需要评估L1中的token数和索引效用。
---
## 信息分类快速决策树

View File

@@ -1,36 +1,70 @@
# Plan Mode SOP
> 简单任务1-2步可完成无需本SOP直接做。
> 简单任务1-2步可完成禁用本SOP直接做。
## 0. 基本协议
文件命名:`./plan_XXX.md`XXX = 任务英文短名)。结果文件放 `./`,路径回填计划文件。禁建子目录。
进入 plan mode 后,立即调用 `update_working_checkpoint`,内容包含:
---
1. **PLAN**:初始为 `[ ] 规划` `[ ] 执行`,规划完成后展开为详细 checklist
2. **RULES**(以下三条原文写入,每次 update 必须保留):
- 一次只做一步,完成后标 [x] 并 update checkpoint
- 每次 checkpoint 必须保留完整 PLAN + RULES
- 全部 [x] 才可收尾
## 规划态(按序执行,不可跳步)
## 1. 规划阶段
[] **步骤1存checkpoint含格式模板**
初始 checkpoint`[ ] 规划` `[ ] 执行`。"规划"完成 = 展开执行步骤并 update checkpoint。
调用 `update_working_checkpoint`**必须**使用以下格式([格式]字段不可省略):
```
[任务] 产出 plan_XXX.md | [需求] 用户原始需求一句话
[格式] 骨架每项必须用 - [ ] 开头,禁止###标题。模板:- [ ] 项目简述 | 方法:做法 | 验证:判据
[进度] 即将读领域SOP | ⚡写完plan后必须重读本SOP步骤3按其模板切checkpoint再执行
```
### 1a. 读 SOP
查 insight 找相关 SOP 并读取——SOP 提供任务骨架,直接指导分解。无则跳过。不确定性最高的环节先探,其结果可能推翻整个计划。
[] **步骤2读领域SOP → 写plan骨架 `./plan_XXX.md`**
### 1b. 分类
从依赖关系读出结构有依赖→Sequential | 无依赖→MAP | 条件未知→Branch。可嵌套。
先读取相关领域SOP了解步骤然后**立即**写骨架。不需要完美,**允许方法写"⚠待确认"**。禁止以"还没调研清楚"为由推迟。
### 1c. 分解
按结构展开 checklist。**每个子任务必须具体列出,禁止笼统描述**(如"批量处理所有文件"必须展开为每个文件的具体条目。每步须有独立完成判据否则继续拆。update checkpoint 并标 `[x] 规划`
- Seq: `[ ]A → [ ]B → [ ]C`
- MAP: `[ ]D1 [ ]D2 [ ]D3 … → [ ]汇总`(汇总为最后一步,中心化执行)
- Branch: `[ ]尝试X → 成功:[ ]Y / 失败:[ ]Z`
**⚠ 骨架格式以checkpoint中[格式]字段为准不要模仿领域SOP的排版。**
## 2. 执行注意
骨架模板:
```
# 任务标题
需求:一句话 | 约束:关键限制
- 计划有误时回到规划修正,不硬凑;不可逆操作前多验证一步
- MAP 的子任务可用 subagent 并行执行
- 步骤间用尽量用文件传递中间结果和汇总,不靠上下文记忆
- 收尾:全部 `[x]` 后汇总结果,清理 checkpoint
- [ ] 项目1简述 | 方法:具体做法 | 验证:完成判据
- [ ] 项目2简述 | 方法:⚠待确认 | 验证:完成判据
- [ ] 项目3简述 | 方法:具体做法 | 验证:完成判据
```
- 有⚠待确认项 → 逐项探索补充,**每轮必须更新plan文件 + checkpoint的[进度]**
- 连续3轮探索无实质进展 → **必须停止**,用当前最佳方案替代
- 无⚠待确认项 → 直接进入步骤3
**⛔ 写完骨架后禁止执行任何项目。必须先完成步骤3。**
[] **步骤3转入执行态⛔ 不可跳过)**
**写完plan骨架后必须先执行此步骤再开始做任何项目。**
调用 `update_working_checkpoint`,只放**当前一步**(禁止塞全部步骤):
```
[执行] plan_XXX.md | 当前Step1简述 | ⚡完成后必须1.file_patch plan把当前步[ ]改[x] 2.读plan找下个[ ] 3.update_working_checkpoint为下步(保留本模板格式)
```
**执行循环(每步重复):**
1.`plan_XXX.md` → 定位当前 `- [ ]`
2. 执行该项参照领域SOP
3. 按checkpoint中⚡指令完成收尾标[x]→找下步→更新checkpoint
4. 全部完成 → 汇总结果 → 清理checkpoint
---
## 项目类型(三选一或嵌套)
- **步骤**:有先后依赖,顺序执行
- **方面**:并行独立,无依赖
- **分支**条件未知尝试X → 成功走Y / 失败走Z
## 强制约束
- 每项**必须**有独立完成判据,禁止笼统描述
- 禁止出现"处理所有文件"类表述,**必须**展开为具体条目
- 一次只做一项,禁止批量执行
- 计划有误回到规划态修正,禁止硬凑
- 不可逆操作前多验证一步
- 并行方面可用 subagent 执行

View File

@@ -84,7 +84,11 @@ document.body.appendChild(el); // 响应写回el.textContent
- 验证码canvas/imgJS `canvas.toDataURL()` 直接拿base64最干净
- 备选:`window.open(location.href,'_blank')` 前台开新标签→win32截图→完后close
- GM_openInTab在web_execute_js不可用非油猴上下文
- 浏览器无JS API切标签页只能开新的来保证前台
## 直接import(仅作调试使用)
- `sys.path.insert(0, GenericAgent根目录)`, `from TMWebDriver import TMWebDriver`
- `d=TMWebDriver()`, `d.set_session('url_pattern')`, `d.execute_js('code')` → 返回`{'data': value}`(非裸值)
- 配合simphtml`str(simphtml.optimize_html_for_tokens(html))` → 注意返回BS4 Tag需str()
## 跨域iframe操控(postMessage中继)
- 跨域iframe的contentDocument不可访问web_execute_js只在顶层执行