Skip to main content

Reactive Resume doesn’t include an AI model of its own. To use the assistant, AI imports, drafting and the other AI features, connect a provider such as OpenAI, Anthropic or Google Gemini. Everything else in the app works without AI.

On a self-hosted instance, the administrator can configure a shared provider. Settings then show that AI is enabled globally, and personal provider controls are hidden. You can use AI features without entering your own key. The steps below apply when personal providers are available.

Before you start#

  • Get an API key from your provider’s dashboard. You pay the provider directly for what you use. A local Ollama server can connect without a key.
  • Know which model you want to use, such as gpt-4.1 or claude-3-5-sonnet-latest. Reactive Resume suggests a default for each provider, but your account may not have access to every model.

Add a provider#

Open AI settings

Select your name at the bottom of the sidebar, choose Settings, then choose AI & developer. You can also go to https://rxresu.me/dashboard/settings/ai directly. Self-hosted instances use their own address.

Start adding a provider

Under AI providers, select Add provider (the dashed button below your saved providers).

Choose the provider and fill in the fields

Pick your provider from the Provider list. Reactive Resume fills in that provider’s usual Model and Base URL for you. Paste your key into API key, and change the model if you want a different one.

Add provider dialog with Provider set to OpenAI, a hidden API key, Model gpt-4.1, Name Personal OpenAI and the default OpenAI base URL
The Add provider dialog

Save and test

Select Save and test. Reactive Resume saves the provider, then sends it a tiny request to check that the key, model and address work. If the test passes, the dialog closes and the provider is ready to use.

If the test fails, the dialog shows the provider’s own error message, such as an invalid key or an unknown model. The provider is still saved, so you can fix it later with Edit instead of starting again.

The fields#

FieldWhat to enter
ProviderThe company or service that runs the model.
API keyThe key from your provider’s dashboard. Required except for Ollama, where you can leave it empty for a local server that doesn’t require authentication.
ModelThe model name exactly as your provider writes it. Required.
NameA label you’ll recognize, such as “Work OpenAI”. If you leave it empty, the provider’s name is used.
Base URLThe address requests go to. Leave the default unless you use a gateway, a proxy or an OpenAI-compatible service. Changing it needs the API key again.

Supported providers#

ProviderDefault modelDefault base URL
OpenAIgpt-4.1https://api.openai.com/v1
Anthropic Claudeclaude-3-5-sonnet-latesthttps://api.anthropic.com/v1
Google Geminigemini-2.0-flashhttps://generativelanguage.googleapis.com/v1beta
Vercel AI Gatewayopenai/gpt-4.1https://ai-gateway.vercel.sh/v3/ai
OpenRouteropenai/gpt-4.1https://openrouter.ai/api/v1
Mistral AImistral-large-latesthttps://api.mistral.ai/v1
Coherecommand-a-03-2025https://api.cohere.com/v2
xAI Grokgrok-4https://api.x.ai/v1
Groqllama-3.3-70b-versatilehttps://api.groq.com/openai/v1
DeepSeekdeepseek-chathttps://api.deepseek.com/v1
Together.aimeta-llama/Meta-Llama-3.3-70B-Instruct-Turbohttps://api.together.xyz/v1
Fireworksaccounts/fireworks/models/llama-v3p3-70b-instructhttps://api.fireworks.ai/inference/v1
Cerebrasllama3.3-70bhttps://api.cerebras.ai/v1
Perplexitysonar-prohttps://api.perplexity.ai
Ollamallama3.1https://ollama.com/api
OpenAI-compatiblenone, enter your ownnone, enter your own

Choose OpenAI-compatible for any other service that speaks the OpenAI API, such as a company gateway or LiteLLM. It needs both a model and a base URL.

The base URL must start with https:// and point to a public address. On the hosted instance, that means a model running on your own computer (for example, a local Ollama) can’t be connected. Self-hosters can allow local and http:// addresses; see Environment variables.

Test a provider again#

Each saved provider appears as a row under AI providers, showing its name, model and the last four characters of the key. The row shows Off next to the name when the provider isn’t in use.

AI providers section with one provider named Work gateway, model gpt-5-mini, and a Test button reading Connected · 40 ms, followed by the Add provider button
A provider after a successful test

Select Test on a row to check it again. The button changes to Connected with the round-trip time (for example, Connected · 420 ms), or to Failed with the provider’s error message underneath. A passed test turns the provider on; a failed test turns it off, so the app never uses a provider that isn’t answering.

Edit, turn off or delete a provider#

Select Edit on a provider’s row.

Edit dialog for a provider named Work gateway, with an empty API key field reading Leave empty to keep the saved key, the model, name and base URL fields, the Use this provider switch turned on, Delete provider and Save and test
Editing a saved provider
  • Change the key, model, name or base URL, then select Save and test. Leave API key empty to keep the saved key. Changing the key, model or base URL turns the provider off until the new test passes.
  • Turn it on or off with Use this provider. Only a provider that passed its test can be turned on. A provider that is off stays saved but isn’t offered anywhere in the app.
  • Delete it with Delete provider, then confirm. The provider and its stored key are removed.
Warning

Deleting a provider can’t be undone. Conversations that used it continue on your default provider. Documents and edits you already accepted aren’t affected.

Which provider is used#

You can save several providers, for example one per account or one per model.

  • One provider is your default, marked Default in Settings → AI & developer. To change it, choose Make default on another provider that’s on and tested. Every AI feature where you don’t pick a provider uses the default, and the line under each AI action names it.
  • If you haven’t chosen a default, or it’s turned off, features use the enabled provider you used most recently, and if you haven’t used one yet, the oldest enabled provider you added.
  • Conversations keep the provider they started with. When that provider is turned off or deleted, they continue on the default. A scheduled interview briefing does the same.
  • Voice practice uses the default when its provider offers speech models, otherwise another provider that does, otherwise your browser.
  • The assistant lets you switch models from the model menu in its header at any time. See Using the assistant.
  • Check → Writing lets you pick the provider for each review.

Connect from the assistant instead#

If no provider is connected yet, opening the assistant in the editor shows Connect an AI provider with OpenAI, Anthropic and Other · OpenAI-compatible. Enter your key and model there and select Connect. It saves and tests the provider the same way as settings. For the other providers, use AI & developer.

Assistant panel showing Connect an AI provider, with OpenAI, Anthropic and Other · OpenAI-compatible options and a link to Settings for more providers
Connecting a provider from the assistant panel

How your key is stored#

Your personal API key is encrypted on the Reactive Resume server with AES-256-GCM before it’s saved, and it’s never shown again. Settings only ever show the last four characters. When a feature needs the key, the server decrypts it just long enough to call your provider.

Self-hosted instances encrypt keys with the ENCRYPTION_SECRET environment variable. Until it’s set, AI & developer shows “AI providers aren’t available on this server until ENCRYPTION_SECRET is set.” If the secret changes later, saved keys can no longer be decrypted. The error asks you to enter the key again: open Settings → AI & developer, select Edit on the provider, paste the key, and select Save and test.

What is sent to your provider#

Requests go from the Reactive Resume server to the provider you chose, using your key. Requests run when you use an AI action or when an AI schedule you enabled becomes due. Each action explains its inputs and connection:

FeatureWhat is sent
AssistantYour message, the open resume or letter (unless you remove it from the message), the job posting and your notes on the linked application (unless you remove the posting), attachments you add, and the earlier messages in the conversation.
Improve selected lineThe line you’re improving and the rest of that field.
Check → WritingThe text of your resume.
Importing a PDF or Word fileThe file you import.
Drafting a letterThe linked resume and the application’s job posting.
Adding an applicationJob posting text you paste or import from a URL.

Career adds these uses:

ActionWhat is sent
Workspace drafting and reviewThe application’s posting and details, relevant interview, notes, selected sent or current documents, usable facts and stories, preferences, and the answer or message being reviewed.
Career coachYour message, earlier messages and attachments in the conversation, plus the application and Knowledge context you leave switched on. Web research is a separate opt-in.
Scheduled interview briefingThe interview and application context used by Prepare, through the schedule’s chosen AI connection.
Voice transcriptionYour recording or chosen audio file, to the speech connection named beside the action.
Reading a practice question aloudThe question text, to the selected speech connection; browser speech can be used instead.

Workspace text actions use your default connection. Voice settings can use another speech-capable connection or browser speech. Speech usage can be billed separately from text coaching. Automatic role discovery uses your web search connection; it does not need an AI model. See Career controls and data.

Your provider handles that data under its own terms and privacy policy. Reactive Resume keeps assistant conversations and their attachments in your account until you delete the conversation.