Install
openclaw skills install ngrok-previewGenerate short-lived, mobile-friendly ngrok preview links for local artifacts and share them in Telegram. Use when OpenClaw produces images/charts/generated files that the user needs to view remotely on phone, and a temporary per-task link is preferred over manual file transfer.
openclaw skills install ngrok-previewProvide a temporary preview window for task outputs. Keep it fast, scoped, and easy: generate link -> send link -> close link.
ngrok config add-authtoken "$NGROK_AUTHTOKEN"
ngrok config check
If token is not preconfigured, pass --auth-token when running the script.
Use this command from the skill directory:
python3 scripts/ngrok_preview.py up \
--title "<task title>" \
--session-id "<task-id>" \
--ttl-minutes 120 \
--source "<artifact-path-1>" \
--source "<artifact-path-2>"
The command returns JSON including:
public_urlexpires_atsession_idstop_commandUse IDs that map to the current conversation/task:
tg-<date>-<topic>task-<short-request-id>This keeps each link tied to one task context.
After up succeeds, send a concise message:
🔗 Temporary preview link (valid for <X> minutes)
<public_url>
Scope: artifacts from this task only
This link will be cleaned up after expiry
If not currently in Telegram, still return the same link format in the active channel.
python3 scripts/ngrok_preview.py down --session-id "<task-id>" --delete-session-dir
python3 scripts/ngrok_preview.py cleanup
# List sessions
python3 scripts/ngrok_preview.py status
# Create preview (auto-generate session id)
python3 scripts/ngrok_preview.py up \
--title "image results" \
--source ./outputs/result-1.png \
--source ./outputs/result-2.png
# Stop latest session
python3 scripts/ngrok_preview.py down
If link creation fails, check references/troubleshooting.md and follow the minimum recovery sequence.