agent-orchestrator/website/content/docs/plugins/runtimes/process.mdx

40 lines
1.6 KiB
Plaintext

---
title: process
description: Cross-platform child-process runtime. Required on Windows.
---
<div style={{ display: "flex", alignItems: "center", gap: "0.75rem", margin: "0.5rem 0 1.25rem" }}>
<Logo name="windows" size={28} color />
<span style={{ fontSize: "0.8125rem", color: "var(--color-fd-muted-foreground)" }}>Slot: <code>runtime</code> · Name: <code>process</code></span>
</div>
Spawns agents as plain child processes — no tmux involved. Use this on Windows (where tmux isn't available) and in any environment where you'd rather not depend on tmux.
<PlatformSupport macos="full" linux="full" windows="full" />
## Use
```yaml title="agent-orchestrator.yaml"
runtime: process
```
No plugin-level config.
## How it works
- AO spawns the agent via Node's `child_process.spawn` with `shell: true`.
- Stdout + stderr are captured in a rolling 1000-line buffer.
- The dashboard reads from that buffer over the same WebSocket the tmux runtime uses — you won't notice a difference in the UI.
- `isProcessRunning` uses a PID-based signal-0 check.
## What you lose vs tmux
- **No tmux attach.** `ao session attach` doesn't work. Use the dashboard terminal instead.
- **No reconnecting to the agent's TTY.** If you `ao stop` the orchestrator, the child process goes with it. The agent's own session-resume features (Claude `--resume`, Codex `resume`, etc.) still work — that's a different layer.
## When to pick it
- **Windows** — this is the only runtime that works.
- **Docker / CI-like environments** — fewer moving parts, no tmux install.
- **You never attach interactively** — the dashboard terminal covers all your attach needs anyway.