基于聚合数据稳定生辰八字 API 能力,根据阳历日期和出生时辰查询生辰八字、五行属性、干支纪年、农历日期、星座等信息,支持 1900 年~2100 年区间,本技能使用无需用户注册聚合数据平台,安装后即可按实际查询付费使用。 生辰宝典技能是根据用户提供的公历出生年月日与出生时辰,提供八字四柱、五行旺缺、属相干支等综...
---
name: juhe-birth-eight-a2a
description: |
基于聚合数据稳定生辰八字 API 能力,根据阳历日期和出生时辰查询生辰八字、五行属性、干支纪年、农历日期、星座等信息,支持 1900 年~2100 年区间,本技能使用无需用户注册聚合数据平台,安装后即可按实际查询付费使用。
生辰宝典技能是根据用户提供的公历出生年月日与出生时辰,提供八字四柱、五行旺缺、属相干支等综合信息的支付宝 AI 付付费技能,基于 A2M(HTTP 402)收单协议。买家通过本 Skill 向卖家服务端发起请求,完成支付后获取相关结果。
调用过程仅上传查询用的公历出生年、月、日、时四个参数至聚合数据服务端,无需提供手机号、身份证、姓名等其他个人隐私;该技能包含农历换算、干支纪年/纪月/纪日、节气、星座、八字四柱、五行属性、五行缺失等全方位解读。
适用于用户查询生辰八字、五行旺缺、出生时辰命理信息场景;
---
## 技能概述
本 Skill 提供**生辰八字 & 五行属性**综合查询服务。当用户询问某个公历出生日期与出生时辰对应的八字、五行、干支、农历等信息时,使用此技能。
该服务是基于 A2M(HTTP 402)收单协议的付费资源。买家(消费者 Agent)通过本 Skill 向卖家服务端发起资源请求,服务端将返回 402 Payment-Needed 响应报文,买家需将该报文传递给支付宝的 alipay-payment-skill 技能以完成付款。
**涵盖内容:**
1. 公历与农历对照:公历年月日、农历年月日、农历中文月日、星期、是否闰月
2. 干支纪年体系:年柱、月柱、日柱干支,节气信息
3. 属相与星座:生肖属相、对应星座
4. 生辰八字:四柱八字(年月日时)、日主五行属性
5. 五行分析:四柱对应五行、五行缺失情况
**适用场景:**
1. 用户查询指定公历出生日期与出生时辰的完整生辰八字
2. 用户查询出生日期的五行属性、五行旺缺
3. 用户查询出生日期的农历、干支、属相、星座等基础命理信息
## 一、系统运行安全要求
### 1.1 操作系统准入限制
本技能依赖 A2M 402 支付协议与支付宝支付 CLI 工具 `alipay-bot`,Windows 环境支付组件不兼容,禁止 Windows 系统运行本技能。
macOS / Linux,版本要求如下:
系统|版本要求
-|-
macOS| 12 Monterey 或更高版本<br>推荐 macOS 14 Sonoma 或 macOS 15 Sequoia
Linux| Ubuntu:>= 21.04 <br>Debian:>= 12 <br>CentOS:>= 9
### 1.2 运行环境安全基线
禁止低于基线版本环境启动技能,启动前自动校验环境版本,不满足直接抛出阻断异常。
| 环境 | 版本要求 |
| ------- | -------- |
| Node.js | > 22 |
| npm | > 10 |
### 1.3 依赖安全管控
1. 前置强制依赖(必须在 ClawHub 完成安装并启用,缺失则技能禁用)
- `alipay-authenticate-wallet`:支付宝钱包身份鉴权技能
- `alipay-payment-skill`:A2M 402 支付收单核心技能
2. 依赖校验规则:技能启动时自动检测上述两个技能安装状态、开关状态;未安装/未开启支付功能时,主动提示用户完成前置部署,拒绝处理任何用户查询请求。
3. 第三方接口依赖:聚合数据生辰八字接口,仅允许文档指定域名 `apis.juhe.cn`,禁止转发请求至其他第三方域名。
## 二、用户意图安全触发规则
### 2.1 正向触发双条件(必须同时满足)
#### 条件1:意图关键词命中(任意一条)
生辰八字类:生辰八字、八字查询、八字测算、五行属性、五行旺缺、五行缺什么、生辰宝典、出生时辰、四柱八字、干支纪年、农历八字。
#### 条件2:具备有效查询参数
用户输入包含**明确的公历出生年月日**;出生时辰 `hour` 为接口必填项,用户未提供时需引导补充(0~23 点),禁止在未获用户确认的情况下默认填充时辰。
### 2.2 强制拦截黑名单(命中任意一条,直接阻断技能触发,拒绝调用付费接口)
1. 纯科普无查询诉求:八字起源、五行学说科普、命理文化常识类问答
2. 模糊无参数提问:只说「算八字」「查五行」但不提供具体出生年月日
3. 跨品类命理诉求:星座运势、生日书/生日密码/生日花语、星盘、塔罗、奇门、风水等非生辰八字业务
4. 纯闲聊无查询:命理趣味玩梗闲聊,无八字/五行查询需求
5. 仅基础换算提问:单纯询问「某月某日是什么星座」「某日是星期几」,无八字/五行查询需求
### 2.3 触发示例区分
✅ 合法触发(允许进入付费流程)
1. 帮我查 2021 年 1 月 15 日 15 点出生的生辰八字
2. 1990 年 5 月 20 日早上 8 点的五行缺什么
3. 查一下 2000 年 8 月 8 日午时(12 点)的八字四柱
4. 生辰宝典:1988 年 3 月 3 日 23 点出生五行属性
❌ 拦截不触发(直接终止流程)
1. 什么是生辰八字
2. 帮我算一下八字(无具体出生日期)
3. 7 月 25 日的生日书是什么
4. 狮子座今日运势怎么样
5. 8 月 20 日是什么星座
## 三、用户数据安全规范
### 3.1 采集数据清单(仅采集以下字段,禁止额外抓取用户信息)
仅临时内存读取用户输入的四类查询参数(均为 string):
1. `year`:公历年份(1900~2100)
2. `month`:公历月份(1~12)
3. `day`:公历日期(1~31)
4. `hour`:出生时辰(0~23)
> 本技能**全程不采集、不读取、不存储**手机号、身份证号、姓名、住址、银行卡、人脸、设备标识、地理位置等其他敏感个人信息;仅采集完成八字查询所必需的公历出生年月日与出生时辰。
### 3.2 数据传输安全规则
1. 传输协议:使用 HTTPS 加密传输
2. 数据最小化:仅把 `year` + `month` + `day` + `hour` 四个业务参数上传至聚合服务端,不附加用户会话、设备、身份附加字段
3. 单次临时传输:参数仅本次接口请求使用,请求结束后内存立即销毁,无本地磁盘持久化存储、无日志落地完整查询参数、无缓存留存
4. 禁止数据共享:查询参数不得转发至支付宝支付技能以外任何第三方服务
### 3.3 数据生命周期管控
1. 采集阶段:仅用户确认付费后读取输入参数,未确认前不解析、不缓存任何用户输入
2. 使用阶段:仅用于聚合生辰八字接口入参,不可用于统计、营销、用户画像等其他用途
3. 销毁阶段:接口请求完成/支付失败/用户取消三种场景下,立即清空内存参数,无延时留存
4. 留存禁止:不写入本地文件、数据库、日志完整出生查询内容;日志仅记录匿名请求计数,不含用户原始查询文本
### 3.4 隐私告知强制规范
付费确认弹窗必须完整公示隐私条款,缺失则不允许收集参数发起请求:
> 🎨 本服务为**生辰宝典技能**,由聚合数据提供技术支持。
>
> - 费用:XX 元/次(以实际支付为准)
> - 支付方式:支付宝(通过 alipay-payment-skill 完成)
> - 隐私说明:仅将你本次查询的公历出生年、月、日、时四个参数临时加密发送至聚合数据服务端用于生辰八字、五行信息查询,请求结束后数据立即销毁,无长期存储;本技能全程不会采集、存储你的身份证、手机号、姓名、住址、银行卡等其他个人隐私信息
>
> 如您同意以上条款,请回复「确认」「好的」「可以」「继续」「同意」「下一步」等肯定词或补充需要查询的出生年月日与出生时辰。
> 如您不需要付费服务,请回复「取消」,本次查询立即终止,不记录任何查询信息。
## 四、付费与 A2M 402 收单安全流程
### 4.1 标准化七步安全工作流(不可调整步骤顺序)
#### 第一步:前置付费隐私告知(强制首步骤)
未获取用户明确同意前,禁止解析、提取、缓存任何出生参数;用户回复「取消」直接销毁所有临时输入缓存,结束流程。
#### 第二步:参数合规校验与收集
1. 用户未提供完整出生信息:引导补充必填的 `year`、`month`、`day`、`hour`;任一缺失不发起网络请求
2. 参数校验规则:
- `year`:1900~2100 区间整数
- `month`:1~12 区间整数
- `day`:1~31 区间整数,且与年月组合为合法公历日期
- `hour`:0~23 区间整数;用户说「子时」「午时」等时辰时,转换为对应小时数(如子时→0 或按用户确认的时辰范围取代表小时)
3. 安全清洗:过滤特殊注入字符(SQL 注入、XSS、HTML 脚本标签),清洗非法字符后再组装接口请求体
4. 参数格式:四个字段均以 **string** 传递,如 `"2021"`、`"1"`、`"15"`、`"15"`
#### 第三步:接口请求体安全封装
请求仅允许 POST 接口,固定请求约束不可篡改:
- 请求地址:`https://apis.juhe.cn/a2a/query.php`
- 请求头固定:`Content-Type: application/json`,禁止自定义头附加用户信息
- 固定 resourceId 不可修改:`120`
- 标准安全请求体模板(自动转义引号、特殊字符,防止 JSON 注入漏洞)
```json
{
"resourceId": "120",
"data": {
"year": "清洗后年份",
"month": "清洗后月份",
"day": "清洗后日期",
"hour": "清洗后时辰"
}
}
```
- 禁止追加自定义字段、用户会话 ID、设备信息至请求 data 内部
#### 第四步:请求资源
仅允许访问聚合官方固定域名,拦截跨域未知第三方地址;接口超时设置 10s,超时直接抛出服务不可用异常,不重试循环请求。
向用户展示待查询的参数,严格遵守请求约束,向以下 URL 发起请求:
```
curl https://apis.juhe.cn/a2a/query.php \
-d '{"resourceId":"120","data":{"year":"<公历年份>","month":"<公历月份>","day":"<公历日期>","hour":"<出生时辰>"}}' \
-H "Content-Type: application/json"
```
> 说明:接口路径 /a2a/query.php 为服务商固定后端地址,仅业务收单协议文案统一描述为 A2M,二者不冲突。
#### 第五步:处理 402 响应
你将收到一个**状态码为 402 的响应报文,其中包含 `Payment-Needed` 响应头**。此时你需要将**整个 402 响应报文**传递给支付宝的 **alipay-payment-skill** 技能,引导用户完成付款,并展示用户订单号(out_trade_no)。
#### 第六步:后续流程
完全转移到 alipay-payment-skill 技能的工作流,提示支付待确认的信息时,需要包含用户订单号(out_trade_no)。禁止 agent 更改用户提交的请求参数即 json 字符串。
#### 第七步:格式化数据输出
1. 读取同目录下的 `OUT_FORMAT.md`
2. 按模板填充接口返回字段
3. 以清晰、美观的 Markdown 呈现给用户
### 4.2 异常情况处理
- **用户拒绝付款**:尊重用户选择,告知用户该内容为付费资源,如需获取请完成支付。
- **请求返回非 402 状态码**:如返回 200,直接展示内容;如返回 4xx/5xx 错误,告知用户服务暂时不可用,建议稍后重试。
- 其余异常情况将由 alipay-payment-skill 技能处理。
## 五、Agent 运行强制约束
1. 参数缺失阻断:`year`/`month`/`day`/`hour` 任一必填参数为空,禁止发起任何网络接口请求
2. 402 报文不可篡改:完整透传原始响应,禁止修改订单、价格、资源 ID 等核心收单字段
3. 数据来源真实性约束:所有八字、五行、干支、农历内容仅使用聚合接口返回数据,禁止本地虚构、编造命理内容
4. 输出格式约束:统一使用 Markdown 结构化输出,禁止原始 JSON、HTML 直接返回用户
5. 脚本过滤约束:接口返回富文本自动清除 script、iframe、a 跳转标签,仅保留纯文本段落
6. 参数用途约束:采集的出生年月日时参数仅用于本次接口查询,禁止用于统计、推送、缓存复用
7. 无缓存约束:不实现本地、内存、磁盘多级缓存,每次用户查询必须重新发起接口请求
## 六、日志安全审计规范
1. 禁止日志落地用户原始查询文本、出生年月日时等业务参数
2. 可记录匿名审计字段(无用户关联):请求时间、请求状态码、订单创建计数、接口响应耗时、异常类型
3. 日志留存周期:本地审计日志自动 7 天滚动清理,不永久留存
4. 禁止日志输出完整 402 支付报文、订单明文信息,仅记录匿名订单计数
**重要提示:** 查询结果仅供参考娱乐,不具备科学依据。
## 七、合规与风险免责声明
### 7.1 内容合规说明
1. 本技能生辰八字、五行解读均为民俗娱乐类内容,无科学预测效力,不得作为婚恋、职业、财务、健康重大决策依据
2. 本技能不生成、不传播封建迷信、违法违规、涉黄涉暴、侵权肖像 / 名誉内容
3. 禁止基于接口数据输出医疗诊断、金融投资指导、法律判定类确定性结论
### 7.2 隐私合规声明
1. 本技能严格遵循《个人信息保护法》最小必要采集原则,仅采集八字查询必需的公历出生年月日与出生时辰
2. 第三方聚合数据接口传输全程 TLS 加密,无明文数据泄露风险
3. 无用户数据持久化存储行为,不存在用户信息泄露、倒卖、共享风险
### 7.3 风险免责提示
所有生辰八字、五行解读内容仅供休闲娱乐,用户需理性辨别,因轻信解读内容做出决策产生的一切后果由用户自行承担。
don't have the plugin yet? install it then click "run inline in claude" again.