
写给已经把脚本跑通、却还在每天手动敲命令的你:前面那条早报流水线,离"到点自己跑"只差一次配置。这篇把 WorkBuddy 自动化任务的配法、定时规则、坑和排查一次讲完——照做,明早的早报不用你管。
上篇留了个尾巴:news_pipeline.py 能跑,但它是"你敲命令它跑"。于是现实是:
这些事的共同点是:动作是确定的,触发是手动的。而自动化的定义很简单——把"确定动作"的触发权交出去。本文推荐的主路径是:
一条主路,终点明确:到点自己跑,失败有人喊。本文以 #13 的早报流水线为例,把配置全过程走一遍。
核心思路一句话:Agent 定时跑 = 触发时机 + 执行环境 + 提示词 + 结果出口,四件事配齐。少任何一件,任务都会以你想不到的方式哑掉。
WorkBuddy 的自动化功能支持三种创建方式(以 2026-10 官方文档为准):
创建方式 | 适用场景 |
|---|---|
手动新建(表单) | 要精确指定时间、工作空间、推送渠道——推荐,本文主讲 |
一句话创建 | "帮我创建一个定时任务:每天早 8 点半跑早报脚本"——它解析后你再审 |
从模板新建 | 新闻推送、周报生成、体检预约、学习计划等内置模板,改改就能用 |
高级配置 | 直接编辑配置文件,控制 Cron 表达式与失败重试——要细粒度控制时用 |
IM 内远程创建 | 已绑定企业微信等,在聊天窗口向机器人下指令,收到"计划已添加"即生效 |
手动新建要填的配置项(对照官方文档整理):
配置项 | 填什么 | 本例(每日科技早报) |
|---|---|---|
名称 | 区分任务 | 每日科技早报 |
提示词 | 任务目标 + 输出要求 | 见下方完整示例 |
工作空间 | 执行目录、产物保存位置 | D:\NewsBot(默认目录为自动分配的 automation- 前缀目录,命名随版本变更、不可控) |
重复规则 | 频率 | 每天 |
时间 | 执行时刻 | 08:30 |
有效期 | 生效日期范围 | 2026-10-20 起,长期有效 |
模型与技能 | 指定执行任务的模型与所需技能 | 默认模型 + 脚本执行/联网抓取相关技能 |
消息推送 | 完成后通知 | 推送到小程序(官方开关);企业微信需另行绑定连接器 |
提示词示例(可直接抄,改路径即可):
运行 D:\NewsBot\news_pipeline.py:
python "D:\NewsBot\news_pipeline.py" --sources "D:\NewsBot\sources\tech.rss" --out "D:\NewsBot\archive"
跑完后把控制台输出和归档文件路径整理成简报。
如果抓取条数为 0,或日志里出现 [fail],在简报开头标注"今日异常"并说明原因。三个细节别跳过:
automation- 目录(命名随版本变更,你基本找不到)——显式指定 D:\NewsBot,产物永远在一个地方;需要先纠正一处:本文初版曾把 QClaw 列为「微信一句话创建定时任务」的零配置辅路径,这个方案现在要收回——产品已公告停运,辅路径实质失效。下面按官方公告的时间线说明后续处理:2026 年 9 月 24 日起停止新用户注册、停止订阅购买与续费;2026 年 12 月 24 日 00:00 正式停止运营,届时除数据备份与迁移外功能停用。存量账号在关停前仍可正常使用,但不要再把新流程搭在它上面。仍装了 QClaw 的老读者,过渡期要做的事有三件:官方提供迁往 WorkBuddy 的迁移工具,完成有效迁移可获 1000 积分补贴(仅个人版账号支持授权迁移,补贴有效期 1 个月);备份文件下载窗口截至 2027 年 3 月 24 日 00:00;迁移完成后逐项核对旧任务的触发时间与推送渠道是否还在。保留的 《QClaw 能帮我自动干啥?5 个零代码场景》 仅供参考、不代表当前可用。需要「不想碰配置界面」的零配置兜底,新读者建议改用系统自带计划任务:Windows 任务计划程序、macOS launchd、Linux cron——它们本就常驻、不依赖第三方产品存活,反而比一个正在关停的工具更稳。

