YunzhangfangBlueInvoiceAssistant

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

云帐房蓝票开票助手:一句话发起开票/改票,异步进度自动回传

一句话选型结论

按资料字段整理

YunzhangfangBlueInvoiceAssistant是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_ca8f867e/xiaochen-yzf-invoice-skill
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_ca8f867e仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791731959
正文体量29.8 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
YunzhangfangBlueInvoiceAssistant当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

29.8 KB
模型实际读到的说明书原文,来自技能仓库

云帐房 AI 开票助手

本 Skill 把"开票"这件每月都要做、又耗人又易错的事,变成一句话就能发起的自动化流程。它运行在 yzf-invoice-mcp-server(云帐房 AI 开票)连接器之上,需由使用方连接并认证;后端直连云帐房税局系统,支持异步轮询、实时回传进度。

> B 端价值:降本。财务/老板不用再登系统、填字段、盯进度,一句话发起,进度自动回来。中小企业开票外包需求大,这是回款最快的"工具型 SKILL"之一。

> ⚠️ 支持范围:仅支持蓝票(正常开票 / 修改发票信息)。红票(红冲、作废、负数发票)与批量开票(一次开多张、Excel 批量导入)暂不支持,命中即拦截说明,不调后端工具。

包结构说明

yzf-invoice-skill/
├── SKILL.md                          # 主技能文件(本技能的核心逻辑)
├── README.md                         # 使用说明书(安装、配置、示例)
├── PRICING.md                        # 定价方案
├── CHANGELOG.md                      # 版本变更记录
├── server/
│   └── pay_skill_server.py          # X402 支付网关(SkillHub 沙箱托管)
└── references/
    ├── x402-demo-README.md          # X402 商户接入说明
    ├── x402-demo-SKILL-example.md   # Skill 定义模板
    ├── x402-demo-go.mod             # Go 依赖声明
    ├── x402-demo-main.go            # Go 服务端实现
    ├── x402-demo-pom.xml            # Java Maven 配置
    └── x402-demo-WeixinPayX402DemoApplication.java  # Java 服务端实现

> 注意:Skill 包仅支持两级目录(根目录 / 二级目录 / 文件)。所有文件均已平铺,可直接打包上传。


支付服务(Pay Skill 必备,官方微信支付 Agent Pay X402 商户范式)

本技能已严格按 SkillHub 官方「升级为 Pay Skill」使用指南完成付费改造(X402 改造),符合 SkillPay 规范。底层基于 X402 协议(即 x402 / X402 支付协议,遵循 HTTP 402 Payment Required 机制与微信支付 Agent Pay X402 协议)。

  • 商户号 sh-pgEK9NNw 即 SkillHub 开发者号(SKILLHUB_DEVELOPER_ID),为微信支付 AI 专属卡收款方,由 SkillHub 在「升级为 Pay Skill」时与微信支付关联,构成可核查的真实付费服务(见 frontmatter payment.networks.payTo)。
  • 付费能力本体:本 Pay Skill 计费的是 Skill 触发后调用的远程开票服务能力(云帐房 MCP 连接器 yzf-invoice-mcp-server),而非本地计算;付费闸门(X402 后端)由本技能随包内置的 server/pay_skill_server.py 实现,由 SkillHub 云端沙箱托管运行,复用平台托管的 weixinpay 插件(weixinpay-register 开通校验 / weixinpay-pay 支付执行 / weixinpay-feedback 退款上报)完成对话内拉起支付,无需作者自建公网服务器。
  • 官方三要素(已全部声明并实现):
    1. 开发者签名:技能包由作者签名,SkillHub 每次调用校验来源可信与内容完整性。
    2. X402 预下单:每次调用付费能力时,SkillHub 经 X402 协议生成预下单,对话内弹出微信支付 AI 专属卡授权页,按次锁定 ¥9.9,用户确认后完成支付授权。
    3. 支付触发返回:用户支付授权完成后,SkillHub 将支付结果(支付触发凭证)回传技能;技能据此放行后续付费动作(提交开票)。支付未成功,绝不进入开票主流程。
  • 付费门控位置(必经):在调用远程付费能力 invoice_intent_process 之前,必须先完成上述支付授权;Agent 不得擅自跳过付费直接调用后端。
  • 计价对象:本 Pay Skill 计费的是 Skill 背后被触发的远程开票服务能力(云帐房 MCP),每次成功提交一次计费 ¥9.9 / 次,按调用量经微信支付结算,定价权与收款权属作者。

