Testing
Test etme: canlı test paketleri
Hızlı başlangıç, QA çalıştırıcıları, birim/entegrasyon takımları ve Docker akışları için Testing bölümüne bakın. Bu sayfa canlı (ağa dokunan) test takımlarını kapsar: model matrisi, CLI backend'leri, ACP ve medya sağlayıcı canlı testleri, ayrıca kimlik bilgisi işleme.
Canlı: yerel profil smoke komutları
Geçici canlı kontrollerden önce ~/.profile dosyasını kaynak olarak alın; böylece sağlayıcı anahtarları ve yerel araç
yolları shell'inizle eşleşir:
source ~/.profile
Güvenli medya smoke testi:
pnpm openclaw infer tts convert --local --json \
--text "OpenClaw live smoke." \
--output /tmp/openclaw-live-smoke.mp3
Güvenli sesli arama hazırlık smoke testi:
pnpm openclaw voicecall setup --json
pnpm openclaw voicecall smoke --to "+15555550123"
voicecall smoke, --yes de mevcut olmadıkça bir kuru çalıştırmadır. --yes seçeneğini yalnızca
bilerek gerçek bir bildirim araması yapmak istediğinizde kullanın. Twilio, Telnyx ve
Plivo için başarılı bir hazırlık kontrolü herkese açık bir Webhook URL'si gerektirir; yalnızca yerel
loopback/özel geri dönüşler tasarım gereği reddedilir.
Canlı: Android Node yetenek taraması
- Test:
src/gateway/android-node.capabilities.live.test.ts - Betik:
pnpm android:test:integration - Amaç: bağlı bir Android Node tarafından şu anda duyurulan her komutu çağırmak ve komut sözleşmesi davranışını doğrulamak.
- Kapsam:
- Ön koşullu/manuel kurulum (takım uygulamayı kurmaz/çalıştırmaz/eşleştirmez).
- Seçilen Android Node için komut komut Gateway
node.invokedoğrulaması.
- Gerekli ön kurulum:
- Android uygulaması Gateway'e zaten bağlı ve eşleştirilmiş olmalı.
- Uygulama ön planda tutulmalı.
- Geçmesini beklediğiniz yetenekler için izinler/yakalama onayı verilmiş olmalı.
- İsteğe bağlı hedef geçersiz kılmaları:
OPENCLAW_ANDROID_NODE_IDveyaOPENCLAW_ANDROID_NODE_NAME.OPENCLAW_ANDROID_GATEWAY_URL/OPENCLAW_ANDROID_GATEWAY_TOKEN/OPENCLAW_ANDROID_GATEWAY_PASSWORD.
- Tam Android kurulum ayrıntıları: Android App
Canlı: model smoke testi (profil anahtarları)
Canlı testler, hataları izole edebilmemiz için iki katmana ayrılır:
- "Direct model", sağlayıcının/modelin verilen anahtarla genel olarak yanıt verebildiğini gösterir.
- "Gateway smoke", o model için tam Gateway+ajan hattının çalıştığını gösterir (oturumlar, geçmiş, araçlar, sandbox ilkesi vb.).
Katman 1: Doğrudan model tamamlama (Gateway yok)
- Test:
src/agents/models.profiles.live.test.ts - Amaç:
- Keşfedilen modelleri listelemek
- Kimlik bilgileriniz olan modelleri seçmek için
getApiKeyForModelkullanmak - Her model için küçük bir tamamlama çalıştırmak (ve gerektiğinde hedefli regresyonlar)
- Etkinleştirme:
pnpm test:live(veya Vitest'i doğrudan çağırıyorsanızOPENCLAW_LIVE_TEST=1)
- Bu takımı gerçekten çalıştırmak için
OPENCLAW_LIVE_MODELS=modern(veyaall, modern için alias) ayarlayın; aksi haldepnpm test:livekomutunu Gateway smoke testine odaklı tutmak için atlar - Model seçme:
- Modern izin listesini çalıştırmak için
OPENCLAW_LIVE_MODELS=modern(Opus/Sonnet 4.6+, GPT-5.2 + Codex, Gemini 3, DeepSeek V4, GLM 4.7, MiniMax M2.7, Grok 4.3) OPENCLAW_LIVE_MODELS=all, modern izin listesi için bir alias'tır- veya
OPENCLAW_LIVE_MODELS="openai/gpt-5.5,openai-codex/gpt-5.5,anthropic/claude-opus-4-6,..."(virgülle ayrılmış izin listesi) - Modern/all taramaları varsayılan olarak seçilmiş yüksek sinyalli bir sınır kullanır; kapsamlı modern tarama için
OPENCLAW_LIVE_MAX_MODELS=0, daha küçük bir sınır için pozitif bir sayı ayarlayın. - Kapsamlı taramalar, tüm doğrudan model test zaman aşımı için
OPENCLAW_LIVE_TEST_TIMEOUT_MSkullanır. Varsayılan: 60 dakika. - Doğrudan model yoklamaları varsayılan olarak 20'li paralellikle çalışır; geçersiz kılmak için
OPENCLAW_LIVE_MODEL_CONCURRENCYayarlayın.
- Modern izin listesini çalıştırmak için
- Sağlayıcı seçme:
OPENCLAW_LIVE_PROVIDERS="google,google-antigravity,google-gemini-cli"(virgülle ayrılmış izin listesi)
- Anahtarların geldiği yer:
- Varsayılan olarak: profil deposu ve env geri dönüşleri
- Yalnızca profil deposunu zorunlu kılmak için
OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1ayarlayın
- Bunun var olma nedeni:
- "sağlayıcı API'si bozuk / anahtar geçersiz" durumunu "Gateway ajan hattı bozuk" durumundan ayırır
- Küçük, izole regresyonlar içerir (örnek: OpenAI Responses/Codex Responses akıl yürütme tekrar oynatma + araç çağrısı akışları)
Katman 2: Gateway + geliştirme ajanı smoke testi ("@openclaw" gerçekte ne yapar)
- Test:
src/gateway/gateway-models.profiles.live.test.ts - Amaç:
- Süreç içi bir Gateway başlatmak
- Bir
agent:dev:*oturumu oluşturmak/yamamak (her çalıştırmada model geçersiz kılma) - Anahtarı olan modeller üzerinde yinelemek ve şunları doğrulamak:
- "anlamlı" yanıt (araç yok)
- gerçek bir araç çağrısı çalışır (okuma yoklaması)
- isteğe bağlı ek araç yoklamaları (exec+okuma yoklaması)
- OpenAI regresyon yolları (yalnızca araç çağrısı → takip) çalışmaya devam eder
- Yoklama ayrıntıları (hataları hızlıca açıklayabilmeniz için):
readyoklaması: test çalışma alanına bir nonce dosyası yazar ve ajandan bunureadedip nonce'u geri yankılamasını ister.exec+readyoklaması: test ajandan bir temp dosyasınaexecile nonce yazmasını, sonra bunu gerireadetmesini ister.- görsel yoklaması: test üretilmiş bir PNG (kedi + rastgeleleştirilmiş kod) ekler ve modelin
cat <CODE>döndürmesini bekler. - Uygulama referansı:
src/gateway/gateway-models.profiles.live.test.tsvesrc/gateway/live-image-probe.ts.
- Etkinleştirme:
pnpm test:live(veya Vitest'i doğrudan çağırıyorsanızOPENCLAW_LIVE_TEST=1)
- Model seçme:
- Varsayılan: modern izin listesi (Opus/Sonnet 4.6+, GPT-5.2 + Codex, Gemini 3, DeepSeek V4, GLM 4.7, MiniMax M2.7, Grok 4.3)
OPENCLAW_LIVE_GATEWAY_MODELS=all, modern izin listesi için bir alias'tır- Ya da daraltmak için
OPENCLAW_LIVE_GATEWAY_MODELS="provider/model"(veya virgül listesi) ayarlayın - Modern/all Gateway taramaları varsayılan olarak seçilmiş yüksek sinyalli bir sınır kullanır; kapsamlı modern tarama için
OPENCLAW_LIVE_GATEWAY_MAX_MODELS=0, daha küçük bir sınır için pozitif bir sayı ayarlayın.
- Sağlayıcı seçme ("OpenRouter her şey" durumundan kaçınmak için):
OPENCLAW_LIVE_GATEWAY_PROVIDERS="google,google-antigravity,google-gemini-cli,openai,anthropic,zai,minimax"(virgülle ayrılmış izin listesi)
- Araç + görsel yoklamaları bu canlı testte her zaman açıktır:
readyoklaması +exec+readyoklaması (araç stresi)- model görsel girdi desteği duyurduğunda görsel yoklaması çalışır
- Akış (üst düzey):
- Test, "CAT" + rastgele kod içeren küçük bir PNG üretir (
src/gateway/live-image-probe.ts) - Bunu
agentaracılığıylaattachments: [{ mimeType: "image/png", content: "<base64>" }]olarak gönderir - Gateway ekleri
images[]içine ayrıştırır (src/gateway/server-methods/agent.ts+src/gateway/chat-attachments.ts) - Gömülü ajan, modele çok modlu bir kullanıcı mesajı iletir
- Doğrulama: yanıt
cat+ kod içerir (OCR toleransı: küçük hatalara izin verilir)
- Test, "CAT" + rastgele kod içeren küçük bir PNG üretir (
Canlı: CLI backend smoke testi (Claude, Codex, Gemini veya diğer yerel CLI'lar)
- Test:
src/gateway/gateway-cli-backend.live.test.ts - Amaç: varsayılan yapılandırmanıza dokunmadan, yerel bir CLI backend kullanarak Gateway + ajan hattını doğrulamak.
- Backend'e özgü smoke varsayılanları, sahibi olan Plugin'in
cli-backend.tstanımıyla birlikte yaşar. - Etkinleştirme:
pnpm test:live(veya Vitest'i doğrudan çağırıyorsanızOPENCLAW_LIVE_TEST=1)OPENCLAW_LIVE_CLI_BACKEND=1
- Varsayılanlar:
- Varsayılan sağlayıcı/model:
claude-cli/claude-sonnet-4-6 - Komut/argüman/görsel davranışı, sahibi olan CLI backend Plugin meta verilerinden gelir.
- Varsayılan sağlayıcı/model:
- Geçersiz kılmalar (isteğe bağlı):
OPENCLAW_LIVE_CLI_BACKEND_MODEL="codex-cli/gpt-5.5"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"]'- Gerçek bir görsel eki göndermek için
OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=1(yollar prompt'a enjekte edilir). Docker tariflerinde bu, açıkça istenmediği sürece varsayılan olarak kapalıdır. - Görsel dosya yollarını prompt enjeksiyonu yerine CLI argümanları olarak geçirmek için
OPENCLAW_LIVE_CLI_BACKEND_IMAGE_ARG="--image". IMAGE_ARGayarlandığında görsel argümanlarının nasıl geçirileceğini denetlemek içinOPENCLAW_LIVE_CLI_BACKEND_IMAGE_MODE="repeat"(veya"list").- İkinci bir tur göndermek ve sürdürme akışını doğrulamak için
OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1. - Seçilen model bir geçiş hedefini desteklediğinde Claude Sonnet -> Opus aynı oturum süreklilik yoklamasına katılmak için
OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=1. Docker tariflerinde bu, toplu güvenilirlik için varsayılan olarak kapalıdır. - MCP/araç loopback yoklamasına katılmak için
OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1. Docker tariflerinde bu, açıkça istenmediği sürece varsayılan olarak kapalıdır.
Örnek:
OPENCLAW_LIVE_CLI_BACKEND=1 \
OPENCLAW_LIVE_CLI_BACKEND_MODEL="codex-cli/gpt-5.5" \
pnpm test:live src/gateway/gateway-cli-backend.live.test.ts
Ucuz Gemini MCP yapılandırma smoke testi:
OPENCLAW_LIVE_TEST=1 \
pnpm test:live src/agents/cli-runner/bundle-mcp.gemini.live.test.ts
Bu, Gemini'den yanıt üretmesini istemez. OpenClaw'ın Gemini'ye verdiği aynı sistem
ayarlarını yazar, ardından kaydedilmiş bir transport: "streamable-http" sunucusunun Gemini'nin HTTP MCP
şekline normalleştirildiğini ve yerel bir streamable-HTTP MCP sunucusuna bağlanabildiğini kanıtlamak için gemini --debug mcp list çalıştırır.
Docker tarifi:
pnpm test:docker:live-cli-backend
Tek sağlayıcılı Docker tarifleri:
pnpm test:docker:live-cli-backend:claude
pnpm test:docker:live-cli-backend:claude-subscription
pnpm test:docker:live-cli-backend:codex
pnpm test:docker:live-cli-backend:gemini
Notlar:
- Docker çalıştırıcısı
scripts/test-live-cli-backend-docker.shkonumundadır. - Canlı CLI backend smoke testini depo Docker imajı içinde root olmayan
nodekullanıcısı olarak çalıştırır. - CLI smoke meta verilerini sahibi olan Plugin'den çözümler, ardından eşleşen Linux CLI paketini (
@anthropic-ai/claude-code,@openai/codexveya@google/gemini-cli)OPENCLAW_DOCKER_CLI_TOOLS_DIRkonumundaki önbelleğe alınmış yazılabilir prefix'e kurar (varsayılan:~/.cache/openclaw/docker-cli-tools). pnpm test:docker:live-cli-backend:claude-subscription,claudeAiOauth.subscriptionTypeiçeren~/.claude/.credentials.jsonveyaclaude setup-tokençıktısındanCLAUDE_CODE_OAUTH_TOKENaracılığıyla taşınabilir Claude Code abonelik OAuth'u gerektirir. Önce Docker içinde doğrudanclaude -pkanıtlar, ardından Anthropic API anahtarı env değişkenlerini korumadan iki Gateway CLI backend turu çalıştırır. Bu abonelik hattı, Claude şu anda üçüncü taraf uygulama kullanımını normal abonelik planı limitleri yerine ekstra kullanım faturalamasından yönlendirdiği için Claude MCP/araç ve görsel yoklamalarını varsayılan olarak devre dışı bırakır.- Canlı CLI backend smoke testi artık Claude, Codex ve Gemini için aynı uçtan uca akışı çalıştırır: metin turu, görsel sınıflandırma turu, ardından Gateway CLI üzerinden doğrulanan MCP
cronaraç çağrısı. - Claude'un varsayılan smoke testi ayrıca oturumu Sonnet'ten Opus'a yamar ve sürdürülen oturumun daha önceki bir notu hâlâ hatırladığını doğrular.
Canlı: APNs HTTP/2 proxy erişilebilirliği
- Test:
src/infra/push-apns-http2.live.test.ts - Amaç: yerel bir HTTP CONNECT proxy üzerinden Apple'ın sandbox APNs uç noktasına tünellemek, APNs HTTP/2 doğrulama isteğini göndermek ve Apple'ın gerçek
403 InvalidProviderTokenyanıtının proxy yolu üzerinden geri geldiğini doğrulamak. - Etkinleştirme:
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_APNS_REACHABILITY=1 pnpm test:live src/infra/push-apns-http2.live.test.ts
- İsteğe bağlı zaman aşımı:
OPENCLAW_LIVE_APNS_TIMEOUT_MS=30000
Canlı: ACP bind smoke testi (/acp spawn ... --bind here)
- Test:
src/gateway/gateway-acp-bind.live.test.ts - Hedef: canlı bir ACP aracısıyla gerçek ACP konuşma-bağlama akışını doğrulamak:
/acp spawn <agent> --bind heregönder- sentetik bir mesaj kanalı konuşmasını yerinde bağla
- aynı konuşmada normal bir takip mesajı gönder
- takip mesajının bağlı ACP oturum transkriptine ulaştığını doğrula
- Etkinleştir:
pnpm test:live src/gateway/gateway-acp-bind.live.test.tsOPENCLAW_LIVE_ACP_BIND=1
- Varsayılanlar:
- Docker içindeki ACP aracıları:
claude,codex,gemini - Doğrudan
pnpm test:live ...için ACP aracısı:claude - Sentetik kanal: Slack DM tarzı konuşma bağlamı
- ACP arka ucu:
acpx
- Docker içindeki ACP aracıları:
- Geçersiz kılmalar:
OPENCLAW_LIVE_ACP_BIND_AGENT=claudeOPENCLAW_LIVE_ACP_BIND_AGENT=codexOPENCLAW_LIVE_ACP_BIND_AGENT=droidOPENCLAW_LIVE_ACP_BIND_AGENT=geminiOPENCLAW_LIVE_ACP_BIND_AGENT=opencodeOPENCLAW_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.5OPENCLAW_LIVE_ACP_BIND_OPENCODE_MODEL=opencode/kimi-k2.6OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1OPENCLAW_LIVE_ACP_BIND_REQUIRE_CRON=1OPENCLAW_LIVE_ACP_BIND_PARENT_MODEL=openai/gpt-5.5
- Notlar:
- Bu hat, testlerin dışarıya teslimat yapıyor gibi davranmadan mesaj kanalı bağlamı ekleyebilmesi için yalnızca yöneticilere açık sentetik kaynak rota alanlarıyla Gateway
chat.sendyüzeyini kullanır. OPENCLAW_LIVE_ACP_BIND_AGENT_COMMANDayarlanmadığında test, seçilen ACP test düzeneği aracısı için gömülüacpxPlugin'inin yerleşik aracı kayıt defterini kullanır.- Bağlı oturum cron MCP oluşturma varsayılan olarak en iyi çaba şeklindedir, çünkü harici ACP test düzenekleri bağlama/görüntü kanıtı geçtikten sonra MCP çağrılarını iptal edebilir; bu bağlama sonrası cron yoklamasını katı yapmak için
OPENCLAW_LIVE_ACP_BIND_REQUIRE_CRON=1ayarlayın.
- Bu hat, testlerin dışarıya teslimat yapıyor gibi davranmadan mesaj kanalı bağlamı ekleyebilmesi için yalnızca yöneticilere açık sentetik kaynak rota alanlarıyla Gateway
Örnek:
OPENCLAW_LIVE_ACP_BIND=1 \
OPENCLAW_LIVE_ACP_BIND_AGENT=claude \
pnpm test:live src/gateway/gateway-acp-bind.live.test.ts
Docker tarifi:
pnpm test:docker:live-acp-bind
Tek aracılı Docker tarifleri:
pnpm test:docker:live-acp-bind:claude
pnpm test:docker:live-acp-bind:codex
pnpm test:docker:live-acp-bind:droid
pnpm test:docker:live-acp-bind:gemini
pnpm test:docker:live-acp-bind:opencode
Docker notları:
- Docker çalıştırıcısı
scripts/test-live-acp-bind-docker.shkonumundadır. - Varsayılan olarak, ACP bağlama smoke testini toplu canlı CLI aracılarına sırayla karşı çalıştırır:
claude,codex, ardındangemini. - Matrisi daraltmak için
OPENCLAW_LIVE_ACP_BIND_AGENTS=claude,OPENCLAW_LIVE_ACP_BIND_AGENTS=codex,OPENCLAW_LIVE_ACP_BIND_AGENTS=droid,OPENCLAW_LIVE_ACP_BIND_AGENTS=geminiveyaOPENCLAW_LIVE_ACP_BIND_AGENTS=opencodekullanın. ~/.profiledosyasını kaynak olarak alır, eşleşen CLI kimlik doğrulama materyalini konteynere hazırlar, ardından eksikse istenen canlı CLI'yi (@anthropic-ai/claude-code,@openai/codex, Factory Droid viahttps://app.factory.ai/cli,@google/gemini-cliveyaopencode-ai) kurar. ACP arka ucunun kendisi, resmiacpxPlugin'inden gömülüacpx/runtimepaketidir.- Droid Docker varyantı ayarlar için
~/.factorydosyasını hazırlar,FACTORY_API_KEYiletir ve yerel Factory OAuth/keyring kimlik doğrulaması konteynere taşınabilir olmadığı için bu API anahtarını gerektirir. ACPX'in yerleşikdroid exec --output-format acpkayıt girdisini kullanır. - OpenCode Docker varyantı, katı bir tek aracılı regresyon hattıdır.
~/.profilekaynak olarak alındıktan sonraOPENCLAW_LIVE_ACP_BIND_OPENCODE_MODELdeğişkeninden geçici birOPENCODE_CONFIG_CONTENTvarsayılan modeli yazar (varsayılanopencode/kimi-k2.6) vepnpm test:docker:live-acp-bind:opencode, genel bağlama sonrası atlamayı kabul etmek yerine bağlı bir asistan transkripti gerektirir. - Doğrudan
acpxCLI çağrıları yalnızca Gateway dışındaki davranışı karşılaştırmak için manuel/geçici çözüm yoludur. Docker ACP bağlama smoke testi, OpenClaw'un gömülüacpxçalışma zamanı arka ucunu çalıştırır.
Canlı: Codex uygulama sunucusu test düzeneği smoke testi
- Hedef: Plugin'e ait Codex test düzeneğini normal Gateway
agentyöntemi üzerinden doğrulamak:- paketlenmiş
codexPlugin'ini yükle OPENCLAW_AGENT_RUNTIME=codexseç- Codex test düzeneği zorlanmış şekilde
openai/gpt-5.5modeline ilk Gateway aracı turunu gönder - aynı OpenClaw oturumuna ikinci bir tur gönder ve uygulama sunucusu iş parçacığının sürdürülebildiğini doğrula
- aynı Gateway komut yolu üzerinden
/codex statusve/codex modelsçalıştır - isteğe bağlı olarak Guardian incelemeli iki yükseltilmiş kabuk yoklaması çalıştır: onaylanması gereken zararsız bir komut ve reddedilmesi gereken, böylece aracının geri sormasını sağlayan sahte gizli bilgi yüklemesi
- paketlenmiş
- Test:
src/gateway/gateway-codex-harness.live.test.ts - Etkinleştir:
OPENCLAW_LIVE_CODEX_HARNESS=1 - Varsayılan model:
openai/gpt-5.5 - İsteğe bağlı görüntü yoklaması:
OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=1 - İsteğe bağlı MCP/araç yoklaması:
OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=1 - İsteğe bağlı Guardian yoklaması:
OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=1 - Smoke testi
agentRuntime.id: "codex"kullanır, böylece bozuk bir Codex test düzeneği sessizce PI'ye geri düşerek geçemez. - Kimlik doğrulama: yerel Codex abonelik oturum açmasından Codex uygulama sunucusu kimlik doğrulaması. Docker smoke testleri, uygulanabilir olduğunda Codex dışı yoklamalar için
OPENAI_API_KEYve ayrıca isteğe bağlı kopyalanmış~/.codex/auth.jsonile~/.codex/config.tomlsağlayabilir.
Yerel tarif:
source ~/.profile
OPENCLAW_LIVE_CODEX_HARNESS=1 \
OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=1 \
OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=1 \
OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=1 \
OPENCLAW_LIVE_CODEX_HARNESS_MODEL=openai/gpt-5.5 \
pnpm test:live -- src/gateway/gateway-codex-harness.live.test.ts
Docker tarifi:
source ~/.profile
pnpm test:docker:live-codex-harness
Docker notları:
- Docker çalıştırıcısı
scripts/test-live-codex-harness-docker.shkonumundadır. - Bağlanan
~/.profiledosyasını kaynak olarak alır,OPENAI_API_KEYiletir, varsa Codex CLI kimlik doğrulama dosyalarını kopyalar,@openai/codexpaketini yazılabilir bağlanmış bir npm önekine kurar, kaynak ağacını hazırlar, ardından yalnızca Codex test düzeneği canlı testini çalıştırır. - Docker görüntü, MCP/araç ve Guardian yoklamalarını varsayılan olarak etkinleştirir. Daha dar bir hata ayıklama çalıştırmasına ihtiyacınız olduğunda
OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0veyaOPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0veyaOPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0ayarlayın. - Docker aynı açık Codex çalışma zamanı yapılandırmasını kullanır, bu nedenle eski takma adlar veya PI geri dönüşü bir Codex test düzeneği regresyonunu gizleyemez.
Önerilen canlı tarifler
Dar, açık izin listeleri en hızlı ve en az kırılgan olanlardır:
-
Tek model, doğrudan (Gateway yok):
OPENCLAW_LIVE_MODELS="openai/gpt-5.5" pnpm test:live src/agents/models.profiles.live.test.ts
-
Tek model, Gateway smoke testi:
OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.5" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts
-
Birkaç sağlayıcıda araç çağırma:
OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.5,openai-codex/gpt-5.5,anthropic/claude-opus-4-6,google/gemini-3-flash-preview,deepseek/deepseek-v4-flash,zai/glm-5.1,minimax/MiniMax-M2.7" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts
-
Google odağı (Gemini API anahtarı + Antigravity):
- Gemini (API anahtarı):
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 anahtarı):
-
Google uyarlanabilir düşünme smoke testi:
- Yerel anahtarlar kabuk profilindeyse:
source ~/.profile - Gemini 3 dinamik varsayılanı:
pnpm openclaw qa manual --provider-mode live-frontier --model google/gemini-3.1-pro-preview --alt-model google/gemini-3.1-pro-preview --message '/think adaptive Reply exactly: GEMINI_ADAPTIVE_OK' --timeout-ms 180000 - Gemini 2.5 dinamik bütçesi:
pnpm openclaw qa manual --provider-mode live-frontier --model google/gemini-2.5-flash --alt-model google/gemini-2.5-flash --message '/think adaptive Reply exactly: GEMINI25_ADAPTIVE_OK' --timeout-ms 180000
- Yerel anahtarlar kabuk profilindeyse:
Notlar:
google/...Gemini API'sini kullanır (API anahtarı).google-antigravity/...Antigravity OAuth köprüsünü kullanır (Cloud Code Assist tarzı aracı uç noktası).google-gemini-cli/...makinenizdeki yerel Gemini CLI'yi kullanır (ayrı kimlik doğrulama + araç davranışı farkları).- Gemini API ve Gemini CLI karşılaştırması:
- API: OpenClaw, Google'ın barındırılan Gemini API'sini HTTP üzerinden çağırır (API anahtarı / profil kimlik doğrulaması); çoğu kullanıcının "Gemini" derken kastettiği budur.
- CLI: OpenClaw yerel bir
geminiikili dosyasını kabuk üzerinden çalıştırır; kendi kimlik doğrulaması vardır ve farklı davranabilir (akış/araç desteği/sürüm uyuşmazlığı).
Canlı: model matrisi (kapsadıklarımız)
Sabit bir "CI model listesi" yoktur (canlı test isteğe bağlıdır), ancak bunlar anahtarları olan bir geliştirme makinesinde düzenli olarak kapsanması önerilen modellerdir.
Modern smoke seti (araç çağırma + görüntü)
Çalışır durumda tutmayı beklediğimiz "yaygın modeller" çalıştırması budur:
- OpenAI (Codex dışı):
openai/gpt-5.5 - OpenAI Codex OAuth:
openai-codex/gpt-5.5 - Anthropic:
anthropic/claude-opus-4-6(veyaanthropic/claude-sonnet-4-6) - Google (Gemini API):
google/gemini-3.1-pro-previewvegoogle/gemini-3-flash-preview(daha eski Gemini 2.x modellerinden kaçının) - Google (Antigravity):
google-antigravity/claude-opus-4-6-thinkingvegoogle-antigravity/gemini-3-flash - DeepSeek:
deepseek/deepseek-v4-flashvedeepseek/deepseek-v4-pro - Z.AI (GLM):
zai/glm-5.1 - MiniMax:
minimax/MiniMax-M2.7
Gateway smoke testini araçlar + görüntü ile çalıştırın:
OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.5,openai-codex/gpt-5.5,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,deepseek/deepseek-v4-flash,zai/glm-5.1,minimax/MiniMax-M2.7" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts
Temel: araç çağırma (Read + isteğe bağlı Exec)
Her sağlayıcı ailesinden en az bir tane seçin:
- OpenAI:
openai/gpt-5.5 - Anthropic:
anthropic/claude-opus-4-6(veyaanthropic/claude-sonnet-4-6) - Google:
google/gemini-3-flash-preview(veyagoogle/gemini-3.1-pro-preview) - DeepSeek:
deepseek/deepseek-v4-flash - Z.AI (GLM):
zai/glm-5.1 - MiniMax:
minimax/MiniMax-M2.7
İsteğe bağlı ek kapsam (olması iyi olur):
- xAI:
xai/grok-4.3(veya mevcut en son sürüm) - Mistral:
mistral/… (etkinleştirdiğiniz, "tools" yetenekli bir model seçin) - Cerebras:
cerebras/… (erişiminiz varsa) - LM Studio:
lmstudio/… (yerel; araç çağırma API moduna bağlıdır)
Görü: görüntü gönderme (ek → çok modlu mesaj)
Görüntü yoklamasını çalıştırmak için OPENCLAW_LIVE_GATEWAY_MODELS içine en az bir görüntü yetenekli model ekleyin (Claude/Gemini/OpenAI görü yetenekli varyantları vb.).
Toplayıcılar / alternatif Gateway'ler
Anahtarlarınız etkinse şunlar üzerinden test etmeyi de destekliyoruz:
- OpenRouter:
openrouter/...(yüzlerce model; araç+görüntü yetenekli adayları bulmak içinopenclaw models scankullanın) - OpenCode: Zen için
opencode/...ve Go içinopencode-go/...(OPENCODE_API_KEY/OPENCODE_ZEN_API_KEYüzerinden kimlik doğrulama)
Canlı matrise ekleyebileceğiniz diğer sağlayıcılar (kimlik bilgileri/yapılandırmanız varsa):
- Yerleşik:
openai,openai-codex,anthropic,google,google-vertex,google-antigravity,google-gemini-cli,zai,openrouter,opencode,opencode-go,xai,groq,cerebras,mistral,github-copilot models.providersüzerinden (özel uç noktalar):minimax(bulut/API), ayrıca herhangi bir OpenAI/Anthropic uyumlu proxy (LM Studio, vLLM, LiteLLM vb.)
Kimlik bilgileri (asla commit etmeyin)
Canlı testler kimlik bilgilerini CLI ile aynı şekilde keşfeder. Pratik sonuçlar:
-
CLI çalışıyorsa canlı testler aynı anahtarları bulmalıdır.
-
Canlı test "no creds" diyorsa,
openclaw models list/ model seçimini nasıl hata ayıklayacaksanız aynı şekilde hata ayıklayın. -
Aracı başına kimlik doğrulama profilleri:
~/.openclaw/agents/<agentId>/agent/auth-profiles.json(canlı testlerde "profil anahtarları" bundan kasıt) -
Yapılandırma:
~/.openclaw/openclaw.json(veyaOPENCLAW_CONFIG_PATH) -
Eski durum dizini:
~/.openclaw/credentials/(mevcut olduğunda hazırlanan canlı ana dizine kopyalanır, ancak ana profil anahtarı deposu değildir) -
Canlı yerel çalıştırmalar, varsayılan olarak etkin yapılandırmayı, aracı başına
auth-profiles.jsondosyalarını, eskicredentials/dizinini ve desteklenen harici CLI kimlik doğrulama dizinlerini geçici bir test ana dizinine kopyalar; hazırlanan canlı ana dizinlerworkspace/vesandboxes/dizinlerini atlar ve yoklamaların gerçek ana makine çalışma alanınızdan uzak kalması içinagents.*.workspace/agentDiryol geçersiz kılmaları çıkarılır.
Env anahtarlarına güvenmek istiyorsanız (örneğin ~/.profile içinde dışa aktarılmışsa), yerel testleri source ~/.profile sonrasında çalıştırın veya aşağıdaki Docker çalıştırıcılarını kullanın (bunlar ~/.profile dosyasını kapsayıcının içine bağlayabilir).
Deepgram canlı (ses transkripsiyonu)
- Test:
extensions/deepgram/audio.live.test.ts - Etkinleştirme:
DEEPGRAM_API_KEY=... DEEPGRAM_LIVE_TEST=1 pnpm test:live extensions/deepgram/audio.live.test.ts
BytePlus kodlama planı canlı
- Test:
extensions/byteplus/live.test.ts - Etkinleştirme:
BYTEPLUS_API_KEY=... BYTEPLUS_LIVE_TEST=1 pnpm test:live extensions/byteplus/live.test.ts - İsteğe bağlı model geçersiz kılma:
BYTEPLUS_CODING_MODEL=ark-code-latest
ComfyUI iş akışı medyası canlı
- Test:
extensions/comfy/comfy.live.test.ts - Etkinleştirme:
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts - Kapsam:
- Paketle gelen comfy görüntü, video ve
music_generateyollarını çalıştırır plugins.entries.comfy.config.<capability>yapılandırılmadıkça her yeteneği atlar- comfy iş akışı gönderimi, yoklama, indirmeler veya Plugin kaydı değiştirildikten sonra kullanışlıdır
- Paketle gelen comfy görüntü, video ve
Görüntü üretimi canlı
- Test:
test/image-generation.runtime.live.test.ts - Komut:
pnpm test:live test/image-generation.runtime.live.test.ts - Test takımı:
pnpm test:live:media image - Kapsam:
- Kayıtlı her görüntü üretimi sağlayıcı Pluginini listeler
- Yoklamadan önce eksik sağlayıcı env değişkenlerini oturum açma kabuğunuzdan (
~/.profile) yükler - Varsayılan olarak saklanan kimlik doğrulama profillerinden önce canlı/env API anahtarlarını kullanır; böylece
auth-profiles.jsoniçindeki bayat test anahtarları gerçek kabuk kimlik bilgilerini maskelemez - Kullanılabilir kimlik doğrulama/profil/model olmayan sağlayıcıları atlar
- Yapılandırılmış her sağlayıcıyı paylaşılan görüntü üretimi çalışma zamanı üzerinden çalıştırır:
<provider>:generate- sağlayıcı düzenleme desteği bildirdiğinde
<provider>:edit
- Kapsanan mevcut paket sağlayıcıları:
deepinfrafalgoogleminimaxopenaiopenroutervydraxai
- İsteğe bağlı daraltma:
OPENCLAW_LIVE_IMAGE_GENERATION_PROVIDERS="openai,google,openrouter,xai"OPENCLAW_LIVE_IMAGE_GENERATION_PROVIDERS="deepinfra"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"
- İsteğe bağlı kimlik doğrulama davranışı:
- Profil deposu kimlik doğrulamasını zorlamak ve yalnızca env geçersiz kılmalarını yok saymak için
OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1
- Profil deposu kimlik doğrulamasını zorlamak ve yalnızca env geçersiz kılmalarını yok saymak için
Gönderilen CLI yolu için, sağlayıcı/çalışma zamanı canlı testi geçtikten sonra bir infer duman testi ekleyin:
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_INFER_CLI_TEST=1 pnpm test:live -- test/image-generation.infer-cli.live.test.ts
openclaw infer image providers --json
openclaw infer image generate \
--model google/gemini-3.1-flash-image-preview \
--prompt "Minimal flat test image: one blue square on a white background, no text." \
--output ./openclaw-infer-image-smoke.png \
--json
Bu; CLI argüman ayrıştırmayı, yapılandırma/varsayılan aracı çözümlemeyi, paket Plugin etkinleştirmeyi, paylaşılan görüntü üretimi çalışma zamanını ve canlı sağlayıcı isteğini kapsar. Plugin bağımlılıklarının çalışma zamanı yüklemesinden önce mevcut olması beklenir.
Müzik üretimi canlı
- Test:
extensions/music-generation-providers.live.test.ts - Etkinleştirme:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.ts - Test takımı:
pnpm test:live:media music - Kapsam:
- Paylaşılan paket müzik üretimi sağlayıcı yolunu çalıştırır
- Şu anda Google ve MiniMax kapsam dahilindedir
- Yoklamadan önce sağlayıcı env değişkenlerini oturum açma kabuğunuzdan (
~/.profile) yükler - Varsayılan olarak saklanan kimlik doğrulama profillerinden önce canlı/env API anahtarlarını kullanır; böylece
auth-profiles.jsoniçindeki bayat test anahtarları gerçek kabuk kimlik bilgilerini maskelemez - Kullanılabilir kimlik doğrulama/profil/model olmayan sağlayıcıları atlar
- Mevcut olduğunda bildirilen iki çalışma zamanı modunu da çalıştırır:
- Yalnızca istem girdisiyle
generate - sağlayıcı
capabilities.edit.enabledbildirdiğindeedit
- Yalnızca istem girdisiyle
- Mevcut paylaşılan kulvar kapsamı:
google:generate,editminimax:generatecomfy: ayrı Comfy canlı dosyası, bu paylaşılan tarama değil
- İsteğe bağlı daraltma:
OPENCLAW_LIVE_MUSIC_GENERATION_PROVIDERS="google,minimax"OPENCLAW_LIVE_MUSIC_GENERATION_MODELS="google/lyria-3-clip-preview,minimax/music-2.6"
- İsteğe bağlı kimlik doğrulama davranışı:
- Profil deposu kimlik doğrulamasını zorlamak ve yalnızca env geçersiz kılmalarını yok saymak için
OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1
- Profil deposu kimlik doğrulamasını zorlamak ve yalnızca env geçersiz kılmalarını yok saymak için
Video üretimi canlı
- Test:
extensions/video-generation-providers.live.test.ts - Etkinleştirme:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.ts - Test takımı:
pnpm test:live:media video - Kapsam:
- Paylaşılan paket video üretimi sağlayıcı yolunu çalıştırır
- Varsayılan olarak sürüm açısından güvenli duman testi yolunu kullanır: FAL dışı sağlayıcılar, sağlayıcı başına bir metinden videoya isteği, bir saniyelik ıstakoz istemi ve
OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MSüzerinden sağlayıcı başına işlem sınırı (varsayılan180000) - Sağlayıcı tarafı kuyruk gecikmesi sürüm süresine baskın gelebileceği için varsayılan olarak FAL atlanır; açıkça çalıştırmak için
--video-providers falveyaOPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="fal"geçirin - Yoklamadan önce sağlayıcı env değişkenlerini oturum açma kabuğunuzdan (
~/.profile) yükler - Varsayılan olarak saklanan kimlik doğrulama profillerinden önce canlı/env API anahtarlarını kullanır; böylece
auth-profiles.jsoniçindeki bayat test anahtarları gerçek kabuk kimlik bilgilerini maskelemez - Kullanılabilir kimlik doğrulama/profil/model olmayan sağlayıcıları atlar
- Varsayılan olarak yalnızca
generateçalıştırır - Mevcut olduğunda bildirilen dönüştürme modlarını da çalıştırmak için
OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1ayarlayın:- sağlayıcı
capabilities.imageToVideo.enabledbildirdiğinde ve seçilen sağlayıcı/model paylaşılan taramada arabellek destekli yerel görüntü girdisini kabul ettiğindeimageToVideo - sağlayıcı
capabilities.videoToVideo.enabledbildirdiğinde ve seçilen sağlayıcı/model paylaşılan taramada arabellek destekli yerel video girdisini kabul ettiğindevideoToVideo
- sağlayıcı
- Paylaşılan taramada bildirilen ancak atlanan mevcut
imageToVideosağlayıcıları:vydra, çünkü paketveo3yalnızca metin destekler ve paketklinguzak bir görüntü URL'si gerektirir
- Sağlayıcıya özgü Vydra kapsamı:
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_VYDRA_VIDEO=1 pnpm test:live -- extensions/vydra/vydra.live.test.ts- bu dosya varsayılan olarak uzak bir görüntü URL fikstürü kullanan bir
klingkulvarına ek olarakveo3metinden videoya çalıştırır
- Mevcut
videoToVideocanlı kapsamı:- yalnızca seçilen model
runway/gen4_alepholduğundarunway
- yalnızca seçilen model
- Paylaşılan taramada bildirilen ancak atlanan mevcut
videoToVideosağlayıcıları:alibaba,qwen,xai; çünkü bu yollar şu anda uzakhttp(s)/ MP4 referans URL'leri gerektirirgoogle; çünkü mevcut paylaşılan Gemini/Veo kulvarı yerel arabellek destekli girdi kullanır ve bu yol paylaşılan taramada kabul edilmezopenai; çünkü mevcut paylaşılan kulvarda kuruluşa özgü video inpaint/remix erişim garantileri yoktur
- İsteğe bağlı daraltma:
OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="deepinfra,google,openai,runway"OPENCLAW_LIVE_VIDEO_GENERATION_MODELS="google/veo-3.1-fast-generate-preview,openai/sora-2,runway/gen4_aleph"- FAL dahil varsayılan taramadaki her sağlayıcıyı dahil etmek için
OPENCLAW_LIVE_VIDEO_GENERATION_SKIP_PROVIDERS="" - Agresif bir duman testi çalıştırması için her sağlayıcı işlem sınırını azaltmak üzere
OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS=60000
- İsteğe bağlı kimlik doğrulama davranışı:
- Profil deposu kimlik doğrulamasını zorlamak ve yalnızca env geçersiz kılmalarını yok saymak için
OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1
- Profil deposu kimlik doğrulamasını zorlamak ve yalnızca env geçersiz kılmalarını yok saymak için
Medya canlı test takımı
- Komut:
pnpm test:live:media - Amaç:
- Paylaşılan görüntü, müzik ve video canlı test paketlerini tek bir repo yerel giriş noktası üzerinden çalıştırır
- Eksik sağlayıcı env değişkenlerini
~/.profiledosyasından otomatik yükler - Varsayılan olarak her paketi şu anda kullanılabilir kimlik doğrulaması olan sağlayıcılara otomatik daraltır
scripts/test-live.mjsdosyasını yeniden kullanır; böylece Heartbeat ve sessiz mod davranışı tutarlı kalır
- Örnekler:
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
İlgili
- Test Etme - birim, entegrasyon, QA ve Docker paketleri