Hiểu Nội Dung Media - Đầu Vào (2026-01-17)
OpenClaw có thể tóm tắt media đầu vào (hình ảnh/âm thanh/video) trước khi chạy quy trình trả lời. Nó tự động phát hiện khi có sẵn công cụ cục bộ hoặc khóa provider, và có thể tắt hoặc tùy chỉnh. Nếu không bật tính năng hiểu, các mô hình vẫn nhận được file/URL gốc như thường lệ. Hành vi media cụ thể của từng nhà cung cấp được đăng ký bởi plugin của nhà cung cấp, trong khi OpenClaw core quản lý cấu hìnhtools.media chung, thứ tự dự phòng và tích hợp quy trình trả lời.
Mục tiêu
- Tùy chọn: xử lý trước media đầu vào thành văn bản ngắn để định tuyến nhanh hơn và phân tích lệnh tốt hơn.
- Bảo toàn việc chuyển giao media gốc cho mô hình (luôn luôn).
- Hỗ trợ API của nhà cung cấp và CLI dự phòng.
- Cho phép nhiều mô hình với thứ tự dự phòng (lỗi/kích thước/hết thời gian).
Hành vi tổng quan
- Thu thập tệp đính kèm đầu vào (
MediaPaths,MediaUrls,MediaTypes). - Với mỗi khả năng được bật (hình ảnh/âm thanh/video), chọn tệp đính kèm theo chính sách (mặc định: đầu tiên).
- Chọn mục nhập mô hình đủ điều kiện đầu tiên (kích thước + khả năng + xác thực).
- Nếu một mô hình thất bại hoặc media quá lớn, chuyển sang mục nhập tiếp theo.
- Khi thành công:
Bodytrở thành khối[Image],[Audio], hoặc[Video].- Âm thanh thiết lập
{{Transcript}}; phân tích lệnh sử dụng văn bản chú thích khi có, nếu không thì dùng bản ghi. - Chú thích được giữ lại dưới dạng
User text:bên trong khối.
Tổng quan cấu hình
tools.media hỗ trợ mô hình chia sẻ cùng với ghi đè theo khả năng:
tools.media.models: danh sách mô hình chia sẻ (sử dụngcapabilitiesđể giới hạn).tools.media.image/tools.media.audio/tools.media.video:- mặc định (
prompt,maxChars,maxBytes,timeoutSeconds,language) - ghi đè của nhà cung cấp (
baseUrl,headers,providerOptions) - tùy chọn âm thanh Deepgram qua
tools.media.audio.providerOptions.deepgram - kiểm soát echo bản ghi âm thanh (
echoTranscript, mặc địnhfalse;echoFormat) - danh sách mô hình theo khả năng tùy chọn (ưu tiên trước mô hình chia sẻ)
- chính sách
attachments(mode,maxAttachments,prefer) scope(giới hạn tùy chọn theo kênh/loại chat/khóa phiên)
- mặc định (
tools.media.concurrency: số lượng khả năng chạy đồng thời tối đa (mặc định 2).
Mục nhập mô hình
Mỗi mục nhậpmodels[] có thể là provider hoặc CLI:
{{MediaDir}}(thư mục chứa file media){{OutputDir}}(thư mục tạm tạo cho lần chạy này){{OutputBase}}(đường dẫn cơ sở file tạm, không có phần mở rộng)
Mặc định và giới hạn
Mặc định được khuyến nghị:maxChars: 500 cho hình ảnh/video (ngắn, thân thiện với lệnh)maxChars: không đặt cho âm thanh (bản ghi đầy đủ trừ khi bạn đặt giới hạn)maxBytes:- hình ảnh: 10MB
- âm thanh: 20MB
- video: 50MB
- Nếu media vượt quá
maxBytes, mô hình đó bị bỏ qua và mô hình tiếp theo được thử. - File âm thanh nhỏ hơn 1024 byte được coi là trống/hỏng và bị bỏ qua trước khi chuyển đổi của provider/CLI.
- Nếu mô hình trả về nhiều hơn
maxChars, đầu ra sẽ bị cắt ngắn. promptmặc định là “Mô tả .” đơn giản cùng với hướng dẫnmaxChars(chỉ hình ảnh/video).- Nếu
<capability>.enabled: truenhưng không có mô hình nào được cấu hình, OpenClaw thử mô hình trả lời đang hoạt động khi nhà cung cấp của nó hỗ trợ khả năng đó.
Tự động phát hiện hiểu media (mặc định)
Nếutools.media.<capability>.enabled không được đặt thành false và bạn chưa cấu hình mô hình, OpenClaw tự động phát hiện theo thứ tự này và dừng lại ở tùy chọn hoạt động đầu tiên:
- CLI cục bộ (chỉ âm thanh; nếu đã cài đặt)
sherpa-onnx-offline(yêu cầuSHERPA_ONNX_MODEL_DIRvới encoder/decoder/joiner/tokens)whisper-cli(whisper-cpp; sử dụngWHISPER_CPP_MODELhoặc mô hình nhỏ đi kèm)whisper(Python CLI; tự động tải xuống mô hình)
- Gemini CLI (
gemini) sử dụngread_many_files - Khóa provider
- Âm thanh: OpenAI → Groq → Deepgram → Google
- Hình ảnh: OpenAI → Anthropic → Google → MiniMax
- Video: Google
PATH (chúng tôi mở rộng ~), hoặc đặt mô hình CLI rõ ràng với đường dẫn lệnh đầy đủ.
Hỗ trợ môi trường proxy (mô hình provider)
Khi hiểu media âm thanh và video dựa trên provider được bật, OpenClaw tuân thủ các biến môi trường proxy outbound tiêu chuẩn cho các cuộc gọi HTTP của provider:HTTPS_PROXYHTTP_PROXYhttps_proxyhttp_proxy
Khả năng (tùy chọn)
Nếu bạn đặtcapabilities, mục nhập chỉ chạy cho các loại media đó. Đối với danh sách chia sẻ, OpenClaw có thể suy ra mặc định:
openai,anthropic,minimax: hình ảnhmoonshot: hình ảnh + videogoogle(Gemini API): hình ảnh + âm thanh + videomistral: âm thanhzai: hình ảnhgroq: âm thanhdeepgram: âm thanh
capabilities rõ ràng để tránh các kết hợp bất ngờ. Nếu bạn bỏ qua capabilities, mục nhập đủ điều kiện cho danh sách mà nó xuất hiện.
Ma trận hỗ trợ provider (tích hợp OpenClaw)
| Khả năng | Tích hợp provider | Ghi chú |
|---|---|---|
| Hình ảnh | OpenAI, Anthropic, Google, MiniMax, Moonshot, Z.AI | Plugin của nhà cung cấp đăng ký hỗ trợ hình ảnh với hiểu media cốt lõi. |
| Âm thanh | OpenAI, Groq, Deepgram, Google, Mistral | Chuyển đổi của provider (Whisper/Deepgram/Gemini/Voxtral). |
| Video | Google, Moonshot | Hiểu video của provider qua plugin của nhà cung cấp. |
Hướng dẫn chọn mô hình
- Ưu tiên mô hình thế hệ mới mạnh nhất có sẵn cho mỗi khả năng media khi chất lượng và an toàn quan trọng.
- Đối với các agent có công cụ xử lý đầu vào không đáng tin cậy, tránh các mô hình media cũ/yếu hơn.
- Giữ ít nhất một dự phòng cho mỗi khả năng để đảm bảo khả dụng (mô hình chất lượng + mô hình nhanh hơn/rẻ hơn).
- CLI dự phòng (
whisper-cli,whisper,gemini) hữu ích khi API của provider không khả dụng. - Lưu ý
parakeet-mlx: với--output-dir, OpenClaw đọc<output-dir>/<media-basename>.txtkhi định dạng đầu ra làtxt(hoặc không xác định); các định dạng không phảitxtquay lại stdout.
Chính sách tệp đính kèm
attachments theo khả năng kiểm soát tệp đính kèm nào được xử lý:
mode:first(mặc định) hoặcallmaxAttachments: giới hạn số lượng được xử lý (mặc định 1)prefer:first,last,path,url
mode: "all", đầu ra được gắn nhãn [Image 1/2], [Audio 2/2], v.v.
Ví dụ cấu hình
1) Danh sách mô hình chia sẻ + ghi đè
2) Chỉ Âm thanh + Video (tắt hình ảnh)
3) Hiểu hình ảnh tùy chọn
4) Mục nhập đơn đa phương thức (khả năng rõ ràng)
Kết quả trạng thái
Khi hiểu media chạy,/status bao gồm một dòng tóm tắt ngắn:
Ghi chú
- Hiểu là nỗ lực tốt nhất. Lỗi không chặn trả lời.
- Tệp đính kèm vẫn được chuyển đến mô hình ngay cả khi hiểu bị tắt.
- Sử dụng
scopeđể giới hạn nơi hiểu chạy (ví dụ: chỉ DMs).