OpenClaw App SDK adalah API klien publik untuk aplikasi di luar proses OpenClaw. GunakanDocumentation 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 ketika skrip, dasbor, pekerjaan CI, ekstensi
IDE, atau aplikasi eksternal lain ingin terhubung ke Gateway, memulai
run agen, mengalirkan event, menunggu hasil, membatalkan pekerjaan, atau
memeriksa resource Gateway.
App SDK berbeda dari Plugin SDK.
@openclaw/sdk berbicara dengan Gateway dari luar OpenClaw.
openclaw/plugin-sdk/* hanya untuk plugin yang berjalan di dalam OpenClaw dan
mendaftarkan provider, channel, tool, hook, atau runtime tepercaya.Yang Tersedia Saat Ini
@openclaw/sdk tersedia dengan:
| Permukaan | Status | Fungsinya |
|---|---|---|
OpenClaw | Siap | Titik masuk klien utama. Mengelola transport, koneksi, request, dan event. |
GatewayClientTransport | Siap | Transport WebSocket yang didukung oleh klien Gateway. |
oc.agents | Siap | Mencantumkan, membuat, memperbarui, menghapus, dan mengambil handle agen. |
Agent.run() | Siap | Memulai run agent Gateway dan mengembalikan Run. |
oc.runs | Siap | Membuat, mengambil, menunggu, membatalkan, dan mengalirkan run. |
Run.events() | Siap | Mengalirkan event per-run yang dinormalisasi dengan replay untuk run cepat. |
Run.wait() | Siap | Memanggil agent.wait dan mengembalikan RunResult yang stabil. |
Run.cancel() | Siap | Memanggil sessions.abort berdasarkan id run, dengan kunci sesi jika ada. |
oc.sessions | Siap | Membuat, me-resolve, mengirim ke, menambal, memadatkan, dan mengambil handle sesi. |
Session.send() | Siap | Memanggil sessions.send dan mengembalikan Run. |
oc.models | Siap | Memanggil models.list dan RPC status models.authStatus saat ini. |
oc.tools | Sebagian | Mencantumkan katalog tool dan tool efektif; pemanggilan tool langsung belum tersambung. |
oc.approvals | Siap | Mencantumkan dan me-resolve persetujuan exec melalui RPC persetujuan Gateway. |
oc.rawEvents() | Siap | Mengekspos event Gateway mentah untuk konsumen tingkat lanjut. |
normalizeGatewayEvent() | Siap | Mengubah event Gateway mentah menjadi bentuk event SDK yang stabil. |
AgentRunParams, RunResult, RunStatus, OpenClawEvent,
OpenClawEventType, GatewayEvent, OpenClawTransport,
GatewayRequestOptions, SessionCreateParams, SessionSendParams,
RuntimeSelection, EnvironmentSelection, WorkspaceSelection,
ApprovalMode, dan tipe hasil terkait.
Terhubung Ke Gateway
Buat klien dengan URL Gateway eksplisit, atau injeksikan transport kustom untuk pengujian dan runtime aplikasi tertanam.new OpenClaw({ gateway: "ws://..." }) setara dengan url. Opsi
gateway: "auto" diterima oleh konstruktor, tetapi penemuan Gateway otomatis
belum menjadi fitur SDK terpisah; teruskan url ketika aplikasi belum tahu
cara menemukan Gateway.
Untuk pengujian, teruskan objek yang mengimplementasikan OpenClawTransport:
Menjalankan Agen
Gunakanoc.agents.get(id) ketika aplikasi menginginkan handle agen, lalu panggil
agent.run().
openai/gpt-5.5 dipecah menjadi
override provider dan model Gateway. timeoutMs tetap dalam milidetik di SDK
dan dikonversi menjadi detik timeout Gateway untuk RPC agent.
run.wait() menggunakan RPC agent.wait Gateway. Tenggat tunggu yang kedaluwarsa
saat run masih aktif mengembalikan status: "accepted" alih-alih berpura-pura
run itu sendiri mengalami timeout. Timeout runtime, run yang dibatalkan, dan run
yang dicancel dinormalisasi menjadi timed_out atau cancelled.
Membuat Dan Menggunakan Ulang Sesi
Gunakan sesi ketika aplikasi menginginkan status transkrip yang persisten.Session.send() memanggil sessions.send dan mengembalikan Run. Handle sesi juga
mendukung:
Mengalirkan Event
SDK menormalisasi event Gateway mentah menjadi amplopOpenClawEvent yang stabil:
| Jenis event | Event Gateway sumber |
|---|---|
run.started | Awal siklus hidup agent |
run.completed | Akhir siklus hidup agent |
run.failed | Error siklus hidup agent |
run.cancelled | Akhir siklus hidup yang diabort/dicancel |
run.timed_out | Akhir siklus hidup timeout |
assistant.delta | Delta streaming asisten |
assistant.message | Pesan asisten |
thinking.delta | Aliran pemikiran atau rencana |
tool.call.started | Awal tool/item/perintah |
tool.call.delta | Pembaruan tool/item/perintah |
tool.call.completed | Penyelesaian tool/item/perintah |
tool.call.failed | Kegagalan atau status diblokir tool/item/perintah |
approval.requested | Request persetujuan exec atau plugin |
approval.resolved | Resolusi persetujuan exec atau plugin |
session.created | Pembuatan sessions.changed |
session.updated | Pembaruan sessions.changed |
session.compacted | Compaction sessions.changed |
task.updated | Event pembaruan tugas |
artifact.updated | Event aliran patch |
raw | Event apa pun yang belum memiliki pemetaan SDK stabil |
Run.events() memfilter event ke satu id run dan me-replay event yang sudah
terlihat untuk run cepat. Artinya alur yang didokumentasikan aman:
oc.events(). Untuk frame Gateway mentah,
gunakan oc.rawEvents().
Model, Tool, Dan Persetujuan
Helper model dipetakan ke metode Gateway saat ini:Yang Secara Eksplisit Belum Didukung Saat Ini
SDK menyertakan nama untuk model produk yang kami inginkan, tetapi tidak diam-diam berpura-pura RPC Gateway sudah ada. Panggilan ini saat ini melempar error tidak didukung yang eksplisit:workspace, runtime, environment, dan approvals diketik
sebagai bentuk mendatang, tetapi Gateway saat ini tidak mendukung override
tersebut pada RPC agent. Jika pemanggil meneruskannya, SDK melempar sebelum
mengirimkan run agar pekerjaan tidak secara tidak sengaja dieksekusi dengan
perilaku workspace, runtime, environment, atau persetujuan default.
App SDK Dibanding Plugin SDK
Gunakan App SDK ketika kode berada di luar OpenClaw:- Skrip Node yang memulai atau mengamati run agen
- Pekerjaan CI yang memanggil Gateway
- dasbor dan panel admin
- ekstensi IDE
- bridge eksternal yang tidak perlu menjadi plugin channel
- pengujian integrasi dengan transport Gateway palsu atau nyata
- plugin provider
- plugin channel
- hook tool atau siklus hidup
- plugin harness agen
- helper runtime tepercaya
@openclaw/sdk. Kode Plugin harus mengimpor dari
subpath openclaw/plugin-sdk/* yang didokumentasikan. Jangan campur kedua kontrak.