tools.media dùng chung, thứ tự dự phòng và việc tích hợp vào quy trình phản hồi.
Cách hoạt động
1
Thu thập tệp đính kèm
Thu thập các tệp đính kèm đầu vào (
MediaPaths, MediaUrls, MediaTypes).2
Chọn theo từng khả năng
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
attachments (mặc định: chỉ tệp đính kèm đầu tiên).3
Chọn mô hình
Chọn mục mô hình đủ điều kiện đầu tiên (kích thước + khả năng + có thông tin xác thực).
4
Dự phòng khi thất bại
Nếu mô hình gặp lỗi, hết thời gian chờ hoặc phương tiện vượt quá
maxBytes, hãy thử mục tiếp theo.5
Áp dụng khi thành công
Body trở thành một khối [Image], [Audio] hoặc [Video]. Âm thanh cũng đặt {{Transcript}}; quá trình phân tích lệnh sử dụng văn bản chú thích nếu có, nếu không thì sử dụng bản chép lời. Chú thích được giữ lại dưới dạng User text: bên trong khối.Cấu hình
tools.media chứa danh sách mô hình dùng chung cùng các phần ghi đè theo từng khả năng:
image/audio/video):
Các tùy chọn dành riêng cho Deepgram nằm trong
providerOptions.deepgram (trường cấp cao nhất deepgram: { detectLanguage, punctuate, smartFormat } đã lỗi thời nhưng vẫn được đọc).
Các mục mô hình
Mỗi mụcmodels[] là một mục nhà cung cấp (mặc định) hoặc một mục CLI:
- Mục nhà cung cấp
- Mục CLI
Thông tin xác thực của nhà cung cấp
Tính năng nhận hiểu phương tiện của nhà cung cấp sử dụng cùng cách phân giải xác thực như các lệnh gọi mô hình thông thường: hồ sơ xác thực, biến môi trường, sau đó làmodels.providers.<providerId>.apiKey. Các mục tools.media.*.models[] không chấp nhận trường apiKey nội tuyến.
Quy tắc và hành vi
- Phương tiện vượt quá
maxBytessẽ bỏ qua mô hình đó và thử mô hình tiếp theo. - Các tệp âm thanh nhỏ hơn 1024 byte được coi là trống/hỏng và bị bỏ qua trước khi chép lời; tác tử sẽ nhận được một bản chép lời giữ chỗ có tính xác định.
- Nếu mô hình hình ảnh chính đang hoạt động đã hỗ trợ thị giác nguyên bản, OpenClaw sẽ bỏ qua khối tóm tắt
[Image]và chuyển trực tiếp hình ảnh gốc vào mô hình. MiniMax là một ngoại lệ:minimax,minimax-cn,minimax-portalvàminimax-portal-cnluôn định tuyến việc nhận hiểu hình ảnh qua nhà cung cấp phương tiệnMiniMax-VL-01do Plugin quản lý, ngay cả khi siêu dữ liệu trò chuyện MiniMax M2.x cũ tuyên bố hỗ trợ đầu vào hình ảnh (chỉMiniMax-M3trở lên được coi là có khả năng thị giác nguyên bản). - Nếu mô hình chính của Gateway/WebChat chỉ hỗ trợ văn bản, các tệp đính kèm hình ảnh được giữ lại dưới dạng tham chiếu
media://inbound/*đã chuyển tải, để các công cụ hình ảnh/PDF hoặc mô hình hình ảnh đã cấu hình vẫn có thể kiểm tra chúng thay vì làm mất tệp đính kèm. - Lệnh rõ ràng
openclaw infer image describe --file <path> --model <provider/model>(bí danh:openclaw capability image describe) chạy trực tiếp nhà cung cấp/mô hình có khả năng xử lý hình ảnh đó, bao gồm các tham chiếu Ollama nhưollama/qwen2.5vl:7bkhi một mô hình có khả năng xử lý hình ảnh tương ứng được cấu hình trongmodels.providers.ollama.models[]. - Nếu
<capability>.enabledkhông phải làfalsenhưng không có mô hình nào được cấu hình, OpenClaw sẽ thử mô hình phản hồi đang hoạt động khi nhà cung cấp của mô hình đó hỗ trợ khả năng này.
Tự động phát hiện (mặc định)
Khitools.media.<capability>.enabled không phải là false và không có mô hình nào được cấu hình, OpenClaw thử các tùy chọn sau theo thứ tự và dừng lại ở tùy chọn hoạt động đầu tiên:
1
Mô hình hình ảnh đã cấu hình (chỉ hình ảnh)
Các tham chiếu chính/dự phòng của
agents.defaults.imageModel, trừ khi mô hình phản hồi đang hoạt động đã hỗ trợ thị giác nguyên bản. Ưu tiên các tham chiếu provider/model; các tham chiếu trần chỉ được định danh từ những mục mô hình nhà cung cấp có khả năng xử lý hình ảnh đã cấu hình khi kết quả khớp là duy nhất.2
Mô hình phản hồi đang hoạt động
Mô hình phản hồi đang hoạt động, khi nhà cung cấp của mô hình đó hỗ trợ khả năng này.
3
Xác thực nhà cung cấp (chỉ âm thanh, trước các CLI cục bộ)
Các mục
models.providers.* đã cấu hình có hỗ trợ âm thanh được thử trước các CLI cục bộ. Thứ tự ưu tiên của nhà cung cấp đi kèm (nếu bằng nhau, sắp xếp theo bảng chữ cái của mã nhà cung cấp): Groq/OpenAI → xAI → Deepgram → OpenRouter → Google/SenseAudio → Deepinfra/ElevenLabs → Mistral.4
Các CLI cục bộ (chỉ âm thanh)
Các tệp nhị phân cục bộ sẵn sàng trở thành một danh sách dự phòng có thứ tự:
whisper-cliđứng đầu chỉ sau khi một lần gọi mô hình trước đó trong tiến trình hiện tại đã quan sát thấy Metal hoặc CUDAsherpa-onnx-offlinemặc định dùng CPU (yêu cầuSHERPA_ONNX_MODEL_DIRcótokens.txt/encoder.onnx/decoder.onnx/joiner.onnx)whisper-clikhi khả năng tăng tốc chỉ mới được bản dựng hỗ trợ hoặc chưa được quan sátparakeet-mlxtrên Apple Silicon (có khả năng MLX, chưa quan sát việc sử dụng thiết bị)whisper(CLI Python; mặc định sử dụng mô hìnhturbo, tự động tải xuống)
5
Xác thực nhà cung cấp (hình ảnh/video)
Các mục
models.providers.* đã cấu hình có hỗ trợ khả năng này được thử trước thứ tự dự phòng đi kèm. Các nhà cung cấp chỉ có trong cấu hình hình ảnh với một mô hình có khả năng xử lý hình ảnh sẽ tự động đăng ký để nhận hiểu phương tiện, ngay cả khi không phải là Plugin nhà cung cấp đi kèm.Thứ tự ưu tiên của nhà cung cấp đi kèm (nếu bằng nhau, sắp xếp theo bảng chữ cái của mã nhà cung cấp):- Hình ảnh: Anthropic/OpenAI → Google → MiniMax → Deepinfra → MiniMax Portal → Z.AI
- Video: Google → Qwen → Moonshot
6
CLI Antigravity (chỉ hình ảnh/video)
Tệp nhị phân
agy hoặc antigravity đầu tiên đã cài đặt (ghi đè bằng OPENCLAW_ANTIGRAVITY_CLI), được cách ly trong thư mục của phương tiện.Việc phát hiện tệp nhị phân được thực hiện theo khả năng tốt nhất trên macOS/Linux/Windows; hãy đảm bảo CLI nằm trong
PATH (~ được mở rộng), hoặc đặt rõ một mục mô hình CLI với đường dẫn lệnh đầy đủ.Hỗ trợ proxy (các lệnh gọi nhà cung cấp âm thanh/video)
Tính năng nhận hiểu âm thanh và video dựa trên nhà cung cấp tuân theo các biến môi trường proxy đầu ra tiêu chuẩn, bao gồm các quy tắc bỏ quaNO_PROXY/no_proxy: HTTPS_PROXY, HTTP_PROXY, ALL_PROXY, https_proxy, http_proxy, all_proxy. Các biến chữ thường được ưu tiên hơn biến chữ hoa. Nếu không có biến nào được đặt, tính năng nhận hiểu phương tiện sử dụng kết nối đi trực tiếp; nếu giá trị proxy không hợp lệ, OpenClaw ghi cảnh báo và quay về tải trực tiếp. Tính năng nhận hiểu hình ảnh không đi qua đường dẫn proxy này.
Các khả năng
Đặtcapabilities trên một mục models[] để giới hạn mục đó cho các loại phương tiện cụ thể. Với danh sách dùng chung, OpenClaw suy luận các giá trị mặc định theo từng nhà cung cấp đi kèm:
Đối với các mục CLI, hãy đặt
capabilities rõ ràng để tránh các kết quả khớp ngoài dự kiến; nếu bỏ qua, mục đó đủ điều kiện cho mọi danh sách khả năng mà nó xuất hiện trong đó.
Ma trận hỗ trợ của nhà cung cấp
Lưu ý về MiniMax: Khả năng hiểu hình ảnh của
minimax, minimax-cn, minimax-portal và minimax-portal-cn luôn đến từ nhà cung cấp phương tiện MiniMax-VL-01 do plugin sở hữu, ngay cả khi siêu dữ liệu trò chuyện MiniMax M2.x cũ tuyên bố hỗ trợ đầu vào hình ảnh.Hướng dẫn chọn mô hình
- Ưu tiên mô hình thế hệ hiện tại mạnh nhất cho từng khả năng phương tiện khi chất lượng và độ an toàn là quan trọng.
- Đối với các tác nhân có hỗ trợ công cụ xử lý đầu vào không đáng tin cậy, tránh sử dụng các mô hình phương tiện cũ hoặc yếu hơn.
- Duy trì ít nhất một phương án dự phòng cho mỗi khả năng để đảm bảo tính sẵn sàng (mô hình chất lượng cao + mô hình nhanh hơn/rẻ hơn).
- Các phương án dự phòng CLI (
whisper-cli,whisper,gemini) hữu ích khi API của nhà cung cấp không khả dụng. - Các chế độ xuất tệp đã biết có tính quyết định: tệp bản chép lời được suy luận bị trống hoặc thiếu sẽ không tạo ra bản chép lời, thay vì dự phòng bằng đầu ra tiến trình CLI.
parakeet-mlx: sử dụng--output-format txt(hoặcall) cùng với--output-dirvà mẫu đầu ra mặc định{filename}. Các biến môi trường thượng nguồnPARAKEET_OUTPUT_FORMATvàPARAKEET_OUTPUT_TEMPLATEcũng được tôn trọng. OpenClaw đọc<output-dir>/<media-basename>.txt; định dạngsrtmặc định, các định dạng khác và mẫu đầu ra tùy chỉnh tiếp tục sử dụng stdout.
Chính sách tệp đính kèm
attachments theo từng khả năng kiểm soát những tệp đính kèm nào được xử lý:
Chỉ xử lý tệp đính kèm đầu tiên được chọn hoặc xử lý tất cả.
Giới hạn số lượng được xử lý.
Tùy chọn ưu tiên khi chọn trong số các tệp đính kèm ứng viên.
mode: "all", đầu ra được gắn nhãn [Hình ảnh 1/2], [Âm thanh 2/2], v.v.
Trích xuất tệp đính kèm
- Văn bản được trích xuất từ tệp được bao bọc dưới dạng nội dung bên ngoài không đáng tin cậy trước khi được nối vào lời nhắc phương tiện, sử dụng các dấu mốc biên như
<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>/<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>cùng với dòng siêu dữ liệuSource: External. - Đường dẫn này cố ý bỏ qua biểu ngữ dài
SECURITY NOTICE:để giữ lời nhắc phương tiện ngắn gọn; các dấu mốc biên và siêu dữ liệu vẫn được áp dụng. - Tệp không có văn bản có thể trích xuất sẽ nhận
[Không có văn bản có thể trích xuất]. - Nếu PDF chuyển sang phương án dự phòng là hình ảnh trang được kết xuất, OpenClaw chuyển tiếp các hình ảnh đó đến các mô hình trả lời có khả năng thị giác và giữ chỗ
[Nội dung PDF được kết xuất thành hình ảnh]trong khối tệp.
Ví dụ cấu hình
- Mô hình dùng chung + ghi đè
- Chỉ âm thanh + video
- Chỉ hình ảnh
- Một mục đa phương thức
Đầu ra trạng thái
Khi quá trình hiểu phương tiện chạy,/status bao gồm một dòng tóm tắt cho mỗi khả năng:
openclaw capability audio providers. Các hàng cục bộ hiển thị riêng phương án dự phòng cục bộ được chọn so với lựa chọn nhà cung cấp toàn cục, trạng thái sẵn sàng và các trường phần phụ trợ có khả năng/được yêu cầu/quan sát được tách biệt. Lựa chọn cục bộ tương tự cũng có sẵn dưới dạng một phát hiện thông tin của doctor:
Ghi chú
- Khả năng hiểu được thực hiện theo nỗ lực tối đa. Lỗi không chặn phản hồi.
- Tệp đính kèm vẫn được truyền đến mô hình ngay cả khi khả năng hiểu bị tắt.
- Sử dụng
scopeđể giới hạn nơi khả năng hiểu chạy (ví dụ: chỉ tin nhắn trực tiếp).