一句话生成流程图
> 按次付费:¥0.99/次(微信支付)。每次调用交付一张成品流程图(HTML 可视化 + Mermaid 源码)。
这个技能是做什么的
把你说的一句话流程描述,变成一张能直接打开、能看懂、能复制编辑的流程图:
- 一句话输入:描述你要画的流程(比如"帮我画一个用户下单到发货的流程图")
- 八类图型自动识别:业务流程图、泳道图、组织架构图、时序图、状态机、ER 图、系统架构图、思维导图
- 成品 HTML 交付:浏览器直接打开,中文友好,无需安装任何软件
- Mermaid 源码附赠:可复制进 Typora/语雀/飞书/Notion 继续编辑
支持什么
- 图型:业务流程图、泳道图(跨部门流程)、组织架构图、时序图、状态机、ER 图、系统架构图、思维导图
- 可补充:图型偏好、节点范围("只画主流程")、方向(从上到下/从左到右)、是否需要判定分支
- 输入方式:一句话流程描述即可;补充说明可选
怎么用
- 一句话描述流程(必须):做什么事、从哪开始、到哪结束
- 补充说明(可选):图型偏好/范围/方向
- 我生成成品流程图(HTML 可视化 + Mermaid 源码)
核心方法:流程图八类识别法
不靠"画一堆堆砌的框",按实操逻辑五步生成:
- 意图识别:从用户描述判断画什么——流程/审批→业务流程图,跨部门→泳道图,层级汇报→组织架构图,先后交互→时序图,状态切换→状态机,表关系→ER 图,系统组件→系统架构图,发散整理→思维导图
- 节点拆解:拆出开始/结束、步骤节点、判定节点(菱形)、分支路径;节点命名用短词(≤6 字)
- 结构规划:主线从上到下或从左到右;判定后分"是/否"两路;单图 ≤20 节点,超限提示拆分
- HTML 渲染:单文件内联 SVG 流程图(浏览器直接打开,中文友好,配色语义化:开始结束绿色、步骤蓝色、判定橙色、异常红色)
- 源码附赠:同步生成等价 Mermaid 源码(可复制进文档工具继续编辑)
行为规则
- 图型判断只基于用户描述和常识,不确定时默认业务流程图并说明可切换
- 节点命名短词化(≤6 字),不堆长句
- 判定分支必须成对出现("是/否"或"通过/驳回"),禁止断头分支
- 单图 ≤20 节点,复杂流程自动提示"建议拆分主流程+子流程"并给出拆分建议
- 输出 HTML 单文件成品(内联 CSS,直接可打开,无需服务器)+ Mermaid 源码
- 不做 PNG/PDF 导出(本技能交付可打开的 HTML,导出请用浏览器打印)
常见陷阱(不要踩)
- ❌ 用户说"流程"就一律画业务流程图 → 先判断图型,跨部门要泳道、系统要架构图
- ❌ 节点写长句("用户在前台页面点击提交订单按钮并等待系统确认")→ 拆成短词节点 + 分支
- ❌ 判定只有"是"没有"否" → 判定分支成对,保证流程闭环
- ❌ 一张图堆 40 个节点 → 单图 ≤20 节点,超限提示拆分
- ❌ 只给 Mermaid 代码让用户自己渲染 → 主交付是成品 HTML,Mermaid 是附赠
示例 1:电商下单流程
用户输入:帮我画一个用户下单到发货的流程图
输出:
- HTML 成品:开始 → 浏览商品 → 加入购物车 → 提交订单 →【判定:支付成功?】→ 是:生成订单 → 仓库拣货 → 打包发货 → 结束;否:订单取消 → 结束
- 节点短词化、判定成对、语义配色
- 附 Mermaid 源码(flowchart TD)
示例 2:跨部门活动审批
用户输入:画一个市场部发起活动到财务部报销的泳道图
输出:
- HTML 成品:泳道三列(市场部/审批人/财务部),市场部提申请 → 审批人【判定:通过?】→ 是:财务部核销 → 报销打款;否:退回修改
- 泳道清晰、跨部门交接点标注
- 附 Mermaid 源码
付费调用执行协议(Agent 执行层)
> 本技能为付费技能(X402 协议),内容由统一支付网关(pay-gateway)承载。
> 本协议对 Agent 可见,支付细节由 Agent 向用户透明说明(Agent 代为引导支付)。
> 支付透明原则:发起支付前,Agent 必须向用户明示服务价格(¥0.99)、收款方(技能开发者/微信支付商户)与支付步骤,获得用户明确同意后再引导支付;用户未同意不得发起支付。
> 时长说明:本服务生成需要约 1 分钟(不是秒出),中途可能返回一次「生成中」(HTTP 504,属正常过程)。发起调用前先告诉用户"一句话生成流程图需要约 1 分钟生成"。
前置检查:当前智能体是否支持微信 AI 支付(发起下单前必须最先执行)
发起下单前,先检查你的可用工具列表中是否存在名称包含 weixinpay_ 的工具
(如 mcp__weixinpay__weixinpay_register,工具名带前缀也算;存在任意一个即视为支持)。
只以你的工具列表为证据,本文档中提到的工具名不算;无法确认时按「不支持」处理。
- 支持:按下方「支付方式:平台自适应」继续本 Skill 的流程。本项检查是公开、可告知的:无需专门向用户宣布这一检查,但用户若问起请如实说明检查结论。
- 不支持:终止流程且不要发起下单(不调用本技能网关接口、不生成订单)。只向用户说明结论与解决办法(结论透明、过程从简:不必展开你如何检查,也避免把内部工具名抛给用户造成困惑),按智能体类型提示:
- 合作智能体(如 WorkBuddy):请升级智能体到最新版本后重试。
- 开放智能体(如 OpenClaw / DeepSeek Harness):请根据 https://skillhub.cn/install/skillhub.md,安装 @tencent-adm/weixinpay-installer。
- 无法判断类型:请升级智能体或安装微信 AI 支付插件后重试。
> 判定条件不可改写:必须「按子串 weixinpay_ 匹配 + 存在任意一个即可」,不要检查某个特定完整工具名(如 weixinpay_pay),否则在不支持的环境里会把"支持"误判成"不支持"。
支付方式:平台自适应
本技能支付采用平台自适应策略——不预设走哪条流程,收到网关 402 后按实际情况处理(前提:上方「前置检查」判定为「支持」;判定为「不支持」时按前置检查终止,不进入本步骤):
- 先看平台是否已自动拉起支付:在已接入自动支付的平台(如 WorkBuddy),网关返回 402 后平台会自动弹出支付卡片并完成支付。若系统提示"支付已由系统发起/支付成功",不要调用任何支付工具,直接进入履约重试(见下)。
- 平台未自动支付时,默认用「二维码扫码」:把 402 响应体中的
code_url渲染成二维码让用户微信扫码支付(最低门槛,任何平台可用)。 - 仅在平台未自动拉起、二维码也不可用、且用户明确要求时,若你的工具列表中存在
weixinpay_工具,才考虑调用weixinpay_pay(传入WeixinPay-Required的 payment_code)。
⚠️ 工具存在 ≠ 需要你调用:在已接入自动支付的平台,402 返回后支付由系统代办,不要主动调用 weixinpay_pay(会被系统拒绝,并可能让你误判"还没付款"而重复引导用户付费)。
网关服务
- BASE_URL:
https://phantom-ai.cn - 调用接口:
POST {BASE_URL}/api/v1/skill/liucheng-tu-yijian/invoke
请求体
{
"prompt": "用户输入(用户确认后发送)",
"meta": {}
}
履约流程(支付成功后)
- 首次调用:
POST /api/v1/skill/liucheng-tu-yijian/invoke,不携带X-Out-Trade-No。
- 网关返回 HTTP 402,响应体与响应头均携带X-Out-Trade-No(订单号)与WeixinPay-Required(值等于WeixinPay.payment_code);code_url(微信 Native 支付二维码链接)在响应体中。取值读响应体即可(字段更全)。 - 支付:按「支付方式:平台自适应」处理(平台自动支付 / 二维码扫码 / 兜底 weixinpay_pay)。
- 二维码渲染:优先用本地二维码能力(如 Pythonqrcode库 / 平台图片生成工具);无本地能力时用公网服务https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=<urlencode(code_url)>;若本地与公网二维码能力均不可用:直接把code_url原样展示给用户,并说明"请在微信中打开此链接完成支付",不要把支付流程卡在二维码渲染上。
- ⚠️code_url是weixin://支付链接,必须渲染成二维码让用户用微信「扫一扫」支付,不要当作普通网页链接直接发给用户。 - 重试履约(504 是正常过程,不是失败):支付完成后,携带响应体中的
X-Out-Trade-No重新请求同一接口(同一请求体)。
- 生成需要约 1 分钟,超过网关 45 秒等待窗口会返回 HTTP 504(响应体{"ok":false,"retryable":true,"user_message":"正在生成,请稍等片刻,已保留您的订单,不会重复扣费。"})。继续用同一个X-Out-Trade-No重试即可,通常 1–2 次内返回 200。
- 已支付且生成完成 → 返回{"ok": true, "skill_id": "liucheng-tu-yijian", "result": "一张成品流程图(HTML 可视化 + Mermaid 源码双格式,浏览器直接打开)"}
- 未支付 → 再次返回 402(继续提示用户支付;同一订单重复请求是幂等的,不会重复扣费)。 - 交付内容:把
result中的内容按技能要求的排版交付(HTML 成品存文件交付、禁贴源码,让用户直接打开可用)。
异常处理
- 生成中(HTTP 504 /
ok:false+retryable:true):内容正在生成、订单已保留、不会重复扣费。用同一个X-Out-Trade-No重试,间隔 5–10 秒,最多重试 3 次;3 次仍未拿到结果时,告知用户「内容仍在生成中,订单已保留,稍后可继续获取」——不要重新下单,不要再次引导用户支付;用平实语言说明进度即可(如「内容仍在生成中,订单已保留」),不要下"失败"的结论。 - 未支付/支付中断:再次返回 402 时,说明支付尚未完成,引导用户继续支付(平台自动支付/扫码/兜底 AI 支付),不重复下单。
- 长时间重试后仍无结果:订单已保留、不会重复扣费。请保留订单号、不要重新下单,稍后可用同一订单继续获取。若用户要求退款:退款为人工处理,向用户说明「请提供订单号,我们将在 1–3 个工作日内原路退回」——不要承诺"已自动退款"(网关无退款接口)。
- 重复请求:订单已支付后重复请求同一
X-Out-Trade-No是幂等的,可安全重试;不要重复向用户收费或重复下单。 - 缓存命中:同一订单同一内容再次请求会秒回(
cached:true),内容与首次一致,属正常缓存,不要重复引导付费。
注意事项
- 402 / 504 都是正常支付流程,不是错误。请用平实语言向用户说明当前进度(如「正在等待支付完成」「内容正在生成中」),不要下"出错了/失败了"的结论。
- 网关生成的内容已内置技能方法论与合规要求,Agent 无需重复加工。
- 价格:¥0.99/次(price_fen=99)