Ana içeriğe atla
Hızlı başlangıç, QA çalıştırıcıları, birim/entegrasyon paketleri ve Docker akışları için bkz. Testing. Bu sayfa canlı (ağa dokunan) test paketlerini kapsar: model matrisi, CLI arka uçları, ACP ve medya sağlayıcısı canlı testleri, ayrıca kimlik bilgisi işleme.

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 reklamı yapılan her komutu çağırmak ve komut sözleşmesi davranışını doğrulamak.
  • Kapsam:
    • Ön koşullu/manuel kurulum (paket uygulamayı kurmaz/çalıştırmaz/eşleştirmez).
    • Seçilen Android Node için komut bazında gateway node.invoke doğrulaması.
  • Gerekli ön kurulum:
    • Android uygulaması zaten gateway’e bağlı + eşleştirilmiş olmalı.
    • Uygulama ön planda tutulmalı.
    • Geçmesini beklediğiniz yetenekler için izinler/yakalama onayları verilmiş olmalı.
  • İsteğe bağlı hedef geçersiz kılmaları:
    • OPENCLAW_ANDROID_NODE_ID veya OPENCLAW_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 (profil anahtarları)

Canlı testler, hataları yalıtabilmek için iki katmana ayrılmıştır:
  • “Doğrudan model”, sağlayıcının/modelin verilen anahtarla gerçekten yanıt verip veremediğini söyler.
  • “Gateway smoke”, tam gateway+aracı hattının bu model için çalıştığını söyler (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 bilgilerinizin olduğu modelleri seçmek için getApiKeyForModel kullanmak
    • Model başına 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ız OPENCLAW_LIVE_TEST=1)
  • Bu paketi gerçekten çalıştırmak için OPENCLAW_LIVE_MODELS=modern (veya modern için takma ad olan all) ayarlayın; aksi halde pnpm test:live komutunu gateway smoke’a odaklı tutmak için atlanır
  • 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, GLM 4.7, MiniMax M2.7, Grok 4)
    • OPENCLAW_LIVE_MODELS=all, modern izin listesi için bir takma addır
    • veya OPENCLAW_LIVE_MODELS="openai/gpt-5.2,openai-codex/gpt-5.2,anthropic/claude-opus-4-6,..." (virgülle ayrılmış izin listesi)
    • Modern/all taramaları varsayılan olarak özenle seçilmiş yüksek sinyalli bir üst sınır kullanır; kapsamlı modern tarama için OPENCLAW_LIVE_MAX_MODELS=0, daha küçük bir üst sınır için pozitif sayı ayarlayın.
    • Kapsamlı taramalar, tüm doğrudan model test zaman aşımı için OPENCLAW_LIVE_TEST_TIMEOUT_MS kullanır. Varsayılan: 60 dakika.
    • Doğrudan model yoklamaları varsayılan olarak 20 yönlü paralellikle çalışır; geçersiz kılmak için OPENCLAW_LIVE_MODEL_CONCURRENCY ayarlayın.
  • 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 ortam geri dönüşleri
    • Yalnızca profil deposunu zorlamak için OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1 ayarlayın
  • Bunun var olma nedeni:
    • “sağlayıcı API bozuk / anahtar geçersiz” ile “gateway aracı hattı bozuk” durumlarını ayırır
    • küçük, yalıtılmış regresyonları içerir (örnek: OpenAI Responses/Codex Responses muhakeme yeniden oynatma + tool-call akışları)

