Model Clients
Paddles routes action selection and final rendering through HTTP model clients.
Local-first setups should run a service such as Ollama and select models with
the ollama:<model> provider form. Model weights, residency, batching, and
hardware placement stay inside that HTTP service rather than the Paddles turn
runtime.
Turn Runtime Roles
| Role | What it does | Optimized for |
|---|---|---|
| Action selection | Recursive investigation: search, read, refine, branch | Tool use, multi-step reasoning, evidence gathering |
| Final rendering | User-facing answer from evidence and trace context | Answer quality, grounding, citation |
| Retrieval | Evidence gathering for search and refine actions | Local workspace indexing and ranking |
By default, action selection and final rendering use the same HTTP model client.
The action-selection flags can override investigation independently; legacy
--planner-* spellings remain accepted as migration aliases.
Current Runtime Choices
| Selection | Example | Notes |
|---|---|---|
| Local HTTP model client | ollama:qwen3 | OpenAI-compatible local service; model process is outside Paddles |
| Remote HTTP model client | openai:gpt-5.4 | Requires provider credentials |
| Retrieval provider | sift-direct | Direct local retrieval for search/refine actions |
| Experimental retrieval boundary | context-1 | Fail-closed until the harness is ready |
Search Contract Parameters
search and refine actions share a retrieval contract that controls
retrieval depth and strategy:
mode:linearorgraphstrategy:lexical(BM25) orhybrid(BM25 + vector + RRF)step_limit: per-call retrieve budgetmax_items/max_snippet_chars/max_summary_chars: evidence bundle capsretained_artifact_limit: number of retained artifacts preserved for the action trace
Current defaults are documented on the Search and Retrieval page.
Multi-Provider Support
Paddles supports multiple HTTP API providers:
- Ollama for local HTTP model services
- OpenAI-compatible APIs
- Anthropic API
- Gemini API
Each provider is accessed through the same model-client contract. Credentials are managed per-provider through the TUI login flow or environment variables.
Routing In Practice
A local HTTP model for both action selection and final rendering:
paddles --model ollama:qwen3
A remote final renderer with a different action-selection client:
paddles --model openai:gpt-5.4 --action-selection-provider ollama --action-selection-model qwen3
The harness degrades gracefully — if a remote provider is unavailable, the turn fails closed with a clear error rather than producing an ungrounded answer.
What To Read Next
- Turn Loop — where routing fits in the overall cycle
- Recursive Planning — what action selection actually does