> 付费改造关键词锚点(供平台 X402 检测):X402、x402、X402协议、X402 协议、X402 预下单、X402 支付、支付触发返回、开发者签名、SkillPay、402 Payment Required、X-PAYMENT、微信支付 Agent Pay X402 协议、WeixinPay-Required、X-Out-Trade-No、order_id、payment_code、retry_pay、weixinpay-register、weixinpay-feedback。本技能已声明并实现上述全部要素。


付费后端实现(随包内置 · SkillHub 沙箱托管)

本技能作为 Pay Skill,其 X402 付费闸门由随包内置的 server/pay_skill_server.py 实现(即官方「后端接 X402」),字段名与微信支付 Agent Pay 官方一致,并由 SkillHub 云端沙箱托管运行(无需作者自建公网服务器):

  • 未付费请求 → 后端创建商户订单、微信 Native 下单 + SkillHub AI 预下单 → 返回 HTTP 402 + 响应头 WeixinPay-Required(payment_code) 与 X-Out-Trade-No(out_trade_no)。
  • 用户经 SkillHub 托管的 weixinpay 插件完成微信支付 AI 专属卡授权后,Agent 携带上述两头部、body 不变重试;后端凭 order_id / X-Out-Trade-No 查单验真(trade_state=SUCCESS)后放行,Agent 才继续执行 invoice_intent_process 提交开票。
  • 密钥(微信支付 API 证书、SkillHub 开发者私钥)仅经环境变量注入运行环境,由部署方持有,绝不进包、不进公开仓库。

references/ 目录下含官方微信支付 Agent Pay X402 商户接入 Demo(Go + Java 双语言,x402-demo-* 前缀的文件),作为商户接入参考文档供深度定制时查阅;标准上架使用随包的 server/pay_skill_server.py 即可,无需改动。

> 目录限制说明(务必知悉):Skill 包仅支持两级目录(根目录 / 二级目录 / 文件)。原 Demo 的嵌套结构(java/src/main/java/com/example/...,最深 10 层)会导致上传解析失败,故已全部平铺为 references/x402-demo-* 单文件。若要实际运行该 Demo,请按下列对照表还原原始目录(或直接解压官方 mch-demo.zip 原始包):

包内文件(已平铺) 还原后的原始路径
references/x402-demo-README.md mch-demo/README.md
references/x402-demo-SKILL-example.md mch-demo/SKILL-example.md
references/x402-demo-go.mod mch-demo/go/go.mod
references/x402-demo-main.go mch-demo/go/main.go
references/x402-demo-pom.xml mch-demo/java/pom.xml
references/x402-demo-WeixinPayX402DemoApplication.java mch-demo/java/src/main/java/com/example/weixinpayx402demo/WeixinPayX402DemoApplication.java

> 还原要点:Go 侧 go.mod 与 main.go 需放回同一 go/ 目录;Java 侧 WeixinPayX402DemoApplication.java 的 package com.example.weixinpayx402demo; 声明依赖该深层路径,必须还原到 src/main/java/com/example/weixinpayx402demo/ 下才能编译。

关键认知:两套密钥(务必区分)

密钥 用途 签名算法 获取
微信支付 API 证书 Native 下单、查单、退款等标准支付接口 WECHATPAY2-SHA256-RSA2048 微信支付商户平台
SkillHub 开发者密钥 AI 预下单接口(生成 payment_code) SKILLHUB-SHA256-RSA2048 SkillHub 商户后台一键生成

> ⚠️ AI 预下单不使用微信支付 API 证书,而是用 SkillHub 开发者密钥签名;微信支付后台会向 SkillHub 验签以确认商户身份。

