Install
openclaw skills install triphasic-executionExecute→Review→Advance 三步循环执行框架。所有任务按此节奏推进, 防止无限死循环或单步骤卡住。附带结构化问题日志、风险手册和经验教训登记册。 v5.8 更新:【加载协议】+ 【约束精简】 - 新增 LOADING PROTOCOL:skill 加载后输出状态标识,表示上下文已建立 - 状态输出用于透明可见:出现在任务执行前 = 执行顺序正确;出现在任务执行后 = 顺序错误 - 删除无实质意义的强制确认机制(F-00) - F-01~F-10 绝对约束:框架核心,任何模式下不可跳过 v5.7 更新:【语义拆分前置】+ 【强制规范硬化】 - 规划前强制执行语义拆分,明确主语/目的/诉求/动机后再规划 - 所有"必须"描述升级为 [MANDATORY] 强制约束,违规即停止执行 - 强制规范移至文件顶部,防止AI读到末尾时已开始执行 - 新增违规检测机制:每个阶段开始前自检 v5.6 更新:【临时进度文件】+ 【进度持久化防中断】 核心逻辑 = Python CLI,不依赖任何 Agent 平台。 触发关键词:三步执行、循环框架、执行审查推进、triphasic、问题记录、 经验教训、problem logger、exec wrapper、exec guard、 打开 triphasic 设置、修改 triphasic 配置、triphasic settings、打开设置界面。
openclaw skills install triphasic-execution执行 → 审查 → 推进。每次交互只做一件事,三者缺一不可。
本块定义 skill 的加载状态输出。目的是让用户看到执行顺序,不影响框架执行本身。
skill 加载后,AI 应输出以下状态标识:
[triphasic] skill loaded — 执行顺序:语义拆分 → 任务规划 → 执行/审查/推进
| 观察结果 | 结论 |
|---|---|
| 状态输出在任务相关内容之前出现 | ✅ 执行顺序正确,skill 在任务前加载 |
| 状态输出在任务执行后才出现 | ❌ 执行顺序错误,任务跑在 skill 加载之前 |
| 无状态输出 | ❌ skill 未加载或加载后未输出状态 |
注意:状态输出只是透明可见的标识,不约束 AI 的实际执行行为。框架的执行约束由 F-01~F-10 定义。
完整读取 SKILL.md → 输出状态标识(可见) → 读取用户任务 → 语义拆分 → 规划 → 执行循环
↑
F-01~F-10 约束在此生效
本节是整个技能的执行宪法。任何步骤开始前,AI必须对照本表自检。违反任意一条 = 违规,必须立即停止当前操作并补充执行被跳过的步骤。
| 序号 | 约束内容 | 触发时机 | 违规后果 |
|---|---|---|---|
| F-01 | 收到任务后,首先执行语义拆分,输出块分析结果,禁止直接进入规划 | 收到任务的第一个响应 | 停止执行,补充语义拆分输出 |
| F-02 | 语义拆分完成后,必须输出【任务规划】,禁止直接执行 | 语义拆分输出后 | 停止执行,补充任务规划 |
| F-03 | 任务规划输出后,必须立即调用 task_progress.py init 创建进度文件 | 规划确认后 | 停止执行,补充 init 调用 |
| F-04 | 每个步骤 EXECUTE 开始前,必须重述本步骤的任务目的 | 每步执行前 | 停止,补述目的后再执行 |
| F-05 | 每个步骤执行后,必须紧跟 REVIEW 阶段,禁止连续执行两步 | 每步执行后 | 停止,补充 REVIEW 输出 |
| F-06 | 每个步骤 REVIEW 后,必须紧跟 ADVANCE 阶段 | 每步 REVIEW 后 | 停止,补充 ADVANCE 输出 |
| F-07 | 每步 ADVANCE 后,必须调用 task_progress.py update 更新进度文件 | 每步 ADVANCE 后 | 停止,补充 update 调用 |
| F-08 | 同一步骤失败 3 次后,必须换方案,禁止第 4 次重试 | 重试计数达到 3 | 停止重试,输出换方案决策 |
| F-09 | 任务全部完成后,必须调用 task_progress.py complete 删除进度文件 | 任务完成时 | 补充 complete 调用 |
| F-10 | 任务完成后,必须输出【任务完成】总结 | 任务结束时 | 补充总结输出 |
[自检] 当前阶段:[阶段名称]
- F-01 语义拆分:[已完成/待执行]
- F-02 任务规划:[已完成/待执行]
- F-03 进度文件创建:[已完成/待执行]
- 当前步骤 N:[待执行/执行中/已完成]
违规项:[无/F-XX 描述]
违反 F-01:如果 AI 没有输出语义拆分就开始规划或执行,属于严重违规。必须回滚并先输出拆分结果。
块(Block)识别:按主语划分,每个主语构成一个块。
| 主语类型 | 识别方式 |
|---|---|
| 用户("我") | 说话者本人 |
| AI助手("你") | 执行者、帮助者 |
| 第三方("他/她/它") | 提及的其他角色 |
每个块提取三类信息:
| 元素 | 定义 |
|---|---|
| 目的 | 最终要达成的目标 |
| 诉求 | 需要执行的具体操作或交付物 |
| 动机 | 为什么会产生这个需求 |
【语义拆分】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【原始输入】
[用户原话完整引用]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
## 块 1:[主语名称]
角色:[用户/执行者/第三方]
目的:[该主语要达成的核心目标]
诉求:
1. [诉求点1]
2. [诉求点2]
3. [诉求点3]
动机:[产生该需求的背景/原因/情绪]
## 块 2:[主语名称]
角色:[执行者]
目的:[执行者要达成的目标]
诉求:
1. [需要执行的行为1]
2. [需要执行的行为2]
动机:[块1的所有要求]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[拆分完成,进入任务规划]
原始输入:
这个PPT太难搞了,我想让你为我做个PPT,明天要介绍产品的,就一个钛合金马扎。
拆分结果:
## 块 1:用户
角色:requester
目的:明天要介绍产品
诉求:
1. 做一个PPT(核心交付物)
2. 介绍钛合金马扎产品
动机:用户觉得PPT太难做
## 块 2:执行者
角色:executor
目的:制作一个符合用户诉求的PPT
诉求:
1. 使用技能或MCP等进行完整的PPT制作
2. 涵盖产品核心卖点
动机:块1的所有要求
违反 F-02:如果 AI 在输出【语义拆分】后没有输出【任务规划】就开始执行,属于严重违规。
收到任务
│
├─ [MANDATORY] 第零步:语义拆分(F-01,必做)
│ → 输出块分析:主语/目的/诉求/动机
│
├─ [MANDATORY] 第一步:任务规划(F-02,必做,所有任务)
│ → 明确:任务目的、具体要求、使用工具、预期结果、潜在风险
│
├─ 第二步:判断是否需要拆分
│ ├─ 单步任务(1个操作可完成)→ 直接进入执行
│ └─ 多步任务(2个以上操作)→ 任务拆分,列出子步骤
│
├─ [MANDATORY] 第三步:创建进度文件(F-03,规划确认后立即执行)
│ → 调用 task_progress.py init
│
└─ 第四步:进入 Execute→Review→Advance 循环
【任务规划】任务名称
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📌 任务目的:[一句话说明为什么要做这个任务,最终要达成什么]
📋 具体要求:[用户的核心要求,必须满足的条件]
🔧 执行工具:[使用什么工具或命令]
✅ 预期结果:[成功后的具体状态或输出]
⚠️ 潜在风险:[可能出现的问题]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**请确认执行(输入选项,调整请同时说明要求)**:
1. 执行全部(包括问题/风险/经验记录)
2. 执行但跳过问题/风险/经验记录
3. 取消任务
4. 调整任务
请输入:
📌 任务目的:[一句话说明]
📋 具体要求:[核心要求]
⚠️ 潜在风险:[整体风险]
**执行步骤**:
步骤 1: [操作描述]
- 任务目的:[这一步要达成什么,为什么需要这一步]
- 工具/命令:`[具体工具或命令]`
- 操作说明:`[具体要做什么]`
- 预期结果:`[预期输出或状态]`
- 潜在风险:`[可能的问题或风险]`
步骤 2: [操作描述]
- 任务目的:[这一步要达成什么]
- 工具/命令:`[具体工具或命令]`
- 操作说明:`[具体要做什么]`
- 预期结果:`[预期输出或状态]`
- 潜在风险:`[可能的问题或风险]`
...
**进度追踪**:
┌──────┬────────┬────────┬────────────┬────────────┐
│ 步骤 │ 状态 │ 重试 │ 审查结论 │ 推进决策 │
├──────┼────────┼────────┼────────────┼────────────┤
│ 1 │ ⏳ │ - │ - │ - │
│ 2 │ ⏳ │ - │ - │ - │
│ 3 │ ⏳ │ - │ - │ - │
└──────┴────────┴────────┴────────────┴────────────┘
进度:0/3(0%)
**📋 任务后强制记录** [MANDATORY](必须执行,除非用户明确跳过):
→ 问题记录:回顾执行过程,识别问题 → 调用 add
→ 风险记录:回顾执行过程,识别风险 → 调用 add-risk
→ 经验积累:执行完成后 → 调用 merge-to-lessons
**临时进度文件**:规划确认后立即创建(F-03),每步更新(F-07),完成后删除(F-09)
违反 F-04:如果 AI 执行步骤前没有重述本步骤任务目的,属于违规。
🔧 执行前重述目的:[本步骤目的]违反 F-05:如果 AI 执行步骤后没有输出 REVIEW,属于违规,不得继续执行下一步。
违反 F-06:如果 AI REVIEW 后没有输出 ADVANCE,属于违规,不得跳到下一步。
task_progress.py update 持久化进度(F-07)### 🔧 [EXECUTE] - 步骤 N
🔧 执行前重述目的:[本步骤任务目的]
(执行操作...)
### 🔍 [REVIEW] - 步骤 N
[✅成功/❌失败/⚠️部分] -- [具体证据]
### 📍 [ADVANCE] - 步骤 N
推进:[继续步骤 N+1 / 重试 / 换方案 / 任务完成]
**进度更新**:
┌──────┬────────┬────────┬────────────┬────────────┐
│ 步骤 │ 状态 │ 重试 │ 审查结论 │ 推进决策 │
├──────┼────────┼────────┼────────────┼────────────┤
│ 1 │ ✅ │ 0 │ 成功 │ 继续→步骤2 │
│ N │ ... │ ... │ ... │ ... │
└──────┴────────┴────────┴────────────┴────────────┘
进度:N/Total(X%)▸ 下一:步骤N+1
| 标记 | 含义 | 说明 |
|---|---|---|
| ⏳ | 待执行 | 初始状态 |
| 🔄 | 执行中 | 正在执行 |
| ✅ | 成功 | 审查通过 |
| ❌ | 失败 | 需要重试或换方案 |
| ⏭️ | 跳过 | 经评估无需执行 |
[VIOLATION-01] 收到任务后未输出语义拆分就开始规划或执行
[VIOLATION-02] 语义拆分后未输出任务规划就开始执行
[VIOLATION-03] 任务规划确认后未调用 task_progress.py init
[VIOLATION-04] 每步执行前未重述本步骤任务目的
[VIOLATION-05] 步骤执行后未输出 REVIEW 就继续执行下一步
[VIOLATION-06] REVIEW 后未输出 ADVANCE 就继续执行
[VIOLATION-07] ADVANCE 后未调用 task_progress.py update
[VIOLATION-08] 同一步骤失败 3 次后仍继续重试而不换方案
[VIOLATION-09] 任务完成后未调用 task_progress.py complete
[VIOLATION-10] 任务完成后未输出【任务完成】总结
用户:请帮我修复登录接口Bug
[triphasic] skill loaded — 执行顺序:语义拆分 → 任务规划 → 执行/审查/推进
[自检] 当前阶段:收到任务
- F-01 语义拆分:待执行
- F-02 任务规划:待执行
违规项:无,执行语义拆分
【语义拆分】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【原始输入】
请帮我修复登录接口Bug
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
## 块 1:用户
角色:requester
目的:登录接口恢复正常
诉求:
1. 修复登录接口中的 Bug
动机:当前登录功能存在问题
## 块 2:执行者
角色:executor
目的:定位并修复登录接口 Bug
诉求:
1. 读取代码定位问题
2. 修复代码
3. 验证修复有效
动机:块1的所有要求
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[拆分完成,进入任务规划]
【任务规划】修复登录接口Bug
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📌 任务目的:修复登录接口 Token 验证缺失导致的认证绕过漏洞
📋 具体要求:添加 Token 验证逻辑,确保未携带有效 Token 的请求被拒绝
⚠️ 潜在风险:修改可能影响正常登录流程
**执行步骤**:
步骤 1: 读取登录接口代码
- 任务目的:获取当前代码,理解认证逻辑现状
- 工具/命令:`Read`
- 操作说明:读取 login.py 文件
- 预期结果:获取完整代码内容
- 潜在风险:文件不存在
步骤 2: 修复代码
- 任务目的:添加缺失的 Token 验证逻辑
- 工具/命令:`Edit`
- 操作说明:在指定位置添加验证逻辑
- 预期结果:代码修改成功,无语法错误
- 潜在风险:语法错误、引入新bug
步骤 3: 测试验证
- 任务目的:验证修复有效且未影响正常功能
- 工具/命令:`Bash`(pytest)
- 操作说明:运行测试用例
- 预期结果:测试通过
- 潜在风险:测试环境问题
**进度追踪**:
┌──────┬────────┬────────┬────────────┬────────────┐
│ 步骤 │ 状态 │ 重试 │ 审查结论 │ 推进决策 │
├──────┼────────┼────────┼────────────┼────────────┤
│ 1 │ ⏳ │ - │ - │ - │
│ 2 │ ⏳ │ - │ - │ - │
│ 3 │ ⏳ │ - │ - │ - │
└──────┴────────┴────────┴────────────┴────────────┘
进度:0/3(0%)
**📋 任务后强制记录** [MANDATORY]:
→ 问题记录 → 风险记录 → 经验积累
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
确认执行?(1.全部执行 2.跳过记录 3.取消 4.调整): 1
→ [MANDATORY-F-03] 创建进度文件:
python {SKILL_DIR}/scripts/task_progress.py init \
--task "修复登录Bug" \
--purpose "修复Token验证缺失导致的认证绕过漏洞" \
--requirements "添加Token验证逻辑" \
--risks "可能影响正常登录" \
--steps '[{"description":"读取代码","purpose":"理解认证逻辑","tool":"Read"},{"description":"修复代码","purpose":"添加验证","tool":"Edit"},{"description":"测试验证","purpose":"确认修复有效","tool":"Bash"}]'
### 🔧 [EXECUTE] - 步骤 1
🔧 执行前重述目的:获取当前代码,理解认证逻辑现状
(读取 login.py...)
### 🔍 [REVIEW] - 步骤 1
✅成功 -- 发现 Token 验证逻辑缺失
### 📍 [ADVANCE] - 步骤 1
推进:继续步骤 2
→ 更新进度文件:python {SKILL_DIR}/scripts/task_progress.py update --task "修复登录Bug" --step 1 --status success --review "发现Token验证缺失" --advance "继续步骤2"
**进度更新**:
┌──────┬────────┬────────┬────────────┬────────────┐
│ 步骤 │ 状态 │ 重试 │ 审查结论 │ 推进决策 │
├──────┼────────┼────────┼────────────┼────────────┤
│ 1 │ ✅ │ 0 │ 成功 │ 继续→步骤2 │
│ 2 │ ⏳ │ - │ - │ - │
│ 3 │ ⏳ │ - │ - │ - │
└──────┴────────┴────────┴────────────┴────────────┘
进度:1/3(33%)▸ 下一:步骤2
...(继续步骤 2-3)
【任务完成】
- 目标:修复登录接口Bug
- 结果:✅成功 -- Token验证已添加
- 进度:3/3(100%)
→ [MANDATORY-F-09] python {SKILL_DIR}/scripts/task_progress.py complete --task "修复登录Bug"
[MANDATORY] 违反 F-03/F-07/F-09 属于严重违规。
任务规划确认
└─→ [MANDATORY] 创建临时进度文件(init)
│
├─ 步骤1 ADVANCE后 → [MANDATORY] 更新文件(update)
├─ 步骤2 ADVANCE后 → [MANDATORY] 更新文件(update)
│ ...
└─ 任务完成 → [MANDATORY] 删除进度文件(complete)
中断/异常 → 保留文件,下次 resume 恢复
| 时机 | 必须调用的命令 |
|---|---|
| 任务规划确认后 | init |
| 每个步骤 ADVANCE 后 | update --step N --status success/failed --review "..." --advance "..." |
| 任务全部完成后 | complete |
| 用户说"继续"、"恢复" | resume |
| 用户说"取消任务"、"停止" | abort --reason "..." |
# [MANDATORY] 初始化(任务规划确认后立即调用)
python {SKILL_DIR}/scripts/task_progress.py init \
--task "任务名" \
--purpose "任务目的" \
--requirements "具体要求" \
--risks "潜在风险" \
--steps '[{"description":"步骤描述","purpose":"步骤目的","tool":"工具名"}]'
# [MANDATORY] 更新步骤状态(每步 ADVANCE 后调用)
python {SKILL_DIR}/scripts/task_progress.py update \
--task "任务名" \
--step 1 \
--status success \
--review "审查结论" \
--advance "推进决策"
# 恢复中断任务
python {SKILL_DIR}/scripts/task_progress.py resume --task "任务名"
# [MANDATORY] 完成任务(删除进度文件)
python {SKILL_DIR}/scripts/task_progress.py complete --task "任务名"
# 中止任务
python {SKILL_DIR}/scripts/task_progress.py abort --task "任务名" --reason "原因"
# 列出活跃任务
python {SKILL_DIR}/scripts/task_progress.py list
# 清理已完成/中止文件
python {SKILL_DIR}/scripts/task_progress.py clean
每次任务执行完成后,[MANDATORY] AI必须执行以下步骤(除非用户明确选择"2.跳过记录"):
- 回顾执行过程,识别问题 → 调用
add- 回顾执行过程,识别风险 → 调用
add-risk- 执行完成后 → 调用
merge-to-lessons
python {SKILL_DIR}/scripts/problem_logger.py add \
--scene "API测试" \
--symptom "HTTP 503" \
--cause "服务端限流" \
--solution "增加重试机制" \
--task "用户头像接口"
python {SKILL_DIR}/scripts/problem_logger.py add-risk \
--description "网络不稳定可能导致API调用失败" \
--impact "用户体验下降" \
--mitigation "增加重试机制和降级策略" \
--task "用户头像接口"
python {SKILL_DIR}/scripts/problem_logger.py merge-to-lessons
安装技能后首次运行 install.py 时,会自动弹出 HTML 设置界面(系统默认浏览器),引导用户完成初始配置。
| 设置项 | 选项 | 说明 |
|---|---|---|
| 默认调用方式 | 调用模式(按需) / 全局模式 | 控制技能激活方式 |
| 记录文件路径 | TRIPHASIC_HOME 等 | 未自定义时使用默认值 |
| 任务规划确认 | 询问确认后再执行 / 直接执行 | 控制 Agent 是否请求确认 |
当前配置:
调用方式:🟢 按需调用模式(默认) 数据目录:
~/.workbuddy/triphasic/任务规划确认:询问确认后再执行
呼出设置界面:向 Agent 发送"打开 triphasic 设置",或运行 python {SKILL_DIR}/scripts/settings.py
| 维度 | 按需调用模式(默认) | 全局自动模式(可选) |
|---|---|---|
| 触发条件 | 用户主动加载技能 | 配置 mode: global + 启动 daemon |
| 记录行为 | 调用时才记录三步框架 | 所有任务自动应用三步框架 |
| 后台守护 | 不启动 daemon | problem_daemon.py 持续监控 |
| 适用场景 | 日常简单任务、跨平台协作 | 复杂多步骤项目、长期维护 |
| 路径 | 说明 |
|---|---|
TRIPHASIC_HOME/.problem_logs/problems.jsonl | 问题日志 |
TRIPHASIC_HOME/.problem_logs/risks.jsonl | 风险日志 |
TRIPHASIC_HOME/PROBLEMS.md | 问题清单(人类可读) |
TRIPHASIC_HOME/RISKS.md | 风险手册 |
TRIPHASIC_HOME/LESSONS_REGISTER.md | 经验教训登记册 |
TRIPHASIC_HOME/.active_tasks/ | 临时进度文件目录 |
TRIPHASIC_HOME/config.json | 用户配置 |
python install.py # 基础安装
python install.py --mode global # 全局自动模式
python install.py --target ~/.workbuddy/skills/ # 指定安装路径
python install.py --home ~/.myagent/triphasic/ # 指定数据目录
python install.py --uninstall # 卸载
| 脚本 | 功能 |
|---|---|
install.py | 安装/卸载 |
settings.py | HTML 设置界面 |
problem_logger.py | 问题/风险 CRUD + 合并登记册 |
exec_wrapper.py | 命令执行拦截器 |
problem_daemon.py | 后台监控守护进程(仅全局模式) |
lessons_register.py | 登记册管理 |
cron_helper.py | 定时任务钩子 |
task_progress.py | 临时进度文件管理(init/update/resume/complete/abort/clean) |
所有脚本零外部依赖,仅使用 Python 标准库。跨平台支持 Windows/Linux/macOS。