本地生成QR码Skill generate-qr-code-natively

这个技能允许用户在本地环境中生成QR码,无需依赖外部API。通过使用Bash的qrencode工具或Node.js的qrcode包,可以快速创建PNG、SVG格式的QR码或直接在终端显示。适用于隐私敏感的工作流和自动化管道。关键词:QR码生成,本地生成,Bash,Node.js,自动化,隐私保护。

DevOps 0 次安装 0 次浏览 更新于 3/22/2026

name: 本地生成QR码 description: 使用本机CLI和运行时库在Bash和Node.js中本地生成QR码,无需外部API。

本地生成QR码

在本地机器上完全离线创建QR码(无需第三方QR API调用)。

何时使用

  • 用户要求从文本、URL、钱包地址或有效负载生成QR码
  • 隐私敏感的工作流,数据应保持本地
  • 不应依赖外部服务的快速自动化管道

所需工具 / APIs

  • 无需外部API
  • Bash CLI选项:qrencode
  • Node.js选项:qrcode

安装选项:

# Ubuntu/Debian
sudo apt-get update && sudo apt-get install -y qrencode

# Node.js
npm install qrcode

技能

generate_qr_with_bash

直接从shell生成PNG和终端QR。

# 将文本编码为PNG
DATA="https://example.com/report?id=123"
qrencode -o qrcode.png -s 8 -m 2 "$DATA"

# 在终端打印QR(UTF-8块模式)
qrencode -t UTF8 "$DATA"

# SVG输出
qrencode -t SVG -o qrcode.svg "$DATA"

generate_qr_with_nodejs

import QRCode from 'qrcode';

const data = process.argv[2] || 'https://example.com';

async function main() {
  await QRCode.toFile('qrcode.png', data, {
    errorCorrectionLevel: 'M',
    margin: 2,
    width: 512
  });

  const svg = await QRCode.toString(data, { type: 'svg', margin: 2 });
  await import('node:fs/promises').then(fs => fs.writeFile('qrcode.svg', svg));

  const terminal = await QRCode.toString(data, { type: 'terminal' });
  console.log(terminal);
  console.log('Saved: qrcode.png, qrcode.svg');
}

main().catch(err => {
  console.error('QR generation failed:', err.message);
  process.exit(1);
});

运行:

node generate-qr.js "https://example.com/invoice/abc"

代理提示

您正在本地生成QR码,无需调用外部QR APIs。
使用Bash(qrencode)进行快速CLI生成或Node.js(qrcode包)进行程序化控制。
返回:
1) 使用的命令/代码,
2) 输出文件名(png/svg),
3) 简要验证说明(例如,“建议扫描测试”)。
如果依赖缺失,提供安装命令并重试。

最佳实践

  • 保持有效负载简洁以提高扫描可靠性
  • 至少使用错误纠正级别 M 作为一般用途
  • 导出PNG以兼容性,导出SVG以可缩放打印/web使用
  • 生成后用扫描器验证

故障排除

  • qrencode: command not found → 通过包管理器安装 qrencode
  • Node导入错误 → 确保 npm install qrcode 完成
  • 密集/不清晰的QR图像 → 增加图像大小/框大小并减少有效负载长度

另请参阅