admin-http-rpc Plugin stelt geselecteerde Gateway-besturingsvlakmethoden beschikbaar via HTTP voor vertrouwde hostautomatisering die de normale Gateway WebSocket RPC-client niet kan gebruiken.
De Plugin wordt meegeleverd met OpenClaw, maar staat standaard uit. Wanneer deze is uitgeschakeld, wordt de route niet geregistreerd. Wanneer deze is ingeschakeld, voegt deze toe:
POST /api/v1/admin/rpc- dezelfde listener als de Gateway:
http://<gateway-host>:<port>/api/v1/admin/rpc
Voordat u dit inschakelt
Admin HTTP RPC is een volledig operatorbesturingsvlak. Elke caller die slaagt voor Gateway HTTP-authenticatie kan de toegestane methoden op deze pagina aanroepen. Gebruik dit wanneer al het volgende waar is:- De caller wordt vertrouwd om de Gateway te beheren.
- De caller kan de WebSocket RPC-client niet gebruiken.
- De route is alleen bereikbaar op loopback, een tailnet of een private geauthenticeerde ingress.
- U hebt de toegestane methoden beoordeeld en ze passen bij de automatisering die u wilt uitvoeren.
Inschakelen
Schakel de gebundelde Plugin in:- CLI
- Config
De route verifiëren
Gebruikhealth als de kleinste veilige aanvraag:
ok: true:
404 omdat deze niet is geregistreerd.
Authenticatie
De Plugin-route gebruikt Gateway HTTP-authenticatie. Veelgebruikte authenticatiepaden:- gedeeld-geheim-authenticatie (
gateway.auth.mode="token"of"password"):Authorization: Bearer <token-or-password> - vertrouwde identiteitdragende HTTP-authenticatie (
gateway.auth.mode="trusted-proxy"): routeer via de geconfigureerde identiteitsbewuste proxy en laat deze de vereiste identiteitsheaders injecteren - open authenticatie via private ingress (
gateway.auth.mode="none"): geen authenticatieheader vereist
Beveiligingsmodel
Behandel deze Plugin als een volledig Gateway-operatoroppervlak.- Het inschakelen van de Plugin biedt bewust toegang tot de toegestane admin-RPC-methoden op
/api/v1/admin/rpc. - De Plugin declareert het gereserveerde
contracts.gatewayMethodDispatch: ["authenticated-request"]manifestcontract zodat de met Gateway geauthenticeerde HTTP-route besturingsvlakmethoden binnen het proces kan dispatchen. - Bearer-authenticatie met gedeeld geheim bewijst bezit van het gateway-operatorgeheim.
- Voor
token- enpassword-authenticatie worden smallerex-openclaw-scopes-headers genegeerd en worden de normale volledige operatorstandaarden hersteld. - Vertrouwde identiteitdragende HTTP-modi respecteren
x-openclaw-scopeswanneer aanwezig. gateway.auth.mode="none"betekent dat deze route niet geauthenticeerd is als de Plugin is ingeschakeld. Gebruik dat alleen achter een private ingress die u volledig vertrouwt.- Aanvragen worden, nadat de authenticatie van de Plugin-route is geslaagd, via dezelfde Gateway-method handlers en scopecontroles gedispatcht als WebSocket RPC.
- Houd deze route op loopback, tailnet of een private vertrouwde ingress. Stel deze niet rechtstreeks bloot aan het openbare internet.
- Plugin-manifestcontracten zijn geen sandbox. Ze voorkomen onbedoeld gebruik van gereserveerde SDK-helpers; vertrouwde Plugins draaien nog steeds in het Gateway-proces.
Aanvraag
id(string, optioneel): wordt naar de respons gekopieerd. Er wordt een UUID gegenereerd wanneer dit is weggelaten.method(string, vereist): toegestane Gateway-methodenaam.params(any, optioneel): methode-specifieke parameters.
Respons
Succesvolle responses gebruiken de Gateway RPC-vorm:INVALID_REQUEST retourneert bijvoorbeeld 400, en UNAVAILABLE retourneert 503.
Toegestane methoden
- discovery:
commands.listRetourneert de HTTP RPC-methodenamen die door deze Plugin zijn toegestaan. - 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 - web:
web.login.start,web.login.wait - 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
WebSocket-vergelijking
Het normale Gateway WebSocket RPC-pad blijft de voorkeurs-API voor het besturingsvlak voor OpenClaw-clients. Gebruik admin HTTP RPC alleen voor hosttools die een HTTP-oppervlak voor aanvraag/respons nodig hebben. WebSocket-clients met gedeeld token zonder vertrouwde apparaatidentiteit kunnen tijdens het verbinden niet zelf admin-scopes declareren. Admin HTTP RPC volgt bewust het bestaande vertrouwde HTTP-operatormodel: wanneer de Plugin is ingeschakeld, wordt bearer-authenticatie met gedeeld geheim behandeld als volledige operatortoegang voor dit admin-oppervlak.Probleemoplossing
404 Not Found
: De Plugin is uitgeschakeld, de Gateway is niet opnieuw gestart sinds het inschakelen ervan, of de aanvraag gaat naar een ander Gateway-proces.
401 Unauthorized
: De aanvraag voldeed niet aan Gateway HTTP-authenticatie. Controleer het bearer-token of de trusted-proxy-identiteitsheaders.
400 INVALID_REQUEST
: De aanvraagbody is geen geldige JSON, het veld method ontbreekt, of de methode staat niet in de allowlist van de Plugin.
503 UNAVAILABLE
: De Gateway-method handler is niet beschikbaar. Controleer de Gateway-logs en probeer het opnieuw nadat de Gateway klaar is met opstarten.