Improve first-run and channel setup for non-technical users: detect newer Gemini key formats, pin Node 22.22.3, add Control Panel Telegram approve flow, and keep channels/models when config is rewritten. Persist uclaw wizard state via uclaw-meta.json so restarts skip language/persona prompts. Co-authored-by: Cursor <cursoragent@cursor.com>
56 lines
1.6 KiB
Markdown
56 lines
1.6 KiB
Markdown
---
|
|
name: qrcode-maker
|
|
description: "QR code generator - turn links, text or WiFi details into a QR image. Fully offline."
|
|
metadata: { "openclaw": { "emoji": "🔳" } }
|
|
---
|
|
|
|
# QR Code Generator
|
|
|
|
Turn links, text, contact details or WiFi credentials into a QR code image.
|
|
Generated offline — nothing is sent anywhere.
|
|
|
|
## What it does
|
|
|
|
- **Link / text codes**: any content to a PNG
|
|
- **WiFi codes**: scan to join, no typing the password
|
|
- **Terminal preview**: render the code as ASCII art in the conversation
|
|
|
|
## How to run it
|
|
|
|
Use the Bash tool with Python's `qrcode` library — small and fully local.
|
|
|
|
```bash
|
|
python -c "import qrcode" 2>/dev/null || pip install -q "qrcode[pil]"
|
|
|
|
# Link or text -> PNG
|
|
python - <<'PY'
|
|
import qrcode
|
|
qrcode.make("https://u-claw.org").save("qrcode.png")
|
|
print("saved -> qrcode.png")
|
|
PY
|
|
|
|
# WiFi code (scan to connect)
|
|
python - <<'PY'
|
|
import qrcode
|
|
ssid, pwd, enc = "MyWiFi", "password123", "WPA" # enc: WPA / WEP / nopass
|
|
data = f"WIFI:T:{enc};S:{ssid};P:{pwd};;"
|
|
qrcode.make(data).save("wifi-qr.png")
|
|
print("saved WiFi code -> wifi-qr.png")
|
|
PY
|
|
|
|
# ASCII preview, no file written
|
|
python - <<'PY'
|
|
import qrcode
|
|
q = qrcode.QRCode(); q.add_data("https://u-claw.org"); q.make()
|
|
q.print_ascii(invert=True)
|
|
PY
|
|
```
|
|
|
|
## Working notes
|
|
|
|
- Confirm what the user wants encoded, and whether they want a file saved
|
|
- After generating, use the Read tool to show the PNG back to the user
|
|
- Long content produces a dense, hard-to-scan code — suggest a short link instead
|
|
- WiFi passwords are credentials: write them to the local PNG only, never echo
|
|
them into a message or a filename
|