zeroclaw/docs/i18n/vi
reidliu41 3a38c80c05 feat(config): add model_support_vision override for per-model vision control
`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 a1b8dee785)
2026-02-25 10:56:31 +08:00
..
contributing docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
datasheets docs(i18n): unify greek localization and docs structure parity 2026-02-25 00:08:28 +08:00
getting-started docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
hardware docs(i18n): unify greek localization and docs structure parity 2026-02-25 00:08:28 +08:00
operations docs(i18n): unify greek localization and docs structure parity 2026-02-25 00:08:28 +08:00
project docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
reference docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
security docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
actions-source-policy.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
adding-boards-and-tools.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
agnostic-security.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
android-setup.md docs(i18n): unify greek localization and docs structure parity 2026-02-25 00:08:28 +08:00
arduino-uno-q-setup.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
audit-event-schema.md docs(i18n): unify greek localization and docs structure parity 2026-02-25 00:08:28 +08:00
audit-logging.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
cargo-slicer-speedup.md docs(i18n): unify greek localization and docs structure parity 2026-02-25 00:08:28 +08:00
channels-reference.md feat(qq): add webhook receive mode with challenge validation 2026-02-24 19:30:36 +08:00
ci-map.md feat(ci): complete security audit governance and resilient CI control lanes 2026-02-24 16:25:53 +08:00
commands-reference.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
config-reference.md feat(config): add model_support_vision override for per-model vision control 2026-02-25 10:56:31 +08:00
custom-providers.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
doc-template.md docs(i18n): unify greek localization and docs structure parity 2026-02-25 00:08:28 +08:00
docs-audit-2026-02-24.md docs(i18n): unify greek localization and docs structure parity 2026-02-25 00:08:28 +08:00
docs-inventory.md docs(i18n): unify greek localization and docs structure parity 2026-02-25 00:08:28 +08:00
frictionless-security.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
hardware-peripherals-design.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
i18n-coverage.md docs(i18n): unify greek localization and docs structure parity 2026-02-25 00:08:28 +08:00
i18n-gap-backlog.md docs(i18n): unify greek localization and docs structure parity 2026-02-25 00:08:28 +08:00
i18n-guide.md docs(i18n): unify greek localization and docs structure parity 2026-02-25 00:08:28 +08:00
langgraph-integration.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
matrix-e2ee-guide.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
mattermost-setup.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
network-deployment.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
nextcloud-talk-setup.md docs(i18n): unify greek localization and docs structure parity 2026-02-25 00:08:28 +08:00
nucleo-setup.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
one-click-bootstrap.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
operations-runbook.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
pr-workflow.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
project-triage-snapshot-2026-02-18.md docs(i18n): unify greek localization and docs structure parity 2026-02-25 00:08:28 +08:00
providers-reference.md feat(config): add model_support_vision override for per-model vision control 2026-02-25 10:56:31 +08:00
proxy-agent-playbook.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
README.md docs(i18n): unify greek localization and docs structure parity 2026-02-25 00:08:28 +08:00
release-process.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
resource-limits.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
reviewer-playbook.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
sandboxing.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
security-roadmap.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
SUMMARY.md docs(i18n): unify greek localization and docs structure parity 2026-02-25 00:08:28 +08:00
troubleshooting.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
zai-glm-setup.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00

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

Theo danh mục

Theo vai trò

Người dùng / Vận hành

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.mdtroubleshooting.md trước.

Quản lý tài liệu

Ngôn ngữ khác