Skip to content

AI Services

A service is one configured connection to an AI provider: which provider, which model, and which API key. You need at least one before any AI tool or chat can be used. Manage them from the AI assistant's Services list.

Adding a service

Choose a provider, then fill in what it needs:

  • OpenAI, Anthropic, Cohere, DeepSeek, Google, Groq, Mistral, MiniMax, OpenRouter, Perplexity, Scaleway and GitHub are bundled with a working address already filled in — you supply a model and an API key.
  • Custom (OpenAI Completions API) and Custom (OpenAI Responses API) connect to any server that speaks one of those two OpenAI-compatible dialects, with an address you type yourself. This is how you reach a model running on your own machine or network — Ollama, LM Studio, llama.cpp or vLLM, among others — and it is the only pair of providers whose API key is optional, because a self-hosted server very often has no authentication configured at all.

Model can be typed directly. Where the provider supports listing its models, Fetch models asks it and offers a picker instead — useful when a provider adds a new model and you would otherwise have to know its exact name. Two providers, Cohere and Perplexity, do not offer a model list at all; type the model name for those.

Where the API key is kept

Exactly the same place a Joomla site's token is kept — see Requirements — and for the same reason: the Android Keystore, never Grafida's database.

Important

The key never leaves Grafida once it has been entered. It is attached to a request from inside Grafida itself and never sent back to the interface — not when a service is opened for editing, and not from Fetch models. The key field on the service form is always blank for a service that already has one stored; leaving it blank when you save keeps the stored key. It is never cleared by an ordinary edit.

To remove a stored key, use Remove stored API key on the service's row and confirm. It removes the key from everywhere Grafida could have put it — the operating system's secure storage and, if one was there, the plain-text column an older version of Grafida for the desktop may have written. The button disappears once there is nothing left to remove. Deleting the service removes its key too, if you would rather start again.

Note

This is a different credential from your Joomla API token, and Grafida keeps the two apart everywhere — a site's token is removed from the site's own screen, and says so in those words.

An API key is a billable credential as well as a private one — whoever holds it can spend against your account with that provider. Treat it with the same care as your Joomla site's token.

HTTPS, and the one exception in the whole app

Every AI provider is reached over HTTPS, with one narrow exception: a plain http:// address is accepted when every address the name resolves to is a loopback, link-local or private address — in other words, somewhere on this machine or your own network, never the public internet. This is what lets you point Grafida at a model server running on localhost or elsewhere on your LAN without a certificate.

A name that resolves to both a private address and a public one is refused outright, and so is a name Grafida cannot resolve at all — "it could not be checked" is treated the same as "it failed the check". A redirect can never turn an HTTPS connection into a cleartext one, even on this exception.

Note

This is the only cleartext exception anywhere in Grafida. Every connection to a Joomla site is HTTPS with no exception at all, including for localhost — see Requirements.

Parameters

What is offered depends on the provider and dialect:

  • Temperature, Top P and Max Tokens tune how the model generates its reply.
  • Streaming shows the reply as it arrives rather than waiting for the whole thing.
  • Store the conversation asks the provider to keep a copy on its own servers, for a number of days you set, so a later message in the same conversation can refer back to it without Grafida resending everything. See AI Chat for what this does and does not do for a chat you reopen later.
  • The model can see images, off by default, lets Grafida attach pictures to the first message of a conversation when the model supports it. It is off unless you turn it on, because a text-only model rejects the whole request outright when it is sent something it cannot read, rather than quietly ignoring the picture.

The default service

One service is marked Default and is what every AI tool uses unless the tool is set to use a different one — see AI Tools. Use the star beside a service to make it the default.

Deleting a service

Removes the service and its stored key together. Any tool that was pointed at it falls back to whichever service is the default.