← 返回
未分类

lotto-agent

user_50aae3d0
未分类 community v1.2.0 6 版本 99310.3 Key: 无需
★ 0
Stars
📥 144
下载
💾 0
安装
6
版本
#latest

概述

lotto-agent 彩票 Agent Skill

优先级最高:消息里出现 彩票 / 双色球 / 大乐透 / 七星彩 / 七乐彩 / 福彩3D / 排列三 / 排列五 / 快乐8 / 选号 / 开奖 / 兑奖 / 中奖 / 期号 / 奖池 / 奖金 / 报表 / 盈亏 / 推荐号码 / 买彩票 / 给我X注 等任意词汇时,立即调用本 Skill,不要让通用聊天回答。

未来时间词铁律:消息里只要出现 今晚 / 明天 / 后天 / 周X / X月X日 / 早上 / 上午 / 下午 / 晚上 / X点 等任意未来时间表达,必须走 create_task不允许 generate 立即出号。唯一例外:用户显式说"现在 / 立刻 / 马上 / 立即 / 直接给"等立即字样。

反问优先于猜:日期或时段缺一半时("明天给我5注"、"早上给我5注"、"周三给我5注"等),先调 parse --text "<原文>",按返回的 needs_clarification=true 反问用户补全,禁止默认填 09:00 / 今天 / 这周等任何值。

generate必须把用户原话作为 --text 传入,Python 入口会做二次校验,原话含未来时间词且无立即字样时直接返回反问 payload。

本 Skill 是私人自用彩票 Agent。不承诺中奖、不做预测、不使用"必中 / 稳赚"等表达。大模型只负责理解意图、调用脚本、组织输出;选号 / 开奖抓取 / 兑奖判断 / 数据存储全部由 Python 规则代码完成。

入口

python scripts/cli.py <action> [options]

支持 13 个 action:

