update docs: document provider auto-inference from model catalog

Note in stylesheets, DOT reference, multi-model tutorial, run config,
and skill references that provider is now optional and auto-inferred.
Remove redundant provider from TOML examples.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Bryan Helmkamp 2026-03-12 22:34:17 -04:00
parent d37fb9a9b4
commit edf8382e40
6 changed files with 7 additions and 10 deletions

View file

@ -80,10 +80,10 @@ Pass `--model` and optionally `--provider` to `fabro run`:
```bash
fabro run files-internal/demo/01-hello.dot --model claude-opus-4-6
fabro run files-internal/demo/04-pipeline.dot --model gemini-3.1-pro-preview --provider gemini
fabro run files-internal/demo/04-pipeline.dot --model gemini-3.1-pro-preview
```
These flags set the default model for all nodes that don't have an explicit model assigned via a stylesheet.
These flags set the default model for all nodes that don't have an explicit model assigned via a stylesheet. The provider is automatically inferred from the model catalog — you only need `--provider` for models not in the catalog or to force a specific provider.
### Run config TOML
@ -96,7 +96,6 @@ graph = "implement.dot"
[llm]
model = "claude-sonnet-4-5"
provider = "anthropic"
[llm.fallbacks]
anthropic = ["gemini", "openai"]

View file

@ -37,7 +37,6 @@ directory = "/tmp/workdir"
[llm]
model = "claude-sonnet-4-5"
provider = "anthropic"
[llm.fallbacks]
anthropic = ["gemini", "openai"]
@ -108,13 +107,12 @@ Override the default model and provider for all nodes that don't have an explici
```toml title="run.toml"
[llm]
model = "claude-sonnet-4-5"
provider = "anthropic"
```
| Field | Description |
|---|---|
| `model` | Model ID or alias (e.g. `claude-sonnet-4-5`, `opus`, `gemini-pro`). See [Models](/core-concepts/models). |
| `provider` | Provider name: `anthropic`, `openai`, `gemini`, `kimi`, `zai`, `minimax`, `inception`. |
| `provider` | Provider name (optional — auto-inferred from the model catalog). Only needed for models not in the catalog or to force a specific provider. |
#### `[llm.fallbacks]`

View file

@ -200,7 +200,7 @@ Start nodes can also be identified by ID (`start` or `Start`). Exit nodes can be
| `fidelity` | String | How much prior context is passed: `compact`, `full`, `summary:high`, `summary:medium`, `summary:low`, `truncate` |
| `thread_id` | String | Groups nodes into a shared conversation thread |
| `model` | String | Explicit model ID (overrides stylesheet) |
| `provider` | String | Explicit provider name (overrides stylesheet) |
| `provider` | String | Explicit provider name (overrides stylesheet). Auto-inferred from the model catalog when omitted. |
| `project_memory` | Boolean | When `true` (default), prompt nodes discover and include project docs (`AGENTS.md`, `CLAUDE.md`, etc.) as a system prompt. Set to `false` to disable. |
| `backend` | String | Agent execution backend. `api` (default): Fabro calls the LLM API directly and runs its own tool loop. `cli`: Fabro delegates to an external CLI tool (`claude`, `codex`, or `gemini` based on provider). See [Agents — Backends](/core-concepts/agents#backends). |

View file

@ -86,7 +86,7 @@ Stylesheets support four properties:
| Property | Description |
|---|---|
| `model` | Model ID or alias (e.g. `claude-sonnet-4-5`, `opus`, `gemini-pro`) |
| `provider` | Provider name (`anthropic`, `openai`, `gemini`, etc.) |
| `provider` | Provider name (optional — auto-inferred from the model catalog when omitted) |
| `reasoning_effort` | `low`, `medium`, or `high` |
| `backend` | `api` (default) or `cli` |

View file

@ -65,7 +65,7 @@ Stylesheets support four properties:
| Property | Description | Example |
|---|---|---|
| `model` | Model ID or alias | `claude-sonnet-4-5`, `opus`, `gemini-pro` |
| `provider` | Provider name | `anthropic`, `openai`, `gemini` |
| `provider` | Provider name (optional — auto-inferred from the model catalog when omitted) | `anthropic`, `openai`, `gemini` |
| `reasoning_effort` | Reasoning effort level | `low`, `medium`, `high` |
| `backend` | Agent execution backend — `api` (default) runs Fabro's own tool loop, `cli` delegates to an external CLI tool. See [Backends](/core-concepts/agents#backends). | `cli`, `api` |

View file

@ -164,7 +164,7 @@ graph [model_stylesheet="
Selectors by specificity (low to high): `*` (universal, 0), shape name (1), `.class` (2), `#nodeid` (3). Higher specificity wins. Same specificity: last rule wins. Explicit node attributes override stylesheets.
Properties: `model`, `provider`, `reasoning_effort`, `backend`.
Properties: `model`, `provider` (optional — auto-inferred from the model catalog), `reasoning_effort`, `backend`.
**Critical:** Use semicolons between properties (e.g. `model: foo; provider: bar;`).