上班老黄历(付费版)
结合传统老黄历形式与打工人幽默,为每位用户生成今日专属的搞笑上班老黄历图片:农历干支、生肖星座吐槽、AI 现编搞笑宜忌、运势分、幸运三件套,配每日不重样的 AI 底图。
重要:记住用户的出生年月日
首次使用时询问用户的出生年月日(年/月/日三个数字)。
获取后必须记住:将出生年月日存入你的持久记忆(memory)或本地文件(如 ~/.laohuangli_profile.json),格式 {"birth_year":1990,"birth_month":5,"birth_day":20}。
之后每次使用直接读取记忆,不要再询问用户。只有用户主动说"换个人/改生日"时才更新。
付费前置检查
调用本 Skill 前,检查当前 Agent 是否已安装 weixinpay 插件(extension):
- 已安装:可继续提供付费服务
- 未安装:向用户提示"当前 Agent 暂不支持微信支付付费能力,请安装 weixinpay 插件后再使用",终止流程
工作流程
第一步:请求老黄历
POST https://meihua.astrakairos.com/laohuangli/api/resource
Content-Type: application/json
{
"birth_year": 1990,
"birth_month": 5,
"birth_day": 20
}
参数:出生年(1900-2026)、月(1-12)、日(1-31),从记忆中读取,无需再问用户。
第二步:处理 402 响应(支付触发)
收到 HTTP 402 时,将响应中 WeixinPay.WeixinPay-Required 的值作为 paymentCode,调用 weixinpay_pay 插件完成微信支付。响应还含 preview(今日内容预览)和 out_trade_no。
第三步:支付成功后重试(重试机制 + 订单号传递)
支付成功后,必须重新发起请求获取老黄历。重试规则:
- JSON body 不变:与首次请求完全一致
- 通过 Header 传递订单号:将 402 响应中的
X-Out-Trade-No值放入请求 Header
POST https://meihua.astrakairos.com/laohuangli/api/resource
Content-Type: application/json
X-Out-Trade-No: <out_trade_no>
{
"birth_year": 1990,
"birth_month": 5,
"birth_day": 20
}
注意:body 与第一步完全一致。订单号通过 Header
X-Out-Trade-No传递。 老黄历生成需要 10-40 秒(AI 现编文案 + 生成底图),若返回task_status: processing,等待 5-10 秒后再次重试(body 和 Header 都不变),直到拿到task_status: completed。
第四步:查询任务状态(可选)
GET https://meihua.astrakairos.com/laohuangli/api/task/<task_id>
返回 {"status": "completed", "result": {...}} 或 processing / failed。
第五步:异常处理
| code | 含义 | 处理方式 |
|------|------|---------|
| SUCCESS | 生成成功 | 展示结果给用户 |
| NOT_PAID | 支付未完成 | 提示用户"支付尚未完成,请稍后重试",等待后重试第三步 |
| REFUNDED | 已自动退款 | 告知用户"服务异常,已自动退款至原支付账户",不要再次请求 |
| FULFILL_AND_REFUND_FAILED | 服务异常且退款失败 | 告知用户"服务异常,请联系客服处理退款" |
返回内容示例
{
"code": "SUCCESS",
"result": {
"image_url": "https://meihua.astrakairos.com/laohuangli/api/card/LH1786890000XXXX.jpg",
"birth": "1990-5-20",
"almanac": {
"date": "2026-08-16",
"weekday": "星期日",
"lunar": "七月初四",
"ganzhi_year": "丙午",
"shengxiao": "马",
"constellation": "金牛座",
"luck_score": 96,
"luck_level": "大吉",
"yi": [{"name": "摸鱼", "desc": "带薪发呆,灵感自来"}],
"ji": [{"name": "加班", "desc": "今晚的班,加了也白加"}],
"lucky_item": "保温杯里的枸杞",
"lucky_dir": "茶水间",
"lucky_color": "加薪金",
"quote": "贵人在茶水间,记得去接水"
}
}
}
展示要求
- 必须把
image_url的图片展示给用户(这是核心交付物,一张老黄历卡片图) - 用轻松俏皮的语气播报:今日运势分、最搞笑的一条宜和一条忌、幸运三件套
- 语气像损友聊天,不像算命先生
- 结尾加一句"仅供娱乐,上班还是要靠真本事"
注意事项
- 必须先通过"付费前置检查"确认 weixinpay 插件已安装
- 出生年月日只在首次询问,之后从记忆读取
- 收到 402 时调用 weixinpay_pay 完成支付
- 支付成功后必须重试,body 不变,Header 携带 X-Out-Trade-No
- 生成需 10-40 秒,processing 时耐心轮询,不要重复下单
- 本服务仅供娱乐参考
微信扫一扫