`supports_vision` is currently hardcoded per-provider. The same Ollama instance can run `llava` (vision) or
`codellama` (no vision), but the code fixes vision support at the provider level with no user override.
This adds a top-level `model_support_vision: Option<bool>` config key — tri-state:
- **Unset (default):** provider's built-in value, zero behavior change
- **`true`:** force vision on (e.g. Ollama + llava)
- **`false`:** force vision off
Follows the exact same pattern as `reasoning_enabled`. Override is applied at the wrapper layer (`ReliableProvider` /
`RouterProvider`) — no concrete provider code is touched.
## Changes
**Config surface:**
- Top-level `model_support_vision` field in `Config` struct with `#[serde(default)]`
- Env override: `ZEROCLAW_MODEL_SUPPORT_VISION` / `MODEL_SUPPORT_VISION`
**Provider wrappers (core logic):**
- `ReliableProvider`: `vision_override` field + `with_vision_override()` builder + `supports_vision()` override
- `RouterProvider`: same pattern
**Wiring (1-line each):**
- `ProviderRuntimeOptions` struct + factory functions
- 5 construction sites: `loop_.rs`, `channels/mod.rs`, `gateway/mod.rs`, `tools/mod.rs`, `onboard/wizard.rs`
**Docs (i18n parity):**
- `config-reference.md` — Core Keys table
- `providers-reference.md` — new "Ollama Vision Override" section
- Vietnamese sync: `docs/i18n/vi/` + `docs/vi/` (4 files)
## Non-goals
- Does not change any concrete provider implementation
- Does not auto-detect model vision capability
## Test plan
- [x] `cargo fmt --all -- --check`
- [x] `cargo clippy --all-targets -- -D warnings` (no new errors)
- [x] 5 new tests passing:
- `model_support_vision_deserializes` — TOML parse + default None
- `env_override_model_support_vision` — env var override + invalid value ignored
- `vision_override_forces_true` — ReliableProvider override
- `vision_override_forces_false` — ReliableProvider override
- `vision_override_none_defers_to_provider` — passthrough behavior
## Risk and Rollback
- **Risk:** Low. `None` default = zero behavior change for existing users.
- **Rollback:** Revert commit. Field is `#[serde(default)]` so old configs without it will deserialize fine.
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| contributing | ||
| datasheets | ||
| getting-started | ||
| hardware | ||
| operations | ||
| project | ||
| reference | ||
| security | ||
| actions-source-policy.md | ||
| adding-boards-and-tools.md | ||
| agnostic-security.md | ||
| android-setup.md | ||
| arduino-uno-q-setup.md | ||
| audit-event-schema.md | ||
| audit-logging.md | ||
| cargo-slicer-speedup.md | ||
| channels-reference.md | ||
| ci-map.md | ||
| commands-reference.md | ||
| config-reference.md | ||
| custom-providers.md | ||
| doc-template.md | ||
| docs-audit-2026-02-24.md | ||
| docs-inventory.md | ||
| frictionless-security.md | ||
| hardware-peripherals-design.md | ||
| i18n-coverage.md | ||
| i18n-gap-backlog.md | ||
| i18n-guide.md | ||
| langgraph-integration.md | ||
| matrix-e2ee-guide.md | ||
| mattermost-setup.md | ||
| network-deployment.md | ||
| nextcloud-talk-setup.md | ||
| nucleo-setup.md | ||
| one-click-bootstrap.md | ||
| operations-runbook.md | ||
| pr-workflow.md | ||
| project-triage-snapshot-2026-02-18.md | ||
| providers-reference.md | ||
| proxy-agent-playbook.md | ||
| README.md | ||
| release-process.md | ||
| resource-limits.md | ||
| reviewer-playbook.md | ||
| sandboxing.md | ||
| security-roadmap.md | ||
| SUMMARY.md | ||
| troubleshooting.md | ||
| zai-glm-setup.md | ||
Tài liệu ZeroClaw (Tiếng Việt)
Đây là trang chủ tiếng Việt của hệ thống tài liệu.
Đồng bộ lần cuối: 2026-02-21.
Lưu ý: Tên lệnh, khóa cấu hình và đường dẫn API giữ nguyên tiếng Anh. Khi có sai khác, tài liệu tiếng Anh là bản gốc.
Tra cứu nhanh
| Tôi muốn… | Xem tài liệu |
|---|---|
| Cài đặt và chạy nhanh | ../../../README.vi.md / ../../../README.md |
| Cài đặt bằng một lệnh | one-click-bootstrap.md |
| Cài đặt trên Android (Termux/ADB) | android-setup.md |
| Tìm lệnh theo tác vụ | commands-reference.md |
| Kiểm tra giá trị mặc định và khóa cấu hình | config-reference.md |
| Kết nối provider / endpoint tùy chỉnh | custom-providers.md |
| Cấu hình Z.AI / GLM provider | zai-glm-setup.md |
| Sử dụng tích hợp LangGraph | langgraph-integration.md |
| Thiết lập Nextcloud Talk | nextcloud-talk-setup.md |
| Cấu hình proxy theo phạm vi an toàn | proxy-agent-playbook.md |
| Vận hành hàng ngày (runbook) | operations-runbook.md |
| Vận hành probe kết nối provider trong CI | operations/connectivity-probes-runbook.md |
| Khắc phục sự cố cài đặt/chạy/kênh | troubleshooting.md |
| Cấu hình Matrix phòng mã hóa (E2EE) | matrix-e2ee-guide.md |
| Xem theo danh mục | SUMMARY.md |
| Xem bản chụp PR/Issue | project-triage-snapshot-2026-02-18.md |
Tìm nhanh
- Cài đặt lần đầu hoặc khởi động nhanh → getting-started/README.md
- Cần tra cứu lệnh CLI / khóa cấu hình → reference/README.md
- Cần vận hành / triển khai sản phẩm → operations/README.md
- Gặp lỗi hoặc hồi quy → troubleshooting.md
- Tìm hiểu bảo mật và lộ trình → security/README.md
- Làm việc với bo mạch / thiết bị ngoại vi → hardware/README.md
- Đóng góp / review / quy trình CI → contributing/README.md
- Xem toàn bộ bản đồ tài liệu → SUMMARY.md
Theo danh mục
- Bắt đầu: getting-started/README.md
- Tra cứu: reference/README.md
- Vận hành & triển khai: operations/README.md
- Bảo mật: security/README.md
- Phần cứng & ngoại vi: hardware/README.md
- Đóng góp & CI: contributing/README.md
- Ảnh chụp dự án: project/README.md
Theo vai trò
Người dùng / Vận hành
- commands-reference.md — tra cứu lệnh theo tác vụ
- providers-reference.md — ID provider, bí danh, biến môi trường xác thực
- channels-reference.md — khả năng kênh và hướng dẫn thiết lập
- matrix-e2ee-guide.md — thiết lập phòng mã hóa Matrix (E2EE)
- config-reference.md — khóa cấu hình quan trọng và giá trị mặc định an toàn
- custom-providers.md — mẫu tích hợp provider / base URL tùy chỉnh
- zai-glm-setup.md — thiết lập Z.AI/GLM và ma trận endpoint
- langgraph-integration.md — tích hợp dự phòng cho model/tool-calling
- operations-runbook.md — vận hành runtime hàng ngày và quy trình rollback
- troubleshooting.md — dấu hiệu lỗi thường gặp và cách khắc phục
Người đóng góp / Bảo trì
Bảo mật / Độ tin cậy
Lưu ý: Mục này gồm tài liệu đề xuất/lộ trình, có thể chứa lệnh hoặc cấu hình chưa triển khai. Để biết hành vi thực tế, xem config-reference.md, operations-runbook.md và troubleshooting.md trước.
- security/README.md
- agnostic-security.md
- frictionless-security.md
- sandboxing.md
- audit-logging.md
- resource-limits.md
- security-roadmap.md
Quản lý tài liệu
- Mục lục thống nhất (TOC): SUMMARY.md
- Bản đồ cấu trúc docs (ngôn ngữ/phần/chức năng): ../../structure/README.md
- Danh mục và phân loại tài liệu: docs-inventory.md
- Checklist hoàn thiện i18n: i18n-guide.md
- Bản đồ độ phủ i18n: i18n-coverage.md
- Backlog thiếu hụt i18n: i18n-gap-backlog.md
- Snapshot kiểm toán tài liệu (2026-02-24): docs-audit-2026-02-24.md
Ngôn ngữ khác
- English: README.md
- 简体中文: ../zh-CN/README.md
- 日本語: ../ja/README.md
- Русский: ../ru/README.md
- Français: ../fr/README.md
- Ελληνικά: ../el/README.md