元器件查询助手 Skill v6.2.2(付费版 · sqy2026.com.cn/dzyqj 生产服务 + 支付宝 A2M)
一句话定位
本技能是收费技能:每次价格查询通过「支付宝 AI 按量付费(A2M)」向云端「元器件咨询」生产服务(https://sqy2026.com.cn/dzyqj)扣费 2 元/次,返回 LCSC(立创商城)单一真实平台的实时价格、库存与生命周期;热门型号另含 demo_dataset 缓存价。当前服务端只接入 LCSC 一个真实数据源,未做多平台比价。计费由服务端 402 协议强制(非页面跳转,不走收银台 URL)。
- 唯一后端:
sqy2026.com.cn独立生产服务(由老板部署并验证:A2M 协议跑通、production模式真实支付宝联调、返回真实平台行情数据,非 DEMO)。 - 客户端:
scripts/aipay_query.py(仅 Python 标准库,零三方依赖)。
> 数据说明:sqy2026 返回真实平台行情(厂商 / 封装 / 价格 / 库存),关键采购决策仍以平台官网为准。报告不再标注 DEMO。
工作原理(probe / pay / complete / ack)
用户输入型号 (如 STM32F103C8T6)
│
▼
┌──────────────────────────────────────────────┐
│ Agent 执行 scripts/aipay_query.py <型号> │
│ → POST {BASE}/v1/query body {"model":..} │
│ (BASE 默认 https://sqy2026.com.cn/dzyqj) │
└──────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────┐
│ probe: 无 Payment-Proof → 服务端返回 402 │
│ + 响应头 Payment-Needed(base64url JSON 账单, │
│ 含商家 RSA2 签名 seller_signature) │
│ → 客户端解析账单并呈现给用户: │
│ 商品 / 金额 2.00 CNY / 次 / 服务ID / 商户 │
│ → 用户在支付宝完成支付,取得 Payment-Proof │
└──────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────┐
│ pay + complete: 客户端重放 --proof <Proof> │
│ → 服务端 payment.verify 校验 → 生成履约资源 │
│ → fulfillment.confirm → 订单置 FULFILLED │
└──────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────┐
│ ack: 携带有效 Payment-Proof → 200 + 履约 JSON │
│ → 客户端格式化为价格对比报告 │
└──────────────────────────────────────────────┘
> 若运行环境(SkillHub / WorkBuddy A2M 运行时)已原生支持 402 自动处理,则 402→支付→Proof 由运行时透明完成,Agent 只需正常调用脚本;若未支持,按上述「探针」手动衔接:把账单交给用户、用户付完把 Proof 回传重放。
Agent 操作步骤
场景 1:查询单个型号(标准付费流程)
- 执行查询脚本(工作目录切到技能 scripts 目录):
cd "<skill_dir>/scripts"
python aipay_query.py STM32F103C8T6
- 若输出「[需付费]」并给出账单:
- 把账单信息(商品、金额 2.00 CNY/次、服务 ID、商户、订单号、有效期)如实呈现给用户。
- 明确告知:本次查询需通过支付宝 AI 按量付费扣 2 元(production 真实扣费)。
- 引导用户在支付宝完成支付,取得 Payment-Proof。
- 重放:
python aipay_query.py STM32F103C8T6 --proof <用户提供的Payment-Proof>
- 若直接返回报告:原样呈现(脚本已格式化为价格对比表)。
场景 2:批量 / BOM 查询
逐型号调用 aipay_query.py <型号>(每型号独立计费 2 元)。建议先告知用户批量查询的总费用估算(型号数 × 2 元),获确认后再逐条执行。每条均需独立完成 402→支付→Proof 流程(或由运行时批量透明处理)。
场景 3:原始 JSON 输出(程序化处理)
python aipay_query.py STM32F103C8T6 --proof <Proof> --json
场景 4:免费选型 / 封装 / 分类咨询(不计费)
若用户仅做选型原则、封装识别、分类知识等咨询(不需要具体价格/库存/交期),不调用本技能的付费查询——直接基于 references/ 的封装/分类知识回答,避免产生意外费用:
references/component_categories.md:元器件分类与典型参数references/common_packages.md:封装命名对照(含 0402/0603 等尺寸)
接口契约(与 sqy2026.com.cn 生产服务一致)
- 基地址:
DZYQJ_BASE环境变量(默认https://sqy2026.com.cn/dzyqj)。也可用--base参数覆盖。 - 计费入口:
POST /dzyqj/v1/query,body{"model": "<型号>"} - 未付费:
HTTP 402+ 响应头Payment-Needed(base64url JSON 账单,含protocol{out_trade_no,amount,currency,resource_id,pay_before,seller_signature,seller_sign_type,seller_unique_id}与method{seller_name,seller_id,seller_app_id,goods_name,service_id,seller_unique_id_key};生产service_id == API_403A92FE4BEA44CD) - 已付费:请求头携带
Payment-Proof,返回200+ 履约 JSON(真实价格/库存/生命周期) - 其他端点:
GET /dzyqj/health(健康检查 + 商户信息)、GET /dzyqj/v1/parts(已收录型号列表,含价格/库存/厂商/封装)、POST /dzyqj/v1/notify(支付宝异步通知回调)
后端说明
本技能只依赖一个后端:sqy2026.com.cn 独立生产服务。
- 由老板部署并实测:公网 HTTPS 可达、A2M 402 协议跑通、
production模式真实支付宝联调(商户 app_id2021006197655481)、返回真实平台行情数据。 - 无 CloudBase / 阿里云 FC 等其它后端依赖,也不在仓库内维护任何后端源码;客户端直连该域名即可,无需云端代码仓库或部署动作。
- 客户端
aipay_query.py的账单解析器(protocol/method结构)与 sqy2026 的 402 账单已实测兼容,协议层无需改动。
脚本清单
| 脚本 | 功能 | 依赖 |
|---|---|---|
scripts/aipay_query.py |
A2M 付费查询客户端:调 /v1/query、解析 402 账单、重放 Payment-Proof、格式化报告 |
仅 Python 标准库(urllib/base64/json) |
scripts/selftest_a2m.py |
A2M 上线自测:一站式跑通 402→出码→付款→履约→取资源全链路;支持 --out-shake-no 复用原单续测、防重复履约;验证异账号/多买家付费可用 |
仅 Python 标准库 + 本机 alipay-bot 钱包 CLI |
> 说明:旧版免费抓取脚本(requests_scraper.py、multi_source_query.py 等)仍保留在 scripts/ 与 references/ 中,但本技能的计费路径不再使用;它们仅作为离线工具/知识参考,Agent 不应在付费查询场景调用它们以绕过 402 计费。
上线自测(A2M 全链路 + 多买家机制)
每次部署 / 路由变更后,用 scripts/selftest_a2m.py 跑一遍生产链路,确认 402→出码→付款→履约→取资源全闭环;覆盖四条验收:① 402 账单 + 金额核对 ② 支付入口生成 ③ 付款后复用原单取资源不重下单 ④ 核对履约 + 状态不明先查原单不重复付款。
用法
python scripts/selftest_a2m.py STM32F103C8T6 --dry-run # 只验 402 通路(不付款)
python scripts/selftest_a2m.py STM32F103C8T6 # 全链路(出码后你付 ¥2)
python scripts/selftest_a2m.py STM32F103C8T6 --out-shake-no <订单号> # 付完续测(复用原单,不重付)
python scripts/selftest_a2m.py STM32F103C8T6 --out-shake-no <订单号> --timeout 600 # 挂长轮询等你付、自动取报价
python scripts/selftest_a2m.py STM32F103C8T6 --base https://sqy2026.com.cn/dzyqj # 换基地址
自测实战踩坑
- 异账号才能出码:绑定的 AI 付买家钱包必须 ≠ 商户号卖家(seller_id 2088052125389809),否则 402-buyer-pay 报「买家和卖家不能相同」。自测需用另一个支付宝号绑定买家钱包(商户号只当卖家,不自付)。
- 收银台短链时效分钟级:出码后须点开立即付,或脚本挂 --timeout 600 长轮询;超时订单失效需重跑出码(新订单号)。
- 一次支付一次履约:付款后首次续测 isFulfillmentSuccess=true 取回资源;重复查同单返回 FULFILLMENT_FAILED(平台拒重复交付,防重生效、非故障)。
- 型号命中差异:付 STM32F103C8T6 返回 ok=true、真实 LCSC LIVE 价(如 ¥7.92 @ 1+);查 AMC1035DR 等 demo_dataset 未收录型号返回 ok=false / 未找到匹配型号(业务数据覆盖问题,非链路问题)。
A2M 多买家机制(硬知识,避免误改)
终端客户各自持有钱包,天然支持无限并发买家,无人需要解绑:
| 角色 | 真实行为 |
|---|---|
| 你的客户(买家) | 各自在手机上 OAuth 绑定自己的支付宝 → 打开你发出的 u.alipay.cn 收银台链接 → 付自己的钱 |
| 资金去向 | 从客户账户 → 进商户(seller_id 2088052125389809);服务端只认 seller_id 收款 |
| 买家数量限制 | 无。客户甲/乙/丙各自付、互不影响,没人需要解绑 |
> 关键纠正:本机自测用的 alipay-bot 是开发者自测/自付的单钱包 CLI(同一时刻只 bound 一个买家),这只是自测工具的限制,不是 A2M 协议/产品的限制。终端客户根本不碰该 CLI,只在支付宝里扫收银台链接付款。不要把「本机模拟第二个买家」误当成「产品要支持多买家」去让客户解绑——产品天然多买家并存,无需任何改造、无需任何人解绑。
注意事项
- 每次调用都计费:这是付费技能(production 真实扣费),不要为试探性/演示性请求反复调用,避免用户产生意外费用。
- 数据真实性:sqy2026 返回真实平台行情(当前为 LCSC 立创商城单一真实源 + 热门型号 demo_dataset 缓存,未做多平台比价),关键采购决策请以平台官网为准。
- 支付安全:Payment-Proof 是一次性的支付凭证,重放即履约,不要外泄。
- 限免/兜底:纯选型/封装/分类咨询用
references/知识免费回答,不触发本技能计费。
变更日志
v6.2.3 (2026-09-20) — 服务端多平台比价落地,文档如实同步
- 数据真实性同步:服务端 v0.4.0 实测
data_sources=[demo_dataset,lcsc,huaqiu,ickey](lcsc=立创商城、huaqiu=华秋 均 LIVE 实时;ickey=云汉因前端 SPA 防护暂未接通)。frontmatter description、一句话定位、注意事项第 2 条去掉 v6.2.2「只接入 LCSC 单源、未做多平台比价」旧表述,如实改为「LCSC 立创 + 华秋 huaqiu 双平台实时比价 + demo_dataset 缓存兜底;云汉 ickey 暂未接通」。
v6.2.2 (2026-09-18) — 数据真实性修正 + 上线自测章节
- 数据真实性修正:frontmatter description 与注意事项第 2 条去掉「LCSC/华秋/云汉等平台价格对比」夸大表述(当时服务端 v0.3.x 实测
data_sources=[demo_dataset,lcsc]单源 + demo_dataset 缓存),改为如实描述「LCSC 立创商城单一真实平台 + 热门型号 demo_dataset 缓存,未做多平台比价」;顺手修正 frontmatter 中https://sqy2026.com.cn/dzyqj/dzyqj笔误为/dzyqj。(注:该单源结论已被 v6.2.3 服务端 v0.4.0 多平台现状取代。) - 新增「上线自测」章节:固化
scripts/selftest_a2m.py用法与四阶段验收(402 核对 / 支付入口 / 复用原单取资源不重付 / 核对履约 + 状态不明先查原单);新增「A2M 多买家机制」硬知识:终端客户各自 OAuth 绑定自己钱包、打开u.alipay.cn收银台付自己的钱、资金进商户seller_id(2088052125389809)、服务端不限制买家数、无限并发买家;自测机alipay-bot单钱包 CLI 只是开发者自测/自付工具的限制,终端客户不碰该 CLI,无需任何人解绑。 - 脚本清单补全:
scripts/selftest_a2m.py入库(A2M 一站式上线自测,仅标准库 + 本机 alipay-bot 钱包 CLI)。 - 关键自测经验入档:异账号买家≠卖家才能出码(同号报「买家和卖家不能相同」);收银台短链时效分钟级;一次支付一次履约,重复查同单返回
FULFILLMENT_FAILED(防重生效)。
v6.2.1 (2026-09-17) — 同步服务端 /dzyqj 路由前缀
- 服务端路由变更:sqy2026 生产服务已将全部 API 挂载到
/dzyqj前缀(服务端版本v0.3.3);旧根路径https://sqy2026.com.cn/v1/query现返回401 Unauthorized已失效。 - 客户端修复:
scripts/aipay_query.py默认DZYQJ_BASE由https://sqy2026.com.cn改为https://sqy2026.com.cn/dzyqj;--base示例与文档同步更新。路由拼接/v1/query不变,最终入口POST /dzyqj/v1/query实测返回 402(production 模式)。 - 接口契约更新:计费入口
POST /dzyqj/v1/query、健康检查GET /dzyqj/health、型号集GET /dzyqj/v1/parts、回调POST /dzyqj/v1/notify。
v6.2.0 (2026-09-17) — 统一后端为 sqy2026.com.cn 生产服务,移除 CloudBase / 阿里云 FC
- 删除本仓库
cloudbase-backend/(v6.1 Flask + SQLite + RSA2 签名 + 履约幂等三态沙箱后端)及其在腾讯云 CloudBase CloudRun 的部署(服务component-aipay-backend,环境sqyskill2026-d4guhdt42b2e9cba2,已删除)。 - 删除所有阿里云 FC 相关引用;后端仅保留
sqy2026.com.cn独立生产服务(A2Mproduction模式、真实支付宝联调、真实平台数据)。 - 客户端不变:
scripts/aipay_query.py默认DZYQJ_BASE=https://sqy2026.com.cn/dzyqj本来即指向该生产服务;其protocol/method账单解析器与 sqy2026 的 402 账单已实测兼容,协议层无需改动。 - 数据质量:sqy2026 返回真实行情(非 DEMO),报告不再标注
DEMO。
v6.1.0 (2026-09-16) — 接入腾讯云 CloudBase + 标准 A2M 契约(已废弃)
- 曾新建
cloudbase-backend/(Flask + SQLite + RSA2 签名 + 履约幂等三态),腾讯云 CloudBase CloudRun 可部署。本版本后端已在 v6.2.0 整体移除,仅保留历史记录。
v6.0.0 (2026-09-16) — 改造为支付宝 A2M 付费技能(独立 SkillHub 版)
- 架构从本地免费抓取切换为调用云端 A2M 付费 API(详见独立技能
元器件查询助手(按量付费版))。
v5.5.1 及之前
- 本地 WebSearch + WebFetch 免费查价时代(详见历史版本,付费化后不再作为主路径)。