O SDK de Apps da OpenClaw é a API cliente pública para apps fora do processo da OpenClaw. UseDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
@openclaw/sdk quando um script, painel, trabalho de CI, extensão de IDE ou outro app externo quiser se conectar ao Gateway, iniciar execuções de agente, transmitir eventos, aguardar resultados, cancelar trabalho ou inspecionar recursos do Gateway.
O SDK de Apps é diferente do Plugin SDK.
@openclaw/sdk se comunica com o Gateway de fora da OpenClaw.
openclaw/plugin-sdk/* é apenas para plugins que rodam dentro da OpenClaw e registram provedores, canais, ferramentas, hooks ou runtimes confiáveis.O Que É Disponibilizado Hoje
@openclaw/sdk é disponibilizado com:
| Superfície | Status | O que faz |
|---|---|---|
OpenClaw | Pronto | Ponto de entrada principal do cliente. Gerencia transporte, conexão, solicitações e eventos. |
GatewayClientTransport | Pronto | Transporte WebSocket apoiado pelo cliente do Gateway. |
oc.agents | Pronto | Lista, cria, atualiza, exclui e obtém handles de agentes. |
Agent.run() | Pronto | Inicia uma execução agent do Gateway e retorna um Run. |
oc.runs | Pronto | Cria, obtém, aguarda, cancela e transmite execuções. |
Run.events() | Pronto | Transmite eventos normalizados por execução com replay para execuções rápidas. |
Run.wait() | Pronto | Chama agent.wait e retorna um RunResult estável. |
Run.cancel() | Pronto | Chama sessions.abort pelo id da execução, com chave de sessão quando disponível. |
oc.sessions | Pronto | Cria, resolve, envia para, aplica patches, compacta e obtém handles de sessão. |
Session.send() | Pronto | Chama sessions.send e retorna um Run. |
oc.models | Pronto | Chama models.list e o RPC de status models.authStatus atual. |
oc.tools | Parcial | Lista o catálogo de ferramentas e ferramentas efetivas; a invocação direta de ferramentas não está conectada. |
oc.approvals | Pronto | Lista e resolve aprovações de execução por meio de RPCs de aprovação do Gateway. |
oc.rawEvents() | Pronto | Expõe eventos brutos do Gateway para consumidores avançados. |
normalizeGatewayEvent() | Pronto | Converte eventos brutos do Gateway para o formato de evento estável do SDK. |
AgentRunParams, RunResult, RunStatus, OpenClawEvent,
OpenClawEventType, GatewayEvent, OpenClawTransport,
GatewayRequestOptions, SessionCreateParams, SessionSendParams,
RuntimeSelection, EnvironmentSelection, WorkspaceSelection,
ApprovalMode e tipos de resultado relacionados.
Conectar A Um Gateway
Crie um cliente com uma URL explícita do Gateway ou injete um transporte personalizado para testes e runtimes de apps embarcados.new OpenClaw({ gateway: "ws://..." }) é equivalente a url. A opção
gateway: "auto" é aceita pelo construtor, mas a descoberta automática do Gateway ainda não é um recurso separado do SDK; passe url quando o app ainda não souber como descobrir o Gateway.
Para testes, passe um objeto que implemente OpenClawTransport:
Executar Um Agente
Useoc.agents.get(id) quando o app precisar de um handle de agente e, em seguida, chame agent.run().
openai/gpt-5.5, são divididas em substituições de provider e model do Gateway. timeoutMs permanece em milissegundos no SDK e é convertido para segundos de timeout do Gateway para o RPC agent.
run.wait() usa o RPC agent.wait do Gateway. Um prazo de espera que expira enquanto a execução ainda está ativa retorna status: "accepted" em vez de fingir que a própria execução atingiu timeout. Timeouts de runtime, execuções abortadas e execuções canceladas são normalizados para timed_out ou cancelled.
Criar E Reutilizar Sessões
Use sessões quando o app precisar de estado durável de transcrição.Session.send() chama sessions.send e retorna um Run. Handles de sessão também aceitam:
Transmitir Eventos
O SDK normaliza eventos brutos do Gateway em um envelopeOpenClawEvent estável:
| Tipo de evento | Evento de origem do Gateway |
|---|---|
run.started | Início do ciclo de vida de agent |
run.completed | Fim do ciclo de vida de agent |
run.failed | Erro do ciclo de vida de agent |
run.cancelled | Fim do ciclo de vida abortado/cancelado |
run.timed_out | Fim do ciclo de vida por timeout |
assistant.delta | Delta de streaming do assistente |
assistant.message | Mensagem do assistente |
thinking.delta | Fluxo de pensamento ou plano |
tool.call.started | Início de ferramenta/item/comando |
tool.call.delta | Atualização de ferramenta/item/comando |
tool.call.completed | Conclusão de ferramenta/item/comando |
tool.call.failed | Falha ou status bloqueado de ferramenta/item/comando |
approval.requested | Solicitação de aprovação de execução ou Plugin |
approval.resolved | Resolução de aprovação de execução ou Plugin |
session.created | Criação de sessions.changed |
session.updated | Atualização de sessions.changed |
session.compacted | Compaction de sessions.changed |
task.updated | Eventos de atualização de tarefa |
artifact.updated | Eventos de fluxo de patch |
raw | Qualquer evento ainda sem um mapeamento estável do SDK |
Run.events() filtra eventos para um único id de execução e reproduz eventos já vistos para execuções rápidas. Isso significa que o fluxo documentado é seguro:
oc.events(). Para frames brutos do Gateway, use
oc.rawEvents().
Modelos, Ferramentas E Aprovações
Helpers de modelo mapeiam para métodos atuais do Gateway:Explicitamente Sem Suporte Hoje
O SDK inclui nomes para o modelo de produto que queremos, mas não finge silenciosamente que RPCs do Gateway existem. Atualmente, estas chamadas lançam erros explícitos de falta de suporte:workspace, runtime, environment e approvals são tipados como formato futuro, mas o Gateway atual não oferece suporte a essas substituições no RPC agent. Se chamadores os passarem, o SDK lança erro antes de enviar a execução para que o trabalho não seja executado acidentalmente com o comportamento padrão de workspace, runtime, ambiente ou aprovação.
SDK de Apps Versus Plugin SDK
Use o SDK de Apps quando o código estiver fora da OpenClaw:- scripts Node que iniciam ou observam execuções de agente
- trabalhos de CI que chamam um Gateway
- painéis e painéis administrativos
- extensões de IDE
- pontes externas que não precisam se tornar plugins de canal
- testes de integração com transportes Gateway falsos ou reais
- plugins de provedor
- plugins de canal
- hooks de ferramenta ou ciclo de vida
- plugins de harness de agente
- helpers de runtime confiável
@openclaw/sdk. Código de Plugin deve importar dos subcaminhos documentados de openclaw/plugin-sdk/*. Não misture os dois contratos.