Subagent Overseer
Monitor sub-agent health and progress via a pull-based bash daemon.
- Rating
- 3.8 (389 reviews)
- Downloads
- 1,720 downloads
- Version
- 1.0.0
Overview
Monitor sub-agent health and progress via a pull-based bash daemon.
Complete Documentation
View Source →
Sub-Agent Overseer
Lightweight pull-based daemon that monitors sub-agent health. Writes a status file every N seconds. The heartbeat handler reads it — no push, no noise.
Architecture
overseer.sh (bash, runs in background)
├── /proc/<pid> → gateway alive? CPU? threads?
├── openclaw sessions list → sub-agent count + ages
├── find -newer marker → filesystem activity
└── writes /tmp/overseer/status.json (atomic mv)
heartbeat (agent, every 3min)
└── reads /tmp/overseer/status.json → summarize or HEARTBEAT_OK
Key principle: The overseer does all data collection. The heartbeat handler does zero tool calls if the status file is fresh and healthy.
Quick Start
1. Start the overseer when spawning sub-agents
setsid scripts/overseer.sh \
--workdir /path/to/repo \
--interval 180 \
--max-stale 4 \
--voice \
&>/dev/null &
2. Heartbeat reads the status file
cat /tmp/overseer/status.json
3. Interpret the status
| Field | Meaning |
|---|---|
| subagents.count | Active sub-agent sessions |
| subagents.details[].stale | Consecutive cycles with no filesystem changes |
| subagents.details[].status | active / idle / warning / stuck |
| gateway.health.alive | Is openclaw-gateway running? |
| filesystem.changes_since_last | Files modified since last check |
4. Staleness thresholds (at 180s interval)
| stale count | Time | Status | Action |
|---|---|---|---|
| 0-1 | 0-3 min | active/idle | Normal |
| 2-3 | 6-9 min | warning | Voice alert (if --voice) |
| ≥4 | ≥12 min | stuck | Agent should investigate/kill |
Heartbeat Handler Protocol
When HEARTBEAT.md fires:
- Read
/tmp/overseer/status.json— if missing or stale (>10 min), restart overseer - If
subagents.count == 0for 2+ cycles → overseer auto-exits → replyHEARTBEAT_OK - If all agents
active→ brief one-line status →HEARTBEAT_OK - If any
stuck→ report which labels are stuck → consider killing viasubagents kill - Never cache a previous heartbeat response. Always read the status file fresh.
Flags
| Flag | Default | Description |
|---|---|---|
| --interval | 180 | Seconds between checks |
| --workdir | cwd | Directory to watch for file changes |
| --labels | (all) | Comma-separated labels to filter |
| --max-stale | 4 | Cycles before marking stuck |
| --voice | off | Local TTS alerts via jarvis command |
How It Works (No AI Tokens)
- Gateway health: Reads
/proc/for CPU, memory, threads, FD count. Pure kernel data./status - Sub-agent list: Single
openclaw sessions listcall per cycle. Parses grep output. - Filesystem diff:
find -newer marker— detects any file writes in the workdir. - Status file: JSON written atomically (write to temp,
mvinto place). Any reader sees a complete file. - Self-exit: If no sub-agents for 2 consecutive cycles, the overseer stops itself.
- Dedup:
flockensures only one overseer instance runs at a time.
Cost
- Overseer: $0.00 (bash + /proc + one CLI call per cycle)
- Voice alerts: $0.00 (local sherpa-onnx via
jarvis) - Heartbeat reads status file: $0.00 (one
catcommand) - Only cost is the heartbeat model itself (qwen3 local = free)
Pairs Well With
- agent-superpowers — the three-agent review pipeline that Overseer was built to monitor
- smart-model-router — auto-select models for each sub-agent role
_Clone it. Fork it. Break it. Make it yours._
Installation
openclaw install subagent-overseer
💻Code Examples
└── reads /tmp/overseer/status.json → summarize or HEARTBEAT_OK
**Key principle:** The overseer does all data collection. The heartbeat handler does zero tool calls if the status file is fresh and healthy.
## Quick Start
### 1. Start the overseer when spawning sub-agentsoverseer.sh (bash, runs in background)
├── /proc/<pid> → gateway alive? CPU? threads?
├── openclaw sessions list → sub-agent count + ages
├── find -newer marker → filesystem activity
└── writes /tmp/overseer/status.json (atomic mv)
heartbeat (agent, every 3min)
└── reads /tmp/overseer/status.json → summarize or HEARTBEAT_OKsetsid scripts/overseer.sh \
--workdir /path/to/repo \
--interval 180 \
--max-stale 4 \
--voice \
&>/dev/null &Tags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.