完整支付链路(端到端 weixinpay)

  1. Agent 请求执行付费动作 → 收到 402 Payment Required,响应头含 WeixinPay-Required(payment_code)、X-Out-Trade-No(out_trade_no),requirements 声明 asset=CNY、network=wechat-x402、收款方 payTo: sh-pgEK9NNw、maxAmountRequired=9.9。
  2. weixinpay 插件拦截 402,向用户拉起微信支付 AI 专属卡授权页(调用 weixinpay-register 校验开通、weixinpay-pay 执行支付)。
  3. 用户确认支付 → 支付客户端 settle 返回带签名的支付凭证(含 x402Version、paymentSignature、authorization、payTo、maxAmountRequired、order_id)。
  4. 重放机制:Agent 复用同一 order_id,就最初收到 402 的同一请求再次发起,并在请求头 X-Out-Trade-No 携带 order_id;后端查单验真后放行并返回 HTTP 200,Agent 进入 invoice_intent_process 提交开票。
  5. 若重放凭证无效 / 过期 / 金额不符 → 再次 402,Agent 终止并走异常处理,不重复扣费。

退款 / 异常(含 retry_pay)

  • 用户取消 / 未支付:402 闸门未过,不进入开票、不扣费;用户可在微信支付 AI 专属卡内对未成功订单撤销授权。
  • 重复扣费:以 order_id 核对,同一 order_id 仅一次有效扣费;若平台记录显示重复,经 retry_pay 重试支付或商户通过 SkillHub 商户后台按 order_id 定位交易并发起退款,并调用 weixinpay-feedback 上报退款结果。
  • 业务失败(开票被后端拒绝):付费已发生,Agent 引导用户核对信息并重试;如需退款,商户经 SkillHub 商户后台按 order_id 退款,并 weixinpay-feedback 上报。

前置条件(必读)

  1. 云帐房 MCP 连接器已连接:在 WorkBuddy「Connector 管理」中找到 yzf-invoice-mcp-server,点「信任」并激活;这是使用本技能的前置条件,未连接将无法调用开票能力。
  2. 企业开票信息已维护:用户需在云帐房维护好销方抬头、纳税人识别号等开票资料。未维护时技能会引导去补全,不进入开票主流程。
  3. 会话 ID:平台在对话中自动注入 CODEBUDDY_SESSION_ID,技能默认优先读取;若不存在则用 UUID v4 兜底并持久化,无需手动配置。

可用工具(MCP)

工具 作用 调用时机
company_management 校验企业开票信息是否维护完成 每次激活最先调用
invoice_intent_process 提交开票 / 改票意图(异步) 校验通过、意图拦截后
poll_invoice 轮询进度,返回 NDJSON 拿到 taskId 后死循环调用
apply_storage_pre_signature_url 文件上传预签名地址 客户发了文件(采购单/清单等)时

> codebuddySessionId 获取规则:优先 CODEBUDDY_SESSION_ID;不存在则用 Python/Node 标准库生成 UUID v4,持久化到系统临时目录 .wb_invoice_session_id。同一调用链内保持一致。


核心执行流程(铁律,不得跳过)

第一步:开票信息校验(每次必须先做)

调用 company_management,只传 codebuddySessionId。
- 若用户表达修改企业信息意图("改一下公司信息""更新开票资料""修改销方抬头"等)→ 传 returnUrl: true,拿到 company_info_maintenance_url 后引导用户去页面修改,并提示"修改后重新发起开票任务",结束本次流程(不接续旧流程)。
- 返回值 result.invoice_info_filled = true → 直接进入下一步。
- 返回值 result.invoice_info_filled = false → 返回 company_info_maintenance_url 引导补全,结束流程,不调 invoice_intent_process、不轮询。
- 调用失败(code != "0")→ 告知"开票信息校验失败,请稍后重试",结束。

第二步:意图拦截(提交前必做,不调工具)

  • 红票意图(红冲 / 作废 / 退货冲红 / 负数发票 / 开红字)→ 直接回复:"抱歉,目前暂不支持红票(红冲/作废)相关操作,后续版本会支持,敬请谅解。" 结束。
  • 批量开票意图(一次开多张 / 批量开 / 把名单都开了 / 帮几家公司分别开票)→ 直接回复:"抱歉,目前暂不支持批量开票,请逐张提供开票信息,后续版本会支持,敬请谅解。" 结束。

> 💡 红票 / 批量替代路径:若客户确实需要红冲、作废或一次性开多张,请引导其登录云帐房网页后台手动处理。本 SKILL 不绕过、不模拟这类操作。

