diff --git a/CLAUDE.md b/CLAUDE.md index 8787ede..ce2500a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -116,7 +116,24 @@ Two credential types: `static` (default) for API keys and `oauth` for OAuth acce `sluice binding update --destination` also updates the paired auto-created allow rule (tagged `binding-add:` or `cred-add:`) so the new destination is not orphaned. If no paired rule exists (e.g. because it was manually removed), the binding destination is still updated and a warning is printed. No fallback rule is created so an operator's intentional removal is not silently reverted. `--env-var` on binding update can be used to change or clear the env var name after the initial binding was created. -Runtime flags: `--mcp-base-url` sets the external URL the agent uses to reach sluice's MCP gateway (e.g. `http://sluice:3000`). This is added to `SelfBypass` so sluice does not policy-check its own MCP traffic. Defaults to deriving from `--health-addr`. +Runtime flags: `--mcp-base-url` sets the external URL the agent uses to reach sluice's MCP gateway (e.g. `http://sluice:3000`). This is added to `SelfBypass` so sluice does not policy-check its own MCP traffic. Defaults to deriving from `--health-addr`. `--agent ` selects an agent profile (`openclaw`, `hermes`); the profile controls the env file path inside the container, the secrets-reload mechanism, and the MCP wiring command. The default is `openclaw`. May also be set via `SLUICE_AGENT_PROFILE`. + +## Agent Profiles + +Profiles abstract per-agent runtime conventions so sluice's container managers stay agent-agnostic. Each profile carries `EnvFileRelPath` (where to write phantom-token env vars), `ReloadCmd` (argv to exec for in-place secret reload, or nil), and `WireMCPCmd` (argv to register sluice as an MCP server in the agent's config). + +| Profile | Env file | Reload | MCP wiring | +|---------|----------|--------|------------| +| `openclaw` (default) | `~/.openclaw/.env` | `node -e secrets.reload` over the agent's WebSocket gateway | `node -e wire-mcp ` patches `mcp.servers.` | +| `hermes` | `~/.hermes/.env` | None — Hermes has no documented in-place reload; new env values take effect on next message / restart | `python3 -c