Live-stream coding agent sessions to Discord. Zero AI tokens burned.
First-time setup: see references/setup.md for webhook creation, unbuffer install, bot token, and smoke test.
Launch with exec background:true. Background exec sessions survive agent turns and OpenClaw fires notifyOnExit automatically when the process ends.
exec background:true command:"{baseDir}/scripts/dev-relay.sh -w ~/projects/myapp -- claude -p --dangerously-skip-permissions --output-format stream-json --verbose 'Your task here'"
Note the session ID from the response — use it to monitor via process.
| Flag | Description | Default |
|---|---|---|
| ------ | ------------ | --------- |
-w | Working directory | Current dir |
-t | Timeout | 1800 |
-h | Hang threshold | 120 |
-n | Agent display name | Auto-detected |
-r | Rate limit (posts/60s) | 25 |
--thread | Post into a Discord thread | Off |
--skip-reads | Hide Read tool events | Off |
--review | PR review mode | — |
--parallel | Parallel tasks mode | — |
--resume | Replay session | — |
For PR review, parallel tasks, Discord bridge, and Codex structured output: see references/advanced-modes.md.
```bash
echo '{"channel":"
```
The breadcrumb file tells the heartbeat precheck where to post results when the session completes. It auto-detects completion by checking if the PID is still alive.
That's it. When the process ends, OpenClaw's notifyOnExit fires a system event + heartbeat request. The heartbeat handler reads the result from the relay dir's stream.jsonl and posts to the invoking channel.
OpenClaw handles this natively:
tools.exec.notifyOnExit: true (default) — system event + heartbeat on process exit/tmp/dev-relay-sessions/Backup: Append this to the inner agent's prompt for an additional signal:
When completely finished, run: openclaw system event --text "Done: <brief summary>" --mode now
process poll sessionId:<id> # Check status
process log sessionId:<id> # View recent output
process kill sessionId:<id> # Stop session
| Agent | Output Mode | Status |
|---|---|---|
| ------- | ------------ | -------- |
| Claude Code | stream-json | Full support |
| Codex | --json JSONL | Full support |
| Any CLI | Raw ANSI | Basic support |
/tmp/dev-relay-sessions/.json (auto-removed on end)/tmp/dev-relay.XXXXXX/stream.jsonl (7-day auto-cleanup)process submit sessionId: data:"message" 共 1 个版本