docs: update node CLI references
This commit is contained in:
parent
fa1bc589e4
commit
39e24c9937
@ -9,6 +9,7 @@ Docs: https://docs.clawd.bot
|
|||||||
- CLI: exec approvals mutations render tables instead of raw JSON.
|
- CLI: exec approvals mutations render tables instead of raw JSON.
|
||||||
- Exec approvals: support wildcard agent allowlists (`*`) across all agents.
|
- Exec approvals: support wildcard agent allowlists (`*`) across all agents.
|
||||||
- Nodes: expose node PATH in status/describe and bootstrap PATH for node-host execution.
|
- Nodes: expose node PATH in status/describe and bootstrap PATH for node-host execution.
|
||||||
|
- CLI: flatten node service commands under `clawdbot node` and remove `service node` docs.
|
||||||
|
|
||||||
### Fixes
|
### Fixes
|
||||||
- Nodes tool: include agent/node/gateway context in tool failure logs to speed approval debugging.
|
- Nodes tool: include agent/node/gateway context in tool failure logs to speed approval debugging.
|
||||||
|
|||||||
@ -9,7 +9,7 @@ read_when:
|
|||||||
|
|
||||||
Manage the Gateway daemon (background service).
|
Manage the Gateway daemon (background service).
|
||||||
|
|
||||||
Note: `clawdbot service gateway …` is the preferred surface; `daemon` remains
|
Note: `clawdbot daemon …` is the preferred surface for Gateway service management; `daemon` remains
|
||||||
as a legacy alias for compatibility.
|
as a legacy alias for compatibility.
|
||||||
|
|
||||||
Related:
|
Related:
|
||||||
|
|||||||
@ -29,7 +29,6 @@ This page describes the current CLI behavior. If commands change, update this do
|
|||||||
- [`sessions`](/cli/sessions)
|
- [`sessions`](/cli/sessions)
|
||||||
- [`gateway`](/cli/gateway)
|
- [`gateway`](/cli/gateway)
|
||||||
- [`daemon`](/cli/daemon)
|
- [`daemon`](/cli/daemon)
|
||||||
- [`service`](/cli/service)
|
|
||||||
- [`logs`](/cli/logs)
|
- [`logs`](/cli/logs)
|
||||||
- [`models`](/cli/models)
|
- [`models`](/cli/models)
|
||||||
- [`memory`](/cli/memory)
|
- [`memory`](/cli/memory)
|
||||||
@ -146,21 +145,6 @@ clawdbot [--dev] [--profile <name>] <command>
|
|||||||
start
|
start
|
||||||
stop
|
stop
|
||||||
restart
|
restart
|
||||||
service
|
|
||||||
gateway
|
|
||||||
status
|
|
||||||
install
|
|
||||||
uninstall
|
|
||||||
start
|
|
||||||
stop
|
|
||||||
restart
|
|
||||||
node
|
|
||||||
status
|
|
||||||
install
|
|
||||||
uninstall
|
|
||||||
start
|
|
||||||
stop
|
|
||||||
restart
|
|
||||||
logs
|
logs
|
||||||
models
|
models
|
||||||
list
|
list
|
||||||
@ -544,7 +528,7 @@ Options:
|
|||||||
- `--debug` (alias for `--verbose`)
|
- `--debug` (alias for `--verbose`)
|
||||||
|
|
||||||
Notes:
|
Notes:
|
||||||
- Overview includes Gateway + Node service status when available.
|
- Overview includes Gateway + node host service status when available.
|
||||||
|
|
||||||
### Usage tracking
|
### Usage tracking
|
||||||
Clawdbot can surface provider usage/quota when OAuth/API creds are available.
|
Clawdbot can surface provider usage/quota when OAuth/API creds are available.
|
||||||
@ -806,16 +790,13 @@ All `cron` commands accept `--url`, `--token`, `--timeout`, `--expect-final`.
|
|||||||
[`clawdbot node`](/cli/node).
|
[`clawdbot node`](/cli/node).
|
||||||
|
|
||||||
Subcommands:
|
Subcommands:
|
||||||
- `node start --host <gateway-host> --port 18790`
|
- `node run --host <gateway-host> --port 18790`
|
||||||
- `node service status`
|
- `node status`
|
||||||
- `node service install [--host <gateway-host>] [--port <port>] [--tls] [--tls-fingerprint <sha256>] [--node-id <id>] [--display-name <name>] [--runtime <node|bun>] [--force]`
|
- `node install [--host <gateway-host>] [--port <port>] [--tls] [--tls-fingerprint <sha256>] [--node-id <id>] [--display-name <name>] [--runtime <node|bun>] [--force]`
|
||||||
- `node service uninstall`
|
- `node uninstall`
|
||||||
- `node service start`
|
- `node run`
|
||||||
- `node service stop`
|
- `node stop`
|
||||||
- `node service restart`
|
- `node restart`
|
||||||
|
|
||||||
Legacy alias:
|
|
||||||
- `node daemon …` (same as `node service …`)
|
|
||||||
|
|
||||||
## Nodes
|
## Nodes
|
||||||
|
|
||||||
|
|||||||
@ -23,10 +23,10 @@ Common use cases:
|
|||||||
Execution is still guarded by **exec approvals** and per‑agent allowlists on the
|
Execution is still guarded by **exec approvals** and per‑agent allowlists on the
|
||||||
node host, so you can keep command access scoped and explicit.
|
node host, so you can keep command access scoped and explicit.
|
||||||
|
|
||||||
## Start (foreground)
|
## Run (foreground)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
clawdbot node start --host <gateway-host> --port 18790
|
clawdbot node run --host <gateway-host> --port 18790
|
||||||
```
|
```
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
@ -42,9 +42,7 @@ Options:
|
|||||||
Install a headless node host as a user service.
|
Install a headless node host as a user service.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
clawdbot node service install --host <gateway-host> --port 18790
|
clawdbot node install --host <gateway-host> --port 18790
|
||||||
# or
|
|
||||||
clawdbot service node install --host <gateway-host> --port 18790
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
@ -61,18 +59,10 @@ Manage the service:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
clawdbot node status
|
clawdbot node status
|
||||||
clawdbot service node status
|
clawdbot node run
|
||||||
clawdbot node service status
|
clawdbot node stop
|
||||||
clawdbot node service start
|
clawdbot node restart
|
||||||
clawdbot node service stop
|
clawdbot node uninstall
|
||||||
clawdbot node service restart
|
|
||||||
clawdbot node service uninstall
|
|
||||||
```
|
|
||||||
|
|
||||||
Legacy alias:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
clawdbot node daemon status
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Pairing
|
## Pairing
|
||||||
|
|||||||
@ -1,51 +0,0 @@
|
|||||||
---
|
|
||||||
summary: "CLI reference for `clawdbot service` (manage gateway + node services)"
|
|
||||||
read_when:
|
|
||||||
- You want to manage Gateway or node services cross-platform
|
|
||||||
- You want a single surface for start/stop/install/uninstall
|
|
||||||
---
|
|
||||||
|
|
||||||
# `clawdbot service`
|
|
||||||
|
|
||||||
Manage the **Gateway** service and **node host** services.
|
|
||||||
|
|
||||||
Related:
|
|
||||||
- Gateway daemon (legacy alias): [Daemon](/cli/daemon)
|
|
||||||
- Node host: [Node](/cli/node)
|
|
||||||
|
|
||||||
## Gateway service
|
|
||||||
|
|
||||||
```bash
|
|
||||||
clawdbot service gateway status
|
|
||||||
clawdbot service gateway install --port 18789
|
|
||||||
clawdbot service gateway start
|
|
||||||
clawdbot service gateway stop
|
|
||||||
clawdbot service gateway restart
|
|
||||||
clawdbot service gateway uninstall
|
|
||||||
```
|
|
||||||
|
|
||||||
Notes:
|
|
||||||
- `service gateway status` supports `--json` and `--deep` for system checks.
|
|
||||||
- `service gateway install` supports `--runtime node|bun` and `--token`.
|
|
||||||
|
|
||||||
## Node host service
|
|
||||||
|
|
||||||
```bash
|
|
||||||
clawdbot service node status
|
|
||||||
clawdbot service node install --host <gateway-host> --port 18790
|
|
||||||
clawdbot service node start
|
|
||||||
clawdbot service node stop
|
|
||||||
clawdbot service node restart
|
|
||||||
clawdbot service node uninstall
|
|
||||||
```
|
|
||||||
|
|
||||||
Notes:
|
|
||||||
- `service node install` supports `--runtime node|bun`, `--node-id`, `--display-name`,
|
|
||||||
and TLS options (`--tls`, `--tls-fingerprint`).
|
|
||||||
|
|
||||||
## Aliases
|
|
||||||
|
|
||||||
- `clawdbot daemon …` → `clawdbot service gateway …`
|
|
||||||
- `clawdbot node service …` → `clawdbot service node …`
|
|
||||||
- `clawdbot node status` → `clawdbot service node status`
|
|
||||||
- `clawdbot node daemon …` → `clawdbot service node …` (legacy)
|
|
||||||
@ -19,6 +19,6 @@ clawdbot status --usage
|
|||||||
Notes:
|
Notes:
|
||||||
- `--deep` runs live probes (WhatsApp Web + Telegram + Discord + Slack + Signal).
|
- `--deep` runs live probes (WhatsApp Web + Telegram + Discord + Slack + Signal).
|
||||||
- Output includes per-agent session stores when multiple agents are configured.
|
- Output includes per-agent session stores when multiple agents are configured.
|
||||||
- Overview includes Gateway + Node service install/runtime status when available.
|
- Overview includes Gateway + node host service install/runtime status when available.
|
||||||
- Overview includes update channel + git SHA (for source checkouts).
|
- Overview includes update channel + git SHA (for source checkouts).
|
||||||
- Update info surfaces in the Overview; if an update is available, status prints a hint to run `clawdbot update` (see [Updating](/install/updating)).
|
- Update info surfaces in the Overview; if an update is available, status prints a hint to run `clawdbot update` (see [Updating](/install/updating)).
|
||||||
|
|||||||
@ -24,7 +24,7 @@ Unknown keys, malformed types, or invalid values cause the Gateway to **refuse t
|
|||||||
|
|
||||||
When validation fails:
|
When validation fails:
|
||||||
- The Gateway does not boot.
|
- The Gateway does not boot.
|
||||||
- Only diagnostic commands are allowed (for example: `clawdbot doctor`, `clawdbot logs`, `clawdbot health`, `clawdbot status`, `clawdbot service`, `clawdbot help`).
|
- Only diagnostic commands are allowed (for example: `clawdbot doctor`, `clawdbot logs`, `clawdbot health`, `clawdbot status`, `clawdbot daemon`, `clawdbot help`).
|
||||||
- Run `clawdbot doctor` to see the exact issues.
|
- Run `clawdbot doctor` to see the exact issues.
|
||||||
- Run `clawdbot doctor --fix` (or `--yes`) to apply migrations/repairs.
|
- Run `clawdbot doctor --fix` (or `--yes`) to apply migrations/repairs.
|
||||||
|
|
||||||
|
|||||||
@ -354,7 +354,7 @@ clawdbot doctor --fix
|
|||||||
Notes:
|
Notes:
|
||||||
- `clawdbot doctor` reports every invalid entry.
|
- `clawdbot doctor` reports every invalid entry.
|
||||||
- `clawdbot doctor --fix` applies migrations/repairs and rewrites the config.
|
- `clawdbot doctor --fix` applies migrations/repairs and rewrites the config.
|
||||||
- Diagnostic commands like `clawdbot logs`, `clawdbot health`, `clawdbot status`, and `clawdbot service` still run even if the config is invalid.
|
- Diagnostic commands like `clawdbot logs`, `clawdbot health`, `clawdbot status`, and `clawdbot daemon` still run even if the config is invalid.
|
||||||
|
|
||||||
### “All models failed” — what should I check first?
|
### “All models failed” — what should I check first?
|
||||||
|
|
||||||
|
|||||||
@ -50,14 +50,14 @@ forwards `exec` calls to the **node host** when `host=node` is selected.
|
|||||||
On the node machine:
|
On the node machine:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
clawdbot node start --host <gateway-host> --port 18789 --display-name "Build Node"
|
clawdbot node run --host <gateway-host> --port 18789 --display-name "Build Node"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Start a node host (service)
|
### Start a node host (service)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
clawdbot node service install --host <gateway-host> --port 18789 --display-name "Build Node"
|
clawdbot node install --host <gateway-host> --port 18789 --display-name "Build Node"
|
||||||
clawdbot node service start
|
clawdbot node start
|
||||||
```
|
```
|
||||||
|
|
||||||
### Pair + name
|
### Pair + name
|
||||||
@ -71,7 +71,7 @@ clawdbot nodes list
|
|||||||
```
|
```
|
||||||
|
|
||||||
Naming options:
|
Naming options:
|
||||||
- `--display-name` on `clawdbot node start/service install` (persists in `~/.clawdbot/node.json` on the node).
|
- `--display-name` on `clawdbot node run` / `clawdbot node install` (persists in `~/.clawdbot/node.json` on the node).
|
||||||
- `clawdbot nodes rename --node <id|name|ip> --name "Build Node"` (gateway override).
|
- `clawdbot nodes rename --node <id|name|ip> --name "Build Node"` (gateway override).
|
||||||
|
|
||||||
### Allowlist the commands
|
### Allowlist the commands
|
||||||
@ -281,7 +281,7 @@ or for running a minimal node alongside a server.
|
|||||||
Start it:
|
Start it:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
clawdbot node start --host <gateway-host> --port 18790
|
clawdbot node run --host <gateway-host> --port 18790
|
||||||
```
|
```
|
||||||
|
|
||||||
Notes:
|
Notes:
|
||||||
|
|||||||
@ -5,7 +5,7 @@ read_when:
|
|||||||
---
|
---
|
||||||
# Clawdbot macOS IPC architecture
|
# Clawdbot macOS IPC architecture
|
||||||
|
|
||||||
**Current model:** a local Unix socket connects the **node service** to the **macOS app** for exec approvals + `system.run`. A `clawdbot-mac` debug CLI exists for discovery/connect checks; agent actions still flow through the Gateway WebSocket and `node.invoke`. UI automation uses PeekabooBridge.
|
**Current model:** a local Unix socket connects the **node host service** to the **macOS app** for exec approvals + `system.run`. A `clawdbot-mac` debug CLI exists for discovery/connect checks; agent actions still flow through the Gateway WebSocket and `node.invoke`. UI automation uses PeekabooBridge.
|
||||||
|
|
||||||
## Goals
|
## Goals
|
||||||
- Single GUI app instance that owns all TCC-facing work (notifications, screen recording, mic, speech, AppleScript).
|
- Single GUI app instance that owns all TCC-facing work (notifications, screen recording, mic, speech, AppleScript).
|
||||||
@ -18,7 +18,7 @@ read_when:
|
|||||||
- Agent actions are performed via `node.invoke` (e.g. `system.run`, `system.notify`, `canvas.*`).
|
- Agent actions are performed via `node.invoke` (e.g. `system.run`, `system.notify`, `canvas.*`).
|
||||||
|
|
||||||
### Node service + app IPC
|
### Node service + app IPC
|
||||||
- A headless node service connects to the Gateway bridge.
|
- A headless node host service connects to the Gateway bridge.
|
||||||
- `system.run` requests are forwarded to the macOS app over a local Unix socket.
|
- `system.run` requests are forwarded to the macOS app over a local Unix socket.
|
||||||
- The app performs the exec in UI context, prompts if needed, and returns output.
|
- The app performs the exec in UI context, prompts if needed, and returns output.
|
||||||
|
|
||||||
|
|||||||
@ -57,7 +57,7 @@ The macOS app presents itself as a node. Common commands:
|
|||||||
The node reports a `permissions` map so agents can decide what’s allowed.
|
The node reports a `permissions` map so agents can decide what’s allowed.
|
||||||
|
|
||||||
Node service + app IPC:
|
Node service + app IPC:
|
||||||
- When the headless node service is running (remote mode), it connects to the Gateway WS as a node.
|
- When the headless node host service is running (remote mode), it connects to the Gateway WS as a node.
|
||||||
- `system.run` executes in the macOS app (UI/TCC context) over a local Unix socket; prompts + output stay in-app.
|
- `system.run` executes in the macOS app (UI/TCC context) over a local Unix socket; prompts + output stay in-app.
|
||||||
|
|
||||||
Diagram (SCI):
|
Diagram (SCI):
|
||||||
|
|||||||
@ -30,7 +30,7 @@ read_when:
|
|||||||
- **Node identity:** use existing `nodeId`.
|
- **Node identity:** use existing `nodeId`.
|
||||||
- **Socket auth:** Unix socket + token (cross-platform); split later if needed.
|
- **Socket auth:** Unix socket + token (cross-platform); split later if needed.
|
||||||
- **Node host state:** `~/.clawdbot/node.json` (node id + pairing token).
|
- **Node host state:** `~/.clawdbot/node.json` (node id + pairing token).
|
||||||
- **macOS exec host:** run `system.run` inside the macOS app; node service forwards requests over local IPC.
|
- **macOS exec host:** run `system.run` inside the macOS app; node host service forwards requests over local IPC.
|
||||||
- **No XPC helper:** stick to Unix socket + token + peer checks.
|
- **No XPC helper:** stick to Unix socket + token + peer checks.
|
||||||
|
|
||||||
## Key concepts
|
## Key concepts
|
||||||
|
|||||||
@ -54,7 +54,7 @@ Allowed (diagnostic-only):
|
|||||||
- `clawdbot health`
|
- `clawdbot health`
|
||||||
- `clawdbot help`
|
- `clawdbot help`
|
||||||
- `clawdbot status`
|
- `clawdbot status`
|
||||||
- `clawdbot service`
|
- `clawdbot daemon`
|
||||||
|
|
||||||
Everything else must hard-fail with: “Config invalid. Run `clawdbot doctor --fix`.”
|
Everything else must hard-fail with: “Config invalid. Run `clawdbot doctor --fix`.”
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@ Exec approvals are enforced locally on the execution host:
|
|||||||
- **node host** → node runner (macOS companion app or headless node host)
|
- **node host** → node runner (macOS companion app or headless node host)
|
||||||
|
|
||||||
Planned macOS split:
|
Planned macOS split:
|
||||||
- **node service** forwards `system.run` to the **macOS app** over local IPC.
|
- **node host service** forwards `system.run` to the **macOS app** over local IPC.
|
||||||
- **macOS app** enforces approvals + executes the command in UI context.
|
- **macOS app** enforces approvals + executes the command in UI context.
|
||||||
|
|
||||||
## Settings and storage
|
## Settings and storage
|
||||||
|
|||||||
@ -181,7 +181,7 @@ Notes:
|
|||||||
- If `process` is disallowed, `exec` runs synchronously and ignores `yieldMs`/`background`.
|
- If `process` is disallowed, `exec` runs synchronously and ignores `yieldMs`/`background`.
|
||||||
- `elevated` is gated by `tools.elevated` plus any `agents.list[].tools.elevated` override (both must allow) and is an alias for `host=gateway` + `security=full`.
|
- `elevated` is gated by `tools.elevated` plus any `agents.list[].tools.elevated` override (both must allow) and is an alias for `host=gateway` + `security=full`.
|
||||||
- `elevated` only changes behavior when the agent is sandboxed (otherwise it’s a no-op).
|
- `elevated` only changes behavior when the agent is sandboxed (otherwise it’s a no-op).
|
||||||
- `host=node` can target a macOS companion app or a headless node host (`clawdbot node start`).
|
- `host=node` can target a macOS companion app or a headless node host (`clawdbot node run`).
|
||||||
- gateway/node approvals and allowlists: [Exec approvals](/tools/exec-approvals).
|
- gateway/node approvals and allowlists: [Exec approvals](/tools/exec-approvals).
|
||||||
|
|
||||||
### `process`
|
### `process`
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user