Connecting the model assistant to a real AI provider

August 26, 2026

"The model assistant" ran entirely on the bundled Local demonstration configuration: no API key, no setup, but no real language understanding either. Everything about that page (proposals, diffs, the apply/discard flow) works identically with a real model behind it. This page covers the part the other one skipped: actually connecting one.

The model configuration manager

The gear button beside the assistant's configuration selector opens the full manager.

The model configurations manager, showing the built-in Local demonstration entry
Local demonstration is protected: always available, never edited or deleted, a real fallback rather than a placeholder.

Local demonstration stays in this list permanently as a no-setup fallback. Every other entry here is one you add yourself, backed by either a local model server or a hosted API.

Adding a local model with Ollama

+ New configuration, then choosing Ollama as the provider, fills in Konjugate's default local endpoint automatically.

A new configuration set to Ollama, reporting that Ollama isn't reachable
This is the app's real, honest response on a machine without Ollama installed, not a staged error.

That message is exactly what it says: this machine doesn't have Ollama running. The real setup is installing Ollama, downloading at least one model through it and making sure the service is running, after which Discover lists the models actually installed and Test connection confirms the endpoint works before Save configuration persists it. Small local models can struggle to follow the assistant's proposal format for anything beyond a simple change; a larger instruction-following model is generally worth the extra memory and latency.

Adding a hosted provider

Switching Provider to a hosted option, OpenAI, NVIDIA NIM, Hugging Face Inference Providers or Google Gemini, changes the form: an API key field appears, since none of these accept unauthenticated requests the way a local Ollama instance does. Each provider issues its own keys through its own account settings, not through Konjugate:

Every one of these requires its own account with that provider, and billing terms, rate limits and free-tier availability are set by the provider, not by Konjugate.

A new configuration set to OpenAI, with an API key field and no local-only error
Provider-specific defaults: OpenAI's own endpoint is filled in automatically, same as Ollama's was.

A key created through that provider's own dashboard goes in this field. Followed through with a real Google Gemini key rather than an empty form, Discover reaches Gemini's own API and comes back with its actual current model list, not a placeholder:

A Gemini configuration after a successful Discover, with a model already selected
The API key field is cleared for this screenshot; it's masked on screen either way, dots rather than text.

Every model that call returned is a real, current entry from Gemini itself:

The Model field expanded to a plain list, showing every model Discover found
Gemini 2.5 Flash and Gemini 2.5 Pro, exactly what Discover found on Google's own API at the time of writing.

From there, Test connection confirms it explicitly and Save configuration persists it, still without the interface itself ever reading the key back.

Credentials and privacy

Konjugate's main process owns every credential; the interface that builds and displays proposals never receives one back. A saved key is encrypted through the operating system's own secure-storage facility, and a key typed in while discovering models or testing a draft configuration stays transient, never written to disk until Save configuration is actually clicked. Leaving the API key field blank while editing an already-saved configuration keeps reusing its existing key rather than clearing it.

Remote endpoints are required to use HTTPS; plain HTTP is only accepted for loopback addresses like 127.0.0.1, which is what keeps a local Ollama instance local. Selecting a hosted provider means the request text, a summary of the active model and recent conversation history are sent to that provider, worth remembering before describing a model you'd rather not share outside Konjugate.

Switching, editing and deleting

Every saved configuration shows up both in this manager's list and in the selector below the assistant's prompt. Picking a different one there doesn't just change which model answers the next request, it also starts a fresh conversation, the same as clicking New conversation does, since a different model has no memory of what was said to the last one. Selecting a saved entry back in the manager reopens the same form for editing, and Delete configuration removes it entirely. Local demonstration is the only entry that button won't touch.

Where to go from here

"The model assistant" covers everything that happens after a configuration is chosen: describing a change, reviewing the proposal and applying it as one undoable transaction. Nothing about that flow changes based on which configuration answered it.

Follow Konjugate on LinkedIn for updates.

Comments