qrcode-scan

QR code scanning and generation. Invoke when user needs to scan/decode QR codes from images, generate QR codes (text, URL, WiFi), or mentions QR code related tasks.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "qrcode-scan" with this command: npx skills add moxin1044/qrcode-scan

QR Code Scan & Generate

基于 qrcodepyzbar 的二维码扫描和生成工具。

When to Use This Skill

当用户有以下请求时,应该激活此技能:

  • 扫描/解码二维码

    • "扫描这个二维码图片"
    • "解码二维码"
    • "读取二维码内容"
    • "这个二维码是什么"
  • 生成二维码

    • "生成一个二维码"
    • "创建二维码"
    • "把这段文字转成二维码"
    • "生成网址二维码"
  • WiFi 二维码

    • "生成 WiFi 二维码"
    • "创建 WiFi 分享码"
    • "解析 WiFi 二维码"

依赖安装

pip install qrcode pillow pyzbar

注意:Windows 用户可能需要安装 Visual C++ Redistributable,详见 pyzbar 文档

支持的输入格式

扫描二维码输入

  • 文件路径:本地图片文件路径
  • URL:网络图片地址
  • Base64:Base64 编码的图片数据

生成二维码输出

  • PNG 图片文件:保存到指定路径
  • Base64 字符串:返回 Base64 编码的图片

命令行使用

(注意:如果想要更快速和节省Token,你应该优先使用命令行的方式!)

扫描二维码

python scripts/main.py scan <input> [--format json]

参数:

  • input:图片路径、URL 或 base64 数据
  • --format json:以 JSON 格式输出结果

生成二维码

python scripts/main.py generate <content> --output <path> [--type text|url|wifi]

参数:

  • content:要编码的内容
  • --output:输出文件路径(可选,不指定则输出 base64)
  • --type:二维码类型(text/url/wifi,默认 text)

生成 WiFi 二维码

python scripts/main.py wifi --ssid <SSID> --password <PASSWORD> --security WPA --output <path>

参数:

  • --ssid:WiFi 名称
  • --password:WiFi 密码
  • --security:加密类型(WPA/WEP/NONE,默认 WPA)
  • --output:输出文件路径(可选)

Python API 使用

快速开始

from scripts.main import scan_qrcode, generate_qrcode, generate_wifi_qrcode

# 扫描二维码
result = scan_qrcode("qrcode.png")
print(result)  # 解码内容

# 生成文字二维码
generate_qrcode("Hello World", output_path="output.png")

# 生成 URL 二维码
generate_qrcode("https://example.com", qr_type="url", output_path="url_qr.png")

# 生成 WiFi 二维码
generate_wifi_qrcode("MyWiFi", "password123", security="WPA", output_path="wifi_qr.png")

从 Base64 扫描

from scripts.main import scan_qrcode

# base64 字符串(支持带或不带 data:image 前缀)
result = scan_qrcode("data:image/png;base64,iVBORw0KGgo...")
# 或纯 base64
result = scan_qrcode("iVBORw0KGgo...", input_type="base64")

从 URL 扫描

from scripts.main import scan_qrcode

result = scan_qrcode("https://example.com/qrcode.png")

解析 WiFi 二维码

from scripts.main import scan_qrcode, parse_wifi_qrcode

result = scan_qrcode("wifi_qr.png")
wifi_info = parse_wifi_qrcode(result)
print(wifi_info)
# {'ssid': 'MyWiFi', 'password': 'password123', 'security': 'WPA'}

API Reference

scan_qrcode(input_data, input_type=None, format_json=False)

扫描并解码二维码图片。

参数:

参数类型必需说明
input_datastr图片路径、URL 或 base64 数据
input_typestr输入类型:file/url/base64,自动检测
format_jsonbool是否返回 JSON 格式结果

返回值:

  • strdict:解码内容,多个二维码时返回列表

