fix: apply docs sweep updates

This commit is contained in:
Peter Steinberger
2026-05-22 18:39:08 +01:00
parent 769fd0b14a
commit 59aef2ff0d
12 changed files with 127 additions and 20 deletions

View File

@@ -21,6 +21,7 @@ Related:
openclaw agents list
openclaw agents list --bindings
openclaw agents add work --workspace ~/.openclaw/workspace-work
openclaw agents add work --workspace ~/.openclaw/workspace-work --bind telegram:*
openclaw agents add ops --workspace ~/.openclaw/workspace-ops --bind telegram:ops --non-interactive
openclaw agents bindings
openclaw agents bind --agent work --bind telegram:ops
@@ -50,27 +51,47 @@ Add bindings:
openclaw agents bind --agent work --bind telegram:ops --bind discord:guild-a
```
If you omit `accountId` (`--bind <channel>`), OpenClaw resolves it from channel defaults and plugin setup hooks when available.
You can also add bindings when creating an agent:
```bash
openclaw agents add work --workspace ~/.openclaw/workspace-work --bind telegram:* --bind discord:*
```
If you omit `accountId` (`--bind <channel>`), OpenClaw resolves it from plugin setup hooks, forced account binding, or the channel's configured account count.
If you omit `--agent` for `bind` or `unbind`, OpenClaw targets the current default agent.
### `--bind` format
| Format | Meaning |
| ---------------------------- | ------------------------------------------------------------------------------------------------- |
| `--bind <channel>:*` | Match all accounts on the channel. |
| `--bind <channel>:<account>` | Match one account. |
| `--bind <channel>` | Match the default account only unless the CLI can safely resolve a plugin-specific account scope. |
### Binding scope behavior
- A binding without `accountId` matches the channel default account only.
- A stored binding without `accountId` matches the channel default account only.
- `accountId: "*"` is the channel-wide fallback (all accounts) and is less specific than an explicit account binding.
- If the same agent already has a matching channel binding without `accountId`, and you later bind with an explicit or resolved `accountId`, OpenClaw upgrades that existing binding in place instead of adding a duplicate.
Example:
Examples:
```bash
# match all accounts on the channel
openclaw agents bind --agent work --bind telegram:*
# match a specific account
openclaw agents bind --agent work --bind telegram:ops
# initial channel-only binding
openclaw agents bind --agent work --bind telegram
# later upgrade to account-scoped binding
openclaw agents bind --agent work --bind telegram:ops
openclaw agents bind --agent work --bind telegram:alerts
```
After the upgrade, routing for that binding is scoped to `telegram:ops`. If you also want default-account routing, add it explicitly (for example `--bind telegram:default`).
After the upgrade, routing for that binding is scoped to `telegram:alerts`. If you also want default-account routing, add it explicitly (for example `--bind telegram:default`).
Remove bindings:

View File

@@ -77,6 +77,36 @@ openclaw devices approve <requestId>
openclaw devices approve --latest
```
## Paperclip / `openclaw_gateway` first-run approval
When a new Paperclip agent connects through the `openclaw_gateway` adapter for the first time, the Gateway may require a one-time device pairing approval before runs can succeed. If Paperclip reports `openclaw_gateway_pairing_required`, approve the pending device and retry.
For local gateways, preview the latest pending request:
```bash
openclaw devices approve --latest
```
The preview prints the exact `openclaw devices approve <requestId>` command. Verify the request details, then rerun that command with the request ID to approve it.
For remote gateways or explicit credentials, pass the same options while previewing and approving:
```bash
openclaw devices approve --latest --url <gateway-ws-url> --token <gateway-token>
```
To avoid re-approving after restarts, keep a persistent device key in the Paperclip adapter config instead of generating a new ephemeral identity each run:
```json
{
"adapterConfig": {
"devicePrivateKeyPem": "<ed25519-private-key-pkcs8-pem>"
}
}
```
If approval keeps failing, run `openclaw devices list` first to confirm a pending request exists.
### `openclaw devices reject <requestId>`
Reject a pending device pairing request.