# OpenClaw 定时脚本教程：按小时清点练习目录，只在文件变化时生成差异报告

Python原生SHA巡检完成基线、增改删和重复无变化核对；OpenClaw原生调度器未创建或运行。

## 环境

- Python 3；此题标准库脚本或README指定的外部CLI。

## 启动

~~~sh
python3 reference/manifest.py fixtures state.json
cd reference
python3 verify.py
# 运行后查看原生结果阅读器（读取records.json）
python3 -m http.server 8787
# 打开 http://127.0.0.1:8787/report.html
~~~

## 七步操作

1. 建立练习清单

先下载练习包，只扫描原创目录。manifest.py 以相对路径为键计算 SHA256；状态清单放在扫描目录之外，避免清单自己变化又触发自己。

2. 设计纯脚本合同

这里的 Python 进程应使用 OpenClaw 的 command payload。官方另有 --script headless code-mode，不能把它当作 Python 文件入口；command-argv 明确给出参数数组，避免额外 shell 展开。

3. 核对基线快照

首次运行只建立基线，不能把全部原始文件都报告为新增。第二次不改变输入再运行，新增、删除、修改应全部为空；quiet-unchanged 模式输出 NO_REPLY。

4. 区分增改删

修改 edit.txt、增加 add.txt、删除 delete.txt，保留 keep.txt。对照前后清单，差异必须各一项；同名文件内容变化由哈希识别，不能只比文件名或修改时间。

5. 准备隔离调度

下载包提供每小时运行的 command-argv 示例，工作目录需要替换为你自己的练习绝对目录，并显式使用 --no-deliver。本文没有创建、修改或运行任何 OpenClaw 原生定时任务。

6. 验证不变不提醒

保存新清单后再运行一次。由于已经接纳这份新基线，相同变化不应重复报告。需要保留历史时另存快照，不要让历史文件进入被扫描的练习目录。

7. 保存复现材料

运行 reference/verify.py 回读原创输入、增改删集合和重复运行结果。原生 Gateway 的下一次运行时间、权限和失败日志仍需在你独立建立的环境中核验，不把脚本实测当作调度器实测。

## 目录身份

- starter：待完成的任务接口与原创输入，TODO不是已完成实现。
- reference：作者原生完成参考和实际产物。records.json/browser-result.json为本地实测记录，不是AI助手回复。
- TASK.md：可交给相应AI助手的原始任务合同。该助手账号生成会话未运行。

## 依赖与许可

原创教学代码以MIT许可提供。第三方项目、模型及浏览器遵循其自身许可。第三方依赖由本地安装获取，不包含node_modules、模型权重、WASM运行时、数据库、缓存或凭据。

## 官方依据

- https://docs.openclaw.ai/automation/cron-jobs/payloads