异常:

  • FileNotFoundError:文件不存在
  • ValueError:无法解码二维码
  • ImportError:缺少依赖库

generate_qrcode(content, output_path=None, qr_type='text', size=10, border=4)

生成二维码图片。

参数:

参数类型必需说明
contentstr要编码的内容
output_pathstr输出文件路径,不指定则返回 base64
qr_typestr二维码类型:text/url/wifi
sizeint二维码尺寸(每个模块的像素数)
borderint边框宽度(模块数)

返回值:

  • str:base64 编码的图片(未指定 output_path 时)
  • None:保存到文件(指定 output_path 时)

generate_wifi_qrcode(ssid, password, security='WPA', output_path=None, hidden=False)

生成 WiFi 配置二维码。

参数:

参数类型必需说明
ssidstrWiFi 名称
passwordstrWiFi 密码
securitystr加密类型:WPA/WEP/NONE
output_pathstr输出文件路径
hiddenbool是否隐藏网络

返回值:

  • str:base64 编码的图片或 None

parse_wifi_qrcode(content)

解析 WiFi 二维码内容。

参数:

参数类型必需说明
contentstr二维码解码内容

返回值:

  • dict:包含 ssidpasswordsecurity 的字典
  • None:如果不是有效的 WiFi 二维码

最佳实践

  1. 扫描二维码

    • 确保图片清晰,分辨率足够
    • 支持常见格式:PNG、JPEG、BMP、GIF
    • 图片中可以有多个二维码,会全部返回
  2. 生成二维码

    • 内容越长,二维码越复杂
    • 建议使用 size=10 以上保证可扫描性
    • URL 类型会自动验证格式
  3. WiFi 二维码

    • 使用 WPA 加密最常见
    • 密码可能包含特殊字符,会自动处理
    • 扫描后手机可直接连接 WiFi

完整示例

from scripts.main import scan_qrcode, generate_qrcode, generate_wifi_qrcode, parse_wifi_qrcode

# 生成并扫描 URL 二维码
generate_qrcode("https://github.com", output_path="github_qr.png")
result = scan_qrcode("github_qr.png")
print(f"扫描结果: {result}")

# 生成 WiFi 二维码
generate_wifi_qrcode(
    ssid="MyHomeWiFi",
    password="MySecurePassword123",
    security="WPA",
    output_path="wifi_qr.png"
)

# 解析 WiFi 二维码
wifi_content = scan_qrcode("wifi_qr.png")
wifi_info = parse_wifi_qrcode(wifi_content)
print(f"WiFi 信息: SSID={wifi_info['ssid']}, 密码={wifi_info['password']}")

# 从 base64 生成并获取 base64 输出
base64_qr = generate_qrcode("Hello World")
print(f"Base64 QR: {base64_qr[:50]}...")

# 扫描网络图片
result = scan_qrcode("https://example.com/qrcode.png")

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

YiHui GIT MONITOR

通用 Git 项目监控工具。支持 GitHub、GitLab、Gitee 等所有 Git 平台。可以添加、删除、检查任意 Git 仓库的更新,自动拉取代码并生成变更摘要。

Registry SourceRecently Updated
00Profile unavailable
Coding

Workspace Governance

A methodology-first workspace governance skill for AI agents. Focuses on principles, decision framework, and safe execution patterns instead of fixed directo...

Registry SourceRecently Updated
Coding

Nox Influencer - Creator Discovery & Influencer Marketing

Runs NoxInfluencer creator and marketing-ops workflows via CLI, including creator discovery for influencer marketing, creator marketing, UGC, social media ma...

Registry SourceRecently Updated
Coding

Gigo Lobster Doctor

🦞 GIGO · gigo-lobster-doctor: 环境体检模式:只检查 gateway、Python 依赖、题包链路与 PNG 证书能力,不跑正式试吃。 Triggers: 龙虾体检 / 检查龙虾环境 / lobster doctor / check lobster environment.

Registry SourceRecently Updated