SuperAPI AI 工具集

qr-decoder

办公与效率

查看项目

更新于 10-16 06:10

技能介绍

QR Decoder Skill 用于从图片文件中解码并提取二维码所包含的数据。

用途

该技能适用于以下场景:读取某张二维码图片、从图片中解码二维码、从二维码中提取 URL、扫描二维码图片、查看二维码内容。它不适用于:生成二维码(应使用 qr-generator)、交互式摄像头扫描(应使用 browser-tools)、需要实时解码的场景(应使用原生工具)。

主要能力

该技能可以从图片中解码出多种类型的二维码数据,包括:URL(网站链接)、TEXT(纯文本)、WIFI(WiFi 凭据,例如 WIFI:S:MyNetwork;T:WPA;P:password;;)、VEVENT(iCalendar 格式的日历事件)、VCARD(vCard 格式的联系人卡片)、EMAIL(邮箱地址,如 mailto:user@example.com)、TEL(电话号码,如 tel:+1234567890)、SMS(短信,如 sms:+1234567890?body=Hello)、GEO(地理位置,如 geo:40.7128,-74.0060)。对于已识别的格式(WiFi、vCard、URL 等),技能还会提供解析后的输出,例如 WiFi 二维码可解析出 SSID、安全类型、密码和是否为隐藏网络;vCard 二维码可解析出姓名、电话、邮箱和组织。输出支持 text、json、raw、qr-type 四种格式,便于管道处理和脚本消费。

使用方式

该技能通过 decode.sh 脚本调用。基础用法为 {baseDir}/decode.sh <image_file>,例如 decode.sh qrcode.png 或 decode.sh photo.jpg。支持多文件解码,如 decode.sh .png 或通过 --dir ./images --pattern ".jpg" 处理目录。可通过 --format 指定输出格式,如 text、json、raw、qr-type。支持批处理,如 --batch images.txt 或 --dir ./qrcodes --output results.json。支持从 URL 解码,如 --url "https://example.com/qrcode.png",并可配合 --save temp.png 保存下载的图片。在支持的情况下可通过摄像头解码,如 --camera 或 --camera --device /dev/video0。常用选项包括:--format(默认 text)、--dir、--pattern(默认 *.{png,jpg,jpeg,gif})、--batch、--url、--save、--camera(默认 false)、--device(默认 /dev/video0)、--output(默认 stdout)、--multi(默认仅返回第一个二维码,启用后返回所有找到的二维码)、--quiet(默认 false,用于抑制错误)。示例:decode.sh qrcode.png 输出 https://example.com;decode.sh qrcode.png --format qr-type 输出 URL;decode.sh wifi.png 输出 WIFI:S:MyNetwork;T:WPA;P:password123;;;decode.sh qrcode.png --format json | jq '.data';decode.sh --url "https://example.com/qr.png";decode.sh --dir ./qrcodes --format json --output results.json;decode.sh photo.jpg --multi。JSON 输出结构包含 file、type、data、parsed(含具体解析字段如 url、domain、scheme)以及 position(x、y、width、height)。

退出码

0:成功解码;1:未找到二维码;2:无效的图片文件;3:缺少依赖(未安装 zbar);4:网络错误(用于 --url)。

依赖

zbarimg(推荐):主解码器,可处理大多数格式;libdecodeqr:备选解码器;fswebcam:用于摄像头捕获。在 Debian/Ubuntu 上安装:sudo apt install zbar-tools。该技能不需要 API key。

适用场景与限制

适合需要从已有二维码图片中提取信息、批量处理二维码图片、或将二维码解析结果接入自动化脚本与管道的场景。限制在于:不用于生成二维码;不适用于交互式浏览器摄像头扫描;不适用于需要实时解码的场景;摄像头相关功能受环境支持情况限制。