Katman 2: Gateway + geliştirme aracısı smoke ("@openclaw"ın gerçekten yaptığı şey)

  • Test: src/gateway/gateway-models.profiles.live.test.ts
  • Amaç:
    • süreç içinde bir gateway başlatmak
    • bir agent:dev:* oturumu oluşturmak/yamamak (çalıştırma başına model geçersiz kılması)
    • anahtarları olan modeller üzerinde yinelemek ve şunları doğrulamak:
      • “anlamlı” yanıt (araç yok)
      • gerçek bir araç çağrısı çalışıyor (read yoklaması)
      • isteğe bağlı ek araç yoklamaları (exec+read yoklaması)
      • OpenAI regresyon yolları (yalnızca tool-call → takip) çalışmaya devam ediyor
  • Yoklama ayrıntıları (hataları hızlı açıklayabilmeniz için):
    • read yoklaması: test çalışma alanına bir nonce dosyası yazar ve aracının bunu read ile okuyup nonce’u geri yankılamasını ister.
    • exec+read yoklaması: test aracıdan bir nonce’u geçici dosyaya exec ile yazmasını, sonra read ile geri okumasını ister.
    • görüntü yoklaması: test oluşturulmuş bir PNG (kedi + rastgele kod) ekler ve modelin cat <CODE> döndürmesini bekler.
    • Uygulama başvurusu: src/gateway/gateway-models.profiles.live.test.ts ve src/gateway/live-image-probe.ts.
  • Etkinleştirme:
    • pnpm test:live (veya Vitest’i doğrudan çağırıyorsanız OPENCLAW_LIVE_TEST=1)
  • Model seçme:
    • Varsayılan: modern izin listesi (Opus/Sonnet 4.6+, GPT-5.2 + Codex, Gemini 3, GLM 4.7, MiniMax M2.7, Grok 4)
    • OPENCLAW_LIVE_GATEWAY_MODELS=all, modern izin listesi için takma addır
    • Veya daraltmak için OPENCLAW_LIVE_GATEWAY_MODELS="provider/model" (veya virgülle ayrılmış liste) ayarlayın
    • Modern/all gateway taramaları varsayılan olarak özenle seçilmiş yüksek sinyalli bir üst sınır kullanır; kapsamlı modern tarama için OPENCLAW_LIVE_GATEWAY_MAX_MODELS=0, daha küçük bir üst sınır için pozitif sayı ayarlayın.
  • Sağlayıcı seçme (“her şey OpenRouter” olmasın diye):
    • OPENCLAW_LIVE_GATEWAY_PROVIDERS="google,google-antigravity,google-gemini-cli,openai,anthropic,zai,minimax" (virgülle ayrılmış izin listesi)
  • Araç + görüntü yoklamaları bu canlı testte her zaman açıktır:
    • read yoklaması + exec+read yoklaması (araç stresi)
    • model görüntü girdisi desteği bildiriyorsa görüntü yoklaması çalışır
    • Akış (yüksek seviye):
      • Test, “CAT” + rastgele kod içeren küçük bir PNG üretir (src/gateway/live-image-probe.ts)
      • Bunu agent attachments: [{ mimeType: "image/png", content: "<base64>" }] üzerinden gönderir
      • Gateway ek dosyaları images[] içine ayrıştırır (src/gateway/server-methods/agent.ts + src/gateway/chat-attachments.ts)
      • Gömülü aracı modele çok modlu bir kullanıcı mesajı iletir
      • Doğrulama: yanıt cat + kodu içerir (OCR toleransı: küçük hatalara izin verilir)
İpucu: makinenizde neyi test edebileceğinizi (ve tam provider/model kimliklerini) görmek için şunu çalıştırın:
openclaw models list
openclaw models list --json