action说明
------
status健康检查 + 数据库路径
generate选号入库(自动绑定下一期)
check_prize兑奖(按已 fetch 的开奖匹配)
fetch_draw抓取公共开奖数据(all / 指定彩种 / 指定期)
report报表 --since N 默认 30 天
cancel取消最近 N 注(不计成本、不参与兑奖)
record手动录入号码(格式 01 05 12 18 25 31 + 09
create_task创建自动任务
list_tasks列出自动任务
disable_task停用任务
cron_runcron 入口(每 30 分钟调一次)
setup_notify配置并开启 OpenClaw 推送
parseNL 解析 → action+params

自然语言意图映射

强烈推荐:所有彩票相关的中文自然语句都先 parse --text "<原文>" 让规则识别 action 再分派,避免大模型自己挑错 action。

python scripts/cli.py parse --text "明天早上给我5注双色球"
# -> {action: create_task, params: {schedule_kind: once, schedule_spec: <tomorrow>, ...}}

python scripts/cli.py parse --text "明天给我5注大乐透"
# -> {needs_clarification: true, message_text: "那一天什么时候给你?早上、上午、中午、下午还是晚上?..."}

python scripts/cli.py parse --text "现在给我5注双色球"
# -> {action: generate, params: {...}}

needs_clarification=true 时,不要自己补默认值后继续;把 message_text 抛给用户、等回复、再重跑 parse

常见映射示例:

  • "给我5注大乐透 2倍 追加" → generate --lottery dlt --count 5 --multiple 2 --additional --text "<原文>"
  • "现在给我5注双色球" → generate --lottery ssq --count 5 --text "<原文>"(含立即字样豁免)
  • "今天下午给我5注大乐透" → create_task --task-action generate --schedule-kind once --schedule-spec --time-start 12:00 --time-end 18:00 --random-window
  • "今晚给我5注双色球" → create_task --task-action generate --schedule-kind once --schedule-spec --time-start 18:00 --time-end 23:30 --random-window
  • "明天早上给我5注双色球" → 同上,schedule-spec ,时段 07:00-12:00
  • "明天上午10点给我5注快乐8选十" → create_task --task-action generate --schedule-kind once --schedule-spec --time-start 10:00 --time-end 10:00(fixed)
  • "5月15日上午给我5注大乐透" → create_task --schedule-kind once --schedule-spec 2026-05-15 --time-start 07:00 --time-end 12:00 --random-window
  • "以后每天早上9点给我大乐透5注" → create_task --task-action generate --schedule-kind daily --time-start 09:00
  • "每周二四六晚上8点给我双色球3注" → create_task --schedule-kind weekly --schedule-spec 2,4,6 --time-start 20:00
  • "大乐透开奖那天早上给我5注" → create_task --schedule-kind draw_day --schedule-spec dlt:0 --time-start 07:00 --time-end 12:00 --random-window
  • "双色球开奖前一天晚上给我3注" → create_task --schedule-kind draw_day --schedule-spec ssq:-1 --time-start 18:00 --time-end 23:30 --random-window
  • "每期开奖后自动兑奖并告诉我" → create_task --task-action draw_check_prize --schedule-kind draw_day --schedule-spec all:0 --time-start 21:35 --time-end 23:55
  • "今天中了没 / 帮我查一下今天中了没有" → create_task 否;直接 fetch_draw + check_prize 同时跑(或调 cron_rundraw_check_prize 路径)
  • "本周/周报盈亏" → report --since 7,"本月/月报" → report --since 30
  • "查看自动任务" → list_tasks
  • "停用 #3 任务" → disable_task --task-id 3
  • "我买了大乐透 01 05 12 18 30 + 02 09" → record --lottery dlt --text "<原文>"
  • "取消刚才的5注" → cancel --limit 5
  • "绑定通知 / 以后发到这里" → setup_notify --channel <宿主> --chat-id [--account-id ] --confirm

消息输出要求

generate / record 必须返回两条独立的聊天气泡

  1. 第一条只放号码块(numbers_message / message_text 都是这块),不能掺杂任何免责、跟踪、自动化、寒暄、推送状态。
  2. 第二条才发送 followup_messages 里的轻提示(顺延、推送未开启等)。

号码消息的标准格式:

彩种|N注|M倍|追加(仅 dlt 追加)|开奖 YYYY-MM-DD
投入:X元

号码1
号码2
...

数字之间两个空格,分区用 + 。每注号码前不显示序号。

选号绑定 / 开奖窗口

generate 自动绑定下一期:先看本地 draws 表里最近一期的 next_issue / next_buy_end_time;如果当前时间已过 next_buy_end_time,回退到周历的下一次开奖日,期号留空,按开奖日匹配兑奖。

公共仓库(lottery-data-repo)可能在开奖前 1-2 小时就推占位/重复数据,凌晨重抓才完整 —— 所以 next_buy_end_timenext_issue 更可信。

兑奖类任务(check_prize / draw_check_prize)判断"今天是不是开奖日"时直接看公共开奖日历(本地 draws 表里有当天 draw_date 即开奖日),不能用 next_fallback(它会因为 now > buy_end 跳过今天)。

默认配置开启 21:35-23:55 的开奖检测窗口:建一个 create_task --task-action draw_check_prize --schedule-kind daily --time-start 21:35 --time-end 23:55 即可,cron 每 30 分钟检查一次直到抓到当期开奖。

自动化规则

业务任务写入 SQLite tasks;服务器只需一条统一 cron 唤醒:

*/30 * * * * cd /root/.openclaw/workspace/skills/lotto-agent && python3 scripts/cli.py cron_run --push

时间窗口三档(自然语言映射时用):

  • 早上/上午 → 07:00-12:00 random
  • 中午 → 11:00-13:00 random
  • 下午 → 12:00-18:00 random
  • 晚上/今晚/明晚 → 18:00-23:30 random
  • 用户明确说"X点几分" → fixed

模糊表达("有空的时候、看情况、差不多的时候、晚点")必须反问,不允许默认。

schedule_kind 4 种:once / daily / weekly / draw_dayschedule_spec 含义:

  • onceYYYY-MM-DD
  • weekly:逗号分隔的 ISO 周几号 1,3,5
  • draw_day:,offset=0 当天,-1 前一天

一次性任务允许"补跑":cron 30 分钟粒度可能错过精确时间,只要 last_run_key 没设置、当前已过 time_start(或随机窗口的 planned_run_time),当天剩余时间里下一次 cron 会触发,避免错过即失效。

推送

仅支持 OpenClaw CLI(openclaw message send)。配置在 config/config.jsonnotify 段。setup_notify --channel X --chat-id Y --confirm 一步配完。

固定调用 PATH 里解析到的 openclaw 可执行文件,不允许自定义命令路径,避免命令注入。

数据 / 配置位置

  • 数据库:默认 ~/.openclaw/workspace/lotto-agent-data/lottery.db,可用 LOTTO_AGENT_DATA_DIR 环境变量覆盖。
  • 公共开奖源:默认 https://raw.githubusercontent.com/wenjinliuu/lottery-data-repo/main/public_data,可用 LOTTERY_PUBLIC_DATA_BASE_URL 覆盖。
  • 配置:config/rules.json(彩种规则,不要手改)+ config/config.json(推送 + 默认偏好)。

版本历史

共 6 个版本

  • v1.2.0 ## 架构精简 - 脚本 21 → 6 个,代码 5000+ → ~1970 行 - DB 表 8 → 3 张(tickets / draws / tasks) - 配置 9 → 2 个(rules.json + config.json) - 删 references/ 整目录,零第三方依赖 ## NL 与自动化 - 未来时间词铁律:含明天/早上/X点等一律走 create_task - 反问机制:日期或时段缺一半时主动问,禁止默认填值 - generate 入口加保险丝:含未来时间词且无"现在/马上"则拒绝执行 - 一次性任务支持补跑:cron 错过精确点位也能当天补触发 ## 兑奖修复 - 双色球新增福运奖(红 3 蓝 0 → 5 元) - 快乐 8 选九中 9 / 选十中 10 改为 API 浮动奖 - draw_check_prize 21:35 后不再误判"今天不是开奖日" ## 选号 - 福彩 3D / 排列三的组三、组六最终展示按升序排列 ## 输出 - 选号消息强制拆两条气泡:号码块 + 跟进提示分开 - 报表砍 daily,保留周报(since 7)+ 月报(since 30) ## 推送 - 砍多 provider 抽象,只剩 OpenClaw CLI - 三步配置合并为一步 setup_notify --confirm 当前
    2026-05-10 07:54 安全 安全
  • v1.1.4 # lotto-agent 更新说明 ## 规则修复 - **双色球**:新增「福运奖」(红 3 蓝 0 → 5 元) - **快乐 8**:选九中 9、选十中 10 改为浮动奖(API 返回),不再写死 ## 自动兑奖窗口 - 修复 `draw_day_task_due` 在 21:35 后误判"今天不是开奖日"的 bug:兑奖类任务直接走 `is_actual_draw_day`(节假日 + 固定周历),不再被销售截止时间影响 ## 定时任务补跑 - 一次性任务 cron 错过精确点位后允许在当天剩余时间补跑,不再永久失效 ## 自然语言映射 - "今天下午 / 今晚 / X 点 + 给我 X 注" 等带时间的请求统一走一次性定时任务,不再立即出号 ## 选号消息格式 - 强制拆成两条聊天气泡:第一条只放号码块,第二条才发跟进 / 顺延 / 自动化提示,不允许合并 ## Skill 触发优先级 - 只要消息含彩票相关词,宿主必须立即调用本 Skill ## 同步更新文档 `SKILL.md`、`README.md`、`references/*.md`、`config/lottery_rules.json` 全部同步到上述新规则。
    2026-05-09 22:13 安全
  • v1.1.3 数据库默认目录迁出 skill 包,改为 OpenClaw workspace 下的 ~/.openclaw/workspace/lotto-agent-data/lottery.db,更新 skill 不再覆盖历史数据;cron 唤醒间隔与开奖后兑奖窗口统一调整为 30 分钟粒度,create_automation 自动合并顶层参数到 payload_json,避免"5 注 2 倍变成 1 注"。通知层重构为通用消息推送:移除微信写死字段,统一使用 channel / chat_id / account_id 路由,新增 bind_notification_target / list_notification_targets / notification_status,支持任务级 delivery 快照实现"谁创建跟谁走",并保留确认绑定与确认开启的二次确认流程。同时回应 ClawHub 社区安全评估,对通知配置链路做了三项收紧:完全移除 webhook provider,切断任意 HTTP 外发;固定 openclaw 命令为进程启动时 PATH 解析的可执行文件,不再接受任何来自配置或 CLI 的自定义命令路径,消除 RCE 链路;通用 update_config 不再允许修改 notifications.json,通知配置只能走带二次确认的专用接口。老配置中的 webhook 和 command 字段加载时静默清理,主动推送出口仅剩 openclaw message send 与 host_payload,核心彩票、开奖、兑奖、报表、自动化逻辑零变更。
    2026-05-02 23:54 安全
  • v1.1.2 修复自动化任务创建时业务参数可能丢失的问题。 现在创建自动任务时,count、multiple、budget、play_type 等参数即使作为顶层参数传入,也会自动合并进任务 payload_json。
    2026-05-02 22:52 安全 安全
  • v1.1.1 下面这版可以直接作为发布说明使用: ## lotto-agent 更新说明|2026-05-02 本次更新主要修复了自动化推送不可靠、Skill 更新可能覆盖数据、消息通道不够通用等问题,并增强了 OpenClaw 多渠道环境下的自动化任务投递能力。 ### 修复的问题 修复了消息推送只返回 payload、没有实际发送的问题。 现在 `openclaw_cli` provider 会调用 OpenClaw 统一消息发送能力,通过 `channel + chat_id + account_id` 完成主动推送。 修复了推送逻辑绑定单一平台的问题。 移除了微信专属字段和命名,不再使用 `wechat_text`、`wechat_self` 等平台专用设计,改为通用消息宿主结构。 修复了自动化任务换窗口后可能推错目标的问题。 现在创建自动任务时会保存当前会话的 delivery 快照,后续 cron 执行时优先按任务自己的 `channel/chat_id/account_id` 推送,实现“谁创建,跟谁走”。 修复了 Skill 更新可能影响本地数据的问题。 数据库已移出 Skill 包目录,默认保存到: ```text ~/.openclaw/workspace/lotto-agent-data/lottery.db ``` 之后更新 Skill 时可以覆盖代码目录,不会影响历史选号、开奖、兑奖、自动任务和调度日志。 ### 新增能力 新增通用消息推送层,支持: ```text dry_run host_payload openclaw_cli webhook ``` 新增 OpenClaw 路由字段支持: ```text channel chat_id account_id ``` 其中 `chat_id` 对应 OpenClaw 发送命令里的 `--target`,`account_id` 对应多账号场景里的 `--account`。 新增通知目标绑定能力: ```text bind_notification_target list_notification_targets notification_status ``` 支持用户绑定默认通知目标,也支持老任务 fallback 到默认绑定。 新增任务级 delivery 快照。 创建自动任务时可传入: ```text --delivery-channel --delivery-chat-id --delivery-account-id ``` 后续该任务会固定推送到创建它时的会话目标。 新增首次购买/确认购买后的自动化引导。 用户第一次使用已购买号码后,会引导配置自动兑奖、cron 唤醒器和消息推送。 ### 调整内容 cron 唤醒间隔调整为每 30 分钟一次。 开奖后自动兑奖窗口的重试间隔从 10 分钟调整为 30 分钟。 Skill 命名统一为小写: ```text lotto-agent ``` README、SKILL 和更新日志已同步更新,文档中不再出现具体个人平台 ID,统一使用通用占位符。 ### 部署提醒 新版本默认数据库位置已变更。新用户无需额外操作,首次运行会自动创建数据库目录。 如果部署者使用自定义数据目录,仍然可以设置: ```bash LOTTO_AGENT_DATA_DIR ``` 如果使用 cron,也要确保 cron 环境读取的是同一个数据目录。 消息主动推送需要完成 OpenClaw 路由配置。推荐创建自动任务时传入当前会话路由: ```bash --delivery-channel <channel> --delivery-chat-id <chat_id> --delivery-account-id <account_id> ``` 这样才能保证自动化结果发回创建任务的原会话。
    2026-05-02 21:34 安全
  • v1.0.0 Initial release
    2026-05-01 17:23 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-intelligence

self-improving agent

pskoett
捕获经验教训、错误和纠正,以实现持续改进。使用时机:(1)命令或操作意外失败;(2)用户纠正……
★ 4,062 📥 799,811
developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 672 📥 324,507
ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,363 📥 319,028