Local setup
Prerequisites:
- Node.js 19+, pnpm
- OpenClaw installed (see Self-hosting)
- Two phone numbers: one for the OpenClaw bot (its WhatsApp account) and one to message from (your personal phone). You cannot send messages to yourself on WhatsApp.
1
Start the OpenClaw gateway
2
Start the website
http://localhost:3000/dashboard.3
Edit, restart, test
When you change
plugin/index.ts, restart the local gateway to pick up the changes. The website hot-reloads automatically.Use the helper script:CI/CD
LogLife uses two CI/CD pipelines: GitHub Actions for testing and plugin deployment, and Vercel for the website.GitHub Actions secrets
If you fork this repository, you need to add the following secrets in Settings > Secrets and variables > Actions:Vercel environment variables
Set these in your Vercel project settings:Plugin deployment
When plugin changes are pushed tomain, the deploy workflow (.github/workflows/deploy.yml):
- SSHes into the production server
- Pulls the latest code
- Restarts the OpenClaw gateway (graceful — waits for in-flight replies to drain)
- Runs a health check against the plugin endpoints
sessions.json. In-memory verification codes are cleared, but that’s expected (5-minute TTL, users simply re-request).
Health checks
The deploy workflow verifies two things after each restart:GET /loglife/sessions?phone=healthcheckreturns 404 (plugin loaded, searched, found nothing)POST /loglife/verify/checkwith dummy data returns 200 (verify endpoint loaded)
Website deployment
The website deploys to Vercel automatically on push tomain. No gateway restart needed — the website is a separate deployment that connects to the plugin via OPENCLAW_API_URL.
User lifecycle and onboarding tests
Use these commands to verify the V1 onboarding flow and monitor user state while testing.Monitor registered users
One-time check:Remove a user quickly
Use the helper script:V1 onboarding test checklist
1
Start from a clean user state
Remove your test phone with
unregister-user.sh.Confirm
/loglife/users shows your phone is no longer registered.2
Run dashboard onboarding
In the dashboard, enter your phone number and continue the V1 flow:
- register first, 2) send/check verification code.
You should receive a verification code on WhatsApp and complete verification.
3
Verify backend state
Query
/loglife/users and confirm your user appears.The
count increases and your phone appears in users.4
Verify idempotency
Repeat the same registration for the same phone.
Registration should not create duplicates.
5
Verify removal path
Remove the same phone using
/loglife/unregister./loglife/users no longer includes that user.Docs preview
To preview documentation changes locally:http://localhost:3000.