zeroclaw/docs
reidliu41 a1b8dee785 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.
2026-02-22 11:42:39 +08:00
..
contributing docs: overhaul docs IA and multilingual navigation 2026-02-18 18:06:13 +08:00
datasheets Ehu shubham shaw contribution --> Hardware support (#306) 2026-02-16 11:40:10 -05:00
getting-started docs(i18n): add Vietnamese translations for docs hub and key references 2026-02-21 02:30:37 +08:00
hardware docs: enhance getting-started, hardware, and project collection indexes 2026-02-19 13:04:11 -08:00
i18n feat(config): add model_support_vision override for per-model vision control 2026-02-22 11:42:39 +08:00
operations fix(ci): sync release publishing with GHCR and add runbook (#1087) 2026-02-20 07:10:09 -05:00
project docs: enhance getting-started, hardware, and project collection indexes 2026-02-19 13:04:11 -08:00
reference feat(channel): add native nextcloud talk webhook integration 2026-02-20 23:28:18 +08:00
security docs: overhaul docs IA and multilingual navigation 2026-02-18 18:06:13 +08:00
vi feat(config): add model_support_vision override for per-model vision control 2026-02-22 11:42:39 +08:00
actions-source-policy.md ci(security): add manual vorpal reviewdog workflow (#1256) 2026-02-21 09:19:12 -05:00
adding-boards-and-tools.md fix(gateway): switch default port to 42617 across runtime and docs (#1179) 2026-02-21 02:28:56 -05:00
agnostic-security.md docs: overhaul docs IA and multilingual navigation 2026-02-18 18:06:13 +08:00
architecture.svg refactor: simplify CLI commands and update architecture docs 2026-02-14 05:17:16 -05:00
arduino-uno-q-setup.md fix(gateway): switch default port to 42617 across runtime and docs (#1179) 2026-02-21 02:28:56 -05:00
audit-logging.md docs: overhaul docs IA and multilingual navigation 2026-02-18 18:06:13 +08:00
cargo-slicer-speedup.md fix(ci): run fast-build checks for workflow-only changes 2026-02-21 21:58:35 +08:00
channels-reference.md fix(slack): allow listening without explicit channel_id 2026-02-21 15:07:13 +08:00
ci-map.md ci(release): add bot-owned Homebrew publish workflow (#1323) 2026-02-21 20:18:08 -05:00
commands-reference.md feat(security): add otp and estop phase-1 foundation 2026-02-21 23:19:36 +08:00
commands-reference.vi.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-22 11:42:39 +08:00
config-reference.vi.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
custom-providers.md feat(provider): add first-class SGLang provider 2026-02-21 19:16:51 +08:00
doc-template.md feat(proxy): add scoped proxy configuration and docs runbooks 2026-02-18 22:10:42 +08:00
docs-inventory.md docs(i18n): add Vietnamese links to all locale READMEs and docs navigation 2026-02-21 02:23:51 +08:00
frictionless-security.md chore: Remove more blocking io calls 2026-02-19 18:04:55 +08:00
Hardware_architecture.jpg Ehu shubham shaw contribution --> Hardware support (#306) 2026-02-16 11:40:10 -05:00
hardware-peripherals-design.md Ehu shubham shaw contribution --> Hardware support (#306) 2026-02-16 11:40:10 -05:00
i18n-coverage.md docs: improve i18n parity, contributor onboarding, and identity clarity 2026-02-20 22:08:36 -08:00
langgraph-integration.md docs(docs): align navigation inventory and model examples for #774 2026-02-18 22:53:21 +08:00
matrix-e2ee-guide.md fix(matrix): send markdown replies and improve e2ee diagnostics 2026-02-19 10:23:10 +08:00
mattermost-setup.md docs(mattermost): document mention_only behavior 2026-02-18 21:25:28 +08:00
network-deployment.md fix(gateway): switch default port to 42617 across runtime and docs (#1179) 2026-02-21 02:28:56 -05:00
nextcloud-talk-setup.md feat(channel): add native nextcloud talk webhook integration 2026-02-20 23:28:18 +08:00
nucleo-setup.md fix(gateway): switch default port to 42617 across runtime and docs (#1179) 2026-02-21 02:28:56 -05:00
one-click-bootstrap.md feat: add SELinux relabel and correct user namespace mapping for podman 2026-02-21 02:23:53 +08:00
one-click-bootstrap.vi.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
operations-runbook.md docs: overhaul docs IA and multilingual navigation 2026-02-18 18:06:13 +08:00
pr-workflow.md ci(workflow): adopt main/dev split with dev->main promotion gate (#1283) 2026-02-21 13:39:07 -05:00
project-triage-snapshot-2026-02-18.md docs: overhaul docs IA and multilingual navigation 2026-02-18 18:06:13 +08:00
providers-reference.md feat(config): add model_support_vision override for per-model vision control 2026-02-22 11:42:39 +08:00
proxy-agent-playbook.md feat(proxy): add scoped proxy configuration and docs runbooks 2026-02-18 22:10:42 +08:00
README.fr.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
README.ja.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
README.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
README.ru.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
README.vi.md docs: improve i18n parity, contributor onboarding, and identity clarity 2026-02-20 22:08:36 -08:00
README.zh-CN.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
release-process.md ci(release): add bot-owned Homebrew publish workflow (#1323) 2026-02-21 20:18:08 -05:00
resource-limits.md docs: overhaul docs IA and multilingual navigation 2026-02-18 18:06:13 +08:00
reviewer-playbook.md feat(proxy): add scoped proxy configuration and docs runbooks 2026-02-18 22:10:42 +08:00
sandboxing.md docs: overhaul docs IA and multilingual navigation 2026-02-18 18:06:13 +08:00
security-roadmap.md docs: overhaul docs IA and multilingual navigation 2026-02-18 18:06:13 +08:00
SUMMARY.fr.md docs: improve i18n parity, contributor onboarding, and identity clarity 2026-02-20 22:08:36 -08:00
SUMMARY.ja.md docs: improve i18n parity, contributor onboarding, and identity clarity 2026-02-20 22:08:36 -08:00
SUMMARY.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
SUMMARY.ru.md docs: improve i18n parity, contributor onboarding, and identity clarity 2026-02-20 22:08:36 -08:00
SUMMARY.zh-CN.md docs: improve i18n parity, contributor onboarding, and identity clarity 2026-02-20 22:08:36 -08:00
troubleshooting.md fix(gateway): switch default port to 42617 across runtime and docs (#1179) 2026-02-21 02:28:56 -05:00
troubleshooting.vi.md docs(i18n): introduce canonical docs/i18n/vi tree with compatibility shims 2026-02-21 12:12:26 +08:00
zai-glm-setup.md fix(providers): harden tool fallback and refresh model catalogs 2026-02-18 22:50:02 +08:00

ZeroClaw Documentation Hub

This page is the primary entry point for the documentation system.

Last refreshed: February 21, 2026.

Localized hubs: 简体中文 · 日本語 · Русский · Français · Tiếng Việt.

Start Here

I want to… Read this
Install and run ZeroClaw quickly README.md (Quick Start)
Bootstrap in one command one-click-bootstrap.md
Find commands by task commands-reference.md
Check config defaults and keys quickly config-reference.md
Configure custom providers/endpoints custom-providers.md
Configure Z.AI / GLM provider zai-glm-setup.md
Use LangGraph integration patterns langgraph-integration.md
Operate runtime (day-2 runbook) operations-runbook.md
Troubleshoot install/runtime/channel issues troubleshooting.md
Run Matrix encrypted-room setup and diagnostics matrix-e2ee-guide.md
Browse docs by category SUMMARY.md
See project PR/issue docs snapshot project-triage-snapshot-2026-02-18.md

Quick Decision Tree (10 seconds)

By Audience

Users / Operators

Contributors / Maintainers

Security / Reliability

Note: this area includes proposal/roadmap docs. For current behavior, start with config-reference.md, operations-runbook.md, and troubleshooting.md.

System Navigation & Governance