* docs: rewrite README around first-run value and support positioning
* docs: add screenshot refresh brief and trim README repetition
* docs: refresh README hero screenshots
---------
Co-authored-by: Tao <dtzp555@gmail.com>
* Fix localized startup status text
* Improve startup UX and docs positioning
* Clean up guide section numbering
* Docs: merge remaining channel support notes
---------
Co-authored-by: Tao <dtzp555@gmail.com>
main agent in OpenClaw has no explicit binding - it's the default catch-all.
Previous code required explicit binding with accountId && !peer to detect
root agents, causing main and its sub-agents to appear as orphan independents.
Now main is always treated as root, with accountId inferred from first
unclaimed telegram account in channels.telegram.accounts.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- POST /api/agents/bot now creates agents/<id>/sessions/ runtime directory
- POST /api/agents (sub-agent) also creates agents/<id>/sessions/
- Add Agent form now includes Purpose and Personality fields
- Personality keywords generate structured SOUL.md, empty uses default growth prompt
- Notes now remind to restart gateway for new bots
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Main agents displayed horizontally side-by-side (flex row)
- Sub-agents drop below their respective parent agent
- Main agent now shows defaults.workspace path
- All agents get "View Files" button regardless of root/sub status
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Each agent with hasOwnBot is rendered as independent tree root (not all under "main")
- Layout changed: buttons centered top, agent tree below (max 720px centered)
- Added expand/collapse toggle at top of sub-agent branch line
- API returns accountId/parentAccountId for proper tree grouping
- Event delegation for agent tree actions (data-action attributes)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- New Dashboard landing tab with system info, gateway health, agent stats, storage
- Cache-Control: no-store on all HTTP responses
- Version-based cache busting with X-OCM-Version header + client-side detection
- Confirmed old /api/agents/main endpoint fully removed
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
CRITICAL BUG FIX: Add Agent was overwriting channels.telegram.botToken,
breaking all existing agents. Now uses OpenClaw's multi-account structure
(channels.telegram.accounts) with automatic migration from old format.
Changes:
- Replace POST /api/agents/main with POST /api/agents/bot (new agent
with its own bot token, never overwrites existing tokens)
- Auto-migrate old botToken format to accounts.default on first new bot
- Sub-agent form now selects parent agent (not hardcoded to "main")
- GET /api/agents returns hasOwnBot flag for each agent
- Stats rewritten to parse session JSONL files (not gateway.log)
- Fix togglePopover conflict with browser native Popover API
- Agent tree uses event delegation (data-action) instead of inline onclick
- Backup timestamps use Australia/Brisbane timezone
- Center toolbar buttons, constrain agent tree width
- README rewritten: professional, removed empty screenshot placeholders
- All new UI strings in English
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- server.listen was hardcoded to 127.0.0.1, causing ERR_CONNECTION_REFUSED on remote access
- Default to 0.0.0.0, add --host flag to override (e.g. --host 127.0.0.1 for local-only)
- Show LAN IP in startup log for easy remote access
- Startup log and error messages switched to English
- Bump version to v0.5.2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>