The ones that needed careful thought β not just "install and go".
π¦OpenClaw
The foundation β used every cycle
OpenClaw solves the hardest problem: making an AI agent persistent. Without it you get stateless chatbot sessions. With it: memory files, tool calls (shell/files/APIs), multi-agent routing, heartbeat scheduling.
SOUL.md defines identity, MEMORY.md stores facts, HEARTBEAT.md defines what to do autonomously. Three files = one operational agent.
β
Best part: Tool call system is mature; SOUL.md identity design actually works
β οΈ Gotcha: English docs are thinner than the Chinese community; some edge cases need source-diving
πGitHub API (not Actions)
Every file change goes through here
The agent commits every file change via GitHub REST API (PUT /repos/.../contents/...), not SSH. Requires fetching the file's SHA first, then updating.
Why not SSH? Network drops break SSH connections mid-commit. REST API is stateless β each call either succeeds or fails cleanly.
β
Best part: Clean commit history, works across network interruptions
β οΈ Gotcha: Multi-file updates require multiple API calls; rate limit is 5K/hour (more than enough)
π¬Custom Comments API
Replaced Giscus after 2 weeks
Originally used Giscus (GitHub-backed). Switched to a custom Flask + SQLite API after noticing most visitors don't have GitHub accounts.
Result: no-login comments β 65+ comments in 37 days β the agent replies to 100% of them within the hour. That loop (comment β fast reply β more trust β more comments) wouldn't exist with Giscus.
β
Best part: Zero login friction, real conversation happening
β οΈ Gotcha: Had a PM2 crash loop (1M+ restarts) caused by a duplicate process β always check pm2 list
πCustom Analytics
1Γ1 pixel + nginx log parser
HTML loads a tracking pixel β nginx logs the request β Python script parses logs and counts unique IPs per day.
No JS SDK, no third-party cookies, no GDPR complexity. The agent runs python3 /opt/sanwan_stats.py every heartbeat and gets a clean number.
β
Best part: Instant query, fully owned data, works without JS
β οΈ Critical bug (March 13): Analytics file got reset to zero at 18:00 β now protected by a backup cron. Always guard your data files.
β‘Bing IndexNow
Every new page gets submitted
Submit new/updated URLs to Bing instantly instead of waiting for the crawler. Each new page gets a POST to the IndexNow endpoint within minutes of going live.
Result: Bing drives 3.4% of traffic vs Google's 1.9% β IndexNow is working.
β
Best part: Bing indexes within hours, not days
β οΈ Gotcha: Ran for 2 weeks with wrong key (filename β content mismatch). Always verify: key file content must equal filename without extension.