OpenClaw może streszczać przychodzące multimedia (obraz/audio/wideo), zanim uruchomi się potok odpowiedzi. Automatycznie wykrywa, kiedy dostępne są lokalne narzędzia lub klucze dostawców, i można to wyłączyć albo dostosować. Jeśli rozumienie jest wyłączone, modele nadal otrzymują oryginalne pliki/adresy URL jak zwykle. Zachowanie multimediów specyficzne dla dostawców jest rejestrowane przez pluginy dostawców, natomiast rdzeń OpenClaw odpowiada za wspólną konfiguracjęDocumentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
tools.media, kolejność zapasową i integrację z potokiem odpowiedzi.
Cele
- Opcjonalnie: wstępnie streścić przychodzące multimedia do krótkiego tekstu, aby przyspieszyć routing i poprawić analizę poleceń.
- Zachować oryginalne dostarczanie multimediów do modelu (zawsze).
- Obsługiwać API dostawców i zapasowe CLI.
- Umożliwić wiele modeli z uporządkowaną listą zapasową (błąd/rozmiar/limit czasu).
Ogólne zachowanie
Wybierz dla każdej możliwości
Dla każdej włączonej możliwości (obraz/audio/wideo) wybierz załączniki według polityki (domyślnie: pierwszy).
Wybierz model
Wybierz pierwszy kwalifikujący się wpis modelu (rozmiar + możliwość + uwierzytelnienie).
Przejdź do opcji zapasowej po niepowodzeniu
Jeśli model zawiedzie lub multimedia są zbyt duże, przejdź do następnego wpisu.
Przegląd konfiguracji
tools.media obsługuje wspólne modele oraz nadpisania dla poszczególnych możliwości:
Klucze najwyższego poziomu
Klucze najwyższego poziomu
tools.media.models: wspólna lista modeli (użyjcapabilitiesdo ograniczania).tools.media.image/tools.media.audio/tools.media.video:- wartości domyślne (
prompt,maxChars,maxBytes,timeoutSeconds,language) - nadpisania dostawcy (
baseUrl,headers,providerOptions) - opcje audio Deepgram przez
tools.media.audio.providerOptions.deepgram - sterowanie echem transkrypcji audio (
echoTranscript, domyślniefalse;echoFormat) - opcjonalna lista
modelsdla danej możliwości (preferowana przed wspólnymi modelami) - polityka
attachments(mode,maxAttachments,prefer) scope(opcjonalne ograniczanie według kanału/chatType/klucza sesji)
- wartości domyślne (
tools.media.concurrency: maksymalna liczba współbieżnych uruchomień możliwości (domyślnie 2).
Wpisy modeli
Każdy wpismodels[] może być typu dostawca albo CLI:
- Wpis dostawcy
- Wpis CLI
Wartości domyślne i limity
Zalecane wartości domyślne:maxChars: 500 dla obrazu/wideo (krótko, przyjaźnie dla poleceń)maxChars: nieustawione dla audio (pełna transkrypcja, chyba że ustawisz limit)maxBytes:- obraz: 10MB
- audio: 20MB
- wideo: 50MB
Reguły
Reguły
- Jeśli multimedia przekraczają
maxBytes, ten model jest pomijany i próbowany jest następny model. - Pliki audio mniejsze niż 1024 bajty są traktowane jako puste/uszkodzone i pomijane przed transkrypcją dostawcy/CLI; kontekst odpowiedzi przychodzącej otrzymuje deterministyczną transkrypcję zastępczą, aby agent wiedział, że notatka była zbyt mała.
- Jeśli model zwróci więcej niż
maxChars, wynik zostanie przycięty. promptdomyślnie to proste “Opisz .” oraz wskazówkimaxChars(tylko obraz/wideo).- Jeśli aktywny podstawowy model obrazu już natywnie obsługuje widzenie, OpenClaw pomija blok podsumowania
[Image]i zamiast tego przekazuje do modelu oryginalny obraz. - Jeśli podstawowy model Gateway/WebChat jest tylko tekstowy, załączniki obrazów są zachowywane jako odłożone referencje
media://inbound/*, aby narzędzia obrazów/PDF lub skonfigurowany model obrazu nadal mogły je sprawdzić zamiast utracić załącznik. - Jawne żądania
openclaw infer image describe --model <provider/model>są inne: uruchamiają bezpośrednio tego dostawcę/model z obsługą obrazów, w tym referencje Ollama takie jakollama/qwen2.5vl:7b. - Jeśli
<capability>.enabled: true, ale nie skonfigurowano żadnych modeli, OpenClaw próbuje użyć aktywnego modelu odpowiedzi, gdy jego dostawca obsługuje tę możliwość.
Automatyczne wykrywanie rozumienia multimediów (domyślnie)
Jeślitools.media.<capability>.enabled nie jest ustawione na false i nie skonfigurowano modeli, OpenClaw automatycznie wykrywa w tej kolejności i zatrzymuje się na pierwszej działającej opcji:
agents.defaults.imageModel
Podstawowe/zapasowe referencje
agents.defaults.imageModel (tylko obraz).
Preferuj referencje provider/model. Niekwalifikowane referencje są kwalifikowane z wpisów modeli dostawcy skonfigurowanych z obsługą obrazów tylko wtedy, gdy dopasowanie jest unikalne.Lokalne CLI (tylko audio)
Lokalne CLI (jeśli zainstalowane):
sherpa-onnx-offline(wymagaSHERPA_ONNX_MODEL_DIRz enkoderem/dekoderem/joinerem/tokenami)whisper-cli(whisper-cpp; używaWHISPER_CPP_MODELlub dołączonego modelu tiny)whisper(CLI Pythona; automatycznie pobiera modele)
Uwierzytelnianie dostawcy
- Skonfigurowane wpisy
models.providers.*, które obsługują tę możliwość, są próbowane przed dołączoną kolejnością zapasową. - Dostawcy konfiguracji tylko dla obrazów z modelem obsługującym obrazy rejestrują się automatycznie do rozumienia multimediów, nawet gdy nie są dołączonym pluginem dostawcy.
- Rozumienie obrazów Ollama jest dostępne po jawnym wybraniu, na przykład przez
agents.defaults.imageModelalboopenclaw infer image describe --model ollama/<vision-model>.
- Audio: OpenAI → Groq → xAI → Deepgram → OpenRouter → Google → SenseAudio → ElevenLabs → Mistral
- Obraz: OpenAI → Anthropic → Google → MiniMax → MiniMax Portal → Z.AI
- Wideo: Google → Qwen → Moonshot
Wykrywanie binariów jest realizowane w miarę możliwości w systemach macOS/Linux/Windows; upewnij się, że CLI znajduje się w
PATH (rozwijamy ~), albo ustaw jawny model CLI z pełną ścieżką polecenia.Obsługa środowiska proxy (modele dostawców)
Gdy włączone jest rozumienie multimediów audio i wideo oparte na dostawcach, OpenClaw respektuje standardowe zmienne środowiskowe wychodzącego proxy dla wywołań HTTP do dostawców:HTTPS_PROXYHTTP_PROXYALL_PROXYhttps_proxyhttp_proxyall_proxy
Możliwości (opcjonalne)
Jeśli ustawiszcapabilities, wpis uruchamia się tylko dla tych typów multimediów. Dla wspólnych list OpenClaw może wywnioskować wartości domyślne:
openai,anthropic,minimax: obrazminimax-portal: obrazmoonshot: obraz + wideoopenrouter: obraz + audiogoogle(Gemini API): obraz + audio + wideoqwen: obraz + wideomistral: audiozai: obrazgroq: audioxai: audiodeepgram: audio- Dowolny katalog
models.providers.<id>.models[]z modelem obsługującym obrazy: obraz
capabilities jawnie, aby uniknąć zaskakujących dopasowań. Jeśli pominiesz capabilities, wpis kwalifikuje się do listy, w której się znajduje.
Macierz obsługi dostawców (integracje OpenClaw)
| Możliwość | Integracja dostawcy | Uwagi |
|---|---|---|
| Obraz | OpenAI, OpenAI Codex OAuth, Codex app-server, OpenRouter, Anthropic, Google, MiniMax, Moonshot, Qwen, Z.AI, dostawcy z konfiguracji | Pluginy dostawców rejestrują obsługę obrazów; openai-codex/* używa mechanizmów dostawcy OAuth; codex/* używa ograniczonej tury Codex app-server; MiniMax i MiniMax OAuth używają MiniMax-VL-01; dostawcy z konfiguracji obsługujący obrazy rejestrują się automatycznie. |
| Audio | OpenAI, Groq, xAI, Deepgram, OpenRouter, Google, SenseAudio, ElevenLabs, Mistral | Transkrypcja po stronie dostawcy (Whisper/Groq/xAI/Deepgram/OpenRouter STT/Gemini/SenseAudio/Scribe/Voxtral). |
| Wideo | Google, Qwen, Moonshot | Rozumienie wideo po stronie dostawcy przez pluginy dostawców; rozumienie wideo Qwen używa punktów końcowych Standard DashScope. |
Uwaga o MiniMax
- Rozumienie obrazów
minimaximinimax-portalpochodzi z zarządzanego przez plugin dostawcy multimediówMiniMax-VL-01. - Dołączony tekstowy katalog MiniMax nadal zaczyna jako tylko tekstowy; jawne wpisy
models.providers.minimaxtworzą referencje czatu M2.7 z obsługą obrazów.
Wskazówki dotyczące wyboru modelu
- Preferuj najsilniejszy dostępny model najnowszej generacji dla każdej możliwości multimediów, gdy jakość i bezpieczeństwo mają znaczenie.
- Dla agentów z włączonymi narzędziami, którzy obsługują niezaufane dane wejściowe, unikaj starszych/słabszych modeli multimedialnych.
- Zachowaj co najmniej jeden model zapasowy dla każdej możliwości, aby zapewnić dostępność (model o wyższej jakości + szybszy/tańszy model).
- Zapasowe opcje CLI (
whisper-cli,whisper,gemini) są przydatne, gdy API dostawców są niedostępne. - Uwaga
parakeet-mlx: z--output-dirOpenClaw odczytuje<output-dir>/<media-basename>.txt, gdy format wyjściowy totxt(lub nie został określony); formaty inne niżtxtużywają zapasowo stdout.
Polityka załączników
Parametrattachments dla każdej możliwości kontroluje, które załączniki są przetwarzane:
Czy przetwarzać pierwszy wybrany załącznik, czy wszystkie.
Ogranicza liczbę przetwarzanych elementów.
Preferencja wyboru spośród kandydatów na załączniki.
mode: "all", dane wyjściowe są oznaczane jako [Image 1/2], [Audio 2/2] itd.
Zachowanie wyodrębniania załączników plikowych
Zachowanie wyodrębniania załączników plikowych
- Wyodrębniony tekst pliku jest opakowywany jako niezaufana treść zewnętrzna, zanim zostanie dołączony do promptu multimedialnego.
- Wstrzyknięty blok używa jawnych znaczników granic, takich jak
<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>/<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>, i zawiera wiersz metadanychSource: External. - Ta ścieżka wyodrębniania załączników celowo pomija długi baner
SECURITY NOTICE:, aby nie rozdymać promptu multimedialnego; znaczniki granic i metadane nadal pozostają. - Jeśli plik nie ma tekstu możliwego do wyodrębnienia, OpenClaw wstrzykuje
[No extractable text]. - Jeśli w tej ścieżce PDF przełącza się awaryjnie na wyrenderowane obrazy stron, prompt multimedialny zachowuje symbol zastępczy
[PDF content rendered to images; images not forwarded to model], ponieważ ten krok wyodrębniania załącznika przekazuje bloki tekstu, a nie wyrenderowane obrazy PDF.
Przykłady konfiguracji
- Modele współdzielone + nadpisania
- Tylko audio + wideo
- Tylko obrazy
- Pojedynczy wpis wielomodalny
Dane wyjściowe statusu
Gdy działa rozumienie multimediów,/status zawiera krótki wiersz podsumowania:
Uwagi
- Rozumienie działa na zasadzie best-effort. Błędy nie blokują odpowiedzi.
- Załączniki nadal są przekazywane do modeli, nawet gdy rozumienie jest wyłączone.
- Użyj
scope, aby ograniczyć miejsca, w których działa rozumienie (np. tylko wiadomości prywatne).