vision-manual · git:20260907.f57b993 · 2026-09-07 · sha256 37dbffe40db9bd9c
vision-manual git:20260907.f57b993A
Immutable. This exact content is served forever at /api/v1/blob/37dbffe40db9bd9c.
---
name: vision-manual
description: >
Choose a Vision action, route, setting, or backend reference without
automatic provider/credential fallback.
last_changed_at: 2026-09-06T00:00:00Z
related_files:
- src/lingtai/tools/vision/__init__.py
- src/lingtai/tools/vision/ANATOMY.md
- src/lingtai/tools/vision/CONTRACT.md
- src/lingtai/tools/vision/BEHAVIORS.md
- src/lingtai/tools/vision/settings.py
- src/lingtai/tools/vision/manual/reference/actions.md
- src/lingtai/tools/vision/manual/reference/routing.md
- src/lingtai/tools/vision/manual/reference/settings.md
- src/lingtai/tools/vision/manual/reference/backends.md
maintenance: |
Keep this page a short provider-neutral router and the settings action
read-only. Keep every setting anchor stable and route depth to the focused
references. Do not add provider, credential, endpoint, CLI, or MCP fallback;
never import, expose, or link a secret.
---
# Vision manual
This installed, provider-neutral manual is guidance only. The static declaration
owns its `manual="vision"` destination; the reserved action reads this body and
path, not a host-global or another family's skill. It does not discover, install,
start, or invoke a backend.
## Choose an action
`vision` has one strict action-separated root. Every call requires
`action`, `input`, and `reasoning`; `input` must match the selected child. Use
these first-call forms:
- **Analyze an image:**
`vision(action="analyze", input={"image_path": "...", "question": null}, reasoning="...")`.
`image_path` is required; a relative path is resolved from the workdir.
`question: null` means `Describe what you see in this image.`. Add
`preset: "<allowed reference>"` only to explicitly borrow a route listed in
`manifest.preset.allowed`.
- **Check a route:**
`vision(action="check", input={"preset": null}, reasoning="...")`.
`null` checks the default route; a reference checks that explicitly borrowed
route without sending an image.
- **List routes:** `vision(action="list", input={}, reasoning="...")`.
This mechanically lists the active route and vision-capable allowed presets;
it constructs no provider service or credential.
- **Show applied settings:**
`vision(action="settings", input={}, reasoning="...")`. This is SHOW-only:
it does not read, validate, set, reset, or write configuration.
- **Load guidance:** `vision(action="manual", input={}, reasoning="...")`.
Unknown actions, root fields, or cross-action input fields fail before provider,
credential, image, or manual-child work. `preset` is an explicit authorization
boundary, not fallback: the allowed preset's own provider/model/credential
identity is used for that request. A default failure remains a sanitized error;
Vision never automatically switches provider/model/credential, preset, MCP, or
CLI, and Vision never auto-invokes MCP. Alternatives are instructions for a
later explicit operator action.
For action details and result shapes, read
[actions](reference/actions.md). For route identity, borrowing, Claude CLI,
active-preset guidance, and safety, read [routing](reference/routing.md). For
local servers, MLX, setup, and troubleshooting, read
[backends](reference/backends.md).
## Settings anchors
The settings action returns exactly `key`, `current`, `default`,
`configurable`, and `comment` for the applied bind snapshot. Sensitive values
and path-like models are redacted. SHOW never mutates or re-reads state. Each
anchor below is stable; read the [settings reference](reference/settings.md)
for source, precedence, redaction, and the existing owner procedure.
## Setting: provider
The current direct-route provider; no provider default or automatic switch.
## Setting: base-url
The bound endpoint override or route-owned endpoint; sensitive values are redacted.
## Setting: model
The bound route model; path-like values are redacted and no hidden local model is assumed.
## Setting: api-key
Whether the bound route applied credential material; raw values are never shown.
## Setting: api-key-env
Whether an explicit credential-variable pointer was applied; SHOW never reads the environment.
## Setting: max-tokens
The route's response-token cap where supported; route defaults remain owner-defined.
## Setting: api-compat
The route compatibility family where applicable; it grants no provider access.
## Setting: wire-api
The configured compatible wire where applicable; route support still controls construction.
## Setting: default-headers
Whether provider-owned headers were applied; the mapping is always redacted.
## Setting: token-path
Whether a Codex OAuth identity path was applied; path and token material are redacted.
## Setting: instructions
Whether Codex Responses instructions were applied; instruction text is redacted.
## Setting: max-output-tokens
The optional Codex Responses output cap, distinct from `max_tokens`.
## Setting: timeout
The Codex request timeout where applicable; changing it grants no retry or network authority.
If a route, local settings document, model, or credential is unavailable, the
whole settings inventory fails closed rather than returning partial or guessed
rows. To change a value, use its existing owner procedure, refresh or relaunch,
and then SHOW again; this manual never performs that change.