Models
Codistry works with the model you choose: a built-in Anthropic or OpenAI model, or any OpenAI-compatible endpoint you point it at, including local models that never leave your machine. You manage all of this from Settings → Models.
Your provider determines which models are available. Set it with adronite-agent.modelProvider (anthropic, openai, or custom-openai), then choose the specific model.
Default model & switching per chat
The model you pick in Settings → Models (the adronite-agent.model setting) is the default model every new chat session starts with. Change it there and the next chat you open uses it.
Inside a chat, the model picker in the chat header switches the model for that session only. Codistry saves the choice with the session, so each chat remembers its own model and your settings-page default is left untouched for future chats.
Changing the default in Settings affects new sessions only. It doesn't retroactively switch chats you've already started.
Built-in providers
Anthropic
Claude models: strong code understanding and precise instruction following.
OpenAI
GPT and o-series reasoning models, using your own API key.
Custom OpenAI
Any OpenAI-compatible endpoint: local models, corporate infra, or air-gapped setups.
Running a local model? The LM Studio and Ollama guides walk through setup end to end.
Adding a custom model
Choose Settings → Models → Add Custom Model to register any OpenAI-compatible endpoint. This is how you connect local runtimes (Ollama, LM Studio), a corporate gateway, or any provider that speaks the OpenAI API.
What you'll fill in
| Field | Required | What it's for |
|---|---|---|
| Display Name | Yes | A friendly name shown in the model picker. |
| Model Name | Yes | The exact model id sent to the API (e.g. o3, llama3:latest). |
| API URL | Yes | The OpenAI-compatible endpoint (e.g. http://localhost:11434/v1). |
| Max Tokens | Yes | The model's total context window. |
| Max Output Tokens | Yes | Most it may generate in a single reply. |
| Description | No | An optional note to help you remember what it is. |
| API Key | No | Auth for this endpoint. Local servers usually need none. |
Capabilities
Tick the boxes that match your model so Codistry talks to it correctly: Reasoning, Images, Temperature, and Streaming.
There's no “supports tools” checkbox. Codistry requires tool calling to function, so any custom model must support it. Pick a model that does.
Reasoning & thinking format
When you mark a model as a reasoning model, an extra Reasoning/Thinking Format section appears. It tells Codistry how that model exposes its thinking so it can be displayed (and optionally stripped from the final answer). The sensible default, <think> tags, is filled in for you; only change it if your model differs.
| Model family | Format |
|---|---|
| QwQ / DeepSeek-R1 | XML Tags → tag name “think” |
| Cerebras Qwen | XML Tags → tag name “thinking” |
| Ollama | Message Field → field “thinking” |
| OpenRouter / DeepSeek API | Delta Field → field “reasoning_content” |
Advanced settings
Tucked behind an Advanced Settings disclosure are two knobs most people never need:
Tool Format
Keep tools (modern OpenAI) unless your endpoint only understands the legacy functions format.
Sampling parameters
Optional overrides sent on every request to this model. Leave a field blank to use the server/model default.
Sampling parameters at a glance
| Parameter | Typical | Notes |
|---|---|---|
temperature | 0.2 – 0.7 | Lower is more deterministic. 0.7 is sent when blank. |
top_p | 0.95 | Nucleus sampling cutoff (0–1). |
top_k | 40 | vLLM / llama.cpp extension; ignored elsewhere. |
min_p | 0.05 | vLLM / llama.cpp extension; ignored elsewhere. |
repetition_penalty | 1.05 | >1 discourages repetition (vLLM / llama.cpp). |
frequency_penalty | 0.0 | OpenAI-style, −2 to 2. |
presence_penalty | 0.0 | OpenAI-style, −2 to 2. |
Unchecking the Temperature capability stops temperature from being sent at all, useful for models that reject it.