鸿爪派·正则测试器
下载地址
https://api.skillhub.cn/api/v1/download?slug=%40org-4zi88x86%2Fregex-tester-v2将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-4zi88x86/regex-tester-v2。在服务端真实执行正则表达式:匹配结果、捕获组(含命名组)、位置、替换预览、贪/懒对比与陷阱诊断,附 JS/Python/Go 方言差异提示。按次计费,调用时通过微信支付完成授权。|鸿爪派 出品
阅读全文 (展开查看完整说明)
概述
在服务端真实执行正则表达式,返回匹配结果、捕获组(含命名组)、位置、替换预览、贪/懒对比与陷阱诊断。结果由后端服务实时计算产出,即取即用。
服务依赖(第一性)
本 Skill 的测试结果由鸿爪派支付服务端真实计算产出,源文件仅是调用说明书:
- 付费服务端:
https://hongzhua-wepay-307089-12-1421609757.sh.run.tcloudbase.com(微信 Agent Pay X402 协议,按次计费 0.1 元/次) - 未完成微信支付授权前,服务端只返回
402 + WeixinPay-Required支付触发标识,不返回任何执行结果; - 支付确认以微信支付回调 / 服务端主动查单为准(
out_trade_no维度,幂等去重); - 服务能力可通过
GET /api/x402/skills/regex-tester-v2实时查验(价格 / 参数契约 / 协议版本)。
输入参数(服务端校验,共 7 个)
| 参数 | 必填 | 说明 | 示例 |
|---|---|---|---|
pattern | ✅ | 正则表达式(不含定界符与 flags),≤300 字符 | \w+@\w+\.\w+ |
test_data | ✅ | 待匹配样例文本,≤5000 字符 | mail: a@b.com |
flags | ❌ | 标志位 g(默认)/i/m/s/u 组合 | gi |
flavor | ❌ | js(默认)/python/go,附方言差异提示 | go |
operation | ❌ | match(默认,匹配测试)/replace(替换预览) | replace |
replacement | ❌ | replace 模式的替换模板(支持 $1、$<name>) | [$1] |
skill_version | ❌ | 调用方上报版本号,默认 1.0.2 | 1.0.2 |
参数不合法时服务端返回 400 与明确错误;语法错误、嵌套量词炸弹(灾难性回溯风险)拒绝执行且不计费。
服务端真实交付什么
- 匹配明细表:每处匹配的文本、位置区间
[start, end)、全部捕获组(1、2…); - 命名组表:
(?<name>...)各组的逐条取值; - 替换预览:
replace模式按模板实际执行替换并给出命中计数; - 陷阱诊断:无匹配时逐项归因(大小写未开 i、
^多行未开 m、贪心量词、元字符转义); - 方言提示:Go(RE2)不支持 lookaround/反向引用、Python 命名组
(?P<name>)语法等差异警告。
X402 支付接入(Pay Skill 协议)
本 Skill 已接入 SkillHub X402 Agent Pay 协议(基于 wechatpay v3 Native 支付),调用前由服务端完成前置检查、预下单与支付触发,用户授权支付后 Agent 继续获取付费能力。计费模式:按调用量计费(per_call),单次调用 0.1 元(= 10 分)。
商户与密钥(已配置)
| 项 | 值 |
|---|---|
| SkillHub 商户号 | sh-GvUzjdxZ(企业主体:杭州鸿爪派数字科技有限公司) |
| 微信支付商户号 | 1737531016 |
| 开发者公钥 ID(pub_key_id) | PUB_KEY_3441BA5B6B6608B0777DF29D7CAEB9F4 |
| 签名算法 | SKILLHUB-SHA256-RSA2048 |
| 开发者平台 | SKILLHUB |
| 支付类型 | SKILL_PAY / AUTH_AND_PAY |
计费边界
- 计费单位:每次成功调用计 1 次(从参数校验通过到执行结果返回);
- 不计费场景:前置检查失败、参数校验未通过(400)、正则语法错误、灾难性回溯拒绝、预下单失败、用户取消支付;
- 订单标识:
out_trade_no形如regex-tester-v2_<YYYYMMDDHHMMSS>_<6位随机>,幂等去重。
Agent 调用协议(真实端点)
服务发现(可选):
GET https://hongzhua-wepay-307089-12-1421609757.sh.run.tcloudbase.com/api/x402/skills/regex-tester-v2调用入口:
POST https://hongzhua-wepay-307089-12-1421609757.sh.run.tcloudbase.com/api/x402/call/regex-tester-v2
Content-Type: application/json
{
"pattern": "\w+@\w+\.\w+",
"test_data": "mail: user@example.com",
"flags": "g",
"flavor": "js",
"operation": "match",
"skill_version": "1.0.2"
}Step 1 · 付费前置检查(precheck)
Agent 调用本 Skill 前,必须先做付费前置检查:
- 检查 weixinpay 插件是否安装:调用
weixinpay_check_plugin()(或确认weixinpay_pay工具可用)。未安装则本 Skill 无法完成支付触发; - 参数由服务端校验,不合法返回
400(不计费); - 服务端生成幂等
out_trade_no并落库,自动进入微信下单与 X402 预下单。
Step 2-3 · 服务端下单与 X402 预下单(对 Agent 透明)
服务端完成微信 Native 下单(金额锁定 10 分)取得 code_url,以 payment_required(pay_type=SKILL_PAY、pay_mode=AUTH_AND_PAY)按 5 行签名串做 SHA256withRSA 签名,调用微信支付 AI 预下单接口换取 payment_code(有效期 15 分钟)。
Step 4 · 支付触发(返回 402 + payment_code)
HTTP/1.1 402 Payment Required
WeixinPay-Required: <payment_code>
Content-Type: application/json
{
"data": {
"message": "本次调用需要支付后继续",
"skill_id": "regex-tester-v2",
"out_trade_no": "regex-tester-v2_20260903180252_1c0eafcc",
"merchant_order_no": "SK2_260903180252_ab12",
"amount_fen": 10,
"pay_data": { "type": "code_url", "value": "weixin://wxpay/bizpayurl?pr=..." },
"expires_at": 1788456340
},
"WeixinPay": {
"WeixinPay-Required": "<payment_code>",
"prompt": "本次使用微信支付,请将 WeixinPay-Required 的值作为 paymentCode 交给 weixinpay_pay,以向用户申请支付授权。"
}
}Agent 把 WeixinPay-Required 的值作为 paymentCode 交给 weixinpay_pay 发起用户授权。
支付后重试机制(核心)
用户完成微信支付后,Agent 用相同的请求 body 重新调用同一入口,并携带 X-Out-Trade-No 头:
POST https://hongzhua-wepay-307089-12-1421609757.sh.run.tcloudbase.com/api/x402/call/regex-tester-v2
X-Out-Trade-No: regex-tester-v2_20260903180252_1c0eafcc服务端以微信回调 / out_trade_no 查单确认支付(绝不信任 Agent 侧声明),返回执行结果:
{
"skill_id": "regex-tester-v2",
"paid": true,
"out_trade_no": "regex-tester-v2_20260903180252_1c0eafcc",
"result": { "format": "markdown", "content": "# 正则测试报告n..." }
}重试时 body 不能改(服务端按参数指纹关联原单,30 分钟内即使丢单号也不重复扣费)。
异常处理
| 现象 | 处理 |
|---|---|
payment_code 过期(>15min) | 相同 body 重试即可,服务端复用原单重新预下单 |
| 回调未到达 | 服务端重试时主动查单兜底,支付确认后直接返回结果 |
| 正则语法错误 / 灾难性回溯 | 400/拒绝执行,不计费,按 error 提示修正 |
重复 out_trade_no | 按既有订单状态返回,不重复扣费 |
订单号传递与对账
- 传递链:
out_trade_no生成 → 微信下单 → X402 预下单 →payment_code→ 支付 →notify_url回调 → 订单置为已支付 → 结果回流 → T+1 结算。 - 对账依据:微信支付回调或
out_trade_no查单;SkillHub 商户中心提供调用与结算明细。
本 Skill 的 X402 接入遵循 SkillHub 官方《升级为 Pay Skill》规范(
https://www.skillhub.cn/tutorials#agent-pay-upgrade)。