mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-12 21:53:00 -06:00
docs: document admin HTTP RPC plugin
This commit is contained in:
@@ -27,6 +27,7 @@ Docs: https://docs.openclaw.ai
|
||||
- Plugins/hooks: expose the resolved effective `contextTokenBudget` plus source/reference metadata on `llm_output` and sanitized `model_call_*` hook events/contexts so plugin cost and context-health alerts can use agent-level context caps. Fixes #64327. Thanks @BunsDev.
|
||||
- Channels/status reactions: wire `StatusReactionController` into WhatsApp message turns (queued → thinking → tool → done/error lifecycle, on par with Telegram and Discord), add `deploy`/`build`/`concierge` emoji categories with tool-token routing, and replace the status reaction defaults with self-explanatory emoji (🧠 thinking, 🛠️ tool, 💻 coding, 🌐 web, ⏳ stallSoft, ⚠️ stallHard, ✅ done, ❌ error, 🗜️ compacting) so stall and lifecycle reactions read as status indicators instead of emotional commentary. Fixes #59077. (#80612) Thanks @gado-ships-it.
|
||||
- Control UI: add a browser-local Text size setting in Appearance and Quick Settings, scaling chat and dense UI text while keeping inputs above the mobile Safari focus-zoom threshold. Fixes #8547. Thanks @BunsDev.
|
||||
- Gateway/plugins: add a default-off `admin-http-rpc` plugin for selected control-plane methods, with security docs and no core endpoint config. (#81806) Thanks @liorb-mountapps.
|
||||
- Docs: add a dedicated ds4 provider page with local DeepSeek V4 Flash config, on-demand startup, context sizing, and live verification steps.
|
||||
- Release validation: add a package-installed Docker user-journey lane that verifies onboarding, mocked model setup, external plugin install/uninstall, ClickClack outbound/inbound messaging, Gateway restart survival, and doctor.
|
||||
- Release validation: add package-installed Docker lanes for real TTY onboarding, media and memory persistence, published-package upgrade journeys, and local marketplace plugin install/update/uninstall coverage.
|
||||
|
||||
@@ -100,6 +100,10 @@
|
||||
"source": "/plugins/agent-tools",
|
||||
"destination": "/plugins/building-plugins#registering-agent-tools"
|
||||
},
|
||||
{
|
||||
"source": "/gateway/admin-http-rpc",
|
||||
"destination": "/plugins/admin-http-rpc"
|
||||
},
|
||||
{
|
||||
"source": "/cli/capability",
|
||||
"destination": "/cli/infer"
|
||||
@@ -1201,6 +1205,7 @@
|
||||
"plugins/codex-computer-use",
|
||||
"plugins/google-meet",
|
||||
"plugins/webhooks",
|
||||
"plugins/admin-http-rpc",
|
||||
"plugins/voice-call",
|
||||
"plugins/memory-wiki",
|
||||
"plugins/memory-lancedb",
|
||||
|
||||
@@ -564,6 +564,7 @@ See [Inferred commitments](/concepts/commitments).
|
||||
|
||||
### OpenAI-compatible endpoints
|
||||
|
||||
- Admin HTTP RPC: off by default as the `admin-http-rpc` plugin. Enable the plugin to register `POST /api/v1/admin/rpc`. See [Admin HTTP RPC](/plugins/admin-http-rpc).
|
||||
- Chat Completions: disabled by default. Enable with `gateway.http.endpoints.chatCompletions.enabled: true`.
|
||||
- Responses API: `gateway.http.endpoints.responses.enabled`.
|
||||
- Responses URL-input hardening:
|
||||
|
||||
@@ -73,7 +73,8 @@ After the first successful load, the running process serves the active in-memory
|
||||
- One always-on process for routing, control plane, and channel connections.
|
||||
- Single multiplexed port for:
|
||||
- WebSocket control/RPC
|
||||
- HTTP APIs, OpenAI compatible (`/v1/models`, `/v1/embeddings`, `/v1/chat/completions`, `/v1/responses`, `/tools/invoke`)
|
||||
- HTTP APIs (`/v1/models`, `/v1/embeddings`, `/v1/chat/completions`, `/v1/responses`, `/tools/invoke`)
|
||||
- Plugin HTTP routes, such as optional `/api/v1/admin/rpc`
|
||||
- Control UI and hooks
|
||||
- Default bind mode: `loopback`.
|
||||
- Auth is required by default. Shared-secret setups use
|
||||
@@ -105,6 +106,8 @@ Planning note:
|
||||
|
||||
All of these run on the main Gateway port and use the same trusted operator auth boundary as the rest of the Gateway HTTP API.
|
||||
|
||||
Admin HTTP RPC (`POST /api/v1/admin/rpc`) is a separate, default-off plugin route for host tooling that cannot use WebSocket RPC. See [Admin HTTP RPC](/plugins/admin-http-rpc).
|
||||
|
||||
### Port and bind precedence
|
||||
|
||||
| Setting | Resolution order |
|
||||
|
||||
@@ -37,7 +37,7 @@ exhaustive):
|
||||
| `gateway.bind_no_auth` | critical | Remote bind without shared secret | `gateway.bind`, `gateway.auth.*` | no |
|
||||
| `gateway.loopback_no_auth` | critical | Reverse-proxied loopback may become unauthenticated | `gateway.auth.*`, proxy setup | no |
|
||||
| `gateway.trusted_proxies_missing` | warn | Reverse-proxy headers are present but not trusted | `gateway.trustedProxies` | no |
|
||||
| `gateway.http.no_auth` | warn/critical | Gateway HTTP APIs reachable with `auth.mode="none"` | `gateway.auth.mode`, `gateway.http.endpoints.*` | no |
|
||||
| `gateway.http.no_auth` | warn/critical | Gateway HTTP APIs reachable with `auth.mode="none"` | `gateway.auth.mode`, `gateway.http.endpoints.*`, `plugins.entries.admin-http-rpc` | no |
|
||||
| `gateway.http.session_key_override_enabled` | info | HTTP API callers can override `sessionKey` | `gateway.http.allowSessionKeyOverride` | no |
|
||||
| `gateway.tools_invoke_http.dangerous_allow` | warn/critical | Re-enables dangerous tools over HTTP API | `gateway.tools.allow` | no |
|
||||
| `gateway.nodes.allow_commands_dangerous` | warn/critical | Enables high-impact node commands (camera/screen/contacts/calendar/SMS) | `gateway.nodes.allowCommands` | no |
|
||||
|
||||
@@ -927,9 +927,9 @@ configured HTTP auth mode.
|
||||
Important boundary note:
|
||||
|
||||
- Gateway HTTP bearer auth is effectively all-or-nothing operator access.
|
||||
- Treat credentials that can call `/v1/chat/completions`, `/v1/responses`, or `/api/channels/*` as full-access operator secrets for that gateway.
|
||||
- Treat credentials that can call `/v1/chat/completions`, `/v1/responses`, plugin routes such as `/api/v1/admin/rpc`, or `/api/channels/*` as full-access operator secrets for that gateway.
|
||||
- On the OpenAI-compatible HTTP surface, shared-secret bearer auth restores the full default operator scopes (`operator.admin`, `operator.approvals`, `operator.pairing`, `operator.read`, `operator.talk.secrets`, `operator.write`) and owner semantics for agent turns; narrower `x-openclaw-scopes` values do not reduce that shared-secret path.
|
||||
- Per-request scope semantics on HTTP only apply when the request comes from an identity-bearing mode such as trusted proxy auth or `gateway.auth.mode="none"` on a private ingress.
|
||||
- Per-request scope semantics on HTTP only apply when the request comes from an identity-bearing mode such as trusted proxy auth, or from an explicitly no-auth private ingress.
|
||||
- In those identity-bearing modes, omitting `x-openclaw-scopes` falls back to the normal operator default scope set; send the header explicitly when you want a narrower scope set.
|
||||
- `/tools/invoke` follows the same shared-secret rule: token/password bearer auth is treated as full operator access there too, while identity-bearing modes still honor declared scopes.
|
||||
- Do not share these credentials with untrusted callers; prefer separate gateways per trust boundary.
|
||||
|
||||
@@ -0,0 +1,215 @@
|
||||
---
|
||||
summary: "Expose selected Gateway control-plane methods through the bundled, opt-in admin-http-rpc plugin"
|
||||
read_when:
|
||||
- Building host tooling that cannot use the Gateway WebSocket RPC client
|
||||
- Exposing Gateway admin automation behind a private trusted ingress
|
||||
- Auditing the security model for HTTP access to Gateway methods
|
||||
title: "Admin HTTP RPC plugin"
|
||||
---
|
||||
|
||||
The bundled `admin-http-rpc` plugin exposes selected Gateway control-plane methods over HTTP for trusted host automation that cannot use the normal Gateway WebSocket RPC client.
|
||||
|
||||
The plugin is included with OpenClaw, but it is off by default. When disabled, the route is not registered. When enabled, it adds:
|
||||
|
||||
- `POST /api/v1/admin/rpc`
|
||||
- same listener as the Gateway: `http://<gateway-host>:<port>/api/v1/admin/rpc`
|
||||
|
||||
Enable it only for private host tooling, tailnet automation, or a trusted internal ingress. Do not expose this route directly to the public internet.
|
||||
|
||||
## Before you enable it
|
||||
|
||||
Admin HTTP RPC is a full operator control-plane surface. Any caller that passes Gateway HTTP auth can invoke the allowlisted methods on this page.
|
||||
|
||||
Use it when all of these are true:
|
||||
|
||||
- The caller is trusted to operate the Gateway.
|
||||
- The caller cannot use the WebSocket RPC client.
|
||||
- The route is reachable only on loopback, a tailnet, or a private authenticated ingress.
|
||||
- You have reviewed the allowed methods and they match the automation you plan to run.
|
||||
|
||||
Use the WebSocket RPC path for OpenClaw clients and interactive tools that can keep a Gateway WebSocket connection open.
|
||||
|
||||
## Enable
|
||||
|
||||
Enable the bundled plugin:
|
||||
|
||||
<Tabs>
|
||||
<Tab title="CLI">
|
||||
```bash
|
||||
openclaw plugins enable admin-http-rpc
|
||||
openclaw gateway restart
|
||||
```
|
||||
</Tab>
|
||||
<Tab title="Config">
|
||||
```json5
|
||||
{
|
||||
plugins: {
|
||||
entries: {
|
||||
"admin-http-rpc": { enabled: true },
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
The route is registered during plugin startup. Restart the Gateway after changing plugin config.
|
||||
|
||||
Disable it when you no longer need the HTTP surface:
|
||||
|
||||
```bash
|
||||
openclaw plugins disable admin-http-rpc
|
||||
openclaw gateway restart
|
||||
```
|
||||
|
||||
## Verify the route
|
||||
|
||||
Use `health` as the smallest safe request:
|
||||
|
||||
```bash
|
||||
curl -sS http://<gateway-host>:<port>/api/v1/admin/rpc \
|
||||
-H 'Authorization: Bearer <gateway-token>' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{"method":"health","params":{}}'
|
||||
```
|
||||
|
||||
A successful response has `ok: true`:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "generated-request-id",
|
||||
"ok": true,
|
||||
"payload": {
|
||||
"status": "ok"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
When the plugin is disabled, the route returns `404` because it is not registered.
|
||||
|
||||
## Authentication
|
||||
|
||||
The plugin route uses Gateway HTTP auth.
|
||||
|
||||
Common authentication paths:
|
||||
|
||||
- shared-secret auth (`gateway.auth.mode="token"` or `"password"`): `Authorization: Bearer <token-or-password>`
|
||||
- trusted identity-bearing HTTP auth (`gateway.auth.mode="trusted-proxy"`): route through the configured identity-aware proxy and let it inject the required identity headers
|
||||
- private-ingress open auth (`gateway.auth.mode="none"`): no auth header required
|
||||
|
||||
## Security model
|
||||
|
||||
Treat this plugin as a full Gateway operator surface.
|
||||
|
||||
- Enabling the plugin intentionally offers access to the allowlisted admin RPC methods at `/api/v1/admin/rpc`.
|
||||
- The plugin declares the reserved `contracts.gatewayMethodDispatch: ["authenticated-request"]` manifest contract so its Gateway-authenticated HTTP route can dispatch control-plane methods in process.
|
||||
- Shared-secret bearer auth proves possession of the gateway operator secret.
|
||||
- For `token` and `password` auth, narrower `x-openclaw-scopes` headers are ignored and the normal full operator defaults are restored.
|
||||
- Trusted identity-bearing HTTP modes honor `x-openclaw-scopes` when present.
|
||||
- `gateway.auth.mode="none"` means this route is unauthenticated if the plugin is enabled. Use that only behind a private ingress you fully trust.
|
||||
- Requests dispatch through the same Gateway method handlers and scope checks as WebSocket RPC after the plugin route auth passes.
|
||||
- Keep this route on loopback, tailnet, or a private trusted ingress. Do not expose it directly to the public internet.
|
||||
- Plugin manifest contracts are not a sandbox. They prevent accidental use of reserved SDK helpers; trusted plugins still run in the Gateway process.
|
||||
|
||||
Use separate gateways when callers cross trust boundaries.
|
||||
|
||||
## Request
|
||||
|
||||
```http
|
||||
POST /api/v1/admin/rpc
|
||||
Authorization: Bearer <gateway-token>
|
||||
Content-Type: application/json
|
||||
```
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "optional-request-id",
|
||||
"method": "health",
|
||||
"params": {}
|
||||
}
|
||||
```
|
||||
|
||||
Fields:
|
||||
|
||||
- `id` (string, optional): copied into the response. A UUID is generated when omitted.
|
||||
- `method` (string, required): allowed Gateway method name.
|
||||
- `params` (any, optional): method-specific params.
|
||||
|
||||
The default max request body size is 1 MB.
|
||||
|
||||
## Response
|
||||
|
||||
Success responses use the Gateway RPC shape:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "optional-request-id",
|
||||
"ok": true,
|
||||
"payload": {}
|
||||
}
|
||||
```
|
||||
|
||||
Gateway method errors use:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "optional-request-id",
|
||||
"ok": false,
|
||||
"error": {
|
||||
"code": "INVALID_REQUEST",
|
||||
"message": "bad params"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
HTTP status follows the Gateway error when possible. For example, `INVALID_REQUEST` returns `400`, and `UNAVAILABLE` returns `503`.
|
||||
|
||||
## Allowed methods
|
||||
|
||||
- discovery: `commands.list`
|
||||
Returns the HTTP RPC method names allowed by this plugin.
|
||||
- gateway: `health`, `status`, `logs.tail`, `usage.status`, `usage.cost`, `gateway.restart.request`
|
||||
- config: `config.get`, `config.schema`, `config.schema.lookup`, `config.set`, `config.patch`, `config.apply`
|
||||
- channels: `channels.status`, `channels.start`, `channels.stop`, `channels.logout`
|
||||
- models: `models.list`, `models.authStatus`
|
||||
- agents: `agents.list`, `agents.create`, `agents.update`, `agents.delete`
|
||||
- approvals: `exec.approvals.get`, `exec.approvals.set`, `exec.approvals.node.get`, `exec.approvals.node.set`
|
||||
- cron: `cron.status`, `cron.list`, `cron.get`, `cron.runs`, `cron.add`, `cron.update`, `cron.remove`, `cron.run`
|
||||
- devices: `device.pair.list`, `device.pair.approve`, `device.pair.reject`, `device.pair.remove`
|
||||
- nodes: `node.list`, `node.describe`, `node.pair.list`, `node.pair.approve`, `node.pair.reject`, `node.pair.remove`, `node.rename`
|
||||
- tasks: `tasks.list`, `tasks.get`, `tasks.cancel`
|
||||
- diagnostics: `doctor.memory.status`, `update.status`
|
||||
|
||||
Other Gateway methods are blocked until they are intentionally added.
|
||||
|
||||
## WebSocket comparison
|
||||
|
||||
The normal Gateway WebSocket RPC path remains the preferred control-plane API for OpenClaw clients. Use admin HTTP RPC only for host tooling that needs a request/response HTTP surface.
|
||||
|
||||
Shared-token WebSocket clients without a trusted device identity cannot self-declare admin scopes during connect. Admin HTTP RPC deliberately follows the existing trusted HTTP operator model: when the plugin is enabled, shared-secret bearer auth is treated as full operator access for this admin surface.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
`404 Not Found`
|
||||
|
||||
: The plugin is disabled, the Gateway has not restarted since enabling it, or the request is going to a different Gateway process.
|
||||
|
||||
`401 Unauthorized`
|
||||
|
||||
: The request did not satisfy Gateway HTTP auth. Check the bearer token or the trusted-proxy identity headers.
|
||||
|
||||
`400 INVALID_REQUEST`
|
||||
|
||||
: The request body is not valid JSON, the `method` field is missing, or the method is not in the plugin allowlist.
|
||||
|
||||
`503 UNAVAILABLE`
|
||||
|
||||
: The Gateway method handler is unavailable. Check Gateway logs and retry after the Gateway finishes startup.
|
||||
|
||||
## Related
|
||||
|
||||
- [Operator scopes](/gateway/operator-scopes)
|
||||
- [Gateway security](/gateway/security)
|
||||
- [Remote access](/gateway/remote)
|
||||
- [Plugin manifest](/plugins/manifest#contracts)
|
||||
- [SDK subpaths](/plugins/sdk-subpaths)
|
||||
@@ -196,6 +196,11 @@ plugin-specific prefix. Core admin namespaces (`config.*`,
|
||||
`exec.approvals.*`, `wizard.*`, `update.*`) stay reserved and always resolve to
|
||||
`operator.admin`, even if a plugin asks for a narrower scope.
|
||||
|
||||
`openclaw/plugin-sdk/gateway-method-runtime` is a reserved control-plane bridge
|
||||
for plugin HTTP routes that declare
|
||||
`contracts.gatewayMethodDispatch: ["authenticated-request"]`. It is an
|
||||
intentional-use guard for reviewed native plugins, not a sandbox boundary.
|
||||
|
||||
Hook guard semantics to keep in mind:
|
||||
|
||||
- `before_tool_call`: `{ block: true }` is terminal and stops lower-priority handlers.
|
||||
|
||||
+24
-16
@@ -628,6 +628,7 @@ read without importing the plugin runtime.
|
||||
"webFetchProviders": ["firecrawl"],
|
||||
"webSearchProviders": ["gemini"],
|
||||
"migrationProviders": ["hermes"],
|
||||
"gatewayMethodDispatch": ["authenticated-request"],
|
||||
"tools": ["firecrawl_search", "firecrawl_scrape"]
|
||||
}
|
||||
}
|
||||
@@ -635,22 +636,23 @@ read without importing the plugin runtime.
|
||||
|
||||
Each list is optional:
|
||||
|
||||
| Field | Type | What it means |
|
||||
| -------------------------------- | ---------- | --------------------------------------------------------------------- |
|
||||
| `embeddedExtensionFactories` | `string[]` | Codex app-server extension factory ids, currently `codex-app-server`. |
|
||||
| `agentToolResultMiddleware` | `string[]` | Runtime ids a bundled plugin may register tool-result middleware for. |
|
||||
| `externalAuthProviders` | `string[]` | Provider ids whose external auth profile hook this plugin owns. |
|
||||
| `speechProviders` | `string[]` | Speech provider ids this plugin owns. |
|
||||
| `realtimeTranscriptionProviders` | `string[]` | Realtime-transcription provider ids this plugin owns. |
|
||||
| `realtimeVoiceProviders` | `string[]` | Realtime-voice provider ids this plugin owns. |
|
||||
| `memoryEmbeddingProviders` | `string[]` | Memory embedding provider ids this plugin owns. |
|
||||
| `mediaUnderstandingProviders` | `string[]` | Media-understanding provider ids this plugin owns. |
|
||||
| `imageGenerationProviders` | `string[]` | Image-generation provider ids this plugin owns. |
|
||||
| `videoGenerationProviders` | `string[]` | Video-generation provider ids this plugin owns. |
|
||||
| `webFetchProviders` | `string[]` | Web-fetch provider ids this plugin owns. |
|
||||
| `webSearchProviders` | `string[]` | Web-search provider ids this plugin owns. |
|
||||
| `migrationProviders` | `string[]` | Import provider ids this plugin owns for `openclaw migrate`. |
|
||||
| `tools` | `string[]` | Agent tool names this plugin owns. |
|
||||
| Field | Type | What it means |
|
||||
| -------------------------------- | ---------- | --------------------------------------------------------------------------------------------------- |
|
||||
| `embeddedExtensionFactories` | `string[]` | Codex app-server extension factory ids, currently `codex-app-server`. |
|
||||
| `agentToolResultMiddleware` | `string[]` | Runtime ids a bundled plugin may register tool-result middleware for. |
|
||||
| `externalAuthProviders` | `string[]` | Provider ids whose external auth profile hook this plugin owns. |
|
||||
| `speechProviders` | `string[]` | Speech provider ids this plugin owns. |
|
||||
| `realtimeTranscriptionProviders` | `string[]` | Realtime-transcription provider ids this plugin owns. |
|
||||
| `realtimeVoiceProviders` | `string[]` | Realtime-voice provider ids this plugin owns. |
|
||||
| `memoryEmbeddingProviders` | `string[]` | Memory embedding provider ids this plugin owns. |
|
||||
| `mediaUnderstandingProviders` | `string[]` | Media-understanding provider ids this plugin owns. |
|
||||
| `imageGenerationProviders` | `string[]` | Image-generation provider ids this plugin owns. |
|
||||
| `videoGenerationProviders` | `string[]` | Video-generation provider ids this plugin owns. |
|
||||
| `webFetchProviders` | `string[]` | Web-fetch provider ids this plugin owns. |
|
||||
| `webSearchProviders` | `string[]` | Web-search provider ids this plugin owns. |
|
||||
| `migrationProviders` | `string[]` | Import provider ids this plugin owns for `openclaw migrate`. |
|
||||
| `gatewayMethodDispatch` | `string[]` | Reserved entitlement for authenticated plugin HTTP routes that dispatch Gateway methods in-process. |
|
||||
| `tools` | `string[]` | Agent tool names this plugin owns. |
|
||||
|
||||
`contracts.embeddedExtensionFactories` is retained for bundled Codex
|
||||
app-server-only extension factories. Bundled tool-result transforms should
|
||||
@@ -674,6 +676,12 @@ built-in adapters such as `local`. Standalone CLI paths use this manifest
|
||||
contract to load only the owning plugin before the full Gateway runtime has
|
||||
registered providers.
|
||||
|
||||
`contracts.gatewayMethodDispatch` currently accepts
|
||||
`"authenticated-request"`. It is an API hygiene gate for native plugin HTTP
|
||||
routes that intentionally dispatch Gateway control-plane methods in-process, not
|
||||
a sandbox against malicious native plugins. Use it only for tightly reviewed
|
||||
bundled/operator surfaces that already require Gateway HTTP auth.
|
||||
|
||||
## mediaUnderstandingProviderMetadata reference
|
||||
|
||||
Use `mediaUnderstandingProviderMetadata` when a media-understanding provider has
|
||||
|
||||
@@ -51,6 +51,7 @@ commands.
|
||||
|
||||
| Plugin | Description | Distribution | Surface |
|
||||
| ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [admin-http-rpc](/plugins/reference/admin-http-rpc) | OpenClaw admin HTTP RPC endpoint. | `@openclaw/admin-http-rpc`<br />included in OpenClaw | contracts: gatewayMethodDispatch |
|
||||
| [alibaba](/plugins/reference/alibaba) | Adds video generation provider support. | `@openclaw/alibaba-provider`<br />included in OpenClaw | contracts: videoGenerationProviders |
|
||||
| [anthropic](/plugins/reference/anthropic) | Adds Anthropic model provider support to OpenClaw. | `@openclaw/anthropic-provider`<br />included in OpenClaw | providers: anthropic; contracts: mediaUnderstandingProviders |
|
||||
| [arcee](/plugins/reference/arcee) | Adds Arcee model provider support to OpenClaw. | `@openclaw/arcee-provider`<br />included in OpenClaw | providers: arcee |
|
||||
|
||||
@@ -18,6 +18,7 @@ pnpm plugins:inventory:gen
|
||||
| Plugin | Description | Distribution | Surface |
|
||||
| ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [acpx](/plugins/reference/acpx) | Embedded ACP runtime backend with plugin-owned session and transport management. | `@openclaw/acpx`<br />npm; ClawHub | skills |
|
||||
| [admin-http-rpc](/plugins/reference/admin-http-rpc) | OpenClaw admin HTTP RPC endpoint. | `@openclaw/admin-http-rpc`<br />included in OpenClaw | contracts: gatewayMethodDispatch |
|
||||
| [alibaba](/plugins/reference/alibaba) | Adds video generation provider support. | `@openclaw/alibaba-provider`<br />included in OpenClaw | contracts: videoGenerationProviders |
|
||||
| [amazon-bedrock](/plugins/reference/amazon-bedrock) | Adds Amazon Bedrock model provider support to OpenClaw. | `@openclaw/amazon-bedrock-provider`<br />npm; ClawHub | providers: amazon-bedrock; contracts: memoryEmbeddingProviders |
|
||||
| [amazon-bedrock-mantle](/plugins/reference/amazon-bedrock-mantle) | Adds Amazon Bedrock Mantle model provider support to OpenClaw. | `@openclaw/amazon-bedrock-mantle-provider`<br />npm; ClawHub | providers: amazon-bedrock-mantle |
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
summary: "OpenClaw admin HTTP RPC endpoint."
|
||||
read_when:
|
||||
- You are installing, configuring, or auditing the admin-http-rpc plugin
|
||||
title: "Admin Http Rpc plugin"
|
||||
---
|
||||
|
||||
# Admin Http Rpc plugin
|
||||
|
||||
OpenClaw admin HTTP RPC endpoint.
|
||||
|
||||
## Distribution
|
||||
|
||||
- Package: `@openclaw/admin-http-rpc`
|
||||
- Install route: included in OpenClaw
|
||||
|
||||
## Surface
|
||||
|
||||
contracts: gatewayMethodDispatch
|
||||
|
||||
## Related docs
|
||||
|
||||
- [admin-http-rpc](/plugins/admin-http-rpc)
|
||||
@@ -233,6 +233,7 @@ focused channel/runtime subpaths, `config-contracts`, `string-coerce-runtime`,
|
||||
| `plugin-sdk/lazy-runtime` | Lazy runtime import/binding helpers such as `createLazyRuntimeModule`, `createLazyRuntimeMethod`, and `createLazyRuntimeSurface` |
|
||||
| `plugin-sdk/process-runtime` | Process exec helpers |
|
||||
| `plugin-sdk/cli-runtime` | CLI formatting, wait, version, argument-invocation, and lazy command-group helpers |
|
||||
| `plugin-sdk/gateway-method-runtime` | Reserved Gateway method dispatch helper for plugin HTTP routes that declare `contracts.gatewayMethodDispatch: ["authenticated-request"]` |
|
||||
| `plugin-sdk/gateway-runtime` | Gateway client, event-loop-ready client start helper, gateway CLI RPC, gateway protocol errors, and channel-status patch helpers |
|
||||
| `plugin-sdk/config-contracts` | Focused type-only config surface for plugin config shapes such as `OpenClawConfig` and channel/provider config types |
|
||||
| `plugin-sdk/plugin-config-runtime` | Runtime plugin-config lookup helpers such as `requireRuntimeConfig`, `resolvePluginConfigObject`, and `resolveLivePluginConfigObject` |
|
||||
|
||||
@@ -19,6 +19,12 @@ Capabilities live in [Control UI](/web/control-ui). The rest of this page focuse
|
||||
When `hooks.enabled=true`, the Gateway also exposes a small webhook endpoint on the same HTTP server.
|
||||
See [Gateway configuration](/gateway/configuration) → `hooks` for auth + payloads.
|
||||
|
||||
## Admin HTTP RPC
|
||||
|
||||
Admin HTTP RPC exposes selected Gateway control-plane methods at `POST /api/v1/admin/rpc`.
|
||||
It is off by default and is registered only when the `admin-http-rpc` plugin is enabled.
|
||||
See [Admin HTTP RPC](/plugins/admin-http-rpc) for the auth model, allowed methods, and WebSocket comparison.
|
||||
|
||||
## Config (default-on)
|
||||
|
||||
The Control UI is **enabled by default** when assets are present (`dist/control-ui`).
|
||||
|
||||
Reference in New Issue
Block a user