[ docs ] // Running models

Harnesses

A harness is the program you talk to. ArcFlare serves the OpenAI API on port 11434(Ollama's port), so anything already pointed at a local Ollama works with no config change. For the rest, it writes the config for you.

arcflare use#

arcflare use opencode qwen3.6-35b-a3b

This loads the model at the best context that fits, writes the harness's config, and launches it. Leave the model out to use the last one. --no-launch writes the config and stops. Arguments after the model go to the harness itself: arcflare use codex -s read-only.

Supported harnesses#

HarnessHow it's wired
ArcFlare chatBuilt-in streaming REPL. No tools, so it is never asked about approvals.
ArcFlare agentBuilt in: tools, MCP and skills, no config to write. See the agent.
OpenCodeAdds an arcflare provider to opencode.json(c) with the real context limit.
HermesUses hermes config set, its own tool, and never hand-edits YAML. Also sets terminal.cwd, otherwise its tools run in your home directory.
Hermes DesktopSame config, launched with hermes desktop --skip-build when the packaged app exists.
Codex CLI[model_providers.arcflare] in ~/.codex/config.toml, with wire_api = "responses".

Your config is backed up first

Before writing, ArcFlare copies the file to <file>.arcflare-bakand touches only the keys it owns. It refuses to overwrite a config it can't parse, rather than replacing your settings with its own.

Auto mode#

The menu asks once whether tools may run without stopping to ask, and remembers the answer. --yolo and --ask override it for one run. Each harness is told in its own language at launch. ArcFlare never writes an approval setting into its config file.

HarnessAuto mode is
ArcFlare agentNo approval prompts. The refusal list for unrecoverable commands still applies.
OpenCode--auto: approves every permission it has not been told to deny
Hermes--yolo: skips prompts, but its hardline blocklist still refuses
Hermes DesktopHERMES_YOLO_MODE=1 in the environment, since no flag exists
Codex CLI--dangerously-bypass-approvals-and-sandbox, because -a never alone still sandboxes

An approval flag you type yourself always wins, and ArcFlare adds nothing of its own on top of it.

Anything else#

Any OpenAI-compatible client works. Start the server and point the client at it:

arcflare serve
EndpointWhat it is
http://127.0.0.1:11434/v1Base URL. Any API key is accepted.
GET /v1/modelsThe models the router can serve
POST /v1/chat/completionsChat, streaming and tool calls
POST /v1/completionsPlain completions
POST /v1/embeddingsEmbeddings, for models that produce them

arcflare ps shows what is loaded, arcflare logs tails the server, and arcflare stop ends it.