{"id":"ee09fbc2-610a-4d75-b3f4-82e3bfd5342b","entityType":"agent","slug":"clawhub-zxt-invoice-ocr-pro","name":"发票识别","canonicalUrl":"https://www.xpersona.co/agent/clawhub-zxt-invoice-ocr-pro","canonicalPath":"/agent/clawhub-zxt-invoice-ocr-pro","generatedAt":"2026-10-11T15:14:49.983Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T11:57:42.079Z","emptyReason":null},"description":"发票识别技能。上传发票文件进行 OCR 识别，返回发票票面信息。适用于从发票图片或文件中提取结构化数据的场景。 Skill: 发票识别 Owner: zxt Summary: 发票识别技能。上传发票文件进行 OCR 识别，返回发票票面信息。适用于从发票图片或文件中提取结构化数据的场景。 Tags: latest:1.0.1 Version history: v1.0.1 | 2026-06-17T07:38:11.472Z | user 主体迁移 v1.0.0 | 2026-05-25T08:03:24.921Z | user 正式版 v1.0.0-beta | 2026-05-22T01:05:01.874Z | user - 更新了 apiKey 申请及注册地址至 https://skill.quandianfapiao.com/ - 相关说明同步调整为“中兴通简税Skill平台：https://skill.quandianfapiao.com/” - 其他功能和流程无变动 v1.0.0-alpha | 2026-05-21T09:2","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s176y1zx801xf9nrys54e3xztd88t1jf:invoice-ocr-pro","sourceUrl":"https://clawhub.ai/zxt/invoice-ocr-pro","homepage":"https://clawhub.ai/zxt/skills/invoice-ocr-pro","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/zxt/invoice-ocr-pro","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/zxt/skills/invoice-ocr-pro","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"发票识别技能。上传发票文件进行 OCR 识别，返回发票票面信息。适用于从发票图片或文件中提取结构化数据的场景。 Skill: 发票识别 Owner: zxt Summary: 发票识别技能。上传发票文件进行 OCR 识别，返回发票票面信息。适用于从发票图片或文件中提取结构化数据的场景。 Tags: latest:1.0"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T11:57:42.079Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T11:57:42.079Z","emptyReason":null},"stars":null,"forks":null,"downloads":1070,"packageName":null,"latestVersion":"1.0.1","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T11:57:41.898Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T11:57:42.079Z","lastCrawledAt":"2026-10-11T11:57:41.898Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T11:57:41.898Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.1","createdAt":"2026-06-17T07:38:11.472Z","changelog":"主体迁移","fileCount":5,"zipByteSize":8212},{"version":"1.0.0","createdAt":"2026-05-25T08:03:24.921Z","changelog":"正式版","fileCount":5,"zipByteSize":8065},{"version":"1.0.0-beta","createdAt":"2026-05-22T01:05:01.874Z","changelog":"- 更新了 apiKey 申请及注册地址至 https://skill.quandianfapiao.com/ - 相关说明同步调整为“中兴通简税Skill平台：https://skill.quandianfapiao.com/” - 其他功能和流程无变动","fileCount":4,"zipByteSize":6949},{"version":"1.0.0-alpha","createdAt":"2026-05-21T09:20:44.149Z","changelog":"- 初始提交","fileCount":4,"zipByteSize":6949}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s176y1zx801xf9nrys54e3xztd88t1jf:invoice-ocr-pro","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zxt-invoice-ocr-pro/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zxt-invoice-ocr-pro/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zxt-invoice-ocr-pro/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zxt-invoice-ocr-pro/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zxt-invoice-ocr-pro/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zxt-invoice-ocr-pro/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T15:14:49.982Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zxt-invoice-ocr-pro/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zxt-invoice-ocr-pro/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zxt-invoice-ocr-pro/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zxt-invoice-ocr-pro/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T11:57:42.079Z","emptyReason":null},"readme":"Skill: 发票识别\n\nOwner: zxt\n\nSummary: 发票识别技能。上传发票文件进行 OCR 识别，返回发票票面信息。适用于从发票图片或文件中提取结构化数据的场景。\n\nTags: latest:1.0.1\n\nVersion history:\n\nv1.0.1 | 2026-06-17T07:38:11.472Z | user\n\n主体迁移\n\nv1.0.0 | 2026-05-25T08:03:24.921Z | user\n\n正式版\n\nv1.0.0-beta | 2026-05-22T01:05:01.874Z | user\n\n- 更新了 apiKey 申请及注册地址至 https://skill.quandianfapiao.com/\n- 相关说明同步调整为“中兴通简税Skill平台：https://skill.quandianfapiao.com/”\n- 其他功能和流程无变动\n\nv1.0.0-alpha | 2026-05-21T09:20:44.149Z | user\n\n- 初始提交\n\nArchive index:\n\nArchive v1.0.1: 5 files, 8212 bytes\n\nFiles: common.py (4673b), invoice_ocr.py (2886b), skill-card.md (2066b), SKILL.md (8074b), _meta.json (134b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: invoice-ocr\ndescription: 发票识别技能。上传发票文件进行 OCR 识别，返回发票票面信息。适用于从发票图片或文件中提取结构化数据的场景。\n---\n\n# 发票识别技能\n\n使用此技能通过上传发票文件进行 OCR 识别，自动提取发票票面结构化信息。\n\n## 使用场景\n\n满足以下需求时使用：\n\n- 上传发票图片或文件（PDF/OFD/JPEG/JPG/PNG/XML）进行 OCR 识别。\n- 从发票图片中提取发票号码、金额、销购方等结构化信息。\n- 批量处理发票文件的自动识别。\n\n## 触发语句示例\n\n以下用户输入应触发此技能：\n\n- 帮我识别这张发票 / 发票识别 / 识别发票\n- 这张发票里有什么信息\n- 提取发票信息 / 发票 OCR\n- 读取发票内容\n- 这个发票文件帮我识别一下\n- 识别发票文件\n\n## 输入参数\n\n执行前准备以下参数：\n\n- apiKey（必填）：通过 https://skill.quandianfapiao.com/ 申请。\n\n### 发票识别 (ocr)\n\n- 发票文件路径（必填，支持 PDF、OFD、JPEG、JPG、PNG、XML）\n\n## 执行流程\n\n**前置检查（最高优先级）：检查环境变量 `ZXT_API_KEY` 是否已设置。**\n\n注意：当前 shell 会话可能未继承 Windows 用户级环境变量，必须按以下方式检查，不能仅依赖 `$ZXT_API_KEY`：\n\n- Windows：执行 `powershell -Command \"[System.Environment]::GetEnvironmentVariable('ZXT_API_KEY', 'User')\"` 获取用户级环境变量值，同时检查 `$ZXT_API_KEY`。\n- macOS/Linux：检查 `$ZXT_API_KEY` 即可。\n\n如果以上检查结果均为空，禁止执行任何后续操作，立即向用户输出以下提示并停止：\n\n> 您需要完成以下三步，即可自动配置并执行技能：\n>\n> 1. **注册账号**\n>    访问中兴通简税Skill平台：https://skill.quandianfapiao.com/ 完成注册。\n>\n> 2. **申请 apiKey**\n>    登录后进入\"技能中心\"，复制您的 apiKey。\n>\n> 3. **提供 apiKey**\n>    将复制的 apiKey 发送给我，我将为您完成配置并立即执行技能。\n\n**严格限制：前置检查未通过时，禁止执行任何其他动作，包括但不限于：**\n\n- 禁止读取文件（Excel、PDF、图片等）\n- 禁止调用任何 API\n- 禁止执行任何脚本或命令\n- 禁止进行参数解析或预处理\n\n**只允许输出提示信息，然后停止，等待用户提供 apiKey。**\n\n用户提供 apiKey 后，写入系统环境变量并使当前会话生效：\n\n- Windows：`setx ZXT_API_KEY <apiKey>` 写入用户级环境变量，然后执行 `export ZXT_API_KEY=<apiKey>` 使当前会话生效。\n- macOS/Linux：将 `export ZXT_API_KEY=<apiKey>` 追加到 `~/.bashrc` 或 `~/.zshrc`（根据用户使用的 shell），同时执行 `export ZXT_API_KEY=<apiKey>` 使当前会话生效。\n\n环境变量就绪后，继续以下步骤：\n\n1. 校验必填参数存在且非空。**任何必填参数缺失时必须立即停止，禁止跳过或使用空值继续执行。**\n   - 缺少发票文件路径：停止并提示用户提供文件。\n   - 文件不存在或不支持该文件类型：停止并提示用户。\n2. 通过 python 执行脚本调用远程 API（Windows 下使用 `python`，macOS/Linux 使用 `python3`），脚本优先使用 `--api-key` 参数，未传则回退读取环境变量 `ZXT_API_KEY`。\n3. 检查返回的 status 字段，非 200 时停止并将错误信息展示给用户，禁止重试或忽略。\n4. 解析返回结果并以可读格式输出。\n\n## 请求参数说明\n\n### 发票识别 — POST /api/jxplus/zxtSkill/discern/invoiceDiscern\n\n请求头：`Content-Type: multipart/form-data`\n\n| 参数   | 类型   | 必填 | 说明                             |\n| ------ | ------ | ---- | -------------------------------- |\n| apiKey | string | 是   | apiKey                           |\n| file   | file   | 是   | 发票文件（pdf/ofd/jpeg/jpg/png/xml） |\n\n## 返回说明\n\n### 外层返回字段\n\n| 字段    | 类型   | 说明                 |\n| ------- | ------ | -------------------- |\n| status  | string | 返回接口状态码       |\n| message | string | 返回接口状态描述信息 |\n| data    | object | 业务数据体           |\n\n### data 业务数据体\n\n| 字段           | 类型   | 说明               |\n| -------------- | ------ | ------------------ |\n| invoiceType    | string | 发票种类           |\n| invoiceCode    | string | 发票代码           |\n| invoiceNumber  | string | 发票号码           |\n| invoiceDate    | string | 开票日期           |\n| hjje           | string | 合计金额           |\n| hjse           | string | 合计税额           |\n| jshj           | string | 价税合计           |\n| xsfMc          | string | 销售方名称         |\n| xsfNsrsbh      | string | 销售方纳税人识别号 |\n| xsfAddressTel  | string | 销售方地址、电话   |\n| xsfBankAccount | string | 销售方开户行及账号 |\n| gmfMc          | string | 购买方名称         |\n| gmfNsrsbh      | string | 购买方税号         |\n| gmfAddressTel  | string | 购买方地址、电话   |\n| gmfBankAccount | string | 购买方开户行及账号 |\n| payee          | string | 收款人             |\n| reviewer       | string | 复核人             |\n| invoicer       | string | 开票人             |\n| machineNo      | string | 机器编号           |\n| checkCode      | string | 校验码             |\n| passwordArea   | string | 密码区             |\n| remark         | string | 备注               |\n| item           | List   | 发票明细列表       |\n| otherInfo      | string | 其他信息           |\n\n### item 明细数据体\n\n| 字段           | 类型   | 说明     |\n| -------------- | ------ | -------- |\n| projectName    | string | 项目名称 |\n| ggxh           | string | 规格型号 |\n| projectUnit    | string | 单位     |\n| projectCount   | string | 数量     |\n| projectPriceEt | string | 单价     |\n| projectJeEt    | string | 金额     |\n| sl             | string | 税率     |\n| se             | string | 税额     |\n\n## 异常状态码\n\n| 状态码 | 说明                   |\n| ------ | ---------------------- |\n| 400    | 请求参数错误           |\n| 300    | 参数为空或格式错误     |\n| 305    | 无权访问该接口         |\n| 307    | 消费失败，授权余次不足 |\n| 308    | 超出接口调用次数       |\n| 500    | 系统异常               |\n\n## 接口请求示例\n\n### 发票识别 — POST /api/jxplus/zxtSkill/discern/invoiceDiscern\n\n请求方式：`multipart/form-data`，包含 `apiKey` 字段和 `file` 文件字段。\n\n成功返回：\n\n```json\n{\n  \"status\": \"200\",\n  \"message\": \"成功\",\n  \"data\": {\n    \"invoiceType\": \"82\",\n    \"invoiceCode\": \"数电票\",\n    \"invoiceNumber\": \"23622000000012981281\",\n    \"invoiceDate\": \"2023-10-18\",\n    \"hjje\": \"34.65\",\n    \"hjse\": \"0.35\",\n    \"jshj\": \"35.00\",\n    \"xsfMc\": \"金昌市安行征途汽车运输有限公司\",\n    \"xsfNsrsbh\": \"91620302MA71XY3022\",\n    \"xsfAddressTel\": \"\",\n    \"xsfBankAccount\": \"\",\n    \"gmfMc\": \"北京中兴通融资产管理股份有限公司\",\n    \"gmfNsrsbh\": \"911101087582285868\",\n    \"gmfAddressTel\": \"\",\n    \"gmfBankAccount\": \"\",\n    \"payee\": null,\n    \"reviewer\": null,\n    \"invoicer\": \"张玉芳\",\n    \"machineNo\": null,\n    \"checkCode\": \"23622000000012981281\",\n    \"passwordArea\": null,\n    \"remark\": \"车人1 00****00 2023-10-16 武威- 金川机场- 长途汽车\\n价税合计（大写） 叁拾伍圆整 （小写）¥35.00\\n线路：武威-金川机场日期：2023-10-1608:30\\n\",\n    \"otherInfo\": null,\n    \"item\": [\n      {\n        \"projectName\": \"*运输服务*客运服务\",\n        \"ggxh\": null,\n        \"projectUnit\": null,\n        \"projectCount\": \"34.65\",\n        \"projectPriceEt\": \"1\",\n        \"projectJeEt\": \"34.65\",\n        \"sl\": \"1%\",\n        \"se\": \"0.35\"\n      }\n    ]\n  }\n}\n```\n\n异常返回：\n\n```json\n{\n  \"status\": \"400\",\n  \"message\": \"文件不能为空\",\n  \"data\": \"\"\n}\n```\n\n## 命令示例\n\n发票识别：\n\n```bash\npython .claude/skills/invoice-ocr/invoice_ocr.py ocr --file \"E:\\\\invoices\\\\test.pdf\"\n```\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn78wqnm3g9mqn7q7x83dh3jvn874tn3\",\n  \"slug\": \"invoice-ocr-pro\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1781681891472\n}\n\nFile v1.0.1:skill-card.md\n\n## Description:\n\n发票识别技能用于上传发票图片或文件进行 OCR 识别，并返回发票票面结构化信息。\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zxt](https://clawhub.ai/user/zxt)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agents use this skill to upload invoice files and extract structured invoice fields such as invoice number, dates, amounts, buyer and seller details, and line items.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends invoice files to skill.quandianfapiao.com for OCR processing.\n\nMitigation: Use only invoices the user is allowed to transmit to that service and review data handling requirements before processing sensitive documents.\n\nRisk: The security review says the skill asks users to share an API key in chat and persistently writes it into shell configuration without clear consent or safe secret handling.\n\nMitigation: Use a platform secret manager or per-run environment variable, avoid pasting long-lived API keys into chat, and do not allow automatic modification of ~/.bashrc, ~/.zshrc, or persistent user environment settings.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zxt/skills/invoice-ocr-pro)\n- [Publisher profile](https://clawhub.ai/user/zxt)\n- [ZXT invoice OCR service](https://skill.quandianfapiao.com/)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Shell commands, Guidance]\n\n**Output Format:** [Plain text with structured invoice fields and error messages]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Supports PDF, OFD, JPEG, JPG, PNG, and XML invoice files up to 10 MB; requires ZXT_API_KEY or an apiKey argument.]\n\n## Skill Version(s):\n\n1.0.1 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.0: 5 files, 8065 bytes\n\nFiles: common.py (4673b), invoice_ocr.py (2886b), skill-card.md (2080b), SKILL.md (8074b), _meta.json (134b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: invoice-ocr\ndescription: 发票识别技能。上传发票文件进行 OCR 识别，返回发票票面信息。适用于从发票图片或文件中提取结构化数据的场景。\n---\n\n# 发票识别技能\n\n使用此技能通过上传发票文件进行 OCR 识别，自动提取发票票面结构化信息。\n\n## 使用场景\n\n满足以下需求时使用：\n\n- 上传发票图片或文件（PDF/OFD/JPEG/JPG/PNG/XML）进行 OCR 识别。\n- 从发票图片中提取发票号码、金额、销购方等结构化信息。\n- 批量处理发票文件的自动识别。\n\n## 触发语句示例\n\n以下用户输入应触发此技能：\n\n- 帮我识别这张发票 / 发票识别 / 识别发票\n- 这张发票里有什么信息\n- 提取发票信息 / 发票 OCR\n- 读取发票内容\n- 这个发票文件帮我识别一下\n- 识别发票文件\n\n## 输入参数\n\n执行前准备以下参数：\n\n- apiKey（必填）：通过 https://skill.quandianfapiao.com/ 申请。\n\n### 发票识别 (ocr)\n\n- 发票文件路径（必填，支持 PDF、OFD、JPEG、JPG、PNG、XML）\n\n## 执行流程\n\n**前置检查（最高优先级）：检查环境变量 `ZXT_API_KEY` 是否已设置。**\n\n注意：当前 shell 会话可能未继承 Windows 用户级环境变量，必须按以下方式检查，不能仅依赖 `$ZXT_API_KEY`：\n\n- Windows：执行 `powershell -Command \"[System.Environment]::GetEnvironmentVariable('ZXT_API_KEY', 'User')\"` 获取用户级环境变量值，同时检查 `$ZXT_API_KEY`。\n- macOS/Linux：检查 `$ZXT_API_KEY` 即可。\n\n如果以上检查结果均为空，禁止执行任何后续操作，立即向用户输出以下提示并停止：\n\n> 您需要完成以下三步，即可自动配置并执行技能：\n>\n> 1. **注册账号**\n>    访问中兴通简税Skill平台：https://skill.quandianfapiao.com/ 完成注册。\n>\n> 2. **申请 apiKey**\n>    登录后进入\"技能中心\"，复制您的 apiKey。\n>\n> 3. **提供 apiKey**\n>    将复制的 apiKey 发送给我，我将为您完成配置并立即执行技能。\n\n**严格限制：前置检查未通过时，禁止执行任何其他动作，包括但不限于：**\n\n- 禁止读取文件（Excel、PDF、图片等）\n- 禁止调用任何 API\n- 禁止执行任何脚本或命令\n- 禁止进行参数解析或预处理\n\n**只允许输出提示信息，然后停止，等待用户提供 apiKey。**\n\n用户提供 apiKey 后，写入系统环境变量并使当前会话生效：\n\n- Windows：`setx ZXT_API_KEY <apiKey>` 写入用户级环境变量，然后执行 `export ZXT_API_KEY=<apiKey>` 使当前会话生效。\n- macOS/Linux：将 `export ZXT_API_KEY=<apiKey>` 追加到 `~/.bashrc` 或 `~/.zshrc`（根据用户使用的 shell），同时执行 `export ZXT_API_KEY=<apiKey>` 使当前会话生效。\n\n环境变量就绪后，继续以下步骤：\n\n1. 校验必填参数存在且非空。**任何必填参数缺失时必须立即停止，禁止跳过或使用空值继续执行。**\n   - 缺少发票文件路径：停止并提示用户提供文件。\n   - 文件不存在或不支持该文件类型：停止并提示用户。\n2. 通过 python 执行脚本调用远程 API（Windows 下使用 `python`，macOS/Linux 使用 `python3`），脚本优先使用 `--api-key` 参数，未传则回退读取环境变量 `ZXT_API_KEY`。\n3. 检查返回的 status 字段，非 200 时停止并将错误信息展示给用户，禁止重试或忽略。\n4. 解析返回结果并以可读格式输出。\n\n## 请求参数说明\n\n### 发票识别 — POST /api/jxplus/zxtSkill/discern/invoiceDiscern\n\n请求头：`Content-Type: multipart/form-data`\n\n| 参数   | 类型   | 必填 | 说明                             |\n| ------ | ------ | ---- | -------------------------------- |\n| apiKey | string | 是   | apiKey                           |\n| file   | file   | 是   | 发票文件（pdf/ofd/jpeg/jpg/png/xml） |\n\n## 返回说明\n\n### 外层返回字段\n\n| 字段    | 类型   | 说明                 |\n| ------- | ------ | -------------------- |\n| status  | string | 返回接口状态码       |\n| message | string | 返回接口状态描述信息 |\n| data    | object | 业务数据体           |\n\n### data 业务数据体\n\n| 字段           | 类型   | 说明               |\n| -------------- | ------ | ------------------ |\n| invoiceType    | string | 发票种类           |\n| invoiceCode    | string | 发票代码           |\n| invoiceNumber  | string | 发票号码           |\n| invoiceDate    | string | 开票日期           |\n| hjje           | string | 合计金额           |\n| hjse           | string | 合计税额           |\n| jshj           | string | 价税合计           |\n| xsfMc          | string | 销售方名称         |\n| xsfNsrsbh      | string | 销售方纳税人识别号 |\n| xsfAddressTel  | string | 销售方地址、电话   |\n| xsfBankAccount | string | 销售方开户行及账号 |\n| gmfMc          | string | 购买方名称         |\n| gmfNsrsbh      | string | 购买方税号         |\n| gmfAddressTel  | string | 购买方地址、电话   |\n| gmfBankAccount | string | 购买方开户行及账号 |\n| payee          | string | 收款人             |\n| reviewer       | string | 复核人             |\n| invoicer       | string | 开票人             |\n| machineNo      | string | 机器编号           |\n| checkCode      | string | 校验码             |\n| passwordArea   | string | 密码区             |\n| remark         | string | 备注               |\n| item           | List   | 发票明细列表       |\n| otherInfo      | string | 其他信息           |\n\n### item 明细数据体\n\n| 字段           | 类型   | 说明     |\n| -------------- | ------ | -------- |\n| projectName    | string | 项目名称 |\n| ggxh           | string | 规格型号 |\n| projectUnit    | string | 单位     |\n| projectCount   | string | 数量     |\n| projectPriceEt | string | 单价     |\n| projectJeEt    | string | 金额     |\n| sl             | string | 税率     |\n| se             | string | 税额     |\n\n## 异常状态码\n\n| 状态码 | 说明                   |\n| ------ | ---------------------- |\n| 400    | 请求参数错误           |\n| 300    | 参数为空或格式错误     |\n| 305    | 无权访问该接口         |\n| 307    | 消费失败，授权余次不足 |\n| 308    | 超出接口调用次数       |\n| 500    | 系统异常               |\n\n## 接口请求示例\n\n### 发票识别 — POST /api/jxplus/zxtSkill/discern/invoiceDiscern\n\n请求方式：`multipart/form-data`，包含 `apiKey` 字段和 `file` 文件字段。\n\n成功返回：\n\n```json\n{\n  \"status\": \"200\",\n  \"message\": \"成功\",\n  \"data\": {\n    \"invoiceType\": \"82\",\n    \"invoiceCode\": \"数电票\",\n    \"invoiceNumber\": \"23622000000012981281\",\n    \"invoiceDate\": \"2023-10-18\",\n    \"hjje\": \"34.65\",\n    \"hjse\": \"0.35\",\n    \"jshj\": \"35.00\",\n    \"xsfMc\": \"金昌市安行征途汽车运输有限公司\",\n    \"xsfNsrsbh\": \"91620302MA71XY3022\",\n    \"xsfAddressTel\": \"\",\n    \"xsfBankAccount\": \"\",\n    \"gmfMc\": \"北京中兴通融资产管理股份有限公司\",\n    \"gmfNsrsbh\": \"911101087582285868\",\n    \"gmfAddressTel\": \"\",\n    \"gmfBankAccount\": \"\",\n    \"payee\": null,\n    \"reviewer\": null,\n    \"invoicer\": \"张玉芳\",\n    \"machineNo\": null,\n    \"checkCode\": \"23622000000012981281\",\n    \"passwordArea\": null,\n    \"remark\": \"车人1 00****00 2023-10-16 武威- 金川机场- 长途汽车\\n价税合计（大写） 叁拾伍圆整 （小写）¥35.00\\n线路：武威-金川机场日期：2023-10-1608:30\\n\",\n    \"otherInfo\": null,\n    \"item\": [\n      {\n        \"projectName\": \"*运输服务*客运服务\",\n        \"ggxh\": null,\n        \"projectUnit\": null,\n        \"projectCount\": \"34.65\",\n        \"projectPriceEt\": \"1\",\n        \"projectJeEt\": \"34.65\",\n        \"sl\": \"1%\",\n        \"se\": \"0.35\"\n      }\n    ]\n  }\n}\n```\n\n异常返回：\n\n```json\n{\n  \"status\": \"400\",\n  \"message\": \"文件不能为空\",\n  \"data\": \"\"\n}\n```\n\n## 命令示例\n\n发票识别：\n\n```bash\npython .claude/skills/invoice-ocr/invoice_ocr.py ocr --file \"E:\\\\invoices\\\\test.pdf\"\n```\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn78wqnm3g9mqn7q7x83dh3jvn874tn3\",\n  \"slug\": \"invoice-ocr-pro\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1779696204921\n}\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nInvoice OCR uploads invoice files to a remote OCR provider and returns readable structured invoice fields. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[sunriseorient](https://clawhub.ai/user/sunriseorient) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nEmployees and external users who process invoice files use this skill to extract invoice numbers, dates, amounts, buyer and seller details, tax information, and line items into readable structured output. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Invoice files are sent to a named remote OCR provider and may contain sensitive business, tax, or customer information. <br>\nMitigation: Use only invoices approved for external processing and confirm the provider's handling requirements before deployment. <br>\nRisk: The skill requires an API key and its instructions include persistent environment-variable setup. <br>\nMitigation: Configure the key through a secure secret store or temporary environment variable, avoid pasting raw keys into chat, and write credentials to shell startup files only when persistent access is intended. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/sunriseorient/invoice-ocr-pro) <br>\n- [Remote OCR provider](https://skill.quandianfapiao.com/) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, shell commands, configuration guidance] <br>\n**Output Format:** [Plain text with structured invoice fields and error messages] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Supports PDF, OFD, JPEG, JPG, PNG, and XML invoice files up to 10 MB.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.0-beta: 4 files, 6949 bytes\n\nFiles: common.py (4673b), invoice_ocr.py (2886b), SKILL.md (8074b), _meta.json (139b)\n\nFile v1.0.0-beta:SKILL.md\n\n---\nname: invoice-ocr\ndescription: 发票识别技能。上传发票文件进行 OCR 识别，返回发票票面信息。适用于从发票图片或文件中提取结构化数据的场景。\n---\n\n# 发票识别技能\n\n使用此技能通过上传发票文件进行 OCR 识别，自动提取发票票面结构化信息。\n\n## 使用场景\n\n满足以下需求时使用：\n\n- 上传发票图片或文件（PDF/OFD/JPEG/JPG/PNG/XML）进行 OCR 识别。\n- 从发票图片中提取发票号码、金额、销购方等结构化信息。\n- 批量处理发票文件的自动识别。\n\n## 触发语句示例\n\n以下用户输入应触发此技能：\n\n- 帮我识别这张发票 / 发票识别 / 识别发票\n- 这张发票里有什么信息\n- 提取发票信息 / 发票 OCR\n- 读取发票内容\n- 这个发票文件帮我识别一下\n- 识别发票文件\n\n## 输入参数\n\n执行前准备以下参数：\n\n- apiKey（必填）：通过 https://skill.quandianfapiao.com/ 申请。\n\n### 发票识别 (ocr)\n\n- 发票文件路径（必填，支持 PDF、OFD、JPEG、JPG、PNG、XML）\n\n## 执行流程\n\n**前置检查（最高优先级）：检查环境变量 `ZXT_API_KEY` 是否已设置。**\n\n注意：当前 shell 会话可能未继承 Windows 用户级环境变量，必须按以下方式检查，不能仅依赖 `$ZXT_API_KEY`：\n\n- Windows：执行 `powershell -Command \"[System.Environment]::GetEnvironmentVariable('ZXT_API_KEY', 'User')\"` 获取用户级环境变量值，同时检查 `$ZXT_API_KEY`。\n- macOS/Linux：检查 `$ZXT_API_KEY` 即可。\n\n如果以上检查结果均为空，禁止执行任何后续操作，立即向用户输出以下提示并停止：\n\n> 您需要完成以下三步，即可自动配置并执行技能：\n>\n> 1. **注册账号**\n>    访问中兴通简税Skill平台：https://skill.quandianfapiao.com/ 完成注册。\n>\n> 2. **申请 apiKey**\n>    登录后进入\"技能中心\"，复制您的 apiKey。\n>\n> 3. **提供 apiKey**\n>    将复制的 apiKey 发送给我，我将为您完成配置并立即执行技能。\n\n**严格限制：前置检查未通过时，禁止执行任何其他动作，包括但不限于：**\n\n- 禁止读取文件（Excel、PDF、图片等）\n- 禁止调用任何 API\n- 禁止执行任何脚本或命令\n- 禁止进行参数解析或预处理\n\n**只允许输出提示信息，然后停止，等待用户提供 apiKey。**\n\n用户提供 apiKey 后，写入系统环境变量并使当前会话生效：\n\n- Windows：`setx ZXT_API_KEY <apiKey>` 写入用户级环境变量，然后执行 `export ZXT_API_KEY=<apiKey>` 使当前会话生效。\n- macOS/Linux：将 `export ZXT_API_KEY=<apiKey>` 追加到 `~/.bashrc` 或 `~/.zshrc`（根据用户使用的 shell），同时执行 `export ZXT_API_KEY=<apiKey>` 使当前会话生效。\n\n环境变量就绪后，继续以下步骤：\n\n1. 校验必填参数存在且非空。**任何必填参数缺失时必须立即停止，禁止跳过或使用空值继续执行。**\n   - 缺少发票文件路径：停止并提示用户提供文件。\n   - 文件不存在或不支持该文件类型：停止并提示用户。\n2. 通过 python 执行脚本调用远程 API（Windows 下使用 `python`，macOS/Linux 使用 `python3`），脚本优先使用 `--api-key` 参数，未传则回退读取环境变量 `ZXT_API_KEY`。\n3. 检查返回的 status 字段，非 200 时停止并将错误信息展示给用户，禁止重试或忽略。\n4. 解析返回结果并以可读格式输出。\n\n## 请求参数说明\n\n### 发票识别 — POST /api/jxplus/zxtSkill/discern/invoiceDiscern\n\n请求头：`Content-Type: multipart/form-data`\n\n| 参数   | 类型   | 必填 | 说明                             |\n| ------ | ------ | ---- | -------------------------------- |\n| apiKey | string | 是   | apiKey                           |\n| file   | file   | 是   | 发票文件（pdf/ofd/jpeg/jpg/png/xml） |\n\n## 返回说明\n\n### 外层返回字段\n\n| 字段    | 类型   | 说明                 |\n| ------- | ------ | -------------------- |\n| status  | string | 返回接口状态码       |\n| message | string | 返回接口状态描述信息 |\n| data    | object | 业务数据体           |\n\n### data 业务数据体\n\n| 字段           | 类型   | 说明               |\n| -------------- | ------ | ------------------ |\n| invoiceType    | string | 发票种类           |\n| invoiceCode    | string | 发票代码           |\n| invoiceNumber  | string | 发票号码           |\n| invoiceDate    | string | 开票日期           |\n| hjje           | string | 合计金额           |\n| hjse           | string | 合计税额           |\n| jshj           | string | 价税合计           |\n| xsfMc          | string | 销售方名称         |\n| xsfNsrsbh      | string | 销售方纳税人识别号 |\n| xsfAddressTel  | string | 销售方地址、电话   |\n| xsfBankAccount | string | 销售方开户行及账号 |\n| gmfMc          | string | 购买方名称         |\n| gmfNsrsbh      | string | 购买方税号         |\n| gmfAddressTel  | string | 购买方地址、电话   |\n| gmfBankAccount | string | 购买方开户行及账号 |\n| payee          | string | 收款人             |\n| reviewer       | string | 复核人             |\n| invoicer       | string | 开票人             |\n| machineNo      | string | 机器编号           |\n| checkCode      | string | 校验码             |\n| passwordArea   | string | 密码区             |\n| remark         | string | 备注               |\n| item           | List   | 发票明细列表       |\n| otherInfo      | string | 其他信息           |\n\n### item 明细数据体\n\n| 字段           | 类型   | 说明     |\n| -------------- | ------ | -------- |\n| projectName    | string | 项目名称 |\n| ggxh           | string | 规格型号 |\n| projectUnit    | string | 单位     |\n| projectCount   | string | 数量     |\n| projectPriceEt | string | 单价     |\n| projectJeEt    | string | 金额     |\n| sl             | string | 税率     |\n| se             | string | 税额     |\n\n## 异常状态码\n\n| 状态码 | 说明                   |\n| ------ | ---------------------- |\n| 400    | 请求参数错误           |\n| 300    | 参数为空或格式错误     |\n| 305    | 无权访问该接口         |\n| 307    | 消费失败，授权余次不足 |\n| 308    | 超出接口调用次数       |\n| 500    | 系统异常               |\n\n## 接口请求示例\n\n### 发票识别 — POST /api/jxplus/zxtSkill/discern/invoiceDiscern\n\n请求方式：`multipart/form-data`，包含 `apiKey` 字段和 `file` 文件字段。\n\n成功返回：\n\n```json\n{\n  \"status\": \"200\",\n  \"message\": \"成功\",\n  \"data\": {\n    \"invoiceType\": \"82\",\n    \"invoiceCode\": \"数电票\",\n    \"invoiceNumber\": \"23622000000012981281\",\n    \"invoiceDate\": \"2023-10-18\",\n    \"hjje\": \"34.65\",\n    \"hjse\": \"0.35\",\n    \"jshj\": \"35.00\",\n    \"xsfMc\": \"金昌市安行征途汽车运输有限公司\",\n    \"xsfNsrsbh\": \"91620302MA71XY3022\",\n    \"xsfAddressTel\": \"\",\n    \"xsfBankAccount\": \"\",\n    \"gmfMc\": \"北京中兴通融资产管理股份有限公司\",\n    \"gmfNsrsbh\": \"911101087582285868\",\n    \"gmfAddressTel\": \"\",\n    \"gmfBankAccount\": \"\",\n    \"payee\": null,\n    \"reviewer\": null,\n    \"invoicer\": \"张玉芳\",\n    \"machineNo\": null,\n    \"checkCode\": \"23622000000012981281\",\n    \"passwordArea\": null,\n    \"remark\": \"车人1 00****00 2023-10-16 武威- 金川机场- 长途汽车\\n价税合计（大写） 叁拾伍圆整 （小写）¥35.00\\n线路：武威-金川机场日期：2023-10-1608:30\\n\",\n    \"otherInfo\": null,\n    \"item\": [\n      {\n        \"projectName\": \"*运输服务*客运服务\",\n        \"ggxh\": null,\n        \"projectUnit\": null,\n        \"projectCount\": \"34.65\",\n        \"projectPriceEt\": \"1\",\n        \"projectJeEt\": \"34.65\",\n        \"sl\": \"1%\",\n        \"se\": \"0.35\"\n      }\n    ]\n  }\n}\n```\n\n异常返回：\n\n```json\n{\n  \"status\": \"400\",\n  \"message\": \"文件不能为空\",\n  \"data\": \"\"\n}\n```\n\n## 命令示例\n\n发票识别：\n\n```bash\npython .claude/skills/invoice-ocr/invoice_ocr.py ocr --file \"E:\\\\invoices\\\\test.pdf\"\n```\n\nFile v1.0.0-beta:_meta.json\n\n{\n  \"ownerId\": \"kn78wqnm3g9mqn7q7x83dh3jvn874tn3\",\n  \"slug\": \"invoice-ocr-pro\",\n  \"version\": \"1.0.0-beta\",\n  \"publishedAt\": 1779411901874\n}\n\nArchive v1.0.0-alpha: 4 files, 6949 bytes\n\nFiles: common.py (4667b), invoice_ocr.py (2892b), SKILL.md (8086b), _meta.json (140b)\n\nFile v1.0.0-alpha:SKILL.md\n\n---\nname: invoice-ocr\ndescription: 发票识别技能。上传发票文件进行 OCR 识别，返回发票票面信息。适用于从发票图片或文件中提取结构化数据的场景。\n---\n\n# 发票识别技能\n\n使用此技能通过上传发票文件进行 OCR 识别，自动提取发票票面结构化信息。\n\n## 使用场景\n\n满足以下需求时使用：\n\n- 上传发票图片或文件（PDF/OFD/JPEG/JPG/PNG/XML）进行 OCR 识别。\n- 从发票图片中提取发票号码、金额、销购方等结构化信息。\n- 批量处理发票文件的自动识别。\n\n## 触发语句示例\n\n以下用户输入应触发此技能：\n\n- 帮我识别这张发票 / 发票识别 / 识别发票\n- 这张发票里有什么信息\n- 提取发票信息 / 发票 OCR\n- 读取发票内容\n- 这个发票文件帮我识别一下\n- 识别发票文件\n\n## 输入参数\n\n执行前准备以下参数：\n\n- apiKey（必填）：通过 https://test-eqjs.es366.cn/jxplusSkill/ 申请。\n\n### 发票识别 (ocr)\n\n- 发票文件路径（必填，支持 PDF、OFD、JPEG、JPG、PNG、XML）\n\n## 执行流程\n\n**前置检查（最高优先级）：检查环境变量 `ZXT_API_KEY` 是否已设置。**\n\n注意：当前 shell 会话可能未继承 Windows 用户级环境变量，必须按以下方式检查，不能仅依赖 `$ZXT_API_KEY`：\n\n- Windows：执行 `powershell -Command \"[System.Environment]::GetEnvironmentVariable('ZXT_API_KEY', 'User')\"` 获取用户级环境变量值，同时检查 `$ZXT_API_KEY`。\n- macOS/Linux：检查 `$ZXT_API_KEY` 即可。\n\n如果以上检查结果均为空，禁止执行任何后续操作，立即向用户输出以下提示并停止：\n\n> 您需要完成以下三步，即可自动配置并执行技能：\n>\n> 1. **注册账号**\n>    访问中兴通简税Skill平台：https://test-eqjs.es366.cn/jxplusSkill/ 完成注册。\n>\n> 2. **申请 apiKey**\n>    登录后进入\"技能中心\"，复制您的 apiKey。\n>\n> 3. **提供 apiKey**\n>    将复制的 apiKey 发送给我，我将为您完成配置并立即执行技能。\n\n**严格限制：前置检查未通过时，禁止执行任何其他动作，包括但不限于：**\n\n- 禁止读取文件（Excel、PDF、图片等）\n- 禁止调用任何 API\n- 禁止执行任何脚本或命令\n- 禁止进行参数解析或预处理\n\n**只允许输出提示信息，然后停止，等待用户提供 apiKey。**\n\n用户提供 apiKey 后，写入系统环境变量并使当前会话生效：\n\n- Windows：`setx ZXT_API_KEY <apiKey>` 写入用户级环境变量，然后执行 `export ZXT_API_KEY=<apiKey>` 使当前会话生效。\n- macOS/Linux：将 `export ZXT_API_KEY=<apiKey>` 追加到 `~/.bashrc` 或 `~/.zshrc`（根据用户使用的 shell），同时执行 `export ZXT_API_KEY=<apiKey>` 使当前会话生效。\n\n环境变量就绪后，继续以下步骤：\n\n1. 校验必填参数存在且非空。**任何必填参数缺失时必须立即停止，禁止跳过或使用空值继续执行。**\n   - 缺少发票文件路径：停止并提示用户提供文件。\n   - 文件不存在或不支持该文件类型：停止并提示用户。\n2. 通过 python 执行脚本调用远程 API（Windows 下使用 `python`，macOS/Linux 使用 `python3`），脚本优先使用 `--api-key` 参数，未传则回退读取环境变量 `ZXT_API_KEY`。\n3. 检查返回的 status 字段，非 200 时停止并将错误信息展示给用户，禁止重试或忽略。\n4. 解析返回结果并以可读格式输出。\n\n## 请求参数说明\n\n### 发票识别 — POST /api/jxplus/zxtSkill/discern/invoiceDiscern\n\n请求头：`Content-Type: multipart/form-data`\n\n| 参数   | 类型   | 必填 | 说明                             |\n| ------ | ------ | ---- | -------------------------------- |\n| apiKey | string | 是   | apiKey                           |\n| file   | file   | 是   | 发票文件（pdf/ofd/jpeg/jpg/png/xml） |\n\n## 返回说明\n\n### 外层返回字段\n\n| 字段    | 类型   | 说明                 |\n| ------- | ------ | -------------------- |\n| status  | string | 返回接口状态码       |\n| message | string | 返回接口状态描述信息 |\n| data    | object | 业务数据体           |\n\n### data 业务数据体\n\n| 字段           | 类型   | 说明               |\n| -------------- | ------ | ------------------ |\n| invoiceType    | string | 发票种类           |\n| invoiceCode    | string | 发票代码           |\n| invoiceNumber  | string | 发票号码           |\n| invoiceDate    | string | 开票日期           |\n| hjje           | string | 合计金额           |\n| hjse           | string | 合计税额           |\n| jshj           | string | 价税合计           |\n| xsfMc          | string | 销售方名称         |\n| xsfNsrsbh      | string | 销售方纳税人识别号 |\n| xsfAddressTel  | string | 销售方地址、电话   |\n| xsfBankAccount | string | 销售方开户行及账号 |\n| gmfMc          | string | 购买方名称         |\n| gmfNsrsbh      | string | 购买方税号         |\n| gmfAddressTel  | string | 购买方地址、电话   |\n| gmfBankAccount | string | 购买方开户行及账号 |\n| payee          | string | 收款人             |\n| reviewer       | string | 复核人             |\n| invoicer       | string | 开票人             |\n| machineNo      | string | 机器编号           |\n| checkCode      | string | 校验码             |\n| passwordArea   | string | 密码区             |\n| remark         | string | 备注               |\n| item           | List   | 发票明细列表       |\n| otherInfo      | string | 其他信息           |\n\n### item 明细数据体\n\n| 字段           | 类型   | 说明     |\n| -------------- | ------ | -------- |\n| projectName    | string | 项目名称 |\n| ggxh           | string | 规格型号 |\n| projectUnit    | string | 单位     |\n| projectCount   | string | 数量     |\n| projectPriceEt | string | 单价     |\n| projectJeEt    | string | 金额     |\n| sl             | string | 税率     |\n| se             | string | 税额     |\n\n## 异常状态码\n\n| 状态码 | 说明                   |\n| ------ | ---------------------- |\n| 400    | 请求参数错误           |\n| 300    | 参数为空或格式错误     |\n| 305    | 无权访问该接口         |\n| 307    | 消费失败，授权余次不足 |\n| 308    | 超出接口调用次数       |\n| 500    | 系统异常               |\n\n## 接口请求示例\n\n### 发票识别 — POST /api/jxplus/zxtSkill/discern/invoiceDiscern\n\n请求方式：`multipart/form-data`，包含 `apiKey` 字段和 `file` 文件字段。\n\n成功返回：\n\n```json\n{\n  \"status\": \"200\",\n  \"message\": \"成功\",\n  \"data\": {\n    \"invoiceType\": \"82\",\n    \"invoiceCode\": \"数电票\",\n    \"invoiceNumber\": \"23622000000012981281\",\n    \"invoiceDate\": \"2023-10-18\",\n    \"hjje\": \"34.65\",\n    \"hjse\": \"0.35\",\n    \"jshj\": \"35.00\",\n    \"xsfMc\": \"金昌市安行征途汽车运输有限公司\",\n    \"xsfNsrsbh\": \"91620302MA71XY3022\",\n    \"xsfAddressTel\": \"\",\n    \"xsfBankAccount\": \"\",\n    \"gmfMc\": \"北京中兴通融资产管理股份有限公司\",\n    \"gmfNsrsbh\": \"911101087582285868\",\n    \"gmfAddressTel\": \"\",\n    \"gmfBankAccount\": \"\",\n    \"payee\": null,\n    \"reviewer\": null,\n    \"invoicer\": \"张玉芳\",\n    \"machineNo\": null,\n    \"checkCode\": \"23622000000012981281\",\n    \"passwordArea\": null,\n    \"remark\": \"车人1 00****00 2023-10-16 武威- 金川机场- 长途汽车\\n价税合计（大写） 叁拾伍圆整 （小写）¥35.00\\n线路：武威-金川机场日期：2023-10-1608:30\\n\",\n    \"otherInfo\": null,\n    \"item\": [\n      {\n        \"projectName\": \"*运输服务*客运服务\",\n        \"ggxh\": null,\n        \"projectUnit\": null,\n        \"projectCount\": \"34.65\",\n        \"projectPriceEt\": \"1\",\n        \"projectJeEt\": \"34.65\",\n        \"sl\": \"1%\",\n        \"se\": \"0.35\"\n      }\n    ]\n  }\n}\n```\n\n异常返回：\n\n```json\n{\n  \"status\": \"400\",\n  \"message\": \"文件不能为空\",\n  \"data\": \"\"\n}\n```\n\n## 命令示例\n\n发票识别：\n\n```bash\npython .claude/skills/invoice-ocr/invoice_ocr.py ocr --file \"E:\\\\invoices\\\\test.pdf\"\n```\n\nFile v1.0.0-alpha:_meta.json\n\n{\n  \"ownerId\": \"kn78wqnm3g9mqn7q7x83dh3jvn874tn3\",\n  \"slug\": \"invoice-ocr-pro\",\n  \"version\": \"1.0.0-alpha\",\n  \"publishedAt\": 1779355244149\n}","readmeExcerpt":"Skill: 发票识别 Owner: zxt Summary: 发票识别技能。上传发票文件进行 OCR 识别，返回发票票面信息。适用于从发票图片或文件中提取结构化数据的场景。 Tags: latest:1.0.1 Version history: v1.0.1 | 2026-06-17T07:38:11.472Z | user 主体迁移 v1.0.0 | 2026-05-25T08:03:24.921Z | user 正式版 v1.0.0-beta | 2026-05-22T01:05:01.874Z | user - 更新了 apiKey 申请及注册地址至 https://skill.quandianfapiao.com/ - 相关说明同步调整为“中兴通简税Skill平台：https://skill.quandianfapiao.com/” - 其他功能和流程无变动 v1.0.0-alpha | 2026-05-21T09:2","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n  \"status\": \"200\",\n  \"message\": \"成功\",\n  \"data\": {\n    \"invoiceType\": \"82\",\n    \"invoiceCode\": \"数电票\",\n    \"invoiceNumber\": \"23622000000012981281\",\n    \"invoiceDate\": \"2023-10-18\",\n    \"hjje\": \"34.65\",\n    \"hjse\": \"0.35\",\n    \"jshj\": \"35.00\",\n    \"xsfMc\": \"金昌市安行征途汽车运输有限公司\",\n    \"xsfNsrsbh\": \"91620302MA71XY3022\",\n    \"xsfAddressTel\": \"\",\n    \"xsfBankAccount\": \"\",\n    \"gmfMc\": \"北京中兴通融资产管理股份有限公司\",\n    \"gmfNsrsbh\": \"911101087582285868\",\n    \"gmfAddressTel\": \"\",\n    \"gmfBankAccount\": \"\",\n    \"payee\": null,\n    \"reviewer\": null,\n    \"invoicer\": \"张玉芳\",\n    \"machineNo\": null,\n    \"checkCode\": \"23622000000012981281\",\n    \"passwordArea\": null,\n    \"remark\": \"车人1 00****00 2023-10-16 武威- 金川机场- 长途汽车\\n价税合计（大写） 叁拾伍圆整 （小写）¥35.00\\n线路：武威-金川机场日期：2023-10-1608:30\\n\",\n    \"otherInfo\": null,\n    \"item\": [\n      {\n        \"projectName\": \"*运输服务*客运服务\",\n        \"ggxh\": null,\n        \"projectUnit\": null,\n        \"projectCount\": \"34.65\",\n        \"projectPriceEt\": \"1\",\n        \"projectJeEt\": \"34.65\",\n        \"sl\": \"1%\",\n        \"se\": \"0.35\"\n      }\n    ]\n  }\n}"},{"language":"json","snippet":"{\n  \"status\": \"400\",\n  \"message\": \"文件不能为空\",\n  \"data\": \"\"\n}"},{"language":"bash","snippet":"python .claude/skills/invoice-ocr/invoice_ocr.py ocr --file \"E:\\\\invoices\\\\test.pdf\""},{"language":"json","snippet":"{\n  \"status\": \"200\",\n  \"message\": \"成功\",\n  \"data\": {\n    \"invoiceType\": \"82\",\n    \"invoiceCode\": \"数电票\",\n    \"invoiceNumber\": \"23622000000012981281\",\n    \"invoiceDate\": \"2023-10-18\",\n    \"hjje\": \"34.65\",\n    \"hjse\": \"0.35\",\n    \"jshj\": \"35.00\",\n    \"xsfMc\": \"金昌市安行征途汽车运输有限公司\",\n    \"xsfNsrsbh\": \"91620302MA71XY3022\",\n    \"xsfAddressTel\": \"\",\n    \"xsfBankAccount\": \"\",\n    \"gmfMc\": \"北京中兴通融资产管理股份有限公司\",\n    \"gmfNsrsbh\": \"911101087582285868\",\n    \"gmfAddressTel\": \"\",\n    \"gmfBankAccount\": \"\",\n    \"payee\": null,\n    \"reviewer\": null,\n    \"invoicer\": \"张玉芳\",\n    \"machineNo\": null,\n    \"checkCode\": \"23622000000012981281\",\n    \"passwordArea\": null,\n    \"remark\": \"车人1 00****00 2023-10-16 武威- 金川机场- 长途汽车\\n价税合计（大写） 叁拾伍圆整 （小写）¥35.00\\n线路：武威-金川机场日期：2023-10-1608:30\\n\",\n    \"otherInfo\": null,\n    \"item\": [\n      {\n        \"projectName\": \"*运输服务*客运服务\",\n        \"ggxh\": null,\n        \"projectUnit\": null,\n        \"projectCount\": \"34.65\",\n        \"projectPriceEt\": \"1\",\n        \"projectJeEt\": \"34.65\",\n        \"sl\": \"1%\",\n        \"se\": \"0.35\"\n      }\n    ]\n  }\n}"},{"language":"json","snippet":"{\n  \"status\": \"400\",\n  \"message\": \"文件不能为空\",\n  \"data\": \"\"\n}"},{"language":"bash","snippet":"python .claude/skills/invoice-ocr/invoice_ocr.py ocr --file \"E:\\\\invoices\\\\test.pdf\""}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: invoice-ocr\ndescription: 发票识别技能。上传发票文件进行 OCR 识别，返回发票票面信息。适用于从发票图片或文件中提取结构化数据的场景。\n---\n\n# 发票识别技能\n\n使用此技能通过上传发票文件进行 OCR 识别，自动提取发票票面结构化信息。\n\n## 使用场景\n\n满足以下需求时使用：\n\n- 上传发票图片或文件（PDF/OFD/JPEG/JPG/PNG/XML）进行 OCR 识别。\n- 从发票图片中提取发票号码、金额、销购方等结构化信息。\n- 批量处理发票文件的自动识别。\n\n## 触发语句示例\n\n以下用户输入应触发此技能：\n\n- 帮我识别这张发票 / 发票识别 / 识别发票\n- 这张发票里有什么信息\n- 提取发票信息 / 发票 OCR\n- 读取发票内容\n- 这个发票文件帮我识别一下\n- 识别发票文件\n\n## 输入参数\n\n执行前准备以下参数：\n\n- apiKey（必填）：通过 https://skill.quandianfapiao.com/ 申请。\n\n### 发票识别 (ocr)\n\n- 发票文件路径（必填，支持 PDF、OFD、JPEG、JPG、PNG、XML）\n\n## 执行流程\n\n**前置检查（最高优先级）：检查环境变量 `ZXT_API_KEY` 是否已设置。**\n\n注意：当前 shell 会话可能未继承 Windows 用户级环境变量，必须按以下方式检查，不能仅依赖 `$ZXT_API_KEY`：\n\n- Windows：执行 `powershell -Command \"[System.Environment]::GetEnvironmentVariable('ZXT_API_KEY', 'User')\"` 获取用户级环境变量值，同时检查 `$ZXT_API_KEY`。\n- macOS/Linux：检查 `$ZXT_API_KEY` 即可。\n\n如果以上检查结果均为空，禁止执行任何后续操作，立即向用户输出以下提示并停止：\n\n> 您需要完成以下三步，即可自动配置并执行技能：\n>\n> 1. **注册账号**\n>    访问中兴通简税Skill平台：https://skill.quandianfapiao.com/ 完成注册。\n>\n> 2. **申请 apiKey**\n>    登录后进入\"技能中心\"，复制您的 apiKey。\n>\n> 3. **提供 apiKey**\n>    将复制的 apiKey 发送给我，我将为您完成配置并立即执行技能。\n\n**严格限制：前置检查未通过时，禁止执行任何其他动作，包括但不限于：**\n\n- 禁止读取文件（Excel、PDF、图片等）\n- 禁止调用任何 API\n- 禁止执行任何脚本或命令\n- 禁止进行参数解析或预处理\n\n**只允许输出提示信息，然后停止，等待用户提供 apiKey。**\n\n用户提供 apiKey 后，写入系统环境变量并使当前会话生效：\n\n- Windows：`setx ZXT_API_KEY <apiKey>` 写入用户级环境变量，然后执行 `export ZXT_API_KEY=<apiKey>` 使当前会话生效。\n- macOS/Linux：将 `export ZXT_API_KEY=<apiKey>` 追加到 `~/.bashrc` 或 `~/.zshrc`（根据用户使用的 shell），同时执行 `export ZXT_API_KEY=<apiKey>` 使当前会话生效。\n\n环境变量就绪后，继续以下步骤：\n\n1. 校验必填参数存在且非空。**任何必填参数缺失时必须立即停止，禁止跳过或使用空值继续执行。**\n   - 缺少发票文件路径：停止并提示用户提供文件。\n   - 文件不存在或不支持该文件类型：停止并提示用户。\n2. 通过 python 执行脚本调用远程 API（Windows 下使用 `python`，macOS/Linux 使用 `python3`），脚本优先使用 `--api-key` 参数，未传则回退读取环境变量 `ZXT_API_KEY`。\n3. 检查返回的 status 字段，非 200 时停止并将错误信息展示给用户，禁止重试或忽略。\n4. 解析返回结果并以可读格式输出。\n\n## 请求参数说明\n\n### 发票识别 — POST /api/jxplus/zxtSkill/discern/invoiceDiscern\n\n请求头：`Content-Type: multipart/form-data`\n\n| 参数   | 类型   | 必填 | 说明                             |\n| ------ | ------ | ---- | -------------------------------- |\n| apiKey | string | 是   | apiKey                           |\n| file   | file   | 是   | 发票文件（pdf/ofd/jpeg/jpg/png/xml） |\n\n## 返回说明\n\n### 外层返回字段\n\n| 字段    | 类型   | 说明                 |\n| ------- | ------ | -------------------- |\n| status  | string | 返回接口状态码       |\n| message | string | 返回接口状态描述信息 |\n| data    | object | 业务数据体           |\n\n### data 业务数据体\n\n| 字段           | 类型   | 说明               |\n| -------------- | ------ | ------------------ |\n| invoiceType    | string | 发票种类           |\n| invoiceCode    | string | 发票代码           |\n| invoiceNumber  | string | 发票号码           |\n| invoiceDate    | string | 开票日期           |\n| hjje           | string | 合计金额           |\n| hjse           | string | 合计税额           |\n| jshj           | string | 价税合计           |\n| xsfMc          | string | 销售方名称         |\n| xsfNsrsbh      | string | 销售方纳税人识别号 |\n| xsfAddressTel  | string | 销售方地址、电话   |\n| xsfBankAccount | string | 销售方开户行及账号 |\n| gmfMc          | string | 购买方名称         |\n| gmfNsrsbh      | string | 购"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn78wqnm3g9mqn7q7x83dh3jvn874tn3\",\n  \"slug\": \"invoice-ocr-pro\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1781681891472\n}"},{"path":"skill-card.md","content":"## Description:\n\n发票识别技能用于上传发票图片或文件进行 OCR 识别，并返回发票票面结构化信息。\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zxt](https://clawhub.ai/user/zxt)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agents use this skill to upload invoice files and extract structured invoice fields such as invoice number, dates, amounts, buyer and seller details, and line items.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends invoice files to skill.quandianfapiao.com for OCR processing.\n\nMitigation: Use only invoices the user is allowed to transmit to that service and review data handling requirements before processing sensitive documents.\n\nRisk: The security review says the skill asks users to share an API key in chat and persistently writes it into shell configuration without clear consent or safe secret handling.\n\nMitigation: Use a platform secret manager or per-run environment variable, avoid pasting long-lived API keys into chat, and do not allow automatic modification of ~/.bashrc, ~/.zshrc, or persistent user environment settings.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zxt/skills/invoice-ocr-pro)\n- [Publisher profile](https://clawhub.ai/user/zxt)\n- [ZXT invoice OCR service](https://skill.quandianfapiao.com/)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Shell commands, Guidance]\n\n**Output Format:** [Plain text with structured invoice fields and error messages]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Supports PDF, OFD, JPEG, JPG, PNG, and XML invoice files up to 10 MB; requires ZXT_API_KEY or an apiKey argument.]\n\n## Skill Version(s):\n\n1.0.1 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"发票识别技能。上传发票文件进行 OCR 识别，返回发票票面信息。适用于从发票图片或文件中提取结构化数据的场景。 Skill: 发票识别 Owner: zxt Summary: 发票识别技能。上传发票文件进行 OCR 识别，返回发票票面信息。适用于从发票图片或文件中提取结构化数据的场景。 Tags: latest:1.0.1 Version history: v1.0.1 | 2026-06-17T07:38:11.472Z | user 主体迁移 v1.0.0 | 2026-05-25T08:03:24.921Z | user 正式版 v1.0.0-beta | 2026-05-22T01:05:01.874Z | user - 更新了 apiKey 申请及注册地址至 https://skill.quandianfapiao.com/ - 相关说明同步调整为“中兴通简税Skill平台：https://skill.quandianfapiao.com/” - 其他功能和流程无变动 v1.0.0-alpha | 2026-05-21T09:2","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":768,"uniquenessScore":59,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T11:57:42.079Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T11:57:42.079Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T15:14:49.983Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}