前言¶
在对话式开发环境里,如果要把「查可售商品 → 建单 → 拿支付链接 → 跟充值进度」串成一条可复现流程,常见做法是手写 HTTP 客户端、自己维护订单状态机,再把接口文档塞进提示词。步骤多、字段容易漏,Agent 也很难在 pending / processing 之间做对自动轮询。
下面介绍 SkillHub 社区 Skill「第三方劵码自动充值」(坐标 @user_68dc3d67/recharge-prod-buy)。它用标准 SKILL.md 描述远端充值 MCP 的连接方式、工具参数和业务编排,让支持 Skills 的 Agent 按文档调用 product_list、order_create、order_get 等工具,而不是每次从零拼接口说明。
这是什么¶
一句话定位: 面向 dev-programming 场景的 Agent Skill,指导模型通过 Streamable HTTP 连接充值 MCP 服务端点,完成商品检索、下单支付与订单状态查询。
来源与版本: 社区发布(community),发布者 user_68dc3d67,当前版本 1.0.0。SkillHub 页面标注 requires_api_key=false,即 Skill 本身不要求额外 API Key;实际下单仍走远端 MCP 与支付链路。
解决的问题: 把充值相关 MCP 工具的名称、参数、返回 JSON 结构,以及「查商品 / 下单 / 追单」三类对话场景写成固定 playbook,减少 Agent 误用传输层或混淆面值与售价。
核心功能¶
Skill 文档指向的 MCP 服务端点为:
https://lychee.thinkarts.cn/ys-mcp-server_prod/mcp
连接时必须使用 Streamable HTTP Transport,文档明确 不支持 SSE Transport。
已核实的 MCP 工具如下:
| 工具 | 作用 |
|---|---|
product_list |
分页查询已上架商品,可按关键词匹配名称、品牌、分类、显示名、第三方产品编码 |
product_get |
按 product_id 查询单个商品详情 |
order_create |
为指定商品与数量创建充值订单,返回微信、支付宝支付链接;同一账号 + 商品 + 数量的 pending 订单在 10 分钟内复用 |
order_get |
按 32 位 order_id 查单;pending 时自动查支付状态,支付成功后触发第三方充值;processing 时自动查第三方充值状态 |
返回格式统一为 {"success": true/false, "data" 或 "error": ...}。文档还说明:charge_type 为 1 表示直充、2 表示卡密;下单金额以 selling_price × quantity 为准,而非面值 face_value。
安装与启用¶
安装 SkillHub CLI¶
若尚未安装,可先检查版本:
command -v skillhub && skillhub --version
未安装时可按 SkillHub 安装文档执行(完整安装示例):
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash
安装本 Skill¶
安装时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 可能不会被识别。官方页面给出的安装提示为:参考 https://skillhub.cn/install/skillhub.md,安装 @user_68dc3d67/recharge-prod-buy。
CLI 等价命令(skillhub search 结果中给出的形式):
skillhub install recharge-prod-buy --namespace user_68dc3d67 --dir <skills 目录>
常用路径示例(来自 SkillHub 安装文档):
- Cursor:
~/.cursor/skills/ - Claude Code:
~/.claude/skills/ - Codex:
~/.codex/skills/或项目下的.agents/skills/
安装完成后,按你所用客户端的要求重启或刷新 Skills 加载;SkillHub 抓取页显示该 Skill 安装计数为 0,若本地未生效,优先核对 --dir 与客户端 skills 路径是否一致。
启用 MCP 侧能力¶
Skill 正文是「如何连 MCP、如何调工具」的说明,并不替代你在客户端里配置 MCP。若要在代码中直连同一端点,文档给出的 Python 示例使用 fastmcp 的 StreamableHttpTransport(见下文典型用法)。在 Cursor 等环境中,通常还需在 MCP 配置里添加对应 HTTP 端点,具体以客户端文档为准;Skill 未单独列出 Cursor MCP 的 json 字段名,此处不臆造配置项。
典型用法¶
1. 用 Python 调用 MCP 工具(文档示例)¶
下列代码片段来自 Skill 自带的连接示例,用于封装 call_tool:
import asyncio, json
from fastmcp import Client
from fastmcp.client import StreamableHttpTransport
async def call_tool(tool_name: str, arguments: dict) -> dict:
transport = StreamableHttpTransport(url="https://lychee.thinkarts.cn/ys-mcp-server_prod/mcp")
client = Client(transport)
async with client:
result = await client.call_tool(tool_name, arguments)
for item in result.content:
if item.type == "text":
try:
return json.loads(item.text)
except json.JSONDecodeError:
return {"raw_text": item.text}
return {"error": "无返回内容"}
2. 场景:搜索商品¶
用户问「有哪些移动话费充值」时,Agent 按 Skill 编排调用:
product_list(keyword="移动")
返回中 data.products 含 id、name、face_value、selling_price、third_party_code 等字段,用于向用户展示可选商品。
3. 场景:搜索并下单¶
用户说「帮我充 50 元移动话费,号码 13800138000」时,文档建议顺序为:
product_list(keyword="移动50")定位product_idorder_create(items=[{"product_id": 1, "quantity": 1}], account_no="13800138000")- 将返回的
payment_links中的wxpay_url、alipay_url交给用户完成支付
account_no 为充值目标手机号,文档要求与用户确认;金额以售价为准。
4. 场景:订单状态追踪¶
支付或充值进行中时,对同一 order_id 调用 order_get。文档说明每次调用会自动检查支付与第三方充值状态,无需额外轮询接口。常见状态组合包括:pending/pending(待支付)、paid/processing(充值中)、paid/success(完成)、paid/fail(失败需人工处理)等,详见 Skill 内状态表。
适用场景与注意¶
适合谁: 需要在 Agent 工作流里标准化「话费/卡密类第三方充值」查询与下单话术的团队;分类为 dev-programming,侧重把 MCP 工具接进对话,而非替代财务或合规审批。
限制与注意:
- 传输层必须用 Streamable HTTP,误用 SSE 会导致连接失败。
- 下单会产生真实支付链接与资金往来,生产使用前需自行评估远端服务
lychee.thinkarts.cn的合规性与账号安全。 order_create在 10 分钟内对相同账号、商品、数量复用 pending 单,重复发起对话时可能拿到同一订单而非新单。- SkillHub 统计(抓取资料):评分 100000,下载 867,安装 0;数据随 SkillHub 更新可能变化,以页面为准。
结尾¶
「第三方劵码自动充值」把充值 MCP 的端点、四类工具与三类业务编排写进 SKILL.md,适合作为 Agent 侧的可核对操作手册。安装与坐标以 SkillHub 为准:
- 官方 API 页:https://api.skillhub.cn/user_68dc3d67/recharge-prod-buy
- SkillHub 展示页:https://www.skillhub.cn/skills/user_68dc3d67/recharge-prod-buy