Live: sapuan kapabilitas node Android
- Pengujian:
src/gateway/android-node.capabilities.live.test.ts - Skrip:
pnpm android:test:integration - Tujuan: memanggil setiap perintah yang saat ini diiklankan oleh node Android yang terhubung dan memverifikasi perilaku kontrak perintah.
- Cakupan:
- Penyiapan manual/prasyarat (suite ini tidak menginstal/menjalankan/melakukan pairing aplikasi).
- Validasi
node.invokegateway per perintah untuk node Android yang dipilih.
- Pra-penyiapan yang diperlukan:
- Aplikasi Android sudah terhubung + dipasangkan ke gateway.
- Aplikasi tetap di foreground.
- Izin/persetujuan capture diberikan untuk kapabilitas yang Anda harapkan lolos.
- Override target opsional:
OPENCLAW_ANDROID_NODE_IDatauOPENCLAW_ANDROID_NODE_NAME.OPENCLAW_ANDROID_GATEWAY_URL/OPENCLAW_ANDROID_GATEWAY_TOKEN/OPENCLAW_ANDROID_GATEWAY_PASSWORD.
- Detail penyiapan Android lengkap: Aplikasi Android
Live: smoke model (kunci profil)
Pengujian live dibagi menjadi dua lapisan agar kita bisa mengisolasi kegagalan:- “Model langsung” memberi tahu kita apakah provider/model sama sekali dapat menjawab dengan key yang diberikan.
- “Gateway smoke” memberi tahu kita apakah pipeline gateway+agen penuh bekerja untuk model tersebut (sesi, riwayat, alat, kebijakan sandbox, dll.).
Lapisan 1: penyelesaian model langsung (tanpa gateway)
- Pengujian:
src/agents/models.profiles.live.test.ts - Tujuan:
- Mengenumerasi model yang ditemukan
- Menggunakan
getApiKeyForModeluntuk memilih model yang Anda punya kredensialnya - Menjalankan penyelesaian kecil per model (dan regresi terarah bila perlu)
- Cara mengaktifkan:
pnpm test:live(atauOPENCLAW_LIVE_TEST=1jika memanggil Vitest langsung)
- Setel
OPENCLAW_LIVE_MODELS=modern(atauall, alias untuk modern) agar suite ini benar-benar berjalan; jika tidak, suite ini dilewati agarpnpm test:livetetap fokus pada gateway smoke - Cara memilih model:
OPENCLAW_LIVE_MODELS=modernuntuk menjalankan allowlist modern (Opus/Sonnet 4.6+, GPT-5.2 + Codex, Gemini 3, GLM 4.7, MiniMax M2.7, Grok 4)OPENCLAW_LIVE_MODELS=alladalah alias untuk allowlist modern- atau
OPENCLAW_LIVE_MODELS="openai/gpt-5.2,openai-codex/gpt-5.2,anthropic/claude-opus-4-6,..."(allowlist dipisahkan koma) - Sapuan modern/all secara default memakai batas terkurasi dengan sinyal tinggi; setel
OPENCLAW_LIVE_MAX_MODELS=0untuk sapuan modern menyeluruh atau angka positif untuk batas yang lebih kecil. - Sapuan menyeluruh menggunakan
OPENCLAW_LIVE_TEST_TIMEOUT_MSuntuk timeout seluruh pengujian model langsung. Default: 60 menit. - Probe model langsung berjalan dengan paralelisme 20 jalur secara default; setel
OPENCLAW_LIVE_MODEL_CONCURRENCYuntuk override.
- Cara memilih provider:
OPENCLAW_LIVE_PROVIDERS="google,google-antigravity,google-gemini-cli"(allowlist dipisahkan koma)
- Dari mana key berasal:
- Default: penyimpanan profil dan fallback env
- Setel
OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1untuk memaksa hanya penyimpanan profil
- Mengapa ini ada:
- Memisahkan “API provider rusak / key tidak valid” dari “pipeline agen gateway rusak”
- Menampung regresi kecil yang terisolasi (contoh: alur reasoning replay + tool-call OpenAI Responses/Codex Responses)
Lapisan 2: Gateway + smoke agen dev (apa yang sebenarnya dilakukan “@openclaw”)
- Pengujian:
src/gateway/gateway-models.profiles.live.test.ts - Tujuan:
- Menjalankan gateway dalam proses
- Membuat/menambal sesi
agent:dev:*(override model per eksekusi) - Mengiterasi model-dengan-key dan memverifikasi:
- respons yang “bermakna” (tanpa alat)
- pemanggilan alat nyata bekerja (probe read)
- probe alat tambahan opsional (probe exec+read)
- jalur regresi OpenAI (hanya tool-call → tindak lanjut) tetap berfungsi
- Detail probe (agar Anda bisa menjelaskan kegagalan dengan cepat):
- probe
read: pengujian menulis file nonce di workspace dan meminta agen untukreadfile itu lalu mengembalikan nonce. - probe
exec+read: pengujian meminta agen menulis nonce ke file sementara lewatexec, lalureadkembali. - probe gambar: pengujian melampirkan PNG yang dihasilkan (kucing + kode acak) dan mengharapkan model mengembalikan
cat <CODE>. - Referensi implementasi:
src/gateway/gateway-models.profiles.live.test.tsdansrc/gateway/live-image-probe.ts.
- probe
- Cara mengaktifkan:
pnpm test:live(atauOPENCLAW_LIVE_TEST=1jika memanggil Vitest langsung)
- Cara memilih model:
- Default: allowlist modern (Opus/Sonnet 4.6+, GPT-5.2 + Codex, Gemini 3, GLM 4.7, MiniMax M2.7, Grok 4)
OPENCLAW_LIVE_GATEWAY_MODELS=alladalah alias untuk allowlist modern- Atau setel
OPENCLAW_LIVE_GATEWAY_MODELS="provider/model"(atau daftar dipisahkan koma) untuk mempersempit - Sapuan gateway modern/all secara default memakai batas terkurasi dengan sinyal tinggi; setel
OPENCLAW_LIVE_GATEWAY_MAX_MODELS=0untuk sapuan modern menyeluruh atau angka positif untuk batas yang lebih kecil.
- Cara memilih provider (hindari “semua OpenRouter”):
OPENCLAW_LIVE_GATEWAY_PROVIDERS="google,google-antigravity,google-gemini-cli,openai,anthropic,zai,minimax"(allowlist dipisahkan koma)
- Probe alat + gambar selalu aktif dalam pengujian live ini:
- probe
read+ probeexec+read(stress alat) - probe gambar berjalan ketika model mengiklankan dukungan input gambar
- Alur (tingkat tinggi):
- Pengujian menghasilkan PNG kecil dengan “CAT” + kode acak (
src/gateway/live-image-probe.ts) - Mengirimnya melalui
agentattachments: [{ mimeType: "image/png", content: "<base64>" }] - Gateway mem-parse lampiran ke
images[](src/gateway/server-methods/agent.ts+src/gateway/chat-attachments.ts) - Agen tertanam meneruskan pesan pengguna multimodal ke model
- Verifikasi: balasan berisi
cat+ kode tersebut (toleransi OCR: kesalahan kecil diperbolehkan)
- Pengujian menghasilkan PNG kecil dengan “CAT” + kode acak (
- probe
provider/model yang tepat), jalankan:
Live: smoke backend CLI (Claude, Codex, Gemini, atau CLI lokal lain)
- Pengujian:
src/gateway/gateway-cli-backend.live.test.ts - Tujuan: memvalidasi pipeline Gateway + agen menggunakan backend CLI lokal, tanpa menyentuh config default Anda.
- Default smoke khusus backend berada di definisi
cli-backend.tsmilik ekstensi pemilik. - Aktifkan:
pnpm test:live(atauOPENCLAW_LIVE_TEST=1jika memanggil Vitest langsung)OPENCLAW_LIVE_CLI_BACKEND=1
- Default:
- Provider/model default:
claude-cli/claude-sonnet-4-6 - Perilaku command/args/image berasal dari metadata plugin backend CLI pemilik.
- Provider/model default:
- Override (opsional):
OPENCLAW_LIVE_CLI_BACKEND_MODEL="codex-cli/gpt-5.2"OPENCLAW_LIVE_CLI_BACKEND_COMMAND="/full/path/to/codex"OPENCLAW_LIVE_CLI_BACKEND_ARGS='["exec","--json","--color","never","--sandbox","read-only","--skip-git-repo-check"]'OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=1untuk mengirim lampiran gambar nyata (path disuntikkan ke prompt).OPENCLAW_LIVE_CLI_BACKEND_IMAGE_ARG="--image"untuk meneruskan path file gambar sebagai arg CLI alih-alih injeksi prompt.OPENCLAW_LIVE_CLI_BACKEND_IMAGE_MODE="repeat"(atau"list") untuk mengontrol cara arg gambar diteruskan saatIMAGE_ARGdisetel.OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1untuk mengirim giliran kedua dan memvalidasi alur resume.OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=0untuk menonaktifkan probe kontinuitas default Claude Sonnet -> Opus dalam sesi yang sama (setel ke1untuk memaksanya aktif saat model terpilih mendukung target pergantian).
- Runner Docker berada di
scripts/test-live-cli-backend-docker.sh. - Runner ini menjalankan smoke backend CLI live di dalam image Docker repo sebagai pengguna non-root
node. - Runner ini menyelesaikan metadata smoke CLI dari ekstensi pemilik, lalu menginstal paket CLI Linux yang cocok (
@anthropic-ai/claude-code,@openai/codex, atau@google/gemini-cli) ke prefiks writable yang di-cache diOPENCLAW_DOCKER_CLI_TOOLS_DIR(default:~/.cache/openclaw/docker-cli-tools). pnpm test:docker:live-cli-backend:claude-subscriptionmemerlukan OAuth langganan Claude Code portabel melalui~/.claude/.credentials.jsondenganclaudeAiOauth.subscriptionTypeatauCLAUDE_CODE_OAUTH_TOKENdariclaude setup-token. Runner ini terlebih dahulu membuktikanclaude -plangsung di Docker, lalu menjalankan dua giliran backend CLI Gateway tanpa mempertahankan variabel env API key Anthropic. Jalur langganan ini menonaktifkan probe alat/image Claude MCP secara default karena Claude saat ini merutekan penggunaan aplikasi pihak ketiga melalui billing penggunaan tambahan alih-alih batas paket langganan normal.- Smoke backend CLI live sekarang menjalankan alur ujung ke ujung yang sama untuk Claude, Codex, dan Gemini: giliran teks, giliran klasifikasi gambar, lalu pemanggilan alat MCP
cronyang diverifikasi melalui CLI gateway. - Smoke default Claude juga menambal sesi dari Sonnet ke Opus dan memverifikasi sesi yang dilanjutkan masih mengingat catatan sebelumnya.
Live: smoke bind ACP (/acp spawn ... --bind here)
- Pengujian:
src/gateway/gateway-acp-bind.live.test.ts - Tujuan: memvalidasi alur bind percakapan ACP nyata dengan agen ACP live:
- kirim
/acp spawn <agent> --bind here - bind percakapan saluran pesan sintetis di tempat
- kirim tindak lanjut normal pada percakapan yang sama
- verifikasi tindak lanjut masuk ke transkrip sesi ACP yang dibind
- kirim
- Aktifkan:
pnpm test:live src/gateway/gateway-acp-bind.live.test.tsOPENCLAW_LIVE_ACP_BIND=1
- Default:
- Agen ACP di Docker:
claude,codex,gemini - Agen ACP untuk
pnpm test:live ...langsung:claude - Saluran sintetis: konteks percakapan bergaya DM Slack
- Backend ACP:
acpx
- Agen ACP di Docker:
- Override:
OPENCLAW_LIVE_ACP_BIND_AGENT=claudeOPENCLAW_LIVE_ACP_BIND_AGENT=codexOPENCLAW_LIVE_ACP_BIND_AGENT=geminiOPENCLAW_LIVE_ACP_BIND_AGENTS=claude,codex,geminiOPENCLAW_LIVE_ACP_BIND_AGENT_COMMAND='npx -y @agentclientprotocol/claude-agent-acp@<version>'OPENCLAW_LIVE_ACP_BIND_CODEX_MODEL=gpt-5.2OPENCLAW_LIVE_ACP_BIND_PARENT_MODEL=openai/gpt-5.2
- Catatan:
- Jalur ini menggunakan permukaan gateway
chat.senddengan field originating-route sintetis khusus admin sehingga pengujian dapat melampirkan konteks saluran pesan tanpa berpura-pura mengirim secara eksternal. - Saat
OPENCLAW_LIVE_ACP_BIND_AGENT_COMMANDtidak disetel, pengujian menggunakan registri agen bawaan pluginacpxtertanam untuk agen harness ACP yang dipilih.
- Jalur ini menggunakan permukaan gateway
- Runner Docker berada di
scripts/test-live-acp-bind-docker.sh. - Secara default, runner ini menjalankan smoke bind ACP terhadap semua agen CLI live yang didukung secara berurutan:
claude,codex, lalugemini. - Gunakan
OPENCLAW_LIVE_ACP_BIND_AGENTS=claude,OPENCLAW_LIVE_ACP_BIND_AGENTS=codex, atauOPENCLAW_LIVE_ACP_BIND_AGENTS=geminiuntuk mempersempit matriks. - Runner ini memuat
~/.profile, men-stage materi auth CLI yang cocok ke dalam container, menginstalacpxke prefiks npm writable, lalu menginstal CLI live yang diminta (@anthropic-ai/claude-code,@openai/codex, atau@google/gemini-cli) jika belum ada. - Di dalam Docker, runner menetapkan
OPENCLAW_LIVE_ACP_BIND_ACPX_COMMAND=$HOME/.npm-global/bin/acpxagar acpx mempertahankan variabel env provider dari profile yang dimuat tetap tersedia untuk CLI harness anak.
Live: smoke harness app-server Codex
- Tujuan: memvalidasi harness Codex milik plugin melalui metode
agentgateway normal:- memuat plugin
codexbawaan - memilih
OPENCLAW_AGENT_RUNTIME=codex - mengirim giliran agen gateway pertama ke
openai/gpt-5.2dengan harness Codex dipaksa - mengirim giliran kedua ke sesi OpenClaw yang sama dan memverifikasi thread app-server dapat dilanjutkan
- menjalankan
/codex statusdan/codex modelsmelalui jalur perintah gateway yang sama - secara opsional menjalankan dua probe shell eskalasi yang ditinjau Guardian: satu perintah aman yang seharusnya disetujui dan satu upload secret palsu yang seharusnya ditolak sehingga agen bertanya balik
- memuat plugin
- Pengujian:
src/gateway/gateway-codex-harness.live.test.ts - Aktifkan:
OPENCLAW_LIVE_CODEX_HARNESS=1 - Model default:
openai/gpt-5.2 - Probe gambar opsional:
OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=1 - Probe MCP/alat opsional:
OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=1 - Probe Guardian opsional:
OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=1 - Smoke ini menetapkan
OPENCLAW_AGENT_HARNESS_FALLBACK=nonesehingga harness Codex yang rusak tidak dapat lolos dengan diam-diam fallback ke PI. - Auth: auth app-server Codex dari login langganan Codex lokal. Smoke Docker
juga dapat menyediakan
OPENAI_API_KEYuntuk probe non-Codex bila berlaku, plus~/.codex/auth.jsondan~/.codex/config.tomlyang disalin secara opsional.
- Runner Docker berada di
scripts/test-live-codex-harness-docker.sh. - Runner ini memuat
~/.profileyang di-mount, meneruskanOPENAI_API_KEY, menyalin file auth CLI Codex saat ada, menginstal@openai/codexke prefix npm yang dapat ditulis dan di-mount, men-stage source tree, lalu hanya menjalankan pengujian live harness Codex. - Docker mengaktifkan probe gambar, MCP/alat, dan Guardian secara default. Setel
OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0atauOPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0atauOPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0saat Anda membutuhkan eksekusi debug yang lebih sempit. - Docker juga mengekspor
OPENCLAW_AGENT_HARNESS_FALLBACK=none, sesuai dengan config pengujian live sehingga alias lama atau fallback PI tidak dapat menyembunyikan regresi harness Codex.
Resep live yang direkomendasikan
Allowlist yang sempit dan eksplisit adalah yang tercepat dan paling sedikit bermasalah:-
Satu model, langsung (tanpa gateway):
OPENCLAW_LIVE_MODELS="openai/gpt-5.2" pnpm test:live src/agents/models.profiles.live.test.ts
-
Satu model, gateway smoke:
OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.2" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts
-
Pemanggilan alat di beberapa provider:
OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.2,openai-codex/gpt-5.2,anthropic/claude-opus-4-6,google/gemini-3-flash-preview,zai/glm-4.7,minimax/MiniMax-M2.7" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts
-
Fokus Google (API key Gemini + Antigravity):
- Gemini (API key):
OPENCLAW_LIVE_GATEWAY_MODELS="google/gemini-3-flash-preview" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts - Antigravity (OAuth):
OPENCLAW_LIVE_GATEWAY_MODELS="google-antigravity/claude-opus-4-6-thinking,google-antigravity/gemini-3-pro-high" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts
- Gemini (API key):
google/...menggunakan API Gemini (API key).google-antigravity/...menggunakan bridge OAuth Antigravity (endpoint agen bergaya Cloud Code Assist).google-gemini-cli/...menggunakan Gemini CLI lokal di mesin Anda (auth terpisah + kekhasan alat).- Gemini API vs Gemini CLI:
- API: OpenClaw memanggil API Gemini hosted Google melalui HTTP (auth API key / profil); ini yang dimaksud kebanyakan pengguna dengan “Gemini”.
- CLI: OpenClaw menjalankan binary
geminilokal; memiliki auth sendiri dan dapat berperilaku berbeda (dukungan streaming/alat/perbedaan versi).
Live: matriks model (apa yang kami cakup)
Tidak ada “daftar model CI” yang tetap (live bersifat opt-in), tetapi berikut adalah model yang direkomendasikan untuk dicakup secara rutin di mesin dev dengan key.Kumpulan smoke modern (pemanggilan alat + gambar)
Ini adalah eksekusi “model umum” yang kami harapkan tetap berfungsi:- OpenAI (non-Codex):
openai/gpt-5.2 - OpenAI Codex OAuth:
openai-codex/gpt-5.2 - Anthropic:
anthropic/claude-opus-4-6(atauanthropic/claude-sonnet-4-6) - Google (Gemini API):
google/gemini-3.1-pro-previewdangoogle/gemini-3-flash-preview(hindari model Gemini 2.x yang lebih lama) - Google (Antigravity):
google-antigravity/claude-opus-4-6-thinkingdangoogle-antigravity/gemini-3-flash - Z.AI (GLM):
zai/glm-4.7 - MiniMax:
minimax/MiniMax-M2.7
OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.2,openai-codex/gpt-5.2,anthropic/claude-opus-4-6,google/gemini-3.1-pro-preview,google/gemini-3-flash-preview,google-antigravity/claude-opus-4-6-thinking,google-antigravity/gemini-3-flash,zai/glm-4.7,minimax/MiniMax-M2.7" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts
Baseline: pemanggilan alat (Read + Exec opsional)
Pilih setidaknya satu per keluarga provider:- OpenAI:
openai/gpt-5.2 - Anthropic:
anthropic/claude-opus-4-6(atauanthropic/claude-sonnet-4-6) - Google:
google/gemini-3-flash-preview(ataugoogle/gemini-3.1-pro-preview) - Z.AI (GLM):
zai/glm-4.7 - MiniMax:
minimax/MiniMax-M2.7
- xAI:
xai/grok-4(atau versi terbaru yang tersedia) - Mistral:
mistral/… (pilih satu model yang Anda aktifkan dan mampu menangani alat) - Cerebras:
cerebras/… (jika Anda punya akses) - LM Studio:
lmstudio/… (lokal; pemanggilan alat tergantung pada mode API)
Vision: kirim gambar (lampiran → pesan multimodal)
Sertakan setidaknya satu model yang mendukung gambar diOPENCLAW_LIVE_GATEWAY_MODELS (Claude/Gemini/varian OpenAI yang mendukung vision, dll.) untuk menjalankan probe gambar.
Aggregator / gateway alternatif
Jika Anda memiliki key yang diaktifkan, kami juga mendukung pengujian melalui:- OpenRouter:
openrouter/...(ratusan model; gunakanopenclaw models scanuntuk menemukan kandidat yang mendukung alat+gambar) - OpenCode:
opencode/...untuk Zen danopencode-go/...untuk Go (auth melaluiOPENCODE_API_KEY/OPENCODE_ZEN_API_KEY)
- Bawaan:
openai,openai-codex,anthropic,google,google-vertex,google-antigravity,google-gemini-cli,zai,openrouter,opencode,opencode-go,xai,groq,cerebras,mistral,github-copilot - Melalui
models.providers(endpoint kustom):minimax(cloud/API), plus proxy apa pun yang kompatibel dengan OpenAI/Anthropic (LM Studio, vLLM, LiteLLM, dll.)
discoverModels(...) di mesin Anda + key apa pun yang tersedia.
Kredensial (jangan pernah commit)
Pengujian live menemukan kredensial dengan cara yang sama seperti CLI. Implikasi praktis:- Jika CLI berfungsi, pengujian live seharusnya menemukan key yang sama.
-
Jika pengujian live mengatakan “tidak ada kredensial”, debug-lah dengan cara yang sama seperti Anda men-debug
openclaw models list/ pemilihan model. -
Profil auth per-agen:
~/.openclaw/agents/<agentId>/agent/auth-profiles.json(inilah yang dimaksud dengan “profile keys” dalam pengujian live) -
Config:
~/.openclaw/openclaw.json(atauOPENCLAW_CONFIG_PATH) -
Direktori status lama:
~/.openclaw/credentials/(disalin ke live home yang di-stage saat ada, tetapi bukan penyimpanan utama profile-key) -
Eksekusi lokal live secara default menyalin config aktif, file
auth-profiles.jsonper-agen,credentials/lama, dan direktori auth CLI eksternal yang didukung ke home pengujian sementara; live home yang di-stage melewatiworkspace/dansandboxes/, dan override pathagents.*.workspace/agentDirdihapus agar probe tidak menyentuh workspace host Anda yang sebenarnya.
~/.profile), jalankan pengujian lokal setelah source ~/.profile, atau gunakan runner Docker di bawah (runner ini dapat me-mount ~/.profile ke dalam container).
Deepgram live (transkripsi audio)
- Pengujian:
extensions/deepgram/audio.live.test.ts - Aktifkan:
DEEPGRAM_API_KEY=... DEEPGRAM_LIVE_TEST=1 pnpm test:live extensions/deepgram/audio.live.test.ts
BytePlus coding plan live
- Pengujian:
extensions/byteplus/live.test.ts - Aktifkan:
BYTEPLUS_API_KEY=... BYTEPLUS_LIVE_TEST=1 pnpm test:live extensions/byteplus/live.test.ts - Override model opsional:
BYTEPLUS_CODING_MODEL=ark-code-latest
ComfyUI workflow media live
- Pengujian:
extensions/comfy/comfy.live.test.ts - Aktifkan:
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts - Cakupan:
- Menjalankan jalur gambar, video, dan
music_generatecomfy bawaan - Melewati setiap kapabilitas kecuali
models.providers.comfy.<capability>dikonfigurasi - Berguna setelah mengubah pengiriman workflow comfy, polling, download, atau pendaftaran plugin
- Menjalankan jalur gambar, video, dan
Image generation live
- Pengujian:
test/image-generation.runtime.live.test.ts - Perintah:
pnpm test:live test/image-generation.runtime.live.test.ts - Harness:
pnpm test:live:media image - Cakupan:
- Mengenumerasi setiap plugin provider pembuatan gambar yang terdaftar
- Memuat variabel env provider yang hilang dari shell login Anda (
~/.profile) sebelum probing - Secara default menggunakan key API live/env sebelum profil auth yang tersimpan, sehingga key pengujian basi di
auth-profiles.jsontidak menutupi kredensial shell yang nyata - Melewati provider tanpa auth/profil/model yang dapat digunakan
- Menjalankan varian stok pembuatan gambar melalui kapabilitas runtime bersama:
google:flash-generategoogle:pro-generategoogle:pro-editopenai:default-generate
- Provider bawaan yang saat ini dicakup:
falgoogleminimaxopenaiopenroutervydraxai
- Penyempitan opsional:
OPENCLAW_LIVE_IMAGE_GENERATION_PROVIDERS="openai,google,openrouter,xai"OPENCLAW_LIVE_IMAGE_GENERATION_MODELS="openai/gpt-image-2,google/gemini-3.1-flash-image-preview,openrouter/google/gemini-3.1-flash-image-preview,xai/grok-imagine-image"OPENCLAW_LIVE_IMAGE_GENERATION_CASES="google:flash-generate,google:pro-edit,openrouter:generate,xai:default-generate,xai:default-edit"
- Perilaku auth opsional:
OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1untuk memaksa auth penyimpanan profil dan mengabaikan override hanya-env
Music generation live
- Pengujian:
extensions/music-generation-providers.live.test.ts - Aktifkan:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.ts - Harness:
pnpm test:live:media music - Cakupan:
- Menjalankan jalur provider pembuatan musik bawaan bersama
- Saat ini mencakup Google dan MiniMax
- Memuat variabel env provider dari shell login Anda (
~/.profile) sebelum probing - Secara default menggunakan key API live/env sebelum profil auth yang tersimpan, sehingga key pengujian basi di
auth-profiles.jsontidak menutupi kredensial shell yang nyata - Melewati provider tanpa auth/profil/model yang dapat digunakan
- Menjalankan kedua mode runtime yang dideklarasikan saat tersedia:
generatedengan input hanya prompteditsaat provider mendeklarasikancapabilities.edit.enabled
- Cakupan jalur bersama saat ini:
google:generate,editminimax:generatecomfy: file live Comfy terpisah, bukan sapuan bersama ini
- Penyempitan opsional:
OPENCLAW_LIVE_MUSIC_GENERATION_PROVIDERS="google,minimax"OPENCLAW_LIVE_MUSIC_GENERATION_MODELS="google/lyria-3-clip-preview,minimax/music-2.5+"
- Perilaku auth opsional:
OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1untuk memaksa auth penyimpanan profil dan mengabaikan override hanya-env
Video generation live
- Pengujian:
extensions/video-generation-providers.live.test.ts - Aktifkan:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.ts - Harness:
pnpm test:live:media video - Cakupan:
- Menjalankan jalur provider pembuatan video bawaan bersama
- Secara default menggunakan jalur smoke yang aman untuk rilis: provider non-FAL, satu permintaan text-to-video per provider, prompt lobster satu detik, dan batas operasi per provider dari
OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS(180000secara default) - Secara default melewati FAL karena latensi antrean di sisi provider dapat mendominasi waktu rilis; berikan
--video-providers falatauOPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="fal"untuk menjalankannya secara eksplisit - Memuat variabel env provider dari shell login Anda (
~/.profile) sebelum probing - Secara default menggunakan key API live/env sebelum profil auth yang tersimpan, sehingga key pengujian basi di
auth-profiles.jsontidak menutupi kredensial shell yang nyata - Melewati provider tanpa auth/profil/model yang dapat digunakan
- Secara default hanya menjalankan
generate - Setel
OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1untuk juga menjalankan mode transform yang dideklarasikan saat tersedia:imageToVideosaat provider mendeklarasikancapabilities.imageToVideo.enableddan provider/model yang dipilih menerima input gambar lokal berbasis buffer dalam sapuan bersamavideoToVideosaat provider mendeklarasikancapabilities.videoToVideo.enableddan provider/model yang dipilih menerima input video lokal berbasis buffer dalam sapuan bersama
- Provider
imageToVideoyang saat ini dideklarasikan tetapi dilewati dalam sapuan bersama:vydrakarenaveo3bawaan hanya teks danklingbawaan memerlukan URL gambar remote
- Cakupan Vydra khusus provider:
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_VYDRA_VIDEO=1 pnpm test:live -- extensions/vydra/vydra.live.test.ts- file tersebut menjalankan
veo3text-to-video plus jalurklingyang menggunakan fixture URL gambar remote secara default
- Cakupan live
videoToVideosaat ini:runwayhanya saat model yang dipilih adalahrunway/gen4_aleph
- Provider
videoToVideoyang saat ini dideklarasikan tetapi dilewati dalam sapuan bersama:alibaba,qwen,xaikarena jalur tersebut saat ini memerlukan URL referensihttp(s)/ MP4 remotegooglekarena jalur Gemini/Veo bersama saat ini menggunakan input lokal berbasis buffer dan jalur itu tidak diterima dalam sapuan bersamaopenaikarena jalur bersama saat ini tidak memiliki jaminan akses inpaint/remix video khusus organisasi
- Penyempitan opsional:
OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="google,openai,runway"OPENCLAW_LIVE_VIDEO_GENERATION_MODELS="google/veo-3.1-fast-generate-preview,openai/sora-2,runway/gen4_aleph"OPENCLAW_LIVE_VIDEO_GENERATION_SKIP_PROVIDERS=""untuk menyertakan setiap provider dalam sapuan default, termasuk FALOPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS=60000untuk mengurangi batas operasi tiap provider demi eksekusi smoke yang agresif
- Perilaku auth opsional:
OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1untuk memaksa auth penyimpanan profil dan mengabaikan override hanya-env
Harness media live
- Perintah:
pnpm test:live:media - Tujuan:
- Menjalankan suite live gambar, musik, dan video bersama melalui satu entrypoint bawaan repo
- Memuat otomatis variabel env provider yang hilang dari
~/.profile - Secara otomatis mempersempit tiap suite ke provider yang saat ini memiliki auth yang dapat digunakan secara default
- Menggunakan ulang
scripts/test-live.mjs, sehingga perilaku heartbeat dan mode tenang tetap konsisten
- Contoh:
pnpm test:live:mediapnpm test:live:media image video --providers openai,google,minimaxpnpm test:live:media video --video-providers openai,runway --all-providerspnpm test:live:media music --quiet
Terkait
- Pengujian — suite unit, integrasi, QA, dan Docker