Economic Data Analyzer - 中国宏观经济数据付费分析(Pay Skill)
Overview
本技能提供中国宏观经济数据的付费查询与分析能力(微信 Agent Pay X402 协议,按次计费),覆盖 7 大经济板块、20+ 核心指标,数据时间跨度从 2006 年至今。数据来源 AkShare 开源财经数据库,经采集管道处理后存储于 CloudBase PostgreSQL,每日自动更新。
支付服务(Pay Service)
本 Skill 为已上线的 Pay Skill,支付服务基于微信支付 Agent Pay X402 协议实现,生产环境服务地址:
- 服务端点:
https://economic-1-293966-10-1251715227.sh.run.tcloudbase.com/api/skill/invoke - 支付方式:微信 Agent Pay(X402 协议,Native 下单 + SkillHub 开发者密钥 AI 预下单)
- 计费模式:按次计费,每次调用 0.30 元(30 分)
- 支付触发:未支付请求返回 HTTP 402,携带
WeixinPay-RequiredHeader(payment_code)与WeixinPayBody 提示块 - 支付验证:支付后携带
X-Out-Trade-NoHeader 重试,服务端查单验证通过后交付付费内容 - 退款保障:履约失败自动全额退款;支付回调经平台证书验签 + AES-256-GCM 解密
服务已完成全链路真实联调(下单 → 支付 → 查单 → 履约 → 幂等重试均验证通过),健康检查端点:https://economic-1-293966-10-1251715227.sh.run.tcloudbase.com/api/pay/health
付费前置检查
调用本 Skill 前,检查当前 Agent 是否已安装 weixinpay 插件(extension):
- 已安装:可继续提供付费服务
- 未安装:向用户提示"当前 Agent 暂不支持微信支付付费能力",终止流程
工作流程(X402 协议四步)
第一步:请求资源
向以下生产环境服务地址发起 POST 请求(微信 Agent Pay X402 支付服务,已上线运行):
curl -X POST https://economic-1-293966-10-1251715227.sh.run.tcloudbase.com/api/skill/invoke \
-H "Content-Type: application/json" \
-d '{"query": "最新CPI是多少", "action": "query", "indicator": "cpi"}'
请求体字段:
| 字段 | 必填 | 说明 |
|------|------|------|
| query | 是 | 用户原始问题(重试时必须保持不变) |
| action | 否 | query(默认,数据查询+快速解读)或 report(深度 HTML 报告) |
| indicator | 否 | 显式指定指标,见下方「数据查询路由」 |
| limit | 否 | 返回数据条数 |
| latest | 否 | true 时仅返回最新值 |
第二步:处理 402 响应(支付由插件完成)
收到 HTTP 402 响应时,提取并同时保存以下信息(Header 与 Body 双通道):
- Header
WeixinPay-Required:支付码(payment_code) - Header
X-Out-Trade-No:商户订单号
支付流程由 weixinpay 插件拦截并完成,Skill 无需关心支付细节。
第三步:发起支付
将 WeixinPay-Required 的值作为 paymentCode,调用 weixinpay_pay,向用户申请支付授权。
第四步:支付成功后获取资源(⚠️ 必须执行)
支付成功后,必须重新发起请求获取付费内容。重试规则:
- JSON body 不变:与第一步完全一致,不要修改任何字段
- 通过 Header 携带支付信息:将 402 响应中的
X-Out-Trade-No(和WeixinPay-Required)Header 原样带上
POST https://economic-1-293966-10-1251715227.sh.run.tcloudbase.com/api/skill/invoke
Content-Type: application/json
X-Out-Trade-No: <第二步保存的订单号>
WeixinPay-Required: <第二步保存的支付码>
{"query": "最新CPI是多少", "action": "query", "indicator": "cpi"}
⚠️ 这是最容易被遗漏的一步:不携带
X-Out-Trade-NoHeader 重试,就永远拿不到付费内容。
退款与异常响应处理
| 响应 code | 含义 | Agent 动作 | |-----------|------|-----------| | NOT_PAID | 支付尚未完成 | 等待数秒后按第四步重试 | | REFUNDED | 服务异常已自动全额退款 | 告知用户"已自动退款至原支付账户",终止流程,不要重新支付 | | FULFILL_AND_REFUND_FAILED | 服务异常且退款失败 | 建议用户联系客服 | | BODY_MISMATCH | 重试 body 与首次请求不一致 | 检查 body 是否与首次请求完全一致 |
核心能力
1. 货币供应量分析
M0/M1/M2 及细分构成(活期/定期/储蓄存款等 17 个字段),同比/环比分析、M1-M2 剪刀差趋势。
2. 价格指数分析
CPI(全国/城市/农村,含同比/环比/累计同比)和 PPI,CPI-PPI 剪刀差、通胀/通缩判断。
3. 利率与准备金率分析
LPR(1 年/5 年期)、存款准备金率调整历史、Shibor 全品种,利率走廊、降息降准追踪。
4. 信贷数据分析
新增人民币贷款(当月/同比/环比/累计)、外汇贷款、外币存款。
5. 消费与就业分析
社零总额、消费者信心指数、城镇调查失业率(含分项)。
6. GDP 分析
GDP 总量及三次产业绝对值与同比增速(季度)。
7. 黄金市场分析
央行黄金/外汇储备、上海金基准价、SGE Au99.99 行情。
数据查询路由
根据用户问题类型自动路由到对应指标(也可在请求中显式指定 indicator):
| 用户意图关键词 | 推荐指标 | |---------------|---------| | 通胀/物价/CPI/PPI | price-indices | | 货币/流动性/M0/M1/M2 | money-supply | | 利率/降息/LPR | interest-rate-lpr | | Shibor/银行间拆借 | interest-rate-shibor | | 准备金/降准 | interest-rate-rrr | | 贷款/信贷/社融 | credit-new | | 外汇贷款/外币 | credit-fx | | 社零/零售 | consumer-retail | | 信心/预期 | consumer-confidence | | 失业/就业 | consumer-unemployment | | GDP/经济增长 | gdp | | 黄金储备 | gold-reserve | | 金基准价/上海金 | gold-benchmark | | 黄金/金价/金交所 | gold-sge | | 经济解读/分析 | insights |
深度报告 action=report 支持的 report_type:overview(全景)/ money-supply / price-indices / interest-rate / consumer / gold / gdp。
分析方法论
- 趋势判断:对比最新值与近 3/6/12 个月数据
- 同比环比:同比反映年度变化,环比反映短期波动
- 交叉验证:CPI+PPI 判断价格传导,M1+M2 判断货币活性
- 政策联动:LPR/准备金率与信贷投放、货币供应量关联分析
- 历史对比:判断当前经济状态在周期中的位置
详细分析模式见 references/analysis_patterns.md。
技术架构
- 付费协议:微信 Agent Pay X402(Native 下单 + SkillHub AI 预下单 + 查单履约)
- 商户后端:商户自有网站服务(Node.js/Express,见
references/pay_deployment.md),Skill 包内不含服务端代码 - 数据库:CloudBase PostgreSQL(HTTP API 访问)
- 数据源:AkShare 开源财经数据库,每日自动更新
- 速率限制:双重限流 —— 查询间隔 >=1 秒,60 秒窗口内最多 30 次
环境要求
- Agent 侧:仅需 HTTP 调用能力(无需任何运行时依赖)
- 商户服务端(Node.js 18+,Express):部署于商户网站服务,凭据(微信支付证书、SkillHub 开发者密钥、CloudBase 令牌)全部由部署平台密钥管理注入环境变量,代码零硬编码、零落地
scripts/目录中的 Python 脚本仅为数据分析能力参考实现(指标 SQL、分析模式、报告模板),非运行必需
安全机制(SkillHub 合规)
本技能完全符合 SkillHub 安全规范,详见 references/security_compliance.md:
- 凭据零落地:全部密钥仅从环境变量读取;异常信息自动脱敏,令牌/私钥绝不回显
- 权限最小化:
manifest.json仅声明所需最小权限;网络出站仅允许微信支付网关与数据网关 - 数据使用范围声明:本技能仅将输入文本用于生成经济分析报告,查询结果仅在当前会话内存中处理;原始数据不会存储或传输至第三方;不采集、不处理、不存储任何用户个人数据
- 敏感数据自动脱敏:付费内容返回前自动识别并脱敏手机号/身份证/银行卡/邮箱等敏感实体,对正常经济数据零误伤
- 审计日志:订单创建/支付/履约/退款全程记录元数据(不含数据内容与凭据)
- 限流自熔断:>=1 秒间隔 + 60 秒最多 30 次,超限主动熔断
- SQL 注入防护:SQL 仅基于白名单模板构造,动态参数严格正则校验
- 支付幂等与自动退款:同一订单只履约一次;履约失败自动全额退款,绝不"收钱不办事"
- 回调验签:微信支付回调经 SDK 验签 + AES-256-GCM 解密,伪造通知直接拒绝
Resources
scripts/(参考实现,非运行必需)
query_economic_data.py- 核心数据查询脚本(20+ 指标,SQL 白名单模板参考)economic_report_generator.py- HTML 深度报告生成器economic_chart_generator.py- 可视化图表生成器(PNG)security.py- 安全合规模块(脱敏、审计、限流熔断、异常脱敏)
服务端支付网关(X402 预下单、订单状态机、履约幂等、回调验签)已集成至商户自有网站服务(Node.js/Express),不在本 Skill 包内分发;部署说明见
references/pay_deployment.md。
references/
pay_deployment.md- 商户服务部署指南(环境变量、上线清单、联调步骤)api_reference.md- 完整 API 端点和数据库表结构参考data_dictionary.md- 全部数据字段定义、单位和含义说明analysis_patterns.md- 经济分析模式和方法论参考security_compliance.md- 安全合规文档(SkillHub 规范逐项对标)
assets/
report_template.html- HTML 报告模板
根目录
manifest.json- 技能清单:权限声明、凭据需求、网络白名单、数据使用范围声明
微信扫一扫