feat: improve agents cli automation

This commit is contained in:
Peter Steinberger
2026-01-08 07:49:07 +01:00
parent 5565dcd447
commit 629eec11cc
8 changed files with 198 additions and 19 deletions

View File

@@ -330,14 +330,21 @@ List configured agents.
Options:
- `--json`
- `--bindings`
#### `agents add [name]`
Add a new isolated agent. Runs the guided wizard unless flags are passed; `--workspace` is required in non-interactive mode.
Add a new isolated agent. Runs the guided wizard unless flags (or `--non-interactive`) are passed; `--workspace` is required in non-interactive mode.
Options:
- `--workspace <dir>`
- `--model <id>`
- `--agent-dir <dir>`
- `--bind <provider[:accountId]>` (repeatable)
- `--non-interactive`
- `--json`
Binding specs use `provider[:accountId]`. When `accountId` is omitted for WhatsApp, the default account id is used.
#### `agents delete <id>`
Delete an agent and prune its workspace + state.
@@ -420,6 +427,7 @@ Notes:
- `daemon status` uses the same URL/token defaults as `gateway status` unless you pass `--url/--token/--password`.
- `daemon status` supports `--no-probe`, `--deep`, and `--json` for scripting.
- `daemon status` also surfaces legacy or extra gateway services when it can detect them (`--deep` adds system-level scans).
- `daemon status` prints which config path the CLI uses vs which config the daemon likely uses (service env), plus the resolved probe target URL.
- `daemon install` defaults to Node runtime; use `--runtime bun` only when WhatsApp is disabled.
- `daemon install` options: `--port`, `--runtime`, `--token`.

View File

@@ -19,6 +19,14 @@ An **agent** is a fully scoped brain with its own:
The Gateway can host **one agent** (default) or **many agents** side-by-side.
## Paths (quick map)
- Config: `~/.clawdbot/clawdbot.json` (or `CLAWDBOT_CONFIG_PATH`)
- State dir: `~/.clawdbot` (or `CLAWDBOT_STATE_DIR`)
- Workspace: `~/clawd` (or `~/clawd-<agentId>`)
- Agent dir: `~/.clawdbot/agents/<agentId>/agent` (or `routing.agents.<agentId>.agentDir`)
- Sessions: `~/.clawdbot/agents/<agentId>/sessions`
### Single-agent mode (default)
If you do nothing, Clawdbot runs a single agent:
@@ -38,6 +46,12 @@ clawdbot agents add work
Then add `routing.bindings` (or let the wizard do it) to route inbound messages.
Verify with:
```bash
clawdbot agents list --bindings
```
## Multiple agents = multiple people, multiple personalities
With **multiple agents**, each `agentId` becomes a **fully isolated persona**:

View File

@@ -248,7 +248,7 @@ After configuring multi-agent sandbox and tools:
1. **Check agent resolution:**
```bash
clawdbot agents list
clawdbot agents list --bindings
```
2. **Verify sandbox containers:**

View File

@@ -44,6 +44,8 @@ To add more isolated agents (separate workspace + sessions + auth), use:
clawdbot agents add <name>
```
Tip: `--json` does **not** imply non-interactive mode. Use `--non-interactive` (and `--workspace`) for scripts.
## Flow details (local)
1) **Existing config detection**
@@ -131,6 +133,7 @@ What it sets:
Notes:
- Default workspaces follow `~/clawd-<agentId>`.
- Add `routing.bindings` to route inbound messages (the wizard can do this).
- Non-interactive flags: `--model`, `--agent-dir`, `--bind`, `--non-interactive`.
## Noninteractive mode
@@ -153,7 +156,12 @@ Add `--json` for a machinereadable summary.
Add agent (noninteractive) example:
```bash
clawdbot agents add work --workspace ~/clawd-work
clawdbot agents add work \
--workspace ~/clawd-work \
--model openai/gpt-5.2 \
--bind whatsapp:biz \
--non-interactive \
--json
```
## Gateway wizard RPC