* fix: orphan agents now grouped under main in agent tree
Agents without parentAgentId, own bot, or binding-based inference
(e.g. dynamically created sub-agents like codex-worker) were
incorrectly displayed as top-level roots. They now default to
main's subtree.
Bump version to 0.9.4.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* cleanup: drop archived workflow skill defaults
* release: v1.0.0-rc1 — feature freeze for stable release
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: dtzp555 <dtzp555@gmail.com>
Root agents with their own bot (hasOwnBot) now sort to the top of the
agent tree alongside main. Agents listed in a parent's
subagents.allowAgents are automatically inferred as children even
without an explicit parentAgentId or Telegram binding.
Co-authored-by: Tao <dtzp555@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
The Skills & Tools picker added in v0.9.4 only had Chinese i18n
strings, so the panel showed Chinese text even in English mode.
Add English translations for wiz.skillsTools, wiz.skillsHint,
wiz.skillsSection, wiz.toolsSection, and the quick-action buttons.
Co-authored-by: Tao <dtzp555@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Add a Skills & Tools picker to the Agent/Sub-Agent creation forms so
new agents automatically get useful defaults (memory-continuity,
agent-workflow, execution-agent-dispatch, session-logs + fs/runtime/
memory/sessions_spawn/subagents tool groups). Users can expand the
collapsible panel to customize, or leave it closed to accept defaults.
- Frontend: checkbox grid with quick-action buttons (Default/All/None)
- Backend: all 4 creation endpoints accept and persist skills/toolGroups
- Bump version to v0.9.4; update DEVLOG, CHANGELOG, README, guides
Co-authored-by: Tao <dtzp555@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.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>