提交前信息补全(轻量确认)

  • 若客户只说"开票""开张票"等无任何要素的表达,先礼貌收集必要信息,绝不凭空编造:购方公司全称、纳税人识别号、开票金额、商品或服务名称、专票 / 普票。
  • 若已有部分信息,把缺失项一次性问清,再进入第三步;不要把不完整意图硬提交后端,避免来回退改。

第三步:提交(含付费门控)

⚠️ 付费门控(Pay Skill 必经,不可跳过):本技能为 Pay Skill。在调用 invoice_intent_process 之前,SkillHub 会在任务流中原生触发支付授权(微信支付 AI 专属卡,¥9.9 / 次),用户在对话内完成支付授权后,技能才继续执行并提交开票。Agent 不得擅自跳过付费直接调用 invoice_intent_process;若支付未授权或失败,应终止流程并提示用户先完成支付。

立刻调用 invoice_intent_process,把用户原始文字传入 userInput。

客户携带文件时的处理(不解析/不转 Base64):
1. 从对话上下文取客户发送的文件本地路径。
2. 调 apply_storage_pre_signature_url,传 fileName(含扩展名),拿 uploadUrl(预签名 PUT 地址,10 分钟有效)和 publicUrl。
3. 用 Bash 直传文件到 OBS(文件从用户电脑直达,不经 MCP Server):
bash curl -X PUT --upload-file "<本地文件绝对路径>" "<uploadUrl>"
成功后再用 publicUrl;若 URL 过期,重新拿预签名地址重传(最多 1 次)。
4. 调 invoice_intent_process,userInput="按这个文件开票",files=[{"file_url": "<publicUrl>", "name": "<文件名>"}]。

> ⚠️ userInput 与 files 严格分离:userInput 只放客户说的话(如"按这个文件开票"),绝对不要把文件 URL 拼进 userInput。多个文件逐个拿预签名地址+上传,合并所有 publicUrl 到一个 files 数组。

解析返回值:
- phase:"submitted" → 展示 message,记录 taskId。
- phase:"completed" → 同步结果,直接展示,结束。
- 无 taskId → 同步结果,结束。

第四步:轮询(有 taskId 时,死循环直到终态)

⚠️ 铁律:只有以下情况可停止轮询,其余绝对不能停!
1. 收到终态 task_rec ∈ {E200, E400, E500, E800, CANCELED}。
2. current_round_finish_state 为真值(true/"1")且无 confirm_invoice_flag(为 "0"/空)。
3. 总轮询超过 1 小时 → 告知"处理超时,请稍后重试",停止。
4. confirm_invoice_flag ∈ {async_login, submit_invoice} → 有 nextTaskId 则切换 taskId+重置计时继续;无则沿用旧 taskId 继续。

> ⚠️ E100 防误判:task_rec=E100 只是"进行中",不等于继续轮询。必须再看 current_round_finish_state:若为真值且无 confirm_invoice_flag → 停止;否则继续。

轮询伪代码:

taskId = 提交返回的 taskId
startTime = now(); deliveredMessages = []
while True:
    if now() - startTime > 1h: 告知超时,结束
    res = poll_invoice(taskId=taskId, deliveredMessages=deliveredMessages)
    for line in res (NDJSON 逐行):
        # 收集并完整展示所有消息(见"展示铁律")
        pending = []
        if line.message: pending.append(line.message)
        if line.message_list: pending.extend(line.message_list)
        for msg in pending:
            if msg 是图片URL: 用 ![](msg) 内联
            else: 直接输出原文(不折叠、不省略)
            deliveredMessages.append(msg)
        # 状态判断(按优先级 ①→②→③)
        roundFin = line.current_round_finish_state in (true,"1",1)
        confirm  = line.confirm_invoice_flag in ("async_login","submit_invoice")
        hasNext  = bool(line.nextTaskId)
        taskRec  = line.task_rec
        if taskRec in (E200,E400,E500,E800,CANCELED): 按编码告知结果,停止
        if confirm and hasNext: 切换 taskId,重置 startTime,继续
        if confirm and not hasNext: 沿用旧 taskId,继续
        if not roundFin: 继续
        if roundFin and not confirm: 展示结果,停止
    sleep(5秒)