#13 就是前一篇内容
flowchart TD
A["#13 产物:news_pipeline.py 已跑通"] --> B["建 WorkBuddy 自动化任务"]
B --> C["三种创建:手动表单/一句话/模板"]
C --> C2["配齐四要素<br />触发时机+执行环境+提示词+结果出口"]
C2 --> E["测试运行一次<br />判定:产物正确+日志可见才算过"]
E -->|"不通过"| F["回定位:工作空间/路径/权限/推送"]
E -->|"通过"| G["开启定时<br />判定:失败有人喊,不静默"]注释(判定标准):无论用哪种创建方式,每个自动化任务都必须先过"测试运行"再开定时——务必先手动发送成功,验证整条链路:产物、日志、推送三项都通,再开启定时。否则定时任务只会按固定频率、无限次复制同一个 bug。原因看第三节。
配表很简单,但每个字段背后是一个执行环节。理解这四个环节,遇到问题才知道去哪查。
1. 触发——什么时候跑。 由"重复规则 + 时间 + 有效期"三样决定。规则本身是标准化的(RFC 5545 rrule),表单勾选即可,不用手写。懂 cron 的运维可以直接对照理解:
你要的 | 表单怎么选 | 规则写法(rrule) | cron 对照 |
|---|---|---|---|
每天 08:30 | 每天 + 08:30 | FREQ=DAILY;BYHOUR=8;BYMINUTE=30 | 30 8 * * * |
每周一/三/五 09:00 | 每周 + 选周一、三、五 | FREQ=WEEKLY;BYDAY=MO,WE,FR;BYHOUR=9;BYMINUTE=0 | 0 9 * * 1,3,5 |
每月 1 日、15 日 09:00 | 每月 + 选 1、15 | FREQ=MONTHLY;BYMONTHDAY=1,15;BYHOUR=9;BYMINUTE=0 | 0 9 1,15 * * |
仅工作日 08:30 | 每周 + 选周一至周五 | FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR;BYHOUR=8;BYMINUTE=30 | 30 8 * * 1-5 |
官方提醒:同一任务的多个执行日期,请在一条规则里配(每周多选几个星期、每月多选几个日期),不要拆成多个定时任务——拆了后面改起来是噩梦。
2. 执行环境——在哪跑、以谁的身份跑。 这是最多人翻车的地方,四个子项:
cd D:\NewsBot 再敲命令,和 Agent 在它自己的工作空间里执行,看到的相对路径根本不是一回事;3. 提示词——跑什么、怎么算成功。 它不只是"运行某脚本",要把三件事说清:跑哪条命令(绝对路径)、产物在哪、什么情况算异常。提示词写得越像"验收标准",Agent 的判断越稳。
4. 结果出口——跑完你怎么知道。 两种:任务详情里的历史记录(被动,你得去看);消息推送到企业微信/小程序(主动,失败也有人喊)。自动化时代,"没人喊"就等于"没人管"——必须配主动出口。
为什么要先测试运行再开定时? 因为定时任务会把同一个 bug 按固定频率无限复制。手动跑是"错一次你看一眼",定时跑错是"错三十天你才发现"。#13 的规矩在这里同样成立:每一步稳定跑至少一周,再进下一步。
这是本次实测复现的第一个坑,也最阴——它不报错,它交差。我在其他目录用相对路径参数调用脚本(模拟 Agent 在别的工作空间执行),真实输出:
$ python "D:\NewsBot\news_pipeline.py" --sources sources/tech.rss --out archive
[fail] 源 sources/tech.rss 失败:[Errno 2] No such file or directory: 'sources\tech.rss'
[done] 去重后 0 条,模式:本地降级摘要(未配置 API Key)
[done] 早报已归档:archive\科技早报-2026-10-18.md注意三件事:[fail] 只有一行、去重后 0 条、早报文件照样生成、脚本退出码还是 0。也就是说:定时任务每天准时"成功",每天产出一份空早报,你不点开文件就发现不了。改成绝对路径参数立即恢复:
$ python "D:\NewsBot\news_pipeline.py" --sources "D:\NewsBot\sources\tech.rss" --out "D:\NewsBot\archive"
[ok] 源 D:\NewsBot\sources\tech.rss:抓到 3 条
[done] 去重后 3 条,模式:本地降级摘要(未配置 API Key)
[done] 早报已归档:D:\NewsBot\archive\科技早报-2026-10-18.md解法:① 命令里所有路径写绝对;② 脚本内部用"以脚本位置为基准"的方式定位(Path(__file__).parent),天然免疫 cwd 漂移;③ 加一道空跑守卫(见坑 2)。
坑 1 教会我们:看退出码会骗人,要看内容。给流水线加一个守卫脚本,0 条就判失败、返回非零——这样 Agent 的"异常判定"和监控才有抓手。代码我实测跑过:
"""guard.py:早报守卫——0 条算失败(配套 news_pipeline.py 使用)
用法:python guard.py "archive/科技早报-2026-10-18.md"
"""
import re
import sys
from pathlib import Path
def count_items(report_path: str) -> int:
"""统计早报正文的条目数(以 '## ' 二级标题为一条)"""
text = Path(report_path).read_text(encoding="utf-8")
return len(re.findall(r"^## ", text, re.M))
def main() -> int:
if len(sys.argv) < 2:
print("[error] 用法:python guard.py <早报文件路径>")
return 2
n = count_items(sys.argv[1])
print(f"[guard] {sys.argv[1]} 共 {n} 条")
if n == 0:
print("[error] 今日 0 条,视为失败:请检查 sources 路径与网络")
return 1
print("[guard] 通过")
return 0
if __name__ == "__main__":
sys.exit(main())实测输出(正常早报和坑 1 产生的空早报各跑一次):
$ python guard.py "D:\NewsBot\archive\科技早报-2026-10-18.md"
[guard] ...共 3 条
[guard] 通过
$ python guard.py "D:\empty\科技早报-2026-10-18.md"
[guard] ...共 0 条
[error] 今日 0 条,视为失败:请检查 sources 路径与网络解法:把守卫接进任务——让 Agent 跑完流水线顺手跑 guard,或用任务链把两步串起来;提示词里已有的"0 条算异常"就是它的自然语言版,代码版是双保险。
选了本地来源,电脑关机、睡眠、断网,任务就不跑——而且不会补跑。你的早报会安静地缺一天。解法:要么接受(并在提示词里要求"发现中断要说明"),要么把任务来源换云端(沙箱执行,无需电脑在线),要么两头配置份。选之前先问自己:这个任务能不能接受"漏一天"。
任务跑完了,结果只躺在"运行记录"里等你翻。失败也是。解法:消息推送(企业微信/小程序)必开——这不是便利功能,是自动化唯一的"响"。开了之后,建议故意制造一次失败(改错路径跑一次),亲耳听到它喊,才算配好。
定时任务出问题,按症状定位,别通读:

