Install
openclaw skills install live-previewShare a live preview of a website under development via aitun tunnel, with hot-reload support so users see changes in real time as you edit. Perfect for AI agents that iteratively build or modify websites and need user feedback.
openclaw skills install live-previewUse this skill when:
Do NOT use this skill when:
pip install aitun
Or verify it is already installed:
which aitun || pip show aitun
Start the local dev server with hot-reload enabled. The command depends on your framework:
# For a static HTML directory (use a live-reload tool)
pip install livereload
python3 -c "
from livereload import Server, shell
server = Server()
server.watch('/path/to/html/dir')
server.serve(root='/path/to/html/dir', port=8080)
" &
DEV_PID=$!
sleep 2
# For Next.js
npm run dev -- -p 8080 &
# For Vite
npx vite --port 8080 --host &
# For Flask
flask run --port 8080 --host 0.0.0.0 &
# For any HTTP server (no auto-reload)
python3 -m http.server 8080 --directory /path/to/html/dir &
Expose the dev server to the internet:
aitun -p 8080 &
AITUN_PID=$!
sleep 3
The output will contain the public URL, e.g.:
https://aitun.cc/abc123Your live preview is ready: https://aitun.cc/abc123
I'm still working on it — just refresh the page to see my latest changes.
This preview link will remain active while I'm editing.
Continue editing files in your project directory. As you save changes:
After each significant change, notify the user:
I've updated the navigation bar — refresh the page to see it.
When the preview session is complete, stop the servers:
kill $AITUN_PID 2>/dev/null
kill $DEV_PID 2>/dev/null
The aitun command (installed via pip install aitun) accepts these flags:
| Flag | Description |
|---|---|
-p PORT | Local service port (default: 8080) |
-k TOKEN | Auth token for registered subdomain (omit for free tunnel) |
--host HOST | Local service address (default: localhost) |
--tcp-ports PORTS | TCP forwarding ports, comma-separated (e.g., 22,3306; requires -k) |
--p2p | Enable P2P direct connection (default: enabled) |
--no-p2p | Disable P2P, force server relay mode |
--daemon | Run as background daemon |
--stop | Stop running daemon |
aitun.cc/abc123), NOT subdomainslivereload package to enable auto-refresh