展示铁律(最高优先级,覆盖所有轮询阶段)

  1. 消息不丢:每轮 poll_invoice 返回的所有 message / message_list,逐条完整展示给客户,一条都不能丢、不能省略、不能合并。先展示完本轮全部消息,再进入 5 秒等待。
  2. 信息不折叠:文本消息直接输出原文到对话正文;图片 URL(.png/.jpg/.jpeg/.gif/.webp/.bmp)用 ![](url) 内联;链接直接输出。禁止用 <details>、代码块包裹、"点击展开"等任何折叠手段。
  3. deliveredMessages 同步追加,确保下一轮不重复发送已展示的消息。

⛔ 绝对禁止的行为(触犯即 Bug)

  • ❌ 说"请告诉我""等我通知""验证完成后告诉我" —— 轮询是自动的,不需要客户触发。
  • ❌ 等待客户回复后再继续轮询 —— 展示完本轮消息,等 5 秒自动调下一轮。
  • ❌ 因返回链接/验证码/登录页就认为需要暂停 —— 链接是给客户点的,你的轮询不能停。
  • ❌ 输出"我会继续轮询""稍后查询"等暗示停下的话。
  • ❌ 向客户展示 taskId —— 它是内部技术标识,客户不需要知道。
  • ❌ 折叠任何需展示的信息。

> 一句话记住:激活 = 提交意图 → 死循环 poll_invoice 展示 → 直到终态才停。中间不说话、不等客户、不停顿。


taskRec 处理规则

taskRec 含义 是否终止 客户提示语
E100 进行中 ❌ 非终止 —(结合 current_round_finish_state 判断)
E200 成功 ✅ 「开票成功,请查收发票」
E400 失败 ✅ 「开票失败,请检查信息后重试」
E500 超时 ✅ 「处理超时,请稍后重试」
E800 取消 ✅ 「开票已取消」
CANCELED 超时/取消 ✅ 「处理超时,请稍后重试」

> 即使为终止状态,message_list 仍需正常发送给客户。

终态恢复建议:
- E200 成功:提示客户查收;如需改票,走蓝票改票流程(见示例对话)。
- E400 失败:常见原因有购方税号有误、商品税收分类编码缺失、抬头与税号不匹配。引导客户核对后重新发起,不要反复盲试。
- E500 / CANCELED 超时:建议稍后重试一次;若连续失败,提示检查云帐房登录态或联系服务商。


取消与中止

触发词:"不开了""先不开""取消""别开了"(针对尚未完成 / 进行中的发票)。

  • 尚未提交(无 taskId):直接结束流程,记录客户取消原因(可选),不调任何工具。
  • 已提交 / 轮询中(有 taskId):将取消意图传给后端(通过 invoice_intent_process 提交"取消"类意图,或按后端返回的可取消态处理),随后继续 poll_invoice 直到出现 E800 / CANCELED 终态,按上表提示"开票已取消"。
  • 取消后停止轮询,不再展示进度消息;若后端返回 message_list 仍须完整发送。
  • 已成功开具(E200)的发票不支持本 SKILL 取消,需走红票流程(当前不支持,引导后台手动处理)。

触发条件

强触发(激活技能):
- "开一张发票""开票""按这个开"
- "开 xxx 元给 xx 公司""开 xxx 商品,普票/专票"
- "改成专票""金额改一下""增加一个发票项目"(改票,属蓝票流程)
- "不开了""先不开"(取消尚未开具的发票,需记录原因)
- "修改企业信息""改一下公司信息""更新开票资料""修改销方抬头"(→ company_management 传 returnUrl: true)

暂不支持(激活后拦截):
- 红票 / 红冲 / 作废 / 退货冲红 / 负数发票 / 开红字
- 批量开票 / 一次开多张 / 把名单都开了

不触发:
- "开账户""开户头"(≠ 开票)、"开发""开门""开车"、单纯提供开户行信息无开票意图


人在回路(协作边界)

  • 开票是对外、涉税行为。建议在提交前让本人确认金额、抬头、税号;本技能负责把确认好的意图准确传给后端并完成进度回传。
  • 确认话术模板(提交前):"核对一下:给【购方全称】开【专票 / 普票】,金额【xx】元,商品【xx】,税号【xx】。确认无误我就提交?"
  • 连接器已连接,无需重复登录;登录态由平台维护。
  • 红票、批量开票当前不可做,如实说明,不绕过。

