Plan Do Check Act

Polar Sponsor
爱发电 赞助
.NET 9.0

PDCA 工作流自动化,支持会话绑定和进度恢复,需要 Python 3.6,Git 可选。

Plan-Do-Check-Act Skill. 此技能执行 PDCA( Plan-Do-Check- Act) 工作流程, 以确保任务得到系统的计划和执行.

功能概述

Plan-Do-Check-Act Skill. 此技能执行 PDCA( Plan-Do-Check- Act) 工作流程, 以确保任务得到系统的计划和执行.是一项面向实际任务的技能,主要用于Python 3. 6+ - 所有脚本都需要.;Git - optiona。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Plan-Do-Check-Act 技能

该技能实现 PDCA(Plan-Do-Check-Act)工作流,确保任务得到系统性规划与执行。

依赖要求

  • Python 3.6+ — 所有脚本必需
  • Git — 可选 — 仅用于进度追踪。PDCA 在无 Git 环境下亦可正常运行,此时将改用文件修改时间作为依据。

首次配置指南

安装完成后,请运行配置向导:

# 运行交互式配置
python3 scripts/setup.py

向导将执行以下操作:

  1. 检查 Python 和 Git 依赖是否就绪
  2. 创建工作区目录(默认路径:~/pdca-workspace)
  3. 生成一个测试计划
  4. (可选)初始化 Git 以支持进度追踪
  5. 显示后续操作指引

手动配置

如需手动配置,请执行以下命令:

# 1. 创建工作区目录
mkdir -p ~/pdca-workspace

# 2. 创建测试计划
cd ~/pdca-workspace
manage_plan.py create "我的首个计划" "任务 1" "任务 2" "任务 3"

# 3. 验证功能是否正常
manage_plan.py check plan.md

# 4. (可选)配置 Git 以支持进度追踪
git init

安全说明

  • 工作区范围限制: 仅操作已配置工作区目录下的 plan*.md 文件
  • 破坏性操作: cleanup 命令将删除存档目录中超过指定天数的文件(默认为 7 天)
  • 用户确认机制: 执行归档操作前,若计划尚未完成,将提示用户确认
  • 预览模式: 使用 cleanup --dry-run 可在实际删除前预览将被清理的文件
  • 自主调用限制: 执行 cleanup 或 archive 操作前必须获得用户明确确认

核心流程

1. Plan(计划)

接收到用户任务后,创建 plan.md 文件:

  • 将任务拆解为可执行的子任务
  • 记录会话 ID
  • 标注优先级与依赖关系

2. Do(执行)

依据 plan.md 执行各项任务:

  • 每完成一项任务即标记为 [x]
  • 进行中的任务标记为 [>]
  • 记录执行过程中发现的问题

3. Check(检查)

所有任务完成后执行检查:

  • 核查是否存在遗漏项
  • 验证输出结果是否符合预期
  • 识别可优化环节

4. Act(处理)

根据检查结果采取行动:

  • 修复已识别的问题
  • 在 plan.md 中更新经验总结与改进点
  • 归档已完成计划或启动下一轮迭代

plan.md 模板

# 任务计划:[任务名称]

**Session:** discord:1488795270769676318
**创建时间:** YYYY-MM-DD HH:MM
**状态:** IN_PROGRESS | COMPLETED | PAUSED

## 当前任务

> 任务 3 — 实现登录 API(进行中)

## 检查清单

- [x] 任务 1 — 数据库设计
- [x] 任务 2 — 用户模型创建
- [>] 任务 3 — 实现登录 API(进行中)
- [ ] 任务 4 — 实现注册 API
- [ ] 任务 5 — 单元测试

## 备注

执行过程中的记录...

## 检查结果

完成后填写...

触发场景

核心逻辑:步骤分析

接收到任务后,快速评估其所需执行步骤数量:

1–2 步 → 直接执行,无需生成计划

  • "重命名一个文件"
  • "删除那个测试文件"

3–5 步 → 可选生成计划(向用户确认)

  • "帮我构建一个登录功能"

5 步以上 → 自动触发 PDCA 流程

  • "构建一个包含注册和登录功能的完整用户系统"
  • "将该项目从 React 重构为 Vue"

步骤分析维度

维度 1 步 2–3 步 5 步以上
文件变更 单个文件 2–3 个文件 多个模块/目录
依赖关系 无依赖 简单依赖 多层/顺序依赖
技术栈 单一技术 两种技术 全栈/多服务架构
测试 无需测试 简单校验 完整测试套件
部署/配置 无需部署 本地运行 部署 + 配置 + 文档

关键词触发

当用户显式提出以下请求时,无论步骤数量多少,均立即触发 PDCA:

  • "拆解"、"分解"、"计划"、"检查清单"
  • "计划"、"检查清单"、"待办事项"、"追踪"

会话绑定

plan.md 记录会话 ID

**Session:** discord:1488795270769676318

唤醒后分类展示

当前会话中未完成的计划:
1. plan.md — 用户系统开发(2/5)

