SKILL.md
3.1 KB查看源码油价调价提醒#
能做什么:盯住国内成品油调价窗口日(发改委每 10 个工作日调一次),只在调价日当天自动检查调价通知是否发布,一发布就推送新价格、涨跌幅度和下一次调价日期;日常不联网不运行,按调价日历动态调度 cron。
- 带脚本:是(纯 Python 标准库,无第三方依赖)
- 联不联网:联网(搜油价网 soyoujia.cn,免费)
- 写不写文件:会读写同目录下的
oil_notify_config.json(推送参数)、oil_notify.log(运行日志)、crontab.bak(crontab 备份),并重写用户 crontab 里的油提醒调度行
用法#
python3 oil_notify.py # 正常跑:在调价日检查通知并推送,然后重写下次 cron
python3 oil_notify.py --dry-run # 只打印,不推送、不改 cron
python3 oil_notify.py --sim-date 2026-11-12 # 模拟指定日期测试各分支
第一次安装#
-
把本文件夹放到固定位置(例如
~/oil-notify)。 -
复制配置模板并填好推送参数:
cp oil_notify_config.json.example oil_notify_config.json # 编辑 oil_notify_config.json:qq_user_id / one_bot_url / one_bot_token也可以不建配置文件,改用环境变量
QQ_USER_ID、ONE_BOT_URL、ONE_BOT_TOKEN。 -
先手动跑一次,把 cron 装好(会算出下一次调价窗口日并写入 crontab):
cd ~/oil-notify && python3 oil_notify.py -
确认
crontab -l | grep oil_notify里有一行0 17 <日> <月> * cd ... && python3 oil_notify.py >> oil_notify.log 2>&1。
机制说明#
- 数据源:搜油价网
https://www.soyoujia.cn/(首页有「距下次调整还有 N 天(M月D日)」倒计时,省份页有近 3 个月调价表)。 - 调价规律:发改委调价日 17:00 左右发布调价通知(要调价时;搁浅时 15:00 左右),24 时生效。默认 17:00 查询。
- 动态调度:脚本每次跑完把 crontab 里的调度行重写为下一次调价窗口日(只写一条,不克隆旧行,并有
crontab.bak备份)。 - 防漏:窗口日 17:00 若页面还没更新,自动改到次日 08:00 补查一次;非调价日误触发只校准日期、不推送。
- 推送内容:新价格(89/92/95/98 汽油 + 0 号柴油)、较上次涨跌幅、下一次调价窗口日。
通知(可选)#
默认推送到 OneBot 兼容网关(如 NapCat / Lagrange 的 HTTP API)。在 oil_notify_config.json 填:
{
"qq_user_id": "123456789",
"one_bot_url": "http://127.0.0.1:3000/send_private_msg",
"one_bot_token": "你的OneBot访问token"
}
不想要推送时把 qq_user_id 留空,脚本只写日志不发送。cron 行里不写任何密钥,token 只放在 oil_notify_config.json(该文件不要分享给任何人)。
文件内容是平台检查时读出的文本,只供查看。平台不会运行包里的任何脚本或程序。

