⚡ LNBits Wallet wtih QR Code - LNBits 钱包管理(含二维码)
v1.0.2通过 LNbits 接口管理 Lightning 钱包,可查询余额、生成带二维码的发票、解码及支付发票,支持本地临时二维码文件生成。
6· 2.0万·14 当前·16 累计
此技能需要访问外网资源,可能需要科学上网
安全扫描
OpenClaw
安全
high confidence技能的代码、运行指令以及所需的环境变量均与其声明的目的(管理 LNbits 钱包)相符;未出现超出需求的权限、意外的安装程序或隐藏的端点,但需注意妥善处理 create 命令输出的 adminkey,以及 SKILL.md 对严格输出格式的要求。
评估建议
该技能能够按声明执行:调用 LNbits 实例查询余额、生成(含二维码)发票、解码并支付发票。使用前请注意以下事项:
- 保持 LNBITS_API_KEY 的机密性。create 命令会在终端打印 adminkey/base_url,SKILL.md 要求助手不要在聊天中粘贴这些信息,务必自行复制到环境变量中。
- 如有可能,请使用最小权限的 token(若 LNbits 支持受限令牌),避免使用全权限的 admin key 进行仅只读操作。
- 生成二维码需要可选的 Python 包 qrcode[pil];若未安装依旧可以生成发票文本,只是不会生成图片文件。
- SKILL.md 强制使用单行 `MEDIA:` 格式返回二维码路径,示例路径与实际脚本生成的相对路径可能略有差异,代理转发时必须保持路径原样且不要泄露机密信息。
- 脚本仅访问配置的 LNBITS_BASE_URL,不会请求其他网络端点。建议先在测试/演示钱包上本地运行脚本确认行为,再使用生产环境的 admin key。
如需更高可信度,请手动在演示实例上测试 CLI,检查 .lnbits_qr 目录下的文件,并确保助...详细分析 ▾
✓ 用途与能力
名称/描述与请求的环境变量(LNBITS_API_KEY、LNBITS_BASE_URL)以及随附的 CLI 相匹配。所需的二进制文件 python3 和可选的 Python 依赖 qrcode[pil] 适用于生成发票/二维码并调用 LNbits API。未请求与 LNbits 钱包管理无关的内容。
ℹ 指令范围
SKILL.md 明确要求保密和确认,并指示运行捆绑的 CLI。它强制使用精确的响应格式(展示 payment_request 并在同一行输出 MEDIA:<path>)。总体可接受,但有两点需注意:(1) create 命令会将 adminkey/base_url 打印到标准输出,SKILL.md 要求助手不要在聊天中回显这些机密——这依赖于代理实际遵守规则;(2) SKILL.md 示例中的 MEDIA 路径如 './clawd/.lnbits_qr/...' 与 CLI 实际生成的 './.lnbits_qr/...' 相对路径不完全一致,代理必须确保转发 CLI 返回的完整文件路径且不泄露机密信息。
✓ 安装机制
未提供安装规范,仅包含脚本说明。不存在从外部或不可信 URL 下载或解压的行为。唯一的安装时依赖是 Python 包 qrcode[pil],在元数据中已标明——风险低。
✓ 凭证需求
该技能需要两个环境变量:LNBITS_API_KEY(主要)和 LNBITS_BASE_URL。两者都是与 LNbits 实例交互所必需的,未请求其他无关凭证或系统配置路径。
✓ 持久化与权限
该技能非始终启用,也不请求提升平台权限。它不修改其他技能或系统全局设置。CLI 会在本地的 .lnbits_qr 目录写入临时二维码文件(持久化有限),文件会在 5 分钟后自动清理。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.22026/2/7
- 将发票二维码的返回方式从 IMAGE: 改为 MEDIA: 并跟随文件路径,确保正确处理二维码图片。 - 将发票二维码的默认保存路径从 /tmp/lnbits_qr/ 调整为 ./.lnbits_qr/,统一二维码图片位置。 - 更新示例和说明,使其符合新的响应格式(MEDIA: 与路径同在一行)。 - 未更改任何命令或协议,仅修改了二维码图片的输出格式和文件路径。
● 无害
安装命令
点击复制官方npx clawhub@latest install lnbits-with-qrcode
镜像加速npx clawhub@latest install lnbits-with-qrcode --registry https://cn.longxiaskill.com 镜像可用
国内专用pip install -i https://pypi.tuna.tsinghua.edu.cn/simple qrcode[pil]
本土化适配说明
该技能仅需 Python3 环境,可选安装 qrcode[pil] 用于生成二维码,未安装时仍可生成发票但不生成图片文件。
技能文档
bash python3 {baseDir}/scripts/lnbits_cli.py create --name "My Wallet"--- name: lnbits description: 管理 LNbits Lightning 钱包(余额、支付、发票) homepage: https://lnbits.com metadata: {"clawdbot":{"emoji":"⚡","requires":{"bins":["python3"],"pip":["qrcode[pil]"],"env":["LNBITS_API_KEY", "LNBITS_BASE_URL"]},"primaryEnv":"LNBITS_API_KEY"}}# LNbits 钱包管理器
让助手能够安全、有效地管理 LNbits Lightning Network 钱包。
🛑 关键协议 🛑
格式:“我即将向 [金额] sats 的 [备注/目的] 发送。是否继续?(y/n)”
- 绝不泄露密钥:请勿展示 Admin Key、User ID 或 Wallet ID 等机密。
- 明确确认:在支付前必须询问 “是/否” 确认。
- 先检查余额:在执行
pay前务必先调用balance,以避免错误。- 发票必须同时返回文本和二维码:生成发票时必须:(a) 显示
payment_request文本供复制,(b) 输出MEDIA:加上qr_file路径,且两者在同一行。禁止省略。使用方法
0. 初始化 / 创建钱包
如果用户尚未拥有 LNbits 钱包,可在演示服务器上为其创建。
bash python3 {baseDir}/scripts/lnbits_cli.py balance操作步骤:> “已创建新钱包。上述命令输出中包含您的 adminkey 和 base_url。请从终端复制这些值并在配置或
- 运行上述命令,CLI 会在终端输出包含
adminkey和base_url的 JSON。- 绝不泄露机密(此处同样适用):请勿在聊天中重复、引用或显示
adminkey或任何输出中的秘密。用户只能在终端看到这些信息。- 用简明语言提示用户,例如:
.env中设置为LNBITS_API_KEY和LNBITS_BASE_URL。请勿在此或任何聊天中粘贴 adminkey。”1. 查询余额
获取当前钱包的 Satoshi 余额。
bash # 带二维码的发票(默认) python3 {baseDir}/scripts/lnbits_cli.py invoice --amount 1000 --memo "Pizza"2. 创建发票(收款)
生成一条 Bolt11 发票以接收资金。默认会生成二维码。amount:金额(单位 sat),整数。 memo:可选备注。 --no-qr:若不需要二维码,可加此参数。
# 不生成二维码的发票 python3 {baseDir}/scripts/lnbits_cli.py invoice --amount 1000 --memo "Pizza" --no-qr
Here is your 100 sat invoice:⚠️ 强制响应格式:生成发票后,回复必须同时包含:
- 供复制的发票文本:完整的
payment_request字符串。- 二维码图片:在同一行输出
MEDIA:加上qr_file的路径。精确格式(务必保持):
lnbc1u1p5abc123...
MEDIA:./clawd/.lnbits_qr/invoice_xxx.png
bash python3 {baseDir}/scripts/lnbits_cli.py qr关键:MEDIA:与文件路径必须在同一行,以便向用户发送二维码图片。2b. 将已有发票转换为二维码
将任意 Bolt11 字符串转换为二维码图片文件。
bash # 第一步:解码以验证金额/备注 python3 {baseDir}/scripts/lnbits_cli.py decode返回示例:{"qr_file": "./.lnbits_qr/invoice_xxx.png", "bolt11": "..."}3. 支付发票(发送)
⚠️ 需要确认:先解码检查金额/备注,确认余额后询问用户,用户确认后再执行支付。
# 第二步:支付(仅在用户确认后执行) python3 {baseDir}/scripts/lnbits_cli.py pay
错误处理
如果 CLI 返回 JSON 错误(例如 {"error": "Insufficient funds"}),请为用户做出简明扼要的说明。不要展示原始堆栈信息。