The LoxiaFlow Agent is what powers Workflows, Project Layer setup, and the Issue Runner when they're pointed at an Ollama model — instead of just chatting back, it can read, write, and run shell commands in your project directly.
It's enabled per-model via the “Use LoxiaFlow Agent loop” setting on an Ollama model config, and follows that config's Purpose: automatically on for Coding, off for General. See AI Config Categories for how Coding and General Purpose models are used across the app.
Supported parameters
The agent accepts the parameters below. Only the ones marked "Passed by the app" are currently set automatically when you run it from LoxiaFlow's UI — the rest are available if you run loxiaflow_agent.py yourself from a terminal.
| Parameter | Purpose | Default | Passed by the app |
|---|---|---|---|
--project | Project root directory to operate in | — (required) | ✅ |
--message-file | Task/prompt text (delivered via file, not inline, to avoid CLI length limits) | — | ✅ |
--model | Model name | provider default | ✅ |
--base-url | Ollama endpoint | http://localhost:11434 | ✅ |
--api-key-file | Bearer token for Ollama Cloud (delivered via file, not as a plain arg, so it never appears in process lists or shell history) | none | ✅ (Cloud only) |
--max-turns | Max agent loop iterations | 15 | ✅ (fallback only) |
--auto-max-turns | Let the model estimate how many turns it needs (clamped 5–40) instead of a flat cap, with checkpoint-and-extend if it runs out | off | ✅ (always on) |
--max-extensions | How many times to re-estimate/extend the turn budget under --auto-max-turns | 8 | not overridden |
--verbose | Extra debug output | off | ✅ |
--provider | LLM provider (ollama, openai, anthropic, groq, mistral, together, fireworks, xai, cohere, deepseek, perplexity, nvidia, custom) | ollama | not set — always defaults to ollama |
--temperature | Sampling temperature (0.0–2.0) | none | not passed |
--context-size | Ollama context window (num_ctx) | none | not passed |
--max-retries | Build-fix retry cycles after the loop | 2 | not overridden |
--max-tool-errors | Consecutive tool errors before aborting | 3 | not overridden |
--max-repeat-calls | Consecutive identical tool calls before aborting | 3 | not overridden |
--plan-only / --approved-plan / --plan-model | Two-phase plan-then-execute mode | off | not used |
--thinking-budget | Anthropic extended-thinking token budget | none | Anthropic-only, not applicable here |
--reasoning-effort | OpenAI o-series reasoning effort | none | not applicable here |
Request timeout is fixed internally at 180 seconds per call and isn't user-configurable.
How text and model get passed
- Your prompt (plus conversation history and any system prompt) is written to a temporary file and passed via
--message-file— not as an inline argument — to avoid Windows' ~32K command-line length limit. - The model name comes straight from the model config's Model field (
--model). - Temporary prompt and API-key files are deleted automatically once the run completes or errors out.
Ollama: Local vs. Cloud
Both modes use the identical request path — only the Base URL and API key differ:
| Local | Cloud | |
|---|---|---|
| Base URL | http://localhost:11434 | https://ollama.com |
| API Key | none (not applicable) | required — from ollama.com |
| Prerequisite | ollama serve running, model pulled locally (e.g. ollama pull qwen2.5-coder:7b) | none — requests go to Ollama's hosted service |
Switching the Local/Cloud toggle in the model config only changes the Base URL default (it won't overwrite a URL you've customized) and shows/hides the API Key field. Whichever URL is set is passed straight through as --base-url; if an API key is present, it's sent as a Bearer token file (--api-key-file) — omitted entirely for Local mode.
Other providers: supported in principle, currently locked to Ollama
The underlying loxiaflow_agent.py engine already has provider scaffolding for OpenAI, Anthropic, Groq, Mistral, Together, Fireworks, xAI, Cohere, DeepSeek, Perplexity, NVIDIA, and custom OpenAI-compatible endpoints via its --provider flag. However, in the current app, the Agent loop can only be enabled on Ollama-type model configs — it's not yet selectable for Anthropic-API or OpenAI-compatible-API configs. This is a deliberate, explicit gate in the app (not a missing feature in the engine itself), and multi-provider agent-loop support is expected in a future release.