Canlı: CLI arka ucu smoke (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 arka ucu kullanarak Gateway + aracı hattını doğrulamak.
  • Arka uca özgü smoke varsayılanları, sahip uzantının cli-backend.ts tanımında bulunur.
  • Etkinleştirme:
    • pnpm test:live (veya Vitest’i doğrudan çağırıyorsanız OPENCLAW_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örüntü davranışı, sahip CLI arka uç Plugin’i üst verilerinden gelir.
  • Geçersiz kılmalar (isteğe bağlı):
    • 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"]'
    • Gerçek bir görüntü eki göndermek için OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=1 (yollar isteme enjekte edilir).
    • Görüntü dosyası yollarını isteme enjekte etmek yerine CLI argümanları olarak geçirmek için OPENCLAW_LIVE_CLI_BACKEND_IMAGE_ARG="--image".
    • IMAGE_ARG ayarlandığında görüntü argümanlarının nasıl geçirileceğini kontrol etmek için OPENCLAW_LIVE_CLI_BACKEND_IMAGE_MODE="repeat" (veya "list").
    • İkinci tur göndermek ve devam akışını doğrulamak için OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1.
    • Varsayılan Claude Sonnet -> Opus aynı oturum süreklilik yoklamasını devre dışı bırakmak için OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=0 (seçilen model bir geçiş hedefini desteklediğinde zorla açmak için 1 ayarlayın).
Örnek:
OPENCLAW_LIVE_CLI_BACKEND=1 \
  OPENCLAW_LIVE_CLI_BACKEND_MODEL="codex-cli/gpt-5.2" \
  pnpm test:live src/gateway/gateway-cli-backend.live.test.ts
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.sh içindedir.
  • Canlı CLI arka uç smoke testini depo Docker imajı içinde root olmayan node kullanıcısı olarak çalıştırır.
  • Sahip uzantıdan CLI smoke üst verilerini çözümler, ardından eşleşen Linux CLI paketini (@anthropic-ai/claude-code, @openai/codex veya @google/gemini-cli) OPENCLAW_DOCKER_CLI_TOOLS_DIR içinde önbelleğe alınmış yazılabilir bir öneke kurar (varsayılan: ~/.cache/openclaw/docker-cli-tools).
  • pnpm test:docker:live-cli-backend:claude-subscription, taşınabilir Claude Code abonelik OAuth’u gerektirir; bu ya claudeAiOauth.subscriptionType içeren ~/.claude/.credentials.json ya da claude setup-token içinden CLAUDE_CODE_OAUTH_TOKEN ile sağlanır. Önce Docker içinde doğrudan claude -p çalıştığını kanıtlar, sonra Anthropic API anahtarı ortam değişkenlerini korumadan iki Gateway CLI arka uç turu çalıştırır. Bu abonelik hattı, Claude şu anda üçüncü taraf uygulama kullanımını normal abonelik plan sınırları yerine ekstra kullanım faturalandırması üzerinden yönlendirdiği için varsayılan olarak Claude MCP/araç ve görüntü yoklamalarını kapatır.
  • Canlı CLI arka uç smoke testi artık Claude, Codex ve Gemini için aynı uçtan uca akışı uygular: metin turu, görüntü sınıflandırma turu, ardından gateway CLI üzerinden doğrulanan MCP cron araç çağrısı.
  • Claude’un varsayılan smoke testi ayrıca oturumu Sonnet’ten Opus’a yamalar ve sürdürülen oturumun önceki bir notu hâlâ hatırladığını doğrular.

Canlı: ACP bağlama smoke (/acp spawn ... --bind here)

  • Test: src/gateway/gateway-acp-bind.live.test.ts
  • Amaç: canlı bir ACP aracısıyla gerçek ACP konuşma bağlama akışını doğrulamak:
    • /acp spawn <agent> --bind here gönder
    • sentetik bir mesaj kanalı konuşmasını yerinde bağla
    • aynı konuşma üzerinde normal bir takip gönder
    • takibin bağlı ACP oturum dökümüne düştüğünü doğrula
  • Etkinleştirme:
    • pnpm test:live src/gateway/gateway-acp-bind.live.test.ts
    • OPENCLAW_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
  • Geçersiz kılmalar:
    • OPENCLAW_LIVE_ACP_BIND_AGENT=claude
    • OPENCLAW_LIVE_ACP_BIND_AGENT=codex
    • OPENCLAW_LIVE_ACP_BIND_AGENT=gemini
    • OPENCLAW_LIVE_ACP_BIND_AGENTS=claude,codex,gemini
    • OPENCLAW_LIVE_ACP_BIND_AGENT_COMMAND='npx -y @agentclientprotocol/claude-agent-acp@<version>'
    • OPENCLAW_LIVE_ACP_BIND_CODEX_MODEL=gpt-5.2
    • OPENCLAW_LIVE_ACP_BIND_PARENT_MODEL=openai/gpt-5.2
  • Notlar:
    • Bu hat, testlerin dışarı teslim ediyor gibi davranmadan mesaj kanalı bağlamı ekleyebilmesi için yöneticiye özel sentetik kaynak rota alanlarıyla gateway chat.send yüzeyini kullanır.
    • OPENCLAW_LIVE_ACP_BIND_AGENT_COMMAND ayarlı değilse, test seçilen ACP harness aracısı için gömülü acpx Plugin’inin yerleşik aracı kayıt defterini kullanır.
Ö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:gemini
Docker notları:
  • Docker çalıştırıcısı scripts/test-live-acp-bind-docker.sh içindedir.
  • Varsayılan olarak ACP bind smoke testini desteklenen tüm canlı CLI aracılarına sırayla karşı çalıştırır: claude, codex, sonra gemini.
  • Matrisi daraltmak için OPENCLAW_LIVE_ACP_BIND_AGENTS=claude, OPENCLAW_LIVE_ACP_BIND_AGENTS=codex veya OPENCLAW_LIVE_ACP_BIND_AGENTS=gemini kullanın.
  • ~/.profile dosyasını kaynak olarak alır, eşleşen CLI auth materyalini kapsayıcıya hazırlar, acpx’i yazılabilir bir npm önekine kurar, sonra istenen canlı CLI’yi (@anthropic-ai/claude-code, @openai/codex veya @google/gemini-cli) eksikse kurar.
  • Docker içinde çalıştırıcı OPENCLAW_LIVE_ACP_BIND_ACPX_COMMAND=$HOME/.npm-global/bin/acpx ayarlar; böylece acpx, kaynak alınmış profilden sağlayıcı ortam değişkenlerini alt harness CLI için kullanılabilir tutar.

Canlı: Codex app-server harness smoke

  • Amaç: Plugin’e ait Codex harness’ı normal gateway agent yöntemi üzerinden doğrulamak:
    • paketlenmiş codex Plugin’ini yüklemek
    • OPENCLAW_AGENT_RUNTIME=codex seçmek
    • ilk gateway aracı turunu zorlanmış Codex harness ile openai/gpt-5.2 modeline göndermek
    • ikinci turu aynı OpenClaw oturumuna göndermek ve app-server ileti dizisinin devam ettirilebildiğini doğrulamak
    • /codex status ve /codex models komutlarını aynı gateway komut yolu üzerinden çalıştırmak
    • isteğe bağlı olarak Guardian tarafından incelenen iki yükseltilmiş kabuk yoklamasını çalıştırmak: biri onaylanması gereken zararsız komut, diğeri ajan tekrar sorsun diye reddedilmesi gereken sahte bir gizli anahtar yüklemesi
  • Test: src/gateway/gateway-codex-harness.live.test.ts
  • Etkinleştirme: OPENCLAW_LIVE_CODEX_HARNESS=1
  • Varsayılan model: openai/gpt-5.2
  • İ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 OPENCLAW_AGENT_HARNESS_FALLBACK=none ayarlar; böylece bozuk bir Codex harness, sessizce PI’ye geri düşerek geçemez.
  • Kimlik doğrulama: yerel Codex abonelik oturum açmasından gelen Codex app-server kimlik doğrulaması. Docker smoke testleri gerektiğinde Codex dışı yoklamalar için OPENAI_API_KEY de sağlayabilir, ayrıca isteğe bağlı olarak kopyalanmış ~/.codex/auth.json ve ~/.codex/config.toml.
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.2 \
  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.sh içinde bulunur.
  • Bağlanan ~/.profile dosyasını kaynak olarak alır, OPENAI_API_KEY geçirir, mevcutsa Codex CLI auth dosyalarını kopyalar, @openai/codex paketini yazılabilir bağlı bir npm önekine kurar, kaynak ağacı hazırlar ve sonra yalnızca Codex harness canlı testini çalıştırır.
  • Docker varsayılan olarak görüntü, MCP/araç ve Guardian yoklamalarını etkinleştirir. Daha dar bir hata ayıklama çalıştırması gerektiğinde OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0 veya OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0 ya da OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0 ayarlayın.
  • Docker ayrıca OPENCLAW_AGENT_HARNESS_FALLBACK=none dışa aktarır; bu da canlı test yapılandırmasıyla eşleşir, böylece eski takma adlar veya PI geri dönüşü bir Codex harness regresyonunu gizleyemez.

Önerilen canlı tarifler

Dar ve açık izin listeleri en hızlı ve en az kararsız olanlardır:
  • Tek model, doğrudan (gateway yok):
    • OPENCLAW_LIVE_MODELS="openai/gpt-5.2" pnpm test:live src/agents/models.profiles.live.test.ts
  • Tek model, gateway smoke:
    • OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.2" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts
  • Birkaç sağlayıcı boyunca araç çağrısı:
    • 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
  • Google odaklı (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
Notlar:
  • google/... Gemini API’yi 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ı auth + araç farklılıkları).
  • Gemini API ile Gemini CLI farkı:
    • API: OpenClaw, Google’ın barındırılan Gemini API’sini HTTP üzerinden çağırır (API anahtarı / profil auth); çoğu kullanıcının “Gemini” derken kastettiği budur.
    • CLI: OpenClaw yerel bir gemini ikilisini kabuk üzerinden çalıştırır; bunun kendi auth yapısı vardır ve farklı davranabilir (akış/araç desteği/sürüm uyumsuzluğu).

Canlı: model matrisi (neleri kapsıyoruz)

Sabit bir “CI model listesi” yoktur (canlı test isteğe bağlıdır), ancak anahtarları olan bir geliştirme makinesinde düzenli olarak kapsanması önerilen modeller şunlardır.

Modern smoke kümesi (araç çağrısı + görüntü)

Çalışmaya devam etmesini beklediğimiz “yaygın modeller” çalıştırması budur:
  • OpenAI (Codex dışı): openai/gpt-5.2
  • OpenAI Codex OAuth: openai-codex/gpt-5.2
  • Anthropic: anthropic/claude-opus-4-6 (veya anthropic/claude-sonnet-4-6)
  • Google (Gemini API): google/gemini-3.1-pro-preview ve google/gemini-3-flash-preview (eski Gemini 2.x modellerinden kaçının)
  • Google (Antigravity): google-antigravity/claude-opus-4-6-thinking ve google-antigravity/gemini-3-flash
  • Z.AI (GLM): zai/glm-4.7
  • MiniMax: minimax/MiniMax-M2.7
Araçlar + görüntü ile gateway smoke çalıştırması: 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

Temel çizgi: araç çağrısı (Read + isteğe bağlı Exec)

Sağlayıcı ailesi başına en az bir tane seçin:
  • OpenAI: openai/gpt-5.2
  • Anthropic: anthropic/claude-opus-4-6 (veya anthropic/claude-sonnet-4-6)
  • Google: google/gemini-3-flash-preview (veya google/gemini-3.1-pro-preview)
  • Z.AI (GLM): zai/glm-4.7
  • MiniMax: minimax/MiniMax-M2.7
İsteğe bağlı ek kapsam (olsa iyi olur):
  • xAI: xai/grok-4 (veya mevcut en yeni sürüm)
  • Mistral: mistral/… (etkinleştirdiğiniz araç destekli bir model seçin)
  • Cerebras: cerebras/… (erişiminiz varsa)
  • LM Studio: lmstudio/… (yerel; araç çağrısı API moduna bağlıdır)

Vision: görüntü gönderme (ek dosya → ç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ü destekli model ekleyin (Claude/Gemini/OpenAI görüntü destekli 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ü destekli adayları bulmak için openclaw models scan kullanın)
  • OpenCode: Zen için opencode/... ve Go için opencode-go/... (OPENCODE_API_KEY / OPENCODE_ZEN_API_KEY ile auth)
Canlı matrise ekleyebileceğiniz daha fazla sağlayıcı (kimlik bilgisi/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.)
İpucu: belgelerde “tüm modelleri” sabit kodlamaya çalışmayın. Yetkili liste, makinenizde discoverModels(...) ne döndürüyorsa ve hangi anahtarlar mevcutsa odur.

Kimlik bilgileri (asla commit etmeyin)

Canlı testler, kimlik bilgilerini CLI ile aynı şekilde keşfeder. Pratik sonuçlar:
  • CLI çalışıyorsa, canlı testler de aynı anahtarları bulmalıdır.
  • Bir canlı test “kimlik bilgisi yok” diyorsa, bunu openclaw models list / model seçimini hata ayıklar gibi hata ayıklayın.
  • Aracı başına auth profilleri: ~/.openclaw/agents/<agentId>/agent/auth-profiles.json (canlı testlerde “profil anahtarları” ile kastedilen budur)
  • Yapılandırma: ~/.openclaw/openclaw.json (veya OPENCLAW_CONFIG_PATH)
  • Eski durum dizini: ~/.openclaw/credentials/ (varsa hazırlanan canlı test evine 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.json dosyalarını, eski credentials/ dizinini ve desteklenen harici CLI auth dizinlerini geçici bir test evine kopyalar; hazırlanan canlı test evleri workspace/ ve sandboxes/ dizinlerini atlar ve yoklamaların gerçek ana makine çalışma alanınızın dışında kalması için agents.*.workspace / agentDir yol geçersiz kılmaları kaldırılır.
Ortam anahtarlarına güvenmek istiyorsanız (ör. ~/.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ıya bağlayabilir).

Deepgram canlı (ses yazıya dökme)

  • 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 coding 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ılması: BYTEPLUS_CODING_MODEL=ark-code-latest

ComfyUI workflow medya 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:
    • Paketlenmiş comfy görüntü, video ve music_generate yollarını uygular
    • Her yeteneği, yalnızca models.providers.comfy.<capability> yapılandırıldıysa çalıştırır; aksi halde atlar
    • Comfy workflow gönderimi, sorgulama, indirmeler veya Plugin kaydı değiştirildikten sonra kullanışlıdır

Görüntü üretimi canlı

  • Test: test/image-generation.runtime.live.test.ts
  • Komut: pnpm test:live test/image-generation.runtime.live.test.ts
  • Harness: pnpm test:live:media image
  • Kapsam:
    • Kayıtlı tüm görüntü üretimi sağlayıcı Plugin’lerini listeler
    • Yoklamadan önce eksik sağlayıcı ortam değişkenlerini giriş kabuğunuzdan (~/.profile) yükler
    • Varsayılan olarak saklanan auth profillerinden önce canlı/ortam API anahtarlarını kullanır; böylece auth-profiles.json içindeki eski test anahtarları gerçek kabuk kimlik bilgilerini maskelemez
    • Kullanılabilir auth/profil/model olmayan sağlayıcıları atlar
    • Stok görüntü üretimi varyantlarını paylaşılan çalışma zamanı yeteneği üzerinden çalıştırır:
      • google:flash-generate
      • google:pro-generate
      • google:pro-edit
      • openai:default-generate
  • Şu anda kapsanan paketlenmiş sağlayıcılar:
    • fal
    • google
    • minimax
    • openai
    • openrouter
    • vydra
    • xai
  • İsteğe bağlı daraltma:
    • 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"
  • İsteğe bağlı auth davranışı:
    • Profil deposu auth’unu zorlamak ve yalnızca ortam geçersiz kılmalarını yok saymak için OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1

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
  • Harness: pnpm test:live:media music
  • Kapsam:
    • Paylaşılan paketlenmiş müzik üretimi sağlayıcı yolunu uygular
    • Şu anda Google ve MiniMax’ı kapsar
    • Yoklamadan önce sağlayıcı ortam değişkenlerini giriş kabuğunuzdan (~/.profile) yükler
    • Varsayılan olarak saklanan auth profillerinden önce canlı/ortam API anahtarlarını kullanır; böylece auth-profiles.json içindeki eski test anahtarları gerçek kabuk kimlik bilgilerini maskelemez
    • Kullanılabilir auth/profil/model olmayan sağlayıcıları atlar
    • Mümkün olduğunda bildirilen iki çalışma zamanı modunu da çalıştırır:
      • yalnızca istem girdisiyle generate
      • sağlayıcı capabilities.edit.enabled bildiriyorsa edit
    • Geçerli paylaşılan hat kapsamı:
      • google: generate, edit
      • minimax: generate
      • comfy: 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.5+"
  • İsteğe bağlı auth davranışı:
    • Profil deposu auth’unu zorlamak ve yalnızca ortam geçersiz kılmalarını yok saymak için OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1

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
  • Harness: pnpm test:live:media video
  • Kapsam:
    • Paylaşılan paketlenmiş video üretimi sağlayıcı yolunu uygular
    • Sürüm için güvenli smoke yolunu varsayılan alı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 değerinden gelen sağlayıcı başına işlem üst sınırı (varsayılan 180000)
    • Sağlayıcı tarafı kuyruk gecikmesi sürüm süresine baskın çıkabildiği için FAL varsayılan olarak atlanır; bunu açıkça çalıştırmak için --video-providers fal veya OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="fal" geçin
    • Yoklamadan önce sağlayıcı ortam değişkenlerini giriş kabuğunuzdan (~/.profile) yükler
    • Varsayılan olarak saklanan auth profillerinden önce canlı/ortam API anahtarlarını kullanır; böylece auth-profiles.json içindeki eski test anahtarları gerçek kabuk kimlik bilgilerini maskelemez
    • Kullanılabilir auth/profil/model olmayan sağlayıcıları atlar
    • Varsayılan olarak yalnızca generate çalıştırır
    • Bildirilmiş dönüştürme modlarını da çalıştırmak için OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1 ayarlayın:
      • sağlayıcı capabilities.imageToVideo.enabled bildiriyorsa ve seçilen sağlayıcı/model paylaşılan taramada buffer destekli yerel görüntü girdisini kabul ediyorsa imageToVideo
      • sağlayıcı capabilities.videoToVideo.enabled bildiriyorsa ve seçilen sağlayıcı/model paylaşılan taramada buffer destekli yerel video girdisini kabul ediyorsa videoToVideo
    • Paylaşılan taramada şu anda bildirilmiş ama atlanan imageToVideo sağlayıcıları:
      • vydra, çünkü paketlenmiş veo3 yalnızca metindir ve paketlenmiş kling uzak 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 veo3 metinden videoya artı uzak görüntü URL’si fixture’ı kullanan bir kling hattını çalıştırır
    • Geçerli videoToVideo canlı kapsamı:
      • seçilen model runway/gen4_aleph olduğunda yalnızca runway
    • Paylaşılan taramada şu anda bildirilmiş ama atlanan videoToVideo sağlayıcıları:
      • alibaba, qwen, xai; çünkü bu yollar şu anda uzak http(s) / MP4 başvuru URL’leri gerektirir
      • google; çünkü mevcut paylaşılan Gemini/Veo hattı yerel buffer destekli girdi kullanır ve bu yol paylaşılan taramada kabul edilmez
      • openai; çünkü mevcut paylaşılan hatta kuruluşa özgü video inpaint/remix erişim garantileri yoktur
  • İsteğe bağlı daraltma:
    • 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"
    • Varsayılan taramaya FAL dahil tüm sağlayıcıları katmak için OPENCLAW_LIVE_VIDEO_GENERATION_SKIP_PROVIDERS=""
    • Agresif smoke çalıştırması için sağlayıcı başına işlem üst sınırını düşürmek üzere OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS=60000
  • İsteğe bağlı auth davranışı:
    • Profil deposu auth’unu zorlamak ve yalnızca ortam geçersiz kılmalarını yok saymak için OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1

Medya canlı harness

  • Komut: pnpm test:live:media
  • Amaç:
    • Paylaşılan görüntü, müzik ve video canlı paketlerini depo-yerel tek giriş noktası üzerinden çalıştırır
    • Eksik sağlayıcı ortam değişkenlerini ~/.profile dosyasından otomatik yükler
    • Varsayılan olarak her paketi şu anda kullanılabilir auth’u olan sağlayıcılara otomatik daraltır
    • scripts/test-live.mjs dosyasını yeniden kullanır; böylece Heartbeat ve sessiz mod davranışı tutarlı kalır
  • Örnekler:
    • pnpm test:live:media
    • pnpm test:live:media image video --providers openai,google,minimax
    • pnpm test:live:media video --video-providers openai,runway --all-providers
    • pnpm test:live:media music --quiet

İlgili

  • Testing — birim, entegrasyon, QA ve Docker paketleri