其他会话中未完成的计划:
2. plan-blog.md — 博客搭建(1/3) ← telegram:123456

中断恢复

两类中断场景

场景 处理方式
意外中断(网络断开、进程崩溃等) 检查 10 分钟内是否有文件修改
手动暂停(例如用户说“暂且暂停”) 显式设置状态为 PAUSED

进度推断(主动检测)

  1. 检查 Git 状态 — 是否存在未提交的变更
  2. 检查文件修改时间 — 是否存在 10 分钟内被修改的文件
  3. 比对任务描述 — 关键词匹配
  4. 识别任务类型 — 代码/测试/部署/文档/通用任务
  5. 请求用户确认 — 最终确认是否继续

恢复流程

唤醒 → on-start → 读取 plan.md → 检查 10 分钟内修改的文件
                                    ↓
                    "login_api.py 3 分钟前被修改,是否继续?"

消费机制

状态流转

CREATED → IN_PROGRESS → PAUSED ↔ RESUMED → COMPLETED → ARCHIVED

执行规则

  • 一次仅处理一个任务
  • 任务完成后立即标记为 [x]
  • 若任务受阻,则跳过并记录原因

并发控制

  • 同一时刻仅允许一个活跃计划
  • 新任务到达时:若已有未完成计划 → 提示用户选择“继续上一个”还是“新建计划”

销毁机制

归档策略

状态 保留期限 操作
COMPLETED 7 天 移至 archive/plan-YYYY-MM-DD-taskname.md
PAUSED 30 天 提示用户选择继续或删除
STALE(超 14 天无更新) 立即生效 标记为 ABANDONED,等待用户确认

清理命令

# 归档已完成计划
manage_plan.py archive

# 清理过期文件(超过 7 天)
manage_plan.py cleanup --days 7

# 列出全部计划
manage_plan.py list

使用方法

Agent 工作流

触发条件

当用户执行以下操作时,自动触发 PDCA:

  • 询问未完成任务:"哪些还没做?"、"还有哪些待办?"、"有没有未完成的任务?"
  • 询问进度:"进展如何?"、"检查进度"、"当前状态是什么?"
  • 询问计划内容:"计划是什么?"、"给我看看计划"
  • 提交复杂任务(5 步以上)
  • 显式请求:"拆解"、"创建计划"、"生成检查清单"

Plan 阶段

  1. 使用 analyze_steps.py 分析步骤数量
  2. 若步骤 ≥ 5 → 创建 plan.md
  3. 将计划内容输出给用户

Do 阶段

  1. 逐项执行任务
  2. 每完成一项任务 → 更新 plan.md
  3. 向用户报告进度

示例:

「✓ 任务 1 完成(数据库设计)
→ 开始执行任务 2(用户模型创建)」

Check 阶段

  1. 当用户询问 "哪些还没做?" → 运行 manage_plan.py on-start
  2. 输出所有未完成计划及其进度
  3. 示例响应:
「您当前有 1 个未完成计划:

**用户系统开发**(共 5 项,已完成 2 项)
✓ 数据库设计
✓ 用户模型创建
○ 实现登录 API(进行中)
○ 实现注册 API
○ 单元测试

下一任务:实现登录 API」

Act 阶段

  1. 修复已识别的问题
  2. 归档已完成计划

创建计划

# 简单创建
manage_plan.py create "用户系统" "数据库设计" "用户模型" "登录 API"

# 指定会话
manage_plan.py create "用户系统" "任务 1" "任务 2" 
  --session "discord:1488795270769676318"

# 指定输出文件名
manage_plan.py create "博客搭建" "购买域名" "部署" 
  --output plan-blog.md

更新状态

# 完成第 0 和第 1 项任务(索引从 0 开始)
manage_plan.py update plan.md --completed 0,1

# 标记第 2 项任务为当前进行中任务
manage_plan.py update plan.md --current 2

暂停 / 恢复

# 暂停
manage_plan.py pause plan.md --reason "等待 API 响应"

# 恢复
manage_plan.py resume plan.md

会话启动检查

# 检查当前会话中的未完成计划
manage_plan.py on-start . "discord:1488795270769676318"

进度检查

# 检查当前计划进度
manage_plan.py check plan.md

# 详细进度检查(含 Git 状态与文件修改分析)
python3 scripts/check_progress.py . plan.md

脚本列表

脚本 功能
manage_plan.py 主管理脚本(支持创建、更新、暂停、恢复、归档)
check_progress.py 进度检查(结合 Git 状态、文件修改时间、关键词匹配)
analyze_steps.py 步骤分析(判断是否需要生成计划)
check_deps.py 依赖检查

配置

默认工作区路径:~/.openclaw/workspace/
计划文件名:plan.md 或 plan-*.md
归档目录:archive/

安全性说明:

  • 仅操作工作区目录内的 plan*.md 文件
  • 不会修改任何非计划类文件
  • 归档与清理操作仅影响 archive/ 目录
  • 使用 --dry-run 参数可在实际删除前预览清理内容

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习