TL;DR:一条清单把“重复”变成“流程”
- 先写目标:我到底要自动化什么?
- 先只读扫描:不改任何东西,先产出候选清单(pending)
- 再人工确认:发/不发、删/不删、改/不改
- 最后执行 + 记日志:可追溯、可复盘
- 所有修改先备份:能回滚比“我觉得没事”靠谱
写在前面
这篇写给未来的自己:如果你发现自己又在重复做同一类事(发帖、同步、巡检、清理),别急着写脚本,先把它变成“可复用流程”。
一句话结论
OpenClaw 最值钱的不是“能自动点网页”,而是把一次次重复操作固化成有边界、有风控、可回滚的流程。
你需要准备什么(前置条件)
- 目标:你到底要自动化什么?(发帖/同步/巡检/清理)
- 确认点:哪些动作必须人工批准?(发/不发、删/不删、改/不改)
- 回滚方案:至少做到“改之前有备份,出问题能回去”
- 日志:能回答“什么时候、谁、做了什么、结果如何”
步骤 1:把事情拆成三层(先想清楚再动手)
- 意图层:我到底想达成什么?(发布、同步、多平台分发、定时巡检)
- 流程层:每一步怎么走?失败怎么兜底?哪里必须人工确认?
- 执行层:脚本/工具/浏览器自动化怎么落地?怎么回滚?
步骤 2:把“外部动作”改成两段式(最重要的风控)
我的默认模式:
- scan(只读):扫描 + 生成候选动作(pending)
- approve(执行):人工确认后再执行
最小模板(伪代码)
# 只读阶段:产出 pending
scan():
state = collect_state()
pending = generate_pending_actions(state)
save(pending)
notify_human(pending)
# 执行阶段:需要人点头
approve(pending_id):
validate_scope(pending_id)
execute(pending_id)
write_log(pending_id)
clear_pending(pending_id)
更像“真实项目”的目录结构(推荐)
automation/
run.sh
state.json # 上次运行状态(只读阶段可写)
pending/
2026-02-18.json # 候选动作清单(等待人工确认)
logs/
2026-02-18.log # 运行日志(可追溯)
backups/
config.bak.json # 修改前备份(可回滚)
步骤 3:写一份“流程说明书”(以后都能复用)
直接抄下面这个模板,填空就行:
【触发】每天 09:00 / 每 30 分钟 / 手动
【输入】账号/凭证、目标链接、筛选条件
【流程】
1) 只读抓取(不改任何东西)
2) 生成 pending(拟执行清单)
3) 人工确认(发/不发,删/不删)
4) 执行 + 记录日志
【输出】文章链接/变更列表/状态文件
【风险】误发/误删/误改
【保护】二次确认 + 备份 + 可恢复(Trash)+ 回滚脚本
常见坑(快速扫一眼)
- “看起来成功但内容没写进去”:富文本编辑器(TinyMCE/iframe)常见坑。建议 setContent 后立刻 getContent 校验。
- “一键脚本把事情做过头”:缺少 pending/approve 分界。把所有对外动作都放在 approve 阶段。
- “出了问题不知道发生了啥”:没有日志/状态文件。至少记录时间、输入、执行结果。
示例:pending.json 长什么样(建议你也这么做)
下面给两个最常见的 pending 示例:一个是“准备发帖”,一个是“准备删除”。重点不是字段多漂亮,而是让你能做到:先生成清单 → 人工确认 → 再执行。
示例 1:准备发帖(pending_post.json)
{
"id": "pending_post_2026-02-18_1500",
"type": "create_post",
"status": "pending",
"target": {
"site": "blog.lblb.eu",
"category": "技术教程",
"publish": true
},
"content": {
"title": "一篇给未来自己的备忘:用 OpenClaw 把"重复"变成"流程"",
"summary": "把重复操作固化成可复用流程:scan → pending → approve → execute → log",
"body_hash": "sha256:..."
},
"risk": ["external_write", "public_publish"],
"requires_confirm": true,
"created_at": "2026-02-18 15:00:00"
}示例 2:准备删除(pending_delete.json)
{
"id": "pending_delete_2026-02-18_1501",
"type": "delete_posts",
"status": "pending",
"target": {
"site": "blog.lblb.eu",
"mode": "trash"
},
"scope": {
"posts": [
{"cid": 10, "title": "AI实战清单:个人效率平台列表模板", "reason": "empty_body"}
]
},
"risk": ["external_write", "data_loss"],
"requires_confirm": true,
"created_at": "2026-02-18 15:01:00"
}实践建议:pending 文件一律可读可审,执行动作只接受 pending_id(别直接接受“删这个/发那个”的裸命令)。
写在最后
目标很简单:让“重复劳动”真正交给机器,但把“决策与责任”留在人类手里。
评论0
暂时没有评论