You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: self-healing watchdog, Claude login from the dashboard, claude-code diagnostics
Auto-heal: hub watchdog health-checks every agent. On a down agent it auto-restarts it (rate-limited,
never starts services that were never up); if the restart fails it pulls the log tail and asks a
healthy agent (opencode, else brain) to diagnose the root cause. Events at GET /api/health_events and
in Status -> Self-healing log. Config: watchdog.enabled/interval. Hub-triggered restarts set
AIOS_NO_UPDATE_CHECK=1 so a heal never triggers a git pull.
Claude login in the dashboard: hub runs the Claude CLI login as an interactive session (pty on
Linux/WSL, pipes on Windows), streams its output, extracts the authorize URL, and accepts the code
back. Endpoints GET/POST /api/claude_login (start|input|stop). Settings now has a two-step flow with
a live auth status line.
claude-code fix: it was working all along — the auth probe used a 45s timeout while the claude CLI
cold-starts slowly (it waits 3s on stdin), so it falsely reported 'not logged in'. Timeout 45s->180s,
plus GET /api/claude_status reporting service_up/version/logged_in/model/error.
Verified on Windows: killed crewai's real listener -> watchdog logged 'down', restarted it, logged
'healed', service back up. Login session spawns/streams/exits (2.1.202) and stops. claude_status
returns logged_in:true, model claude-sonnet-4-5, and a precise error when claudecode is stopped.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -167,7 +167,8 @@ Plus two integrations that glue it together:
167
167
-**✦ Team** — one assistant that orchestrates the whole team: the Brain plans, delegates subtasks to the specialist agents, and synthesizes one answer (the practical "merge").
168
168
-**Configure openclaw AND hermes fully inside the hub** — both control-UIs are embedded via frame-stripping proxies, so you get channels, **connectors**, model providers, **MCP servers**, skills, plugins, **automations/cron**, and sessions right in the hub (they normally block embedding).
169
169
-**Automations** — schedule prompts to run against any agent every N minutes (daily digests, checks).
170
-
-**Connect your Claude account (Pro/Max)** — first run `aios claude-login` (opens the browser OAuth for your subscription), then one click in **Settings → "Use my Claude subscription"** routes the Brain/Team/crews through **claude-code** (no API key, no per-token cost). The button tests a real completion and tells you if you still need to log in.
170
+
-**Log in to Claude from the dashboard** — **Settings → "1 · Log in to Claude"** runs the Claude CLI login *through the hub*: it shows the authorize link, you approve in the browser and paste the code back, all in the UI. Then **"2 · Use my Claude subscription"** routes the Brain/Team/crews through **claude-code** (no API key, no per-token cost). A live status line shows whether claude-code is up and actually authenticated. (Terminal equivalent: `aios claude-login`.)
171
+
-**🛡️ Self-healing agents** — a watchdog in the hub health-checks every agent. If one stops responding it's **automatically restarted**; if the restart fails, a **healthy agent reads its logs and diagnoses the cause**. See the incident log in **Status → Self-healing log** (`watchdog.enabled` in `aios.config.yaml`).
171
172
-**Settings** — edit provider/key/model, channel tokens, and `aios.config.yaml`; it re-renders into every agent, no terminal needed.
0 commit comments