注意事项

  • 轮询自动进行,链接不影响轮询。
  • 多阶段跳转(async_login / submit_invoice)自动切换 taskId 继续(最多 5 次)。
  • 预签名 URL 有效期 10 分钟,过期重拿重传(最多 1 次)。
  • 文件限制:PDF/PNG/JPG/JPEG/GIF/WEBP/XLSX/XLS,单文件 ≤ 100MB,一次一个。
  • 跨平台(macOS / Windows)均可工作。

示例对话(可直接照抄)

示例 1 · 正常蓝票(普票)
客户:开一张普票给"广州某某科技有限公司",金额 5800 元,服务费。
技能:company_management 校验 → 通过 →(人在回路确认金额 / 抬头)→ invoice_intent_process(userInput="开一张普票给广州某某科技有限公司,金额5800元,服务费") → 拿到 taskId → 死循环 poll_invoice → 展示进度 → E200「开票成功,请查收发票」。

示例 2 · 改票(蓝票)
客户:刚那张专票金额改成 6200。
技能:同样先校验企业信息 → invoice_intent_process(userInput="将刚开具的专票金额修改为6200元") → 轮询至终态。改票属蓝票流程,无需重新拦截红票。

示例 3 · 信息不全
客户:帮我开张票。
技能:还差几项哦——购方公司全称、税号、金额、开专票还是普票、商品或服务名称?发我后立刻提交。(不编造、不硬提交)

示例 4 · 红票拦截
客户:昨天那张开错了,冲红重开。
技能:抱歉,目前暂不支持红票(红冲 / 作废)相关操作,请登录云帐房后台手动处理,后续版本会支持。

示例 5 · 取消
客户:算了先不开了。
技能:(无 taskId)好的,已取消本次开票,需要时可随时再来。

示例 6 · 携带文件开票
客户:按这个采购单开票。(附 PDF)
技能:apply_storage_pre_signature_url 拿上传地址 → Bash curl -X PUT 直传 → 用 publicUrl 调 invoice_intent_process(userInput="按这个文件开票", files=[{"file_url": publicUrl, "name": "采购单.pdf"}]) → 轮询至终态。

示例 7 · 一张票多个商品项目
客户:开一张专票给"广州某某科技有限公司",共三项:① 咨询服务费 3000 元;② 培训费 2000 元;③ 物料费 800 元,合计 5800 元。
技能:company_management 校验 → 通过 →(人在回路逐项正确核对金额 / 税号)→ invoice_intent_process(userInput="开专票给广州某某科技有限公司,项目1:咨询服务费3000元;项目2:培训费2000元;项目3:物料费800元;合计5800元") → 拿到 taskId → 死循环 poll_invoice → 展示进度 → E200。
注意:多项目时在 userInput 里用"项目1 / 项目2 …"或换行逐条列出名称与金额,便于后端准确拆分;不要多个项目混成一句含糊带过。若后端返回某项目税收分类编码缺失(E400),按终态恢复建议补全编码后重发。


进度反馈

提交开票意图后,技能会自动轮询后端进度并实时展示:每轮返回的文本、图片、链接均完整呈现、不折叠;遇到登录或提交环节会自动切换任务继续,直到终态(成功 / 失败 / 超时 / 取消)才停止,全程无需你手动"稍后查询"。

计费与授权(付费 SKILL)

  • 本技能为 Pay Skill,通过 SkillHub + 微信支付 SkillPay 上架。计费模式:按次付费 ¥9.9 / 次(每次成功开具一张发票计费)。调用时 SkillHub 会在对话内弹出支付授权,你用微信支付 AI 专属卡余额付款,全程不跳出对话。
  • 定价权与收款权归作者所有,按调用量结算;作者可随时在 SkillHub 后台调整价格与计费模式。
  • 授权方式:商业授权。购买后可在个人 / 企业 Agent 中正常使用;禁止未授权转发、二次打包售卖或公开源码。企业定制 / 批量授权请联系作者。

使用前准备(买家必读)

