OpenClaw App SDK to publiczne API klienta dla aplikacji poza procesem OpenClaw. UżyjDocumentation 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, gdy skrypt, dashboard, zadanie CI, rozszerzenie IDE
lub inna aplikacja zewnętrzna chce połączyć się z Gateway, uruchamiać przebiegi
agentów, strumieniować zdarzenia, czekać na wyniki, anulować pracę albo sprawdzać
zasoby Gateway.
App SDK różni się od Plugin SDK.
@openclaw/sdk komunikuje się z Gateway spoza OpenClaw.
openclaw/plugin-sdk/* jest przeznaczone wyłącznie dla pluginów działających wewnątrz OpenClaw i
rejestrujących dostawców, kanały, narzędzia, hooki lub zaufane środowiska uruchomieniowe.Co Jest Dostępne Dzisiaj
@openclaw/sdk zawiera:
| Powierzchnia | Status | Co robi |
|---|---|---|
OpenClaw | Gotowe | Główny punkt wejścia klienta. Obejmuje transport, połączenie, żądania i zdarzenia. |
GatewayClientTransport | Gotowe | Transport WebSocket oparty na kliencie Gateway. |
oc.agents | Gotowe | Wyświetla, tworzy, aktualizuje, usuwa i pobiera uchwyty agentów. |
Agent.run() | Gotowe | Uruchamia przebieg agent w Gateway i zwraca Run. |
oc.runs | Gotowe | Tworzy, pobiera, oczekuje, anuluje i strumieniuje przebiegi. |
Run.events() | Gotowe | Strumieniuje znormalizowane zdarzenia pojedynczego przebiegu z odtworzeniem dla szybkich przebiegów. |
Run.wait() | Gotowe | Wywołuje agent.wait i zwraca stabilny RunResult. |
Run.cancel() | Gotowe | Wywołuje sessions.abort według identyfikatora przebiegu, z kluczem sesji, gdy jest dostępny. |
oc.sessions | Gotowe | Tworzy, rozwiązuje, wysyła do, poprawia, kompaktuje i pobiera uchwyty sesji. |
Session.send() | Gotowe | Wywołuje sessions.send i zwraca Run. |
oc.models | Gotowe | Wywołuje models.list oraz bieżące RPC statusu models.authStatus. |
oc.tools | Częściowe | Wyświetla katalog narzędzi i efektywne narzędzia; bezpośrednie wywoływanie narzędzi nie jest podłączone. |
oc.approvals | Gotowe | Wyświetla i rozstrzyga zgody na exec przez RPC zgód Gateway. |
oc.rawEvents() | Gotowe | Udostępnia surowe zdarzenia Gateway dla zaawansowanych konsumentów. |
normalizeGatewayEvent() | Gotowe | Konwertuje surowe zdarzenia Gateway do stabilnego kształtu zdarzeń SDK. |
AgentRunParams, RunResult, RunStatus, OpenClawEvent,
OpenClawEventType, GatewayEvent, OpenClawTransport,
GatewayRequestOptions, SessionCreateParams, SessionSendParams,
RuntimeSelection, EnvironmentSelection, WorkspaceSelection,
ApprovalMode oraz powiązane typy wyników.
Połącz Się Z Gateway
Utwórz klienta z jawnym adresem URL Gateway albo wstrzyknij własny transport dla testów i osadzonych środowisk uruchomieniowych aplikacji.new OpenClaw({ gateway: "ws://..." }) jest równoważne z url. Opcja
gateway: "auto" jest akceptowana przez konstruktor, ale automatyczne
wykrywanie Gateway nie jest jeszcze osobną funkcją SDK; przekaż url, gdy aplikacja nie wie już,
jak wykrywać Gateway.
W testach przekaż obiekt implementujący OpenClawTransport:
Uruchom Agenta
Użyjoc.agents.get(id), gdy aplikacja potrzebuje uchwytu agenta, a następnie wywołaj
agent.run().
openai/gpt-5.5, są dzielone na
nadpisania provider i model Gateway. timeoutMs pozostaje w SDK w milisekundach i
jest konwertowane na sekundy limitu czasu Gateway dla RPC agent.
run.wait() używa RPC Gateway agent.wait. Termin oczekiwania, który wygasa,
gdy przebieg nadal jest aktywny, zwraca status: "accepted" zamiast udawać,
że sam przebieg przekroczył limit czasu. Limity czasu środowiska uruchomieniowego, przerwane przebiegi i anulowane przebiegi są
normalizowane do timed_out lub cancelled.
Twórz I Ponownie Używaj Sesji
Używaj sesji, gdy aplikacja potrzebuje trwałego stanu transkryptu.Session.send() wywołuje sessions.send i zwraca Run. Uchwyty sesji obsługują także:
Strumieniuj Zdarzenia
SDK normalizuje surowe zdarzenia Gateway do stabilnej kopertyOpenClawEvent:
| Typ zdarzenia | Źródłowe zdarzenie Gateway |
|---|---|
run.started | Początek cyklu życia agent |
run.completed | Koniec cyklu życia agent |
run.failed | Błąd cyklu życia agent |
run.cancelled | Koniec przerwanego/anulowanego cyklu życia |
run.timed_out | Koniec cyklu życia po przekroczeniu limitu czasu |
assistant.delta | Delta strumieniowania asystenta |
assistant.message | Wiadomość asystenta |
thinking.delta | Strumień myślenia lub planu |
tool.call.started | Początek narzędzia/elementu/polecenia |
tool.call.delta | Aktualizacja narzędzia/elementu/polecenia |
tool.call.completed | Ukończenie narzędzia/elementu/polecenia |
tool.call.failed | Niepowodzenie narzędzia/elementu/polecenia lub status zablokowania |
approval.requested | Żądanie zgody na exec lub plugin |
approval.resolved | Rozstrzygnięcie zgody na exec lub plugin |
session.created | Utworzenie sessions.changed |
session.updated | Aktualizacja sessions.changed |
session.compacted | Compaction sessions.changed |
task.updated | Zdarzenia aktualizacji zadania |
artifact.updated | Zdarzenia strumienia poprawek |
raw | Dowolne zdarzenie bez stabilnego mapowania SDK |
Run.events() filtruje zdarzenia do jednego identyfikatora przebiegu i odtwarza już widziane zdarzenia dla
szybkich przebiegów. Oznacza to, że udokumentowany przepływ jest bezpieczny:
oc.events(). Do surowych ramek Gateway użyj
oc.rawEvents().
Modele, Narzędzia I Zgody
Pomocniki modeli mapują się na bieżące metody Gateway:Jawnie Nieobsługiwane Dzisiaj
SDK zawiera nazwy dla modelu produktu, którego chcemy, ale nie udaje po cichu, że istnieją RPC Gateway. Te wywołania obecnie rzucają jawne błędy braku obsługi:workspace, runtime, environment i approvals są typowane
jako przyszły kształt, ale bieżący Gateway nie obsługuje tych nadpisań w
RPC agent. Jeśli wywołujący je przekażą, SDK rzuca błąd przed przesłaniem przebiegu,
aby praca nie została przypadkowo wykonana z domyślnym zachowaniem workspace, runtime,
environment lub approval.
App SDK A Plugin SDK
Używaj App SDK, gdy kod działa poza OpenClaw:- skrypty Node uruchamiające lub obserwujące przebiegi agentów
- zadania CI wywołujące Gateway
- dashboardy i panele administracyjne
- rozszerzenia IDE
- zewnętrzne mosty, które nie muszą stać się pluginami kanałów
- testy integracyjne z fałszywymi lub prawdziwymi transportami Gateway
- pluginy dostawców
- pluginy kanałów
- hooki narzędzi lub cyklu życia
- pluginy uprzęży agenta
- zaufane pomocniki środowiska uruchomieniowego
@openclaw/sdk. Kod pluginu powinien importować z
udokumentowanych podścieżek openclaw/plugin-sdk/*. Nie mieszaj tych dwóch kontraktów.