flowchart TD
E["早报不对劲/没到"] --> Q1{"任务根本没触发?"}
Q1 -->|"是"| C1["查三处:有效期/暂停状态/任务来源<br />本地任务电脑没开就不跑<br />判定:先看运行记录里有没有本次执行"]
Q1 -->|"否,跑了但没产物"| Q2{"早报是空的/条数为0?"}
Q2 -->|"是"| C2["典型cwd坑<br />相对路径找不到源<br />判定:看日志 [fail] 后是否仍生成了空文件"]
Q2 -->|"否"| Q3{"内容对但没收推送?"}
Q3 -->|"是"| C3["推送没配<br />企业微信连接器/小程序开关<br />判定:任务详情的推送项状态"]
Q3 -->|"否"| C4["结果和手动跑不一致<br />查权限:默认vs完全访问<br />判定:换完全访问权限再测试运行"]注释(判定标准):排错入口永远是运行记录 + 日志信号,不是猜。每个症状先对应一个可观测信号(有无本次执行 / 条数 /
[fail]/ 推送状态),再动手改。
配通定时,只是第 2 级。完整路线和硬规矩:

flowchart LR
A["第1级 手动脚本<br />你敲命令它跑<br />判定:#13 已跑通+日志可见"] -->|"先手动验证再定时"| B["第2级 定时自动<br />Agent 到点执行<br />判定:测试运行通过+四要素配齐"]
B --> C["第2.5级 失败告警<br />空跑/坏源有人喊<br />判定:连续3天异常你能第1天知道"]
C --> D["第3级 沉淀知识库<br />早报进 ima 打标签<br />判定:攒一个月能问答检索"]
D --> E["第4级 多源+分类扩展<br />判定:每步仍可单独验证"]注释(管控要求):顺序的硬规矩还是每一步稳定跑至少一周再进下一步;第 2.5 级(失败告警)不能跳——没有告警的自动化等于没有刹车的车。
今晚就能做的行动清单(按顺序,别跳):
news_pipeline.py 和 sources 挪进固定目录(如 D:\NewsBot),所有参数改绝对路径,手动跑通一次——这是 #13 的验收线,没过别往下;一周后如果天天准时来,按前面介绍过的方法把早报接进 ima 知识库(打 #科技资讯 标签)——流水线的终点不该是文件夹,是能问答的知识库。再往后,加源、按主题分类,每一步都单独验证。
关于 AI 辅助创作的声明:本文由作者主笔、AI 辅助创作。文中 WorkBuddy 自动化功能描述基于官方文档(2026-10 核实,界面随版本更新,以软件内实际为准);cwd 坑与守卫工具的输出为作者本机实测记录。脚本与配置示例请按你的环境改路径后使用。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。