Install
openclaw skills install @scnet-sugon/expense-invoice-ocropenclaw skills install @scnet-sugon/expense-invoice-ocr⚠️ 数据安全警告:本技能会将您指定的本地票据、发票、行程单、医疗单据等文件完整上传到第三方远程 OCR 服务
https://api.scnet.cn。这些文件可能包含个人身份信息(PII)、纳税人识别号、银行账号、金额、病史等敏感内容。请在每次调用前确认:
- 该文件不包含受监管或机密信息;
- 您或您所在的组织已授权将此类数据发送至 Scnet;
- 您明确同意本次上传。 如不符合以上任一条件,请勿使用本技能。
本技能封装了 Sugon-Scnet 企业财务报销 OCR 服务,通过单一接口即可调用 19 种识别能力,高效提取文字及票据信息。
⚠️ 重要:使用前需要申请 Scnet API Token
sc-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)手动配置(推荐)
config/.env 文件,内容如下:# ===== Sugon-Scnet OCR API 配置 =====
# 申请地址:https://www.scnet.cn
SCNET_API_KEY=your_scnet_api_key_here
# API 基础地址(一般无需修改)
SCNET_API_BASE=https://api.scnet.cn/api/llm/v1
SCNET_API_KEY=你的密钥Token 过期后调用会返回 401 或 403 错误。更新方法:重新申请 Token 并替换 config/.env 中的 SCNET_API_KEY。
本技能需要 Python 3.6+ 和 requests 库。请运行以下命令:
pip install requests
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| ocrType | string | 是 | 识别类型枚举。必须为以下之一: • UNIFIED_IDENTIFICATION_OF_FINANC(财务票据统一识别) • VAT_INVOICE(增值税发票) • VAT_TOLL_INVOICE(增值税通行费发票) • VAT_ROLL_INVOICE(增值税卷票) • TAXI_INVOICE(出租车发票) • TRAIN_TICKET(火车票) • AIRPORT_TICKET(航空运输电子客票行程单) • VEHICLE_SALE_INVOICE(机动车销售统一发票) • QUOTA_INVOICE(定额发票) • TOLL_INVOICE(过路过桥费发票) • MEDICAL_INVOICE(医疗发票) • MEDICAL_INPATIENT_INVOICE(医疗住院发票) • MEDICAL_EXPENSE_SETTLEMENT(医疗费用结算单) • TAX_CERTIFICATE(税收完税证明) • NON_TAX_BILL(非税票据) • GENERAL_MACHINE_INVOICE(通用机打发票) • SHIP_TICKET(船票) • BUS_TICKET(汽车票) • RIDE_HAILING_ITINERARY(网约车行程单) • UNIONPAY_POS_RECEIPT(银联POS签购单) |
| filePath | string | 是 | 待识别图片的本地绝对路径。支持 jpg、png、pdf 等常见格式。 |
python .claude/skills/expense_invoice_ocr/scripts/main.py VAT_INVOICE /path/to/invoice.jpg
为避免自动触发导致用户文件被意外上传,不要仅根据关键词自动调用本技能。AI 必须在满足以下全部条件后再执行:
filePath 指向的文件上传到 Scnet 远程 OCR 服务;只有在用户给出明确同意(例如回复“确认上传并识别”)后,才可调用本技能。
示例场景:
/Users/name/Downloads/fapiao.png 上传到 Scnet OCR 服务进行识别。该文件可能包含敏感财务信息,请确认您同意上传且该文件可外传。确认后请回复‘确认上传并识别’。”为避免触发 API 速率限制(10 QPS),请串行调用本技能,即等待前一个识别完成后再发起下一个请求。 如果使用 OpenClaw 的 exec 工具,建议设置 timeout 或 yieldMs 参数,让命令同步执行,避免多个命令同时运行导致并发。
编辑 config/.env 文件:
| 变量名 | 默认值 | 说明 |
|---|---|---|
| SCNET_API_KEY | 必需 | Scnet API 密钥 |
| SCNET_API_BASE | https://api.scnet.cn/api/llm/v1 | API 基础地址(一般无需修改) |
data 字段内。错误: 开头的友好提示。| 问题 | 解决方案 |
|---|---|
| 配置文件不存在 | 创建 config/.env 并填入 Token(参考前置配置) |
| API Key 无效/过期 | 重新申请 Token 并更新 .env 文件 |
| 文件不存在 | 检查提供的文件路径是否正确 |
| 网络连接失败 | 检查网络连接或防火墙设置 |
| 不支持的文件类型 | 确保文件扩展名为允许的类型(参考 API 文档) |
| 401/403/Unauthorized | Token 无效或过期,重新申请并配置 |
| 429 Too Many Requests | 请求过于频繁,技能会自动等待并重试(最多 3 次)。若持续失败,请降低调用频率或联系服务方提高限额。 |