From 8e563787946aa83a24e001e6a15f6d3ac7824acd Mon Sep 17 00:00:00 2001 From: DaKheera47 Date: Thu, 29 Jan 2026 16:46:01 +0000 Subject: [PATCH] documentation update --- .env.example | 6 +++--- README.md | 6 ++++-- documentation/extractors/manual.md | 6 ++++-- documentation/self-hosting.md | 4 +++- orchestrator/README.md | 6 +++++- 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/.env.example b/.env.example index c304924..1c70c84 100644 --- a/.env.example +++ b/.env.example @@ -3,11 +3,11 @@ # Copy this file to .env and fill in your values # ============================================================================= -# OpenRouter API for AI scoring and summaries -# Get your key at: https://openrouter.ai/keys -OPENROUTER_API_KEY=your_openrouter_api_key_here MODEL=google/gemini-3-flash-preview +# DEPRECATED (auto-copied to LLM_API_KEY for compatibility) +# OPENROUTER_API_KEY=your_openrouter_api_key_here + # RXResume credentials for PDF generation # Create an account at: https://v4.rxresu.me RXRESUME_EMAIL=your_email@example.com diff --git a/README.md b/README.md index cfcd5a3..bde7fff 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ AI-powered job discovery and application pipeline. Automatically finds jobs, sco ## Workflow 1. **Search**: Scrapes Gradcracker, Indeed, LinkedIn, and UK Visa Sponsorship jobs. -2. **Score**: AI ranks jobs by suitability using OpenRouter. +2. **Score**: AI ranks jobs by suitability using the configured LLM provider (OpenRouter by default). 3. **Tailor**: Generates a custom resume summary for top-tier matches. 4. **Export**: Uses [RxResume v4](https://v4.rxresu.me) to create tailored PDFs. 5. **Manage**: Review and mark jobs as "Applied" via the dashboard (syncs to Notion). @@ -29,10 +29,12 @@ open http://localhost:3005 ``` The app will guide you through setup on first launch. The onboarding wizard helps you: -- Connect your OpenRouter API key (for AI scoring/tailoring) +- Configure the LLM provider (OpenRouter by default) and add an API key if required (for AI scoring/tailoring) - Add your RxResume credentials (for PDF export via v4.rxresu.me) - Select a template resume from your v4.rxresu.me account +Note: `OPENROUTER_API_KEY` is deprecated. Existing OpenRouter keys are automatically migrated/copied to `LLM_API_KEY` on upgrade. Other providers are also supported. + ## Structure - `/orchestrator`: React frontend + Node.js backend & pipeline. - `/extractors`: Specialized scrapers (Gradcracker, JobSpy, UKVisaJobs). diff --git a/documentation/extractors/manual.md b/documentation/extractors/manual.md index 9556256..3fd5ec2 100644 --- a/documentation/extractors/manual.md +++ b/documentation/extractors/manual.md @@ -15,11 +15,13 @@ The user provides input via the **Manual Import** sheet in the UI. They paste a When the user clicks "Analyze JD", the orchestrator calls an internal endpoint (`/api/manual-jobs/infer`). The server-side service (`orchestrator/src/server/services/manualJob.ts`) then: -- Sends the raw text to an LLM (via OpenRouter). +- Sends the raw text to an LLM (via the configured provider; OpenRouter by default). - Uses a specific prompt to extract structured data (title, employer, location, salary, etc.). - Returns a JSON object containing the inferred fields. -If `OPENROUTER_API_KEY` is not configured, the inference step skips and warns the user to fill details manually. +If the LLM API key is not configured (e.g. `LLM_API_KEY` for OpenRouter/OpenAI/Gemini), the inference step skips and warns the user to fill details manually. + +(`OPENROUTER_API_KEY` is deprecated and is automatically copied to `LLM_API_KEY` for compatibility.) ## 3) Review and Edit diff --git a/documentation/self-hosting.md b/documentation/self-hosting.md index bb625ad..ff59c56 100644 --- a/documentation/self-hosting.md +++ b/documentation/self-hosting.md @@ -25,12 +25,14 @@ Open your browser to: On first launch, you will be greeted by an **Onboarding Wizard**. The app will help you validate and save your configuration: -1. **Connect AI**: Add your OpenRouter API key (required for job scoring and summaries). +1. **LLM Provider**: OpenRouter is the default. Add an API key if required (OpenRouter/OpenAI/Gemini), or configure a local base URL (LM Studio/Ollama). 2. **PDF Export**: Add your RxResume credentials (used to export PDFs from v4.rxresu.me). 3. **Template Resume**: Select a base resume from your v4.rxresu.me account. The app saves these to its persistent database, so you don't need to manage `.env` files for basic setup. All other settings (like search terms, job sources, and more) can also be configured directly in the UI. +Upgrade note: `OPENROUTER_API_KEY` is deprecated. Existing OpenRouter keys are automatically migrated/copied to `LLM_API_KEY` so you don't lose them. + ## Persistent data `./data` is bind-mounted into the container. It stores: diff --git a/orchestrator/README.md b/orchestrator/README.md index 6464dd6..8ae94b1 100644 --- a/orchestrator/README.md +++ b/orchestrator/README.md @@ -38,6 +38,10 @@ orchestrator/ After the server starts, use the onboarding modal to connect OpenRouter, link your v4.rxresu.me account, and select a template resume. + OpenRouter is the default LLM provider, but LM Studio, Ollama, OpenAI, and Gemini are also supported. + + Deprecated: `OPENROUTER_API_KEY` / `openrouterApiKey`. Use `LLM_API_KEY` / `llmApiKey` instead (legacy values are auto-migrated/copied for compatibility). + 3. **Initialize database:** ```bash npm run db:migrate @@ -120,6 +124,6 @@ npm start - **Backend:** Express, TypeScript, Drizzle ORM, SQLite - **Frontend:** React, Vite, CSS (custom design system) -- **AI:** OpenRouter API (GPT-4o-mini) +- **AI:** Configurable LLM provider (OpenRouter default; also supports OpenAI/Gemini/LM Studio/Ollama) - **PDF Generation:** RxResume v4 API export (configured via Settings) - **Job Crawling:** Wraps existing TypeScript Crawlee crawler