59 lines
3.5 KiB
Bash
59 lines
3.5 KiB
Bash
# career-ops — Environment Variables
|
|
# Copy this file to .env and fill in your values.
|
|
#
|
|
# cp .env.example .env
|
|
|
|
# ── Gemini Integration ────────────────────────────────────────────────────────
|
|
# Required for: node gemini-eval.mjs "JD text here"
|
|
# Free API key: https://aistudio.google.com/apikey
|
|
# Free tier: 15 RPM / 1M tokens/day with gemini-2.5-flash (no billing needed)
|
|
GEMINI_API_KEY=your_gemini_api_key_here
|
|
|
|
# ── Optional: Override default Gemini model ───────────────────────────────────
|
|
# Default: gemini-2.5-flash (free-tier, fast)
|
|
# Alternatives: gemini-1.5-flash, gemini-1.5-pro, gemini-2.5-flash-thinking-exp
|
|
# GEMINI_MODEL=gemini-2.5-flash
|
|
|
|
# ── OpenRouter Integration (openrouter-runner.mjs — no-CLI, $0 free tier) ─────
|
|
# Required for: node openrouter-runner.mjs
|
|
# Free API key: https://openrouter.ai → Sign Up → Keys
|
|
# Free tier: hundreds of models at $0 cost
|
|
OPENROUTER_API_KEY=sk-or-v1-paste-your-key-here
|
|
|
|
# Optional: pin a specific model instead of using auto-rotation.
|
|
# When set, the runner uses this model directly and skips blacklist/rotation.
|
|
# Model names are fetched live from the OpenRouter API at runtime — no hardcoding.
|
|
# CAREER_OPS_MODEL=google/gemini-2.5-pro:free
|
|
|
|
# ── OpenAI-compatible eval (openai-eval.mjs) ─────────────────────────────────
|
|
# Evaluate offers with ANY OpenAI-compatible endpoint (OpenAI, OpenRouter,
|
|
# Together, Groq, DeepSeek, Zhipu GLM, LM Studio, llama.cpp, vLLM, Ollama /v1).
|
|
# Required for: node openai-eval.mjs "JD text here"
|
|
# OPENAI_API_KEY=your_provider_key_here
|
|
# OPENAI_BASE_URL=https://api.openai.com/v1 # e.g. https://openrouter.ai/api/v1
|
|
# OPENAI_MODEL=gpt-4o-mini # e.g. deepseek/deepseek-chat
|
|
|
|
# ── Other integrations (add your own below) ──────────────────────────────────
|
|
# ANTHROPIC_API_KEY=your_anthropic_key_here # For Claude-based workflows
|
|
|
|
# ══════════════════════════════════════════════════════════════════════════════
|
|
# Plugins (opt-in) — keys for bundled plugins. Enable each in config/plugins.yml.
|
|
# Plugins are OFF by default; the core needs none of these. See plugins/README.md.
|
|
# ══════════════════════════════════════════════════════════════════════════════
|
|
|
|
# ── apify plugin (provider) ── keyed job source via an Apify actor
|
|
# Token: https://console.apify.com/account/integrations
|
|
# APIFY_TOKEN=apify_api_paste-your-token-here
|
|
|
|
# ── notion plugin (export + search) ── mirror your tracker to a Notion DB
|
|
# Integration token: https://www.notion.so/my-integrations
|
|
# NOTION_ACCESS_TOKEN=ntn_paste-your-internal-integration-secret
|
|
# NOTION_PARENT_PAGE_ID=your-notion-parent-page-id
|
|
|
|
# ── gmail plugin (ingest) ── pull job leads from a Gmail label
|
|
# OAuth client (Desktop) + a refresh token from the consent flow:
|
|
# https://console.cloud.google.com/apis/credentials
|
|
# GMAIL_CLIENT_ID=your-client-id.apps.googleusercontent.com
|
|
# GMAIL_CLIENT_SECRET=your-client-secret
|
|
# GMAIL_REFRESH_TOKEN=your-refresh-token
|