# 定时器使用指南 本项目支持通过 **Windows 计划任务** + **Claude CLI** 实现定时自动执行任务。 ## 原理 ``` Windows 计划任务 (schtasks) └─ 定时触发 run-tasks.bat └─ 调用 claude -p "任务指令" --dangerously-skip-permissions └─ Claude 自动执行任务并归档到 docs/ ``` ## 快速使用 ### 1. 创建定时任务 ```powershell # 创建 1 小时后执行的一次性任务 $triggerTime = (Get-Date).AddHours(1).ToString("HH:mm") schtasks /create /tn "YZWater3-Tasks" /tr "E:\Source\YZWater3\scripts\run-tasks.bat" /sc once /st $triggerTime /f ``` ### 2. 查看任务状态 ```powershell schtasks /query /tn "YZWater3-Tasks" ``` ### 3. 立即手动触发 ```powershell schtasks /run /tn "YZWater3-Tasks" ``` ### 4. 取消任务 ```powershell schtasks /delete /tn "YZWater3-Tasks" /f ``` ### 5. 查看执行结果 执行完成后,总结会写入 `docs/` 目录: - `docs/improvement-report-{date}.md` — 改进报告 - `docs/config-reference.md` — 配置参考(如适用) ## 自定义任务 修改 `scripts/run-tasks.bat` 中的提示词即可执行不同任务: ```batch @echo off chcp 65001 >nul cd /d E:\Source\YZWater3 claude -p "你的任务描述..." --dangerously-skip-permissions ``` ## 常用定时任务示例 ```powershell # 每天凌晨 2 点执行代码质量检查 schtasks /create /tn "YZWater3-DailyCheck" /tr "E:\Source\YZWater3\scripts\daily-check.bat" /sc daily /st 02:00 /f # 每周一 9 点生成周报 schtasks /create /tn "YZWater3-WeeklyReport" /tr "E:\Source\YZWater3\scripts\weekly-report.bat" /sc weekly /d MON /st 09:00 /f # 30 分钟后一次性执行 $triggerTime = (Get-Date).AddMinutes(30).ToString("HH:mm") schtasks /create /tn "YZWater3-Quick" /tr "E:\Source\YZWater3\scripts\run-tasks.bat" /sc once /st $triggerTime /f ``` ## 注意事项 1. **电脑需要保持开机且已登录** — 计划任务在用户会话中运行 2. **笔记本请接电源** — 默认电池模式下不启动 3. **网络需连通** — Claude 需要调用 API 4. **`--dangerously-skip-permissions`** — 跳过权限确认,适合自动化场景 5. **执行过程会弹出命令行窗口** — 请勿手动关闭 6. **任务执行完后可查看 `docs/` 目录中的报告**