Qwake 指南

如何在 macOS、Linux、Windows 上使用 Qwake

一篇实用的 Qwake 跨平台使用指南,覆盖 macOS LaunchAgent、Linux systemd 与 crontab fallback、Windows Task Scheduler。

Qwake 能保证什么,不能保证什么

Qwake 会通过你本机已经可用的 CLI 发送极小的 wake 请求。它可以验证定时任务是否真的执行过, 以及 provider 是否接受了请求;但如果机器关机、完全深度睡眠、离线,或者 provider 拒绝请求, 它不能保证额度一定刷新。

安装 Qwake

npm install -g @sysiphus/qwake
qwake init
qwake doctor
qwake wake mock

跨平台统一命令

Qwake 在 macOS、Linux、Windows 上都保持同一套调度命令:

qwake schedule install codex claude --times 06:05,11:10,16:15,21:20
qwake schedule status
qwake schedule doctor
qwake schedule test codex claude
qwake schedule repair codex claude
qwake schedule logs
qwake schedule uninstall codex claude

macOS:LaunchAgent

在 macOS 上,Qwake 会安装 LaunchAgent。对笔记本工作流来说,这通常比 cron 更合适, 因为 launchd 和用户会话集成得更好。定时任务默认启用 smart skipping:只有当上一次成功 wake 已经超过配置的 5 小时窗口加 buffer 后,Qwake 才会再次真实调用 provider。

launchctl list | rg qwake
cat ~/Library/LaunchAgents/com.qwake.claude.plist

Linux:优先 systemd,兜底 crontab

在 Linux 上,Qwake 会先尝试安装 systemd --user service 和 timer。 如果机器没有可用的 systemd user service,Qwake 会自动 fallback 到 crontab, 并安装等价的每日定时条目。

如果使用 systemd,可用下面命令查看:

systemctl --user status qwake-claude.timer
journalctl --user -u qwake-claude.service

如果 fallback 到 cron,可用下面命令查看:

crontab -l | grep QWAKE:claude

Windows:Task Scheduler

在 Windows 上,Qwake 会通过 schtasks 安装每日任务。同一条 schedule 命令会为每个时间点 创建一个任务,并把日志写到 ~/.qwake/logs

where qwake
qwake schedule install codex claude --times 06:05,11:10,16:15,21:20
qwake schedule status
schtasks /Query /TN "\Qwake\claude-0605" /V /FO LIST

排障

如果定时唤醒没有执行,先看这些:

qwake schedule status
qwake schedule doctor
qwake schedule test codex claude
qwake schedule logs
qwake doctor

三个平台的日志语义是统一的:successfailedlimitedskipped