本文参与 #WorkBuddy 话题征文。上一篇写了怎么用本地脚本省积分,这一篇写另一个我离不了的功能:定时自动化任务。我的 A 股盘后报告、财报跟进、社区发文,现在全部靠它自动跑,窗口不开也照转。教程级,步骤可以直接照抄。
我是 A 股日内交易者,一天里有几个雷打不动的时间点:
时间 | 要干的事 |
|---|---|
11:35 | 新股午盘报告 |
15:10 | 收盘批量报告(13 只跟踪股 + 指数 + ETF + 融资融券) |
15:40 | 跟踪股报告生成 + 上传腾讯文档 |
09:00 | 社区发文推进 + 自荐补点 |
最早我都是自己掐着点开窗口发一句"跑报告"。问题来了:忘了一天,数据就断一天;出门在外没法开电脑,任务直接废。
WorkBuddy 的定时自动化任务(Automations)把这个痛点解决了——任务存在本地数据库里,到点自动拉起一个独立会话执行,不依赖任何窗口开着。我实测:人不在电脑前、WorkBuddy 主窗口全关,任务照样跑,产物落在约定目录里,回来直接看。
指定一个精确时间,跑一次就完事。适合事件跟进:
我的自动化列表里现在躺着好几个这种"埋好的雷":中报专项检查、三季报检查、业绩说明会跟进——财报日历一确定就埋上,到点自动响。这事的价值在于:你永远不会因为"忘了看公告"而错过一只持仓股的业绩变脸。
用 RRULE 字符串定义重复规则。别被 RFC 5545 吓到,实战常用的就三条:
{"rrule": "FREQ=DAILY;BYHOUR=9;BYMINUTE=0"}每天 09:00 跑。
{"rrule": "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR;BYHOUR=15;BYMINUTE=10"}工作日 15:10 跑——这是我收盘报告的真实配置。
{"rrule": "FREQ=WEEKLY;BYDAY=FR;BYHOUR=16;BYMINUTE=40"}每周五 16:40 跑——周报专用。
注意 BYDAY=MO,TU,WE,TH,FR 这一段:不写它,周末也会跑。炒股的都知道,周六日跑收盘报告纯属浪费积分。
目标:每个交易日 15:10 自动生成收盘报告,放到约定目录。
第 1 步:想清楚任务描述(prompt)怎么写
这是最重要的一步,也是最多人翻车的一步。定时任务执行时是全新会话,没有你之前聊过的任何上下文——它不认识你,不知道你的股票池,不知道报告格式。所以 prompt 必须自包含,像给一个刚入职的助理写交接文档:
执行每日收盘批量报告:
1. 工作目录:C:\...\选股工作区
2. 用 westock-mcp 依次获取以下股票的日K线:[13只跟踪股代码]
3. 数据存为 JSON 后调用 gen_tracking_report.py 生成报告
4. 报告放桌面\选股报告\ 文件名带日期
5. 若行情接口失败,改用东方财富数据源重试一次
6. 全部完成后在工作日志追加一行结果要点:路径写绝对路径、股票代码写全、失败预案写明。我吃过亏:早期只写"跑一下盘后报告",任务到点摸不着头脑,白烧一次积分。
第 2 步:创建任务
把 scheduleType、rrule、执行时间、工作目录(cwds)一起给到助手,说"建这个自动化"。工作目录一定要指对——任务里要跑脚本的话,目录错了直接找不到文件。
第 3 步:先手工跑一遍再交给定时
prompt 里的流程,先在正常对话窗口里人肉执行一次,确认每个环节都通。没跑通的流程做成自动化,等于定时制造垃圾。我的习惯:新任务先手工验证,跑顺了再定时化。
第 4 步:验证与兜底
建完后让助手列出全部自动化任务,核对时间、周期、状态(ACTIVE/PAUSED)。然后加一道保险,见下一节。
自动执行≠万无一失。行情接口抽风、数据源改版、磁盘路径变动,都可能让一次执行静默失败——而你不盯着的话,可能三天后才发现报告断了。
我的解法是主任务 + 复核任务两层结构,目前实际在跑:
{
"主任务": {"rrule": "FREQ=DAILY;BYHOUR=9;BYMINUTE=0",
"说明": "09:00 执行发文与自荐推进"},
"兜底任务": {"rrule": "FREQ=DAILY;BYHOUR=14;BYMINUTE=0",
"说明": "14:00 核查上午任务产物,缺了立即补做并告警"}
}兜底任务的 prompt 核心是核查而非重做:先检查主任务的产物是否存在、内容是否完整,缺什么补什么,然后明确写一行告警。这样即使主任务挂了,最坏损失也就是几个小时,而不是一整天。
两层加起来,我的报告链路已经连续稳定运行三周,中途数据源换过一次、接口挂过两次,都是兜底层接住的。
坑 1:one-shot 任务不清理,列表越堆越长。
一次性任务跑完不会自动消失。我现在有 24 个任务,其中一半是已完成的历史任务。建议:跟着事件走的任务,事件过了就删(update 模式 delete),或者干脆设 validUntil 有效期,到期自动失活。
坑 2:任务状态要定期巡检。
任务可能被暂停(PAUSED)——可能是你自己某次手动停的,也可能出于积分控制暂停的。我有两个报告任务因为额度紧张主动停掉了,列表里状态一目了然。每周扫一眼自动化列表,比自己猜"今天怎么没跑"省事得多。
坑 3:凌晨/非正常时段,别指望平台侧功能都可用。
我在 00:40 实测过社区"自荐上首页"按钮:过了零点按钮看着能点,实际前端根本没绑点击事件——服务端资格接口不认。定时任务同理,尽量把执行时间安排在正常时段,别卡零点,避开各种"看起来能点其实点不动"的坑。
坑 4:定时任务也是要花积分的。
每台自动化执行一次 = 一次独立会话 = 消耗积分。我的节奏:单个任务执行控制在 50~100 积分/天,额度紧张时主动 PAUSE 低优先级任务(比如周末停掉全部行情任务)。自动化是省钱工具的前提,是你得管理它,而不是供着它。
坑 5:时区写清楚。
一次性任务的 scheduledAt 带上 +08:00,别让系统猜你的时区。踩过一次"定时 9 点实际按 UTC 算"的疑惑,排查半天。
一句话总结:把"每天要记得做的事"变成"到点自动发生的事",人只负责看结果。 窗口关着,活在跑;人睡着,雷在响。
上一篇:《我用 WorkBuddy 搭了个"零积分消耗"的盘后选股报告系统》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。