核心用法
本 Skill 提供本地二维码生成与识别能力,完全基于 Python 生态实现,无需调用任何外部 API。通过 encode 子命令可将文本、URL 等内容快速编码为 PNG 格式二维码图片,支持自定义版本、容错级别、模块大小、边框宽度及前景背景色等参数;通过 decode 子命令可从本地图片文件中解析二维码内容,返回编码文本及四角坐标信息。
使用前需手动安装依赖:pip install "qrcode[pil]" opencv-python。生成时支持 text/data/url 字段作为编码内容,识别时支持 path/image/file 字段指定图片路径。输出路径默认为 qrcode.png,所有路径均经过安全校验,禁止目录穿越和绝对路径。
显著优点
完全离线:不依赖任何 HTTP 接口,零网络延迟,适合内网环境、隐私敏感场景或 API 配额受限时使用。路径安全完善:内置 _normalize_local_path 函数,禁止 .. 目录穿越和绝对路径,降低文件系统风险。依赖可靠:基于 qrcode[pil](QR Code 标准实现)和 opencv-python(计算机视觉龙头库)两大成熟开源项目,无恶意包风险。参数丰富:支持 4 级容错(L/M/Q/H)、1-40 版本、自定义配色,满足从简单文本到复杂营销场景的需求。组合灵活:可与远程版 jisu-qrcode 技能搭配,本地测试解码、云端生成带 LOGO 模板的高级二维码。
潜在缺点与局限性
手动依赖管理:未提供 requirements.txt,需用户手动安装依赖,版本未锁定可能带来行为差异。无图形界面:纯命令行交互,对非技术用户不够友好。解码能力有限:依赖 OpenCV 的 QR 检测,对复杂背景、低分辨率、严重遮挡或艺术化二维码的识别率可能不及专业扫码 App。无高级功能:不支持直接生成带 LOGO、渐变色彩、矢量格式(SVG)或动态二维码,这些需配合云端服务实现。错误处理较简单:文件不存在、图片损坏等场景返回基础错误信息,缺乏详细的故障排查指引。
适合的目标群体
- 开发者与运维人员:需要批量生成二维码、在 CI/CD 流程中嵌入二维码步骤、或在内网环境进行二维码相关开发测试。
- 隐私敏感用户:不希望 URL/文本内容流经第三方 API,要求数据完全本地处理。
- OpenClaw/ClawHub 平台用户:已在该平台生态中工作,需要与远程二维码服务形成互补的离线工具。
- 教育场景:用于教学演示 QR Code 编码原理,代码简洁易于理解。
使用风险
依赖安装风险:opencv-python 体积较大(约 100MB+),在资源受限环境安装可能耗时或失败;若使用镜像源需警惕 typosquatting 攻击。路径权限风险:虽已实现路径安全校验,但仍需确保进程对输出目录有写入权限,否则生成失败。资源消耗风险:大尺寸二维码(高版本+大 box_size)可能生成占用较多内存的图像,建议在服务端控制参数范围。解码可靠性风险:复杂场景下识别失败率高于商用扫码 SDK,关键业务建议人工复核或备用方案。版本兼容性:Python 3 环境必备,未测试 Python 2 兼容性;OpenCV 版本差异可能影响解码行为。