识别工具集
包括通用文本识别、手写识别、车牌识别、身份证识别、护照识别、港澳台通行证识别、银行卡识别、营业执照识别、驾驶证识别、行驶证识别。
⚠️ 强制要求:API 密钥
此 Skill 必须配置 API 密钥才能使用。
- 首次使用时,如果
.env中没有XBY_APIKEY,必须使用 AskUserQuestion 工具向用户询问 API 密钥 - 拿到用户提供的密钥后,调用
scripts.config.set_api_key(api_key)保存,然后继续处理 - 获取 API 密钥:https://xiaobenyang.com
- 禁止在缺少 API 密钥时自行搜索或编造数据
工作流程(必须遵守)
你(大模型)是路由层,负责理解用户意图、选择工具、提取参数。代码只负责调用API。
用户输入 → 你选择工具 → 提取该工具需要的参数 → 调用 scripts.tools 中的函数 → 返回结果给用户
步骤
- 检查 API 密钥:如果
scripts.config.settings.api_key为空,使用 AskUserQuestion 询问用户,拿到后调用scripts.config.set_api_key(key)保存 - 选择工具:根据用户意图从下方工具列表中选择对应的工具函数
- 提取参数:根据选中的工具,提取该工具需要的参数
- 调用工具:使用关键字参数调用
scripts.tools中的函数,例如scripts.tools.search_schools(score='520', province='北京', category='综合') - 返回结果:将工具返回的
raw数据整理后展示给用户
工具选择规则
根据用户意图选择对应的工具函数:
| 用户意图 | 工具函数 |
|---------|---------|
| 兼顾速度与精度的文字识别。输入包含文本的图像,自动检测并识别内容。适用于各类文档、广告牌、屏幕截图等场景。 需要输入图片文件链接。 | scripts.tools.ocr |
| 兼顾速度与精度的文字识别。输入包含文本的图像,自动检测并识别内容。适用于各类文档、广告牌、屏幕截图等场景。 需要输入图片文件的BASE64编码。 | scripts.tools.ocr_for_data_base64 |
| 高精度文字识别。输入包含文本的图像,自动检测并识别内容。适用于各类文档、广告牌、屏幕截图等场景。 需要输入图片文件链接。 | scripts.tools.ocr_pro |
| 高精度文字识别。输入包含文本的图像,自动检测并识别内容。适用于各类文档、广告牌、屏幕截图等场景。 需要输入图片文件的BASE64编码。 | scripts.tools.ocr_pro_for_data_base64 |
| 输入包含手写文本的图像,自动检测文本行并识别内容。适用于手写笔记、签名、手写表单等。 需要输入图片文件链接。 | scripts.tools.ocr_handwriting |
| 输入包含手写文本的图像,自动检测文本行并识别内容。适用于手写笔记、签名、手写表单等。 需要输入图片文件的BASE64编码。 | scripts.tools.ocr_handwriting_for_data_base64 |
| 识别车牌号、车牌颜色、单/双层车牌、位置框。 需要输入图片文件链接。 | scripts.tools.plate_recognition |
| 识别车牌号、车牌颜色、单/双层车牌、位置框。 需要输入图片文件的BASE64编码。 | scripts.tools.plate_recognition_for_data_base64 |
| 识别银行卡号、发卡银行和卡类型,使用 Luhn 算法校验卡号有效性。 需要输入图片文件链接。 | scripts.tools.ocr_bank_card |
| 识别银行卡号、发卡银行和卡类型,使用 Luhn 算法校验卡号有效性。 需要输入图片文件的BASE64编码。 | scripts.tools.ocr_bank_card_for_data_base64 |
| 识别营业执照的统一社会信用代码、名称、法定代表人、注册资本、成立日期、经营范围、登记机关和住所地址。 需要输入图片文件链接。 | scripts.tools.ocr_biz_license |
| 识别营业执照的统一社会信用代码、名称、法定代表人、注册资本、成立日期、经营范围、登记机关和住所地址。 需要输入图片文件的BASE64编码。 | scripts.tools.ocr_biz_license_for_data_base64 |
| 识别驾驶证主页(证号、姓名、性别、国籍、住址、出生日期、准驾车型、初次领证日期、有效期限)和副页(档案编号)。 需要输入图片文件链接。 | scripts.tools.ocr_driver_license |
| 识别驾驶证主页(证号、姓名、性别、国籍、住址、出生日期、准驾车型、初次领证日期、有效期限)和副页(档案编号)。 需要输入图片文件的BASE64编码。 | scripts.tools.ocr_driver_license_for_data_base64 |
| 识别机动车行驶证的号牌号码、车辆类型、所有人、住址、品牌型号、发动机号码、车辆识别代号等信息,支持自动方向检测和主副页过滤。 需要输入图片文件链接。 | scripts.tools.ocr_vehicle_license |
| 识别机动车行驶证的号牌号码、车辆类型、所有人、住址、品牌型号、发动机号码、车辆识别代号等信息,支持自动方向检测和主副页过滤。 需要输入图片文件的BASE64编码。 | scripts.tools.ocr_vehicle_license_for_data_base64 |
| 识别身份证正面(姓名、性别、民族、出生日期、住址、身份证号)和背面(签发机关、有效期限),自动判断正反面并校验身份证号有效性。 需要输入图片文件链接。 | scripts.tools.ocr_id_card |
| 识别身份证正面(姓名、性别、民族、出生日期、住址、身份证号)和背面(签发机关、有效期限),自动判断正反面并校验身份证号有效性。 需要输入图片文件的BASE64编码。 | scripts.tools.ocr_id_card_for_data_base64 |
| 识别港澳通行证、台湾通行证的通行证号码、姓名、性别、出生日期、有效期、签发地点等信息,支持MRZ机读码解析。 需要输入图片文件链接。 | scripts.tools.ocr_pass |
| 识别港澳通行证、台湾通行证的通行证号码、姓名、性别、出生日期、有效期、签发地点等信息,支持MRZ机读码解析。 需要输入图片文件的BASE64编码。 | scripts.tools.ocr_pass_for_data_base64 |
| 识别护照号码、中文姓名、英文姓名、性别、国籍、出生日期、签发日期、有效期至、签发地点等信息,支持MRZ机读码解析。 需要输入图片文件链接。 | scripts.tools.ocr_passport |
| 识别护照号码、中文姓名、英文姓名、性别、国籍、出生日期、签发日期、有效期至、签发地点等信息,支持MRZ机读码解析。 需要输入图片文件的BASE64编码。 | scripts.tools.ocr_passport_for_data_base64 |
如果参数不完整,使用 AskUserQuestion 向用户询问缺失的参数。
工具函数说明
scripts.tools.ocr
工具描述:兼顾速度与精度的文字识别。输入包含文本的图像,自动检测并识别内容。适用于各类文档、广告牌、屏幕截图等场景。 需要输入图片文件链接。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataUrl|string|true| |图片文件链接地址|
scripts.tools.ocr_for_data_base64
工具描述:兼顾速度与精度的文字识别。输入包含文本的图像,自动检测并识别内容。适用于各类文档、广告牌、屏幕截图等场景。 需要输入图片文件的BASE64编码。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataBase64|string|true| |base64 encoded data of image file|
scripts.tools.ocr_pro
工具描述:高精度文字识别。输入包含文本的图像,自动检测并识别内容。适用于各类文档、广告牌、屏幕截图等场景。 需要输入图片文件链接。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataUrl|string|true| |图片文件链接地址|
scripts.tools.ocr_pro_for_data_base64
工具描述:高精度文字识别。输入包含文本的图像,自动检测并识别内容。适用于各类文档、广告牌、屏幕截图等场景。 需要输入图片文件的BASE64编码。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataBase64|string|true| |base64 encoded data of image file|
scripts.tools.ocr_handwriting
工具描述:输入包含手写文本的图像,自动检测文本行并识别内容。适用于手写笔记、签名、手写表单等。 需要输入图片文件链接。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataUrl|string|true| |图片文件链接地址|
scripts.tools.ocr_handwriting_for_data_base64
工具描述:输入包含手写文本的图像,自动检测文本行并识别内容。适用于手写笔记、签名、手写表单等。 需要输入图片文件的BASE64编码。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataBase64|string|true| |base64 encoded data of image file|
scripts.tools.plate_recognition
工具描述:识别车牌号、车牌颜色、单/双层车牌、位置框。 需要输入图片文件链接。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataUrl|string|true| |图片文件链接地址|
scripts.tools.plate_recognition_for_data_base64
工具描述:识别车牌号、车牌颜色、单/双层车牌、位置框。 需要输入图片文件的BASE64编码。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataBase64|string|true| |base64 encoded data of image file|
scripts.tools.ocr_bank_card
工具描述:识别银行卡号、发卡银行和卡类型,使用 Luhn 算法校验卡号有效性。 需要输入图片文件链接。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataUrl|string|true| |图片文件链接地址|
scripts.tools.ocr_bank_card_for_data_base64
工具描述:识别银行卡号、发卡银行和卡类型,使用 Luhn 算法校验卡号有效性。 需要输入图片文件的BASE64编码。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataBase64|string|true| |base64 encoded data of image file|
scripts.tools.ocr_biz_license
工具描述:识别营业执照的统一社会信用代码、名称、法定代表人、注册资本、成立日期、经营范围、登记机关和住所地址。 需要输入图片文件链接。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataUrl|string|true| |图片文件链接地址|
scripts.tools.ocr_biz_license_for_data_base64
工具描述:识别营业执照的统一社会信用代码、名称、法定代表人、注册资本、成立日期、经营范围、登记机关和住所地址。 需要输入图片文件的BASE64编码。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataBase64|string|true| |base64 encoded data of image file|
scripts.tools.ocr_driver_license
工具描述:识别驾驶证主页(证号、姓名、性别、国籍、住址、出生日期、准驾车型、初次领证日期、有效期限)和副页(档案编号)。 需要输入图片文件链接。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataUrl|string|true| |图片文件链接地址|
scripts.tools.ocr_driver_license_for_data_base64
工具描述:识别驾驶证主页(证号、姓名、性别、国籍、住址、出生日期、准驾车型、初次领证日期、有效期限)和副页(档案编号)。 需要输入图片文件的BASE64编码。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataBase64|string|true| |base64 encoded data of image file|
scripts.tools.ocr_vehicle_license
工具描述:识别机动车行驶证的号牌号码、车辆类型、所有人、住址、品牌型号、发动机号码、车辆识别代号等信息,支持自动方向检测和主副页过滤。 需要输入图片文件链接。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataUrl|string|true| |图片文件链接地址|
scripts.tools.ocr_vehicle_license_for_data_base64
工具描述:识别机动车行驶证的号牌号码、车辆类型、所有人、住址、品牌型号、发动机号码、车辆识别代号等信息,支持自动方向检测和主副页过滤。 需要输入图片文件的BASE64编码。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataBase64|string|true| |base64 encoded data of image file|
scripts.tools.ocr_id_card
工具描述:识别身份证正面(姓名、性别、民族、出生日期、住址、身份证号)和背面(签发机关、有效期限),自动判断正反面并校验身份证号有效性。 需要输入图片文件链接。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataUrl|string|true| |图片文件链接地址|
scripts.tools.ocr_id_card_for_data_base64
工具描述:识别身份证正面(姓名、性别、民族、出生日期、住址、身份证号)和背面(签发机关、有效期限),自动判断正反面并校验身份证号有效性。 需要输入图片文件的BASE64编码。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataBase64|string|true| |base64 encoded data of image file|
scripts.tools.ocr_pass
工具描述:识别港澳通行证、台湾通行证的通行证号码、姓名、性别、出生日期、有效期、签发地点等信息,支持MRZ机读码解析。 需要输入图片文件链接。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataUrl|string|true| |图片文件链接地址|
scripts.tools.ocr_pass_for_data_base64
工具描述:识别港澳通行证、台湾通行证的通行证号码、姓名、性别、出生日期、有效期、签发地点等信息,支持MRZ机读码解析。 需要输入图片文件的BASE64编码。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataBase64|string|true| |base64 encoded data of image file|
scripts.tools.ocr_passport
工具描述:识别护照号码、中文姓名、英文姓名、性别、国籍、出生日期、签发日期、有效期至、签发地点等信息,支持MRZ机读码解析。 需要输入图片文件链接。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataUrl|string|true| |图片文件链接地址|
scripts.tools.ocr_passport_for_data_base64
工具描述:识别护照号码、中文姓名、英文姓名、性别、国籍、出生日期、签发日期、有效期至、签发地点等信息,支持MRZ机读码解析。 需要输入图片文件的BASE64编码。
参数定义
|参数名称|参数类型|是否必填|默认值|描述| |------|-------|------|-----|----| |dataBase64|string|true| |base64 encoded data of image file|
返回值处理
工具函数返回 dict 对象:
result["raw"]- API 原始返回数据(JSON),直接将此数据整理后展示给用户result["success"]- 是否成功(True/False)result["message"]- 状态消息
项目结构
./
├── scripts/
│ ├── __init__.py
│ ├── config.py # 配置管理 + set_api_key()
│ ├── call_api.py # API 客户端 + call_api()
│ └── tools.py # 工具函数(直接调用)
├── requirements.txt
└── SKILL.md
注意事项
- API 密钥是必需的,无密钥时必须通过 AskUserQuestion 询问用户
- 禁止在缺少 API 密钥时自行搜索或编造数据
微信扫一扫