Scnet Ocr
v1.0.5将图片中的文字、通用文字识别, 居民身份证, 银行卡, 社保卡, 户口本, 出生医学证明, 往来港澳通行证, 往来台湾通行证, 台湾居民来往大陆通行证, 港澳居民来往内地通行证, 营业执照, 社会团体法人登记证书, 工会法人资格证书, 宗教活动场所登记证, 民办非企业单位登记证书, 事业单位法人证书, 统一社会信...
Security Scan
Capability signals
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
OpenClaw
Benign
high confidencePurpose & Capability
Name/description, SKILL.md, scripts/main.py and skill.yaml all describe an OCR client that uploads an image and returns structured JSON. Required env var SCNET_API_KEY and optional SCNET_API_BASE are appropriate and expected for a remote OCR API.
Instruction Scope
Instructions and the script operate on a user-supplied local file path and upload that file to the Scnet API. This is expected for OCR, but it means the skill will read and transmit any file path the agent is instructed to use — ensure only image/PDF files are provided. The SKILL.md does not instruct reading any unrelated local configs or secrets.
Install Mechanism
No install spec; code is a simple Python script that requires requests. No downloads from untrusted URLs or archive extraction are present in the bundle.
Credentials
Only SCNET_API_KEY (primary credential) and optional SCNET_API_BASE are requested, which align with the declared remote API usage. The script reads SCNET_API_KEY from environment or config/.env as documented and does not access other credentials or system config paths.
Persistence & Privilege
Skill does not request always: true or elevated privileges. It suggests storing an API key in a local config/.env under the skill directory (standard practice) and warns about permissions; this is within normal expectations.
Assessment
This skill appears to be a straightforward client for the Scnet OCR API. Before installing, consider: 1) Keep your SCNET_API_KEY secret — do not paste it in chat; store it in the recommended config/.env with file mode 600 or set it as an environment variable. 2) When invoking the skill, only provide image/PDF file paths you intend to upload; the script will read and send any file path you give to the remote API (so do not point it at sensitive system files). 3) Confirm the SCNET API endpoint (default https://api.scnet.cn/api/llm/v1) is acceptable for your data‑handling and compliance requirements. 4) If you need stronger isolation, create an API key with limited permissions or test with non-sensitive images first. 5) The repository/homepage in metadata may be generic—if provenance is important, verify the upstream project (repository/homepage) and owner before trusting production data.Like a lobster shell, security has layers — review code before you run it.
latest
Sugon-Scnet 通用 OCR 技能
本技能封装了 Sugon-Scnet 通用 OCR 服务,通过单一接口即可调用 31 种识别能力,高效提取文字及票据信息。
功能特性
- 通用文字识别:提取图片中的全部文字,支持横竖版及坐标定位。
- 个人证照:识别居民身份证, 银行卡, 社保卡, 户口本, 出生医学证明, 往来港澳通行证, 往来台湾通行证, 台湾居民来往大陆通行证, 港澳居民来往内地通行证。
- 行业资质:识别营业执照, 社会团体法人登记证书, 工会法人资格证书, 宗教活动场所登记证, 民办非企业单位登记证书, 事业单位法人证书, 统一社会信用代码证书。
- 财务票据:覆盖增值税发票, 增值税卷票, 出租车发票, 火车票, 航空运输电子客票行程单, 机动车销售统一发票, 定额发票, 过路过桥费发票, 医疗门诊发票, 税收完税证明, 船票, 非税票据, 通用机打发票, 汽车票,自动提取关键字段。
前置配置
⚠️ 重要:使用前需要申请 Scnet API Token
申请 API Token
- 访问 Scnet 官网 注册/登录
- 在控制台申请 API 密钥(格式:
sc-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) - 复制密钥备用
配置 Token
手动配置(推荐)
- 在技能目录下创建
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=你的密钥 - 设置文件权限为 600(仅所有者可读写) ⚠️ 安全警告:切勿将 API Key 直接粘贴到聊天对话中,否则可能被记录或泄露。
Token 更新
Token 过期后调用会返回 401 或 403 错误。更新方法:重新申请 Token 并替换 config/.env 中的 SCNET_API_KEY。
依赖安装
本技能需要 Python 3.6+ 和 requests 库。请运行以下命令:
pip install requests
使用方法
参数说明
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| ocrType | string | 是 | 识别类型枚举。必须为以下之一:<br>• GENERAL(通用文字)<br>• ID_CARD(身份证)<br>• BANK_CARD(银行卡)<br>• SOCIAL_SECURITY_CARD(社保卡)<br>• HOUSEHOLD_REGISTER(户口本)<br>• BIRTH_CERTIFICATE(出生医学证明)<br>• HK_MACAU_PASS(往来港澳通行证)<br>• TAIWAN_PASS(往来台湾通行证)<br>• TAIWAN_MAINLAND_PASS(台湾居民来往大陆通行证)<br>• HK_MAINLAND_PASS(港澳居民来往内地通行证)<br>• BUSINESS_LICENSE(营业执照)<br>• SOCIAL_ORG_REG(社会团体法人登记证书)<br>• TRADE_UNION_REG(工会法人资格证书)<br>• RELIGIOUS_ACTIVITY_REG(宗教活动场所登记证)<br>• PRIVATE_NON_ENTERPRISE_REG(民办非企业单位登记证书)<br>• INSTITUTION_LEGAL_REG(事业单位法人证书)<br>• UNIFIED_SOCIAL_CREDIT_REG(统一社会信用代码证书)<br>• VAT_INVOICE(增值税发票)<br>• VAT_ROLL_INVOICE(增值税卷票)<br>• TAXI_INVOICE(出租车发票)<br>• TRAIN_TICKET(火车票)<br>• AIRPORT_TICKET(航空运输电子客票行程单)<br>• VEHICLE_SALE_INVOICE(机动车销售统一发票)<br>• QUOTA_INVOICE(定额发票)<br>• TOLL_INVOICE(过路过桥费发票)<br>• MEDICAL_INVOICE(医疗门诊发票)<br>• TAX_CERTIFICATE(税收完税证明)<br>• SHIP_TICKET(船票)<br>• NON_TAX_BILL(非税票据)<br>• GENERAL_MACHINE_INVOICE(通用机打发票)<br>• BUS_TICKET(汽车票) |
| filePath | string | 是 | 待识别图片的本地绝对路径。支持 jpg、png、pdf 等常见格式。 |
命令行调用示例
python .claude/skills/scnet-ocr/scripts/main.py VAT_INVOICE /path/to/invoice.jpg
在 AI 对话中使用
用户可以说:
- “帮我识别这张身份证,图片在 /Users/name/Downloads/id.jpg”
- “提取这张发票的信息,路径是 /Users/name/Downloads/fapiao.png”
- “OCR 这个图片里的文字,图片在 /Users/name/Desktop/text.png”
AI 会根据 description 中的关键词自动触发本技能。
AI 调用建议
为避免触发 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 基础地址(一般无需修改) |
输出
- 标准输出:识别结果的 JSON 数据,结构与 API 文档一致,位于
data字段内。 - 识别结果位于 data[0].result[0].elements 中,具体字段取决于 ocrType。
- 错误信息:如果发生错误,会输出以
错误:开头的友好提示。
注意事项
- 本技能调用的 OCR API 有 10 QPS 的速率限制。
- 如果遇到 429 错误,请等待 2-3 秒后重试,不要连续发起请求。
- 建议在调用前确保图片已准备就绪,避免因网络问题导致重复调用。
故障排除
| 问题 | 解决方案 |
|---|---|
| 配置文件不存在 | 创建 config/.env 并填入 Token(参考前置配置) |
| API Key 无效/过期 | 重新申请 Token 并更新 .env 文件 |
| 文件不存在 | 检查提供的文件路径是否正确 |
| 网络连接失败 | 检查网络连接或防火墙设置 |
| 不支持的文件类型 | 确保文件扩展名为允许的类型(参考 API 文档) |
| 401/403/Unauthorized | Token 无效或过期,重新申请并配置 |
| 429 Too Many Requests | 请求过于频繁,技能会自动等待并重试(最多 3 次)。若持续失败,请降低调用频率或联系服务方提高限额。 |
Comments
Loading comments...
