timer-guide.md 2.2 KB

定时器使用指南

本项目支持通过 Windows 计划任务 + Claude CLI 实现定时自动执行任务。

原理

Windows 计划任务 (schtasks)
  └─ 定时触发 run-tasks.bat
       └─ 调用 claude -p "任务指令" --dangerously-skip-permissions
            └─ Claude 自动执行任务并归档到 docs/

快速使用

1. 创建定时任务

# 创建 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. 查看任务状态

schtasks /query /tn "YZWater3-Tasks"

3. 立即手动触发

schtasks /run /tn "YZWater3-Tasks"

4. 取消任务

schtasks /delete /tn "YZWater3-Tasks" /f

5. 查看执行结果

执行完成后,总结会写入 docs/ 目录:

  • docs/improvement-report-{date}.md — 改进报告
  • docs/config-reference.md — 配置参考(如适用)

自定义任务

修改 scripts/run-tasks.bat 中的提示词即可执行不同任务:

@echo off
chcp 65001 >nul
cd /d E:\Source\YZWater3
claude -p "你的任务描述..." --dangerously-skip-permissions

常用定时任务示例

# 每天凌晨 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/ 目录中的报告