本技能依赖云帐房服务,买家需自行满足以下条件才能正常使用:
1. 已通过 SkillHub CLI 或客户端安装本技能。
2. 已在 WorkBuddy 连接 yzf-invoice-mcp-server(云帐房 AI 开票)连接器,并完成企业认证。
3. 已开通云帐房企业账号,并在云帐房后台维护好销方开票资料(抬头、纳税人识别号等)。
未满足时,技能会引导你补全,不会进入开票主流程。

适用范围与限制

  • ✅ 支持:蓝票(正常开票 / 修改发票信息)。
  • ❌ 不支持:红票(红冲、作废、退货冲红、负数发票)、批量开票(一次开多张 / Excel 导入名单)。命中即如实说明并引导到云帐房后台手动处理。
  • 依赖说明:开票能力由云帐房及税务局系统提供,本技能为智能编排层,不替代云帐房订阅。

免责声明

  • 开票为涉税行为。技能仅在提交前请你确认金额、购方抬头与税号后,将意图准确传给后端;因你提供的信息有误导致的开错、退票及由此产生的税务风险,由使用方自行承担。
  • 本技能按"现状"提供。因网络、云帐房服务端或税务局系统故障导致的开票失败,作者不承担责任,但会按"终态恢复建议"引导你重试或联系服务商。
  • 本技能不构成税务、法律或财务建议。

常见问题(FAQ)

Q1:我需要自己有云帐房吗?
A:需要。本技能是云帐房的智能调用层,你需自行开通云帐房企业账号并连接对应连接器。

Q2:支持开红票 / 红冲吗?
A:暂不支持。红票、作废、批量开票当前均不支持,已在技能内拦截并引导你到云帐房后台手动处理,后续版本会扩展。

Q3:按什么计费?一次开多张怎么算?
A:按次 ¥9.9 / 次,每次成功开具一张发票计一次费。批量开票当前不支持,请逐张开。

Q4:发票开了能取消吗?
A:尚未开具 / 进行中可取消(见"取消与中止");已成功开具的发票需走红票流程(当前不支持)。

Q5:支持哪些平台?
A:WorkBuddy、QClaw、ima 等 SkillHub 接入平台均可安装使用。

版本记录

  • v1.4.1(付费改造修复,解决「缺少必要的支付服务」驳回):① frontmatter 补全 payment.networks + 真实商户 payTo: sh-pgEK9NNw(平台判定真实付费服务的核心商户绑定);② 将付费后端从"需作者自建的参考 Demo"改写为"随包内置 server/pay_skill_server.py、由 SkillHub 云端沙箱托管运行"的 X402 闸门,消除"无真实付费服务"嫌疑;③ 正文补齐端到端 weixinpay 链路字段(WeixinPay-Required / X-Out-Trade-No / order_id / payment_code / retry_pay / weixinpay-register / weixinpay-feedback / 退款);④ 新增随包 server/pay_skill_server.py(X402 402→查单→放行闸门,DEV 模式不真实扣费)。商户接入 Demo 降级为参考文档。
  • v1.4.0:初版付费改造,声明三要素与计费对象,但未声明 payTo 商户号、付费后端仍指向待部署 Demo,故仍被平台判「缺少必要的支付服务」驳回——该问题在 v1.4.1 彻底修复。

更新与支持

  • 版本策略:遵循语义化版本(如 1.2.0);红票、批量等能力将通过版本升级提供。
  • 反馈与问题:在本技能 SkillHub 页面留言,作者会及时回复并迭代。
  • 企业定制 / 合作:如有专属开票流程、对接自有财税系统的需求,可联系作者商务洽谈。

感谢使用本技能!如果好用,欢迎在 SkillHub 给个好评;有任何问题或建议,请在本技能页面留言,我会第一时间优化。

常见问题

5 问
答案由本站依据条目字段整理
YunzhangfangBlueInvoiceAssistant怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_ca8f867e/xiaochen-yzf-invoice-skill。安装方式为未标注。装完刷新技能列表或重开客户端。

YunzhangfangBlueInvoiceAssistant支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

YunzhangfangBlueInvoiceAssistant权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

YunzhangfangBlueInvoiceAssistant收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

YunzhangfangBlueInvoiceAssistant用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。