mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-07-07 03:24:53 +10:00
80 lines
3.6 KiB
Plaintext
80 lines
3.6 KiB
Plaintext
---
|
|
title: "Using Artificial Intelligence"
|
|
description: "Learn how to configure an AI provider and API key for AI-assisted features in Reactive Resume"
|
|
---
|
|
|
|
<Steps>
|
|
<Step title="Sign in to the dashboard">
|
|
Head over to [https://rxresu.me](https://rxresu.me) and sign in with your account credentials.
|
|
</Step>
|
|
|
|
<Step title="Navigate to Artificial Intelligence settings">
|
|
Once you're in the dashboard, look for the sidebar navigation on the left. Under the <Badge>Settings</Badge> section,
|
|
click on <Badge>Artificial Intelligence</Badge>.
|
|
</Step>
|
|
|
|
<Step title="How your data is stored and sent">
|
|
When you configure your AI provider settings on this page, all information (such as the API key and model) is stored locally in your browser and **not** in our database.
|
|
|
|
<Info>
|
|
<strong>Your credentials and AI configuration are never saved on Reactive Resume servers.</strong> They only live in your device's browser storage.
|
|
</Info>
|
|
|
|
However, whenever you use an AI-assisted feature (such as text generation), these credentials need to be sent to the server **temporarily and only for the duration of your request**. This is required to connect with the AI provider on your behalf. See below for a deeper explanation.
|
|
|
|
</Step>
|
|
|
|
<Step title="Choose a provider">
|
|
In the <Badge>Provider</Badge> field, choose one of the supported providers:
|
|
|
|
- **OpenAI**
|
|
- **Google Gemini**
|
|
- **Anthropic Claude**
|
|
- **Ollama** (coming soon)
|
|
|
|
</Step>
|
|
|
|
<Step title="Enter a model name">
|
|
In the <Badge>Model</Badge> field, enter the model you want to use (for example, <code>gpt-5.2</code>,{" "}
|
|
<code>claude-4.5-opus</code>, or <code>gemini-3-flash</code>).
|
|
</Step>
|
|
|
|
<Step title="Paste your API key">
|
|
In the <Badge>API Key</Badge> field, paste your provider API key.
|
|
|
|
<Warning>
|
|
Treat this key like a password. Anyone with it can use your provider account and may incur costs.
|
|
</Warning>
|
|
|
|
</Step>
|
|
|
|
<Step title="Verify it's enabled">
|
|
After setting the provider, model, and API key, the status indicator at the bottom of the page should show <Badge>Enabled</Badge>.
|
|
|
|
<Tip>
|
|
If the status shows <Badge>Disabled</Badge>, double-check that all three fields are filled in.
|
|
</Tip>
|
|
|
|
</Step>
|
|
</Steps>
|
|
|
|
## Why AI requests are sent through our server
|
|
|
|
Most AI providers (like OpenAI, Gemini, or Anthropic) block requests that come directly from the browser due to something called **CORS** ("Cross-Origin Resource Sharing"), a security mechanism built into web browsers.
|
|
|
|
**What is CORS?**
|
|
CORS is a browser feature that prevents web pages from making requests to a different domain than the one that served the web page, unless that domain explicitly allows it. Most AI providers do not allow browser-based requests from random websites, primarily for security and abuse prevention.
|
|
|
|
Because of this restriction, the app has to **forward your AI requests (along with your credentials) through our server**, which then contacts the AI provider and returns the response to your browser. **Your credentials are not stored on our server; they are only used to make the request you initiated, and are not logged or retained.**
|
|
|
|
<Info>
|
|
If you're curious or would like to audit how your AI requests are forwarded, you can review the code yourself. See the
|
|
relevant implementation in <code>src/integrations/orpc/router/ai.ts</code> within the codebase.
|
|
</Info>
|
|
|
|
---
|
|
|
|
### Do you know a workaround?
|
|
|
|
If you have a solution or workaround for this CORS-related limitation, please consider raising an [issue or pull request on GitHub](https://github.com/reactive-resume/reactive-resume).
|