A股投研快报 · 实时行情整理与异动提示
> 本 Skill 依赖在线行情引擎(skills-gate.airpriv.com):服务端验付 + 服务端履约。
> 行情由服务端每次调用实时抓取(腾讯 qt.gtimg.cn 主力、新浪 hq.sinajs.cn 备份),
> 快报由云端生成。包里没有行情数据、也没有整理逻辑,绕不过门。
> 协议细节见 references/402-payment.md。
先搞清楚交付什么
「能查到价」≠「一份能用的快报」。 行情数字本身到处都有,但买家要的是:
| 层次 | 内容 | 谁做 |
|---|---|---|
| 取数 | 实时价、涨跌、成交额 | 云端(每秒在变,本地拿不到) |
| 整理 | 概览 / 逐只明细 / 异动提示 / 口径说明 | 云端(本 Skill,收费) |
用法
方式一:直接用脚本(推荐)
# 未付费会拿到 402 账单
python stock_brief.py --symbols 600519,000001
# 付费后带凭证重跑
python stock_brief.py --symbols 600519,000001 --proof "<Payment-Proof>"
方式二:直接调端点
# 未付费 → 402 账单
curl -X POST https://skills-gate.airpriv.com/api/stock-brief-license \
-H "Content-Type: application/json" \
-d '{"symbols":["600519","000001"]}'
# 付费后带上 Payment-Proof
curl -X POST https://skills-gate.airpriv.com/api/stock-brief-license \
-H "Content-Type: application/json" \
-H "Payment-Proof: <凭证>" \
-d '{"symbols":["600519","000001"]}'
参数
| 参数 | 必填 | 说明 |
|---|---|---|
symbols |
✅ | 股票代码数组,最多 8 只。接受 600519 / sh600519 / 600519.SH |
note |
— | 补充说明(如「只关注涨跌幅」) |
输出结构
## 行情概览
## 逐只明细
## 异动提示
## 口径说明
## 免责声明
⚠️ 诚实边界
- 不构成投资建议:不推荐买卖、不预测涨跌、不给目标价、不荐股。
模型输出含投资建议时服务端拦截、不履约、不扣费。 - 数字必须来自当次抓取:模型不得生成任何价格/涨跌幅。
输出里的价格类数字若不在当次数据里 ⇒FABRICATED_NUMBER拦截、不履约。 - 行情数据来自公开接口,可能滞后或有误,以交易所披露为准。
- 「异动提示」只描述数据本身的特征(涨跌幅绝对值较大、振幅大),
不解释原因、不预测后续。
数据源(为什么是这两个)
本机可达 ≠ 服务器可达 —— 这是本品的前提。实测(2026-10-02):
| 源 | 本机 | 服务器侧 |
|---|---|---|
qt.gtimg.cn |
200 | ✅ 200(20/20 无限流) |
hq.sinajs.cn |
403 | ✅ 200(20/20 无限流) |
push2.eastmoney.com |
200 | ❌ 502 |
⇒ 用错源 = 买家付了钱拿到 502。两路互为备份:一路被风控时另一路顶上。
付费链路自检
<!-- PAYBLOCK:START -->
这条链路是自检过的(缺了会被平台驳回)
- 未付费 → 402 账单:调用上面的端点(不带
Payment-Proof),返回 HTTP 402 +
code=Payment-Needed+amount+out_trade_no。 - 输入预检:缺
symbols/ 代码格式错 / 超过 8 只 ⇒
HTTP 400 + MISSING_SYMBOLS / BAD_SYMBOL / TOO_MANY_SYMBOLS,
不产生订单、不签账单、不扣费。 - 付费后 → 履约:带
Payment-Proof再调,返回结构化快报。 - 模型输出越界(投资建议 / 编造数字)⇒ 拦截并返回
FORBIDDEN_CLAIM/FABRICATED_NUMBER,
不履约、不标记(可重试不重复收费)。
# 自检 1:应返回 400(输入预检,不签账单)
curl -s -X POST https://skills-gate.airpriv.com/api/stock-brief-license \
-H "Content-Type: application/json" -d '{}'
# 自检 2:应返回 402(合法输入,不产生订单)
curl -s -o /dev/null -w "%{http_code}\n" -X POST \
https://skills-gate.airpriv.com/api/stock-brief-license \
-H "Content-Type: application/json" -d '{"symbols":["600519"]}'
<!-- PAYBLOCK:END -->
<!-- skillhub-payblock -->
付费链路自检(与平台五项自查一一对应)
本 Skill 的付费链路由服务端承担验付、资源交付与商家履约确认;Skill 只负责
发起请求、调用官方支付能力并展示结果。逐条对应平台自查项如下:
| 平台自查项 | 本 Skill 的实现 |
|---|---|
| 402 账单 | 未付款时请求 POST https://skills-gate.airpriv.com/api/stock-brief-license 返回 HTTP 402 Payment Required;响应头 Payment-Needed 携带账单,响应体含 payment_needed / amount / out_trade_no。 |
| 凭证重试 | 支付后携带请求头 Payment-Proof: <凭证> 重发同一个请求(URL、请求方法、请求体与原请求保持一致),服务端校验通过后返回 200,结果在 content.data 内。 |
| 服务端验付 | 服务端调用支付宝 AI 按量付费凭证校验接口 alipay.aipay.agent.payment.verify 验签并核对订单、金额与服务标识;凭证无效或已过期时不交付任何资源,只回 402 账单让用户重新支付。 |
| 商家履约 | 资源交付后由服务端调用 alipay.aipay.agent.fulfillment.confirm 上报履约确认;上报失败可对同一订单重试,重试幂等,不会产生第二次扣费。 |
| 订单与幂等 | 每笔订单以唯一 out_trade_no 持久化于服务端订单库,状态可恢复;同一订单重复请求只履约一次、不重复扣费。 |
> 支付能力由支付宝 AI 按量付费官方链路承担,本 Skill 不接触支付密钥、不自行实现付款或签名。
<!-- /skillhub-payblock -->