tools.media-Konfiguration, die Fallback-Reihenfolge und die Integration in die Antwort-Pipeline besitzt.
Ziele
- Optional: eingehende Medien vorab in kurzen Text verdichten, für schnelleres Routing und besseres Command-Parsing.
- Ursprüngliche Medienübermittlung an das Modell beibehalten (immer).
- Provider-APIs und CLI-Fallbacks unterstützen.
- Mehrere Modelle mit geordnetem Fallback erlauben (Fehler/Größe/Timeout).
Verhalten auf hoher Ebene
Pro Fähigkeit auswählen
Für jede aktivierte Fähigkeit (Bild/Audio/Video) Anhänge gemäß Richtlinie auswählen (Standard: erste).
Modell auswählen
Den ersten geeigneten Modelleintrag auswählen (Größe + Fähigkeit + Authentifizierung).
Bei Fehler auf Fallback zurückgreifen
Wenn ein Modell fehlschlägt oder das Medium zu groß ist, auf den nächsten Eintrag zurückgreifen.
Konfigurationsübersicht
tools.media unterstützt gemeinsame Modelle plus Überschreibungen pro Fähigkeit:
Schlüssel auf oberster Ebene
Schlüssel auf oberster Ebene
tools.media.models: gemeinsame Modellliste (capabilitieszum Eingrenzen verwenden).tools.media.image/tools.media.audio/tools.media.video:- Standardwerte (
prompt,maxChars,maxBytes,timeoutSeconds,language) - Provider-Überschreibungen (
baseUrl,headers,providerOptions) - Deepgram-Audiooptionen über
tools.media.audio.providerOptions.deepgram - Steuerung für Audio-Transkript-Echo (
echoTranscript, Standardfalse;echoFormat) - optionale
models-Liste pro Fähigkeit (vor gemeinsamen Modellen bevorzugt) attachments-Richtlinie (mode,maxAttachments,prefer)scope(optionales Eingrenzen nach Kanal/chatType/Sitzungsschlüssel)
- Standardwerte (
tools.media.concurrency: maximale Anzahl gleichzeitiger Fähigkeitsläufe (Standard 2).
Modelleinträge
Jedermodels[]-Eintrag kann Provider oder CLI sein:
- Provider-Eintrag
- CLI-Eintrag
Provider-Anmeldedaten (apiKey)
Provider-Medienverständnis verwendet dieselbe Provider-Authentifizierungsauflösung wie normale
Modellaufrufe: Authentifizierungsprofile, Umgebungsvariablen, dann
models.providers.<providerId>.apiKey.
tools.media.*.models[]-Einträge akzeptieren kein Inline-Feld apiKey. Der
provider-Wert in einem Medienmodelleintrag, zum Beispiel openai oder moonshot, muss
über eine der standardmäßigen Provider-Authentifizierungsquellen verfügbare Anmeldedaten
haben.
Minimales Beispiel:
Standardwerte und Limits
Empfohlene Standardwerte:maxChars: 500 für Bild/Video (kurz, befehlsfreundlich)maxChars: nicht gesetzt für Audio (vollständiges Transkript, sofern Sie kein Limit festlegen)maxBytes:- image: 10MB
- audio: 20MB
- video: 50MB
Regeln
Regeln
- Wenn Medien
maxBytesüberschreiten, wird dieses Modell übersprungen und das nächste Modell wird ausprobiert. - Audiodateien kleiner als 1024 Byte werden als leer/beschädigt behandelt und vor der Provider-/CLI-Transkription übersprungen; der Kontext eingehender Antworten erhält ein deterministisches Platzhaltertranskript, damit der Agent weiß, dass die Notiz zu klein war.
- Wenn das Modell mehr als
maxCharszurückgibt, wird die Ausgabe gekürzt. promptverwendet standardmäßig ein einfaches “Beschreiben Sie das .” plus diemaxChars-Hinweise (nur Bild/Video).- Wenn das aktive primäre Bildmodell Vision bereits nativ unterstützt, überspringt OpenClaw den Zusammenfassungsblock
[Image]und übergibt stattdessen das Originalbild an das Modell. - Wenn ein primäres Gateway-/WebChat-Modell nur Text unterstützt, werden Bildanhänge als ausgelagerte
media://inbound/*-Refs beibehalten, sodass die Bild-/PDF-Tools oder das konfigurierte Bildmodell sie weiterhin prüfen können, anstatt den Anhang zu verlieren. - Explizite Anforderungen mit
openclaw infer image describe --model <provider/model>unterscheiden sich: Sie führen diesen bildfähigen Provider bzw. dieses Modell direkt aus, einschließlich Ollama-Refs wieollama/qwen2.5vl:7b. - Wenn
<capability>.enabled: truegesetzt ist, aber keine Modelle konfiguriert sind, versucht OpenClaw das aktive Antwortmodell, sofern dessen Provider die Fähigkeit unterstützt.
Medienverständnis automatisch erkennen (Standard)
Wenntools.media.<capability>.enabled nicht auf false gesetzt ist und Sie keine Modelle konfiguriert haben, erkennt OpenClaw automatisch in dieser Reihenfolge und stoppt bei der ersten funktionierenden Option:
agents.defaults.imageModel
Primäre/Fallback-Refs von
agents.defaults.imageModel (nur Bild).
Bevorzugen Sie provider/model-Refs. Bare-Refs werden nur dann anhand konfigurierter bildfähiger Provider-Modelleinträge qualifiziert, wenn die Übereinstimmung eindeutig ist.Lokale CLIs (nur Audio)
Lokale CLIs (falls installiert):
sherpa-onnx-offline(erfordertSHERPA_ONNX_MODEL_DIRmit Encoder/Decoder/Joiner/Tokens)whisper-cli(whisper-cpp; verwendetWHISPER_CPP_MODELoder das gebündelte Tiny-Modell)whisper(Python-CLI; lädt Modelle automatisch herunter)
Provider-Authentifizierung
- Konfigurierte
models.providers.*-Einträge, die die Fähigkeit unterstützen, werden vor der gebündelten Fallback-Reihenfolge ausprobiert. - Nur für Bilder konfigurierte Provider mit einem bildfähigen Modell werden automatisch für Medienverständnis registriert, auch wenn sie kein gebündeltes Vendor-Plugin sind.
- Ollama-Bildverständnis ist verfügbar, wenn es explizit ausgewählt wird, zum Beispiel über
agents.defaults.imageModeloderopenclaw infer image describe --model ollama/<vision-model>.
- Audio: OpenAI → Groq → xAI → Deepgram → OpenRouter → Google → SenseAudio → ElevenLabs → Mistral
- Bild: OpenAI → Anthropic → Google → MiniMax → MiniMax Portal → Z.AI
- Video: Google → Qwen → Moonshot
Die Binärerkennung erfolgt bestmöglich über macOS/Linux/Windows hinweg; stellen Sie sicher, dass sich die CLI in
PATH befindet (wir erweitern ~), oder setzen Sie ein explizites CLI-Modell mit einem vollständigen Befehlspfad.Proxy-Umgebungsunterstützung (Provider-Modelle)
Wenn Provider-basiertes Audio- und Video-Medienverständnis aktiviert ist, berücksichtigt OpenClaw standardmäßige ausgehende Proxy-Umgebungsvariablen für Provider-HTTP-Aufrufe:HTTPS_PROXYHTTP_PROXYALL_PROXYhttps_proxyhttp_proxyall_proxy
Fähigkeiten (optional)
Wenn Siecapabilities setzen, wird der Eintrag nur für diese Medientypen ausgeführt. Für gemeinsam genutzte Listen kann OpenClaw Standardwerte ableiten:
openai,anthropic,minimax: Bildminimax-portal: Bildmoonshot: Bild + Videoopenrouter: Bild + Audiogoogle(Gemini API): Bild + Audio + Videoqwen: Bild + Videomistral: Audiozai: Bildgroq: Audioxai: Audiodeepgram: Audio- Jeder
models.providers.<id>.models[]-Katalog mit einem bildfähigen Modell: Bild
capabilities explizit setzen, um überraschende Übereinstimmungen zu vermeiden. Wenn Sie capabilities weglassen, ist der Eintrag für die Liste berechtigt, in der er erscheint.
Provider-Unterstützungsmatrix (OpenClaw-Integrationen)
| Fähigkeit | Provider-Integration | Hinweise |
|---|---|---|
| Bild | OpenAI, OpenAI Codex OAuth, Codex app-server, OpenRouter, Anthropic, Google, MiniMax, Moonshot, Qwen, Z.AI, Konfigurations-Provider | Vendor-Plugins registrieren Bildunterstützung; openai/* kann API-Schlüssel- oder Codex-OAuth-Routing verwenden; codex/* nutzt einen begrenzten Codex app-server-Turn; MiniMax und MiniMax OAuth verwenden beide MiniMax-VL-01; bildfähige Konfigurations-Provider werden automatisch registriert. |
| Audio | OpenAI, Groq, xAI, Deepgram, OpenRouter, Google, SenseAudio, ElevenLabs, Mistral | Provider-Transkription (Whisper/Groq/xAI/Deepgram/OpenRouter STT/Gemini/SenseAudio/Scribe/Voxtral). |
| Video | Google, Qwen, Moonshot | Provider-Videoverständnis über Vendor-Plugins; Qwen-Videoverständnis verwendet die Standard-DashScope-Endpunkte. |
MiniMax-Hinweis
- Das Bildverständnis für
minimax,minimax-cn,minimax-portalundminimax-portal-cnstammt vom Plugin-eigenen Medien-ProviderMiniMax-VL-01. - Das automatische Bild-Routing verwendet weiterhin
MiniMax-VL-01, selbst wenn veraltete MiniMax-M2.x-Chat-Metadaten Bildeingaben ausweisen.
Hinweise zur Modellauswahl
- Bevorzugen Sie für jede Medienfähigkeit das stärkste verfügbare Modell der neuesten Generation, wenn Qualität und Sicherheit wichtig sind.
- Vermeiden Sie für Tool-fähige Agenten, die nicht vertrauenswürdige Eingaben verarbeiten, ältere oder schwächere Medienmodelle.
- Behalten Sie mindestens einen Fallback pro Fähigkeit für die Verfügbarkeit bei (Qualitätsmodell + schnelleres/günstigeres Modell).
- CLI-Fallbacks (
whisper-cli,whisper,gemini) sind nützlich, wenn Provider-APIs nicht verfügbar sind. - Hinweis zu
parakeet-mlx: Mit--output-dirliest OpenClaw<output-dir>/<media-basename>.txt, wenn das Ausgabeformattxtist (oder nicht angegeben wurde); Nicht-txt-Formate fallen auf stdout zurück.
Richtlinie für Anhänge
Pro Fähigkeit steuertattachments, welche Anhänge verarbeitet werden:
Ob der erste ausgewählte Anhang oder alle Anhänge verarbeitet werden.
Begrenzt die Anzahl der verarbeiteten Anhänge.
Auswahlpräferenz unter den Kandidatenanhängen.
mode: "all" gesetzt ist, werden Ausgaben mit [Image 1/2], [Audio 2/2] usw. gekennzeichnet.
File-attachment extraction behavior
File-attachment extraction behavior
- Extrahierter Dateitext wird als nicht vertrauenswürdiger externer Inhalt eingeschlossen, bevor er an den Medien-Prompt angehängt wird.
- Der eingefügte Block verwendet explizite Begrenzungsmarker wie
<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>/<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>und enthält eine MetadatenzeileSource: External. - Dieser Pfad zur Anhangsextraktion lässt das lange Banner
SECURITY NOTICE:absichtlich weg, um den Medien-Prompt nicht aufzublähen; die Begrenzungsmarker und Metadaten bleiben dennoch erhalten. - Wenn eine Datei keinen extrahierbaren Text enthält, fügt OpenClaw
[No extractable text]ein. - Wenn eine PDF-Datei in diesem Pfad auf gerenderte Seitenbilder zurückfällt, leitet OpenClaw diese Seitenbilder an antwortende Modelle mit Vision-Fähigkeit weiter und behält den Platzhalter
[PDF content rendered to images]im Dateiblock bei.
Konfigurationsbeispiele
Statusausgabe
Wenn Medienverständnis ausgeführt wird, enthält/status eine kurze Zusammenfassungszeile:
Hinweise
- Das Verständnis erfolgt nach bestem Bemühen. Fehler blockieren Antworten nicht.
- Anhänge werden weiterhin an Modelle übergeben, auch wenn das Verständnis deaktiviert ist.
- Verwenden Sie
scope, um einzuschränken, wo Verständnis ausgeführt wird (z. B. nur in DMs).