π Π ΡΡΡΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ β Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅
A simple tool for comparing responses from different AI chats and manually assembling a final synthesis without APIs or local models.
- Manual Mode β copy prompts, paste responses from web chats manually
- API Mode β automatic request submission to 10+ providers through a unified interface
| Provider | Type | API Key |
|---|---|---|
| LM Studio | Local | Not required |
| Ollama | Local | Not required |
| Custom Server | Local/Custom | Optional |
| OpenAI | Cloud | sk-... |
| DeepSeek | Cloud | sk-... |
| Anthropic | Cloud | sk-ant-... (via proxy) |
| Google (Gemini) | Cloud | Google AI Studio |
| Groq Cloud | Cloud | gsk_... |
| Mistral AI | Cloud | Mistral Console |
| Hugging Face | Cloud | hf_... |
| OpenRouter | Cloud | sk-or-... |
API keys and selected models are saved separately for each provider. When switching providers, their saved settings are automatically applied β no need to re-enter the key.
- Import Keys β upload a
.txtfile with keys, all providers at once - Export Keys β download all saved keys to a
.txtfile - Delete All Keys β clear all saved keys with one click
Import file format (PROVIDER - key, order doesn't matter):
OPENAI - sk-your-key-here
GROQ - gsk_your-key-here
GOOGLE - AIzayour-key-here
ANTHROPIC - sk-ant-your-key-here
DEEPSEEK - sk-your-key-here
MISTRAL - your-key-here
HUGGING_FACE - hf_your-key-here
OPENROUTER - sk-or-your-key-here
- Request β enter the initial task
- Improvement β refine the prompt via AI (manually or via API)
- Models β send to different AI chats (manually or automatically via API)
- Synthesis β aggregate the best parts of responses
- Result β final text, comparison and JSON export
Copy and Open...buttons for quick navigation to web chats- Input fields for chat links directly on the "Models" step
- Individual system prompts for specific models
- Star rating for responses (1β5) with synthesis weighting
Comparisontab β side-by-side view of all responsesJSONtab β structured exportChattab β API interaction history
- API key verification for cloud providers
- Import/export keys from
.txtfile - Delete all keys with one click
- Model list editing
- System prompt configuration for improvement and aggregation
- Ready-made request templates
- Light/dark theme switching
- Notification toggling
- Session history and continuation of started chats
- Local autosave in browser
- History import and export
Deep AnalysisStep-by-Step PlanVariant ComparisonCode & DebuggingBrief SummaryFact vs Opinion
Open index.html in a browser. Works for most providers (except Anthropic).
Starts both the app and a proxy to bypass CORS. Required for Anthropic API to work in the browser.
node proxy-server.jsOpen: http://localhost:3000
The proxy also serves static files β no need to run http.server separately.
py -m http.server 8000Open: http://localhost:8000/index.html
The project includes a standalone Windows application built with Electron:
- π¦ Installer β NSIS installer with auto-update support
- π Portable β no installation needed, single
.exe - π External browser β Google login and web chats open in your default browser
cd win
npm install
npm run build:winSee documentation:
- π¬π§ Windows App Guide (EN)
- π·πΊ Windows App Guide (RU)
The project includes extensions for Chrome and Firefox with additional features:
- Input fields for chat links directly on the "Models" step
- Automatic chat URL saving
- Local data autosave
- Open
chrome://extensions/ - Enable "Developer mode"
- Click "Load unpacked"
- Select the
chrome-extension/folder
- Open
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on"
- Select the
firefox-extension/manifest.jsonfile
Details β see chrome-extension/README.md and firefox-extension/README.md.
- Launch LM Studio or Ollama on your computer
- Select the provider in settings
- Specify the server address (default
http://localhost:1234for LM Studio,http://localhost:11434for Ollama) - Click
Checkto load the model list
- Select the provider in settings
- Enter the API key
- Click
Check Keyto validate - Select a model from the list
Anthropic API doesn't support direct browser requests (CORS). A proxy server is required.
- Start the proxy:
node proxy-server.js - Open
http://localhost:3000 - Select "Anthropic" in settings (server address is already set to
http://localhost:3000) - Enter the API key from console.anthropic.com
- Click
Check Key - Select a model from the list
- Get a key at huggingface.co/settings/tokens
- Select "Hugging Face" in settings
- Paste the key (starts with
hf_) - Click
Check Key - Specify the model ID manually, e.g.:
meta-llama/Llama-3.3-70B-Instruct
- Get a key at openrouter.ai/keys
- Select "OpenRouter" in settings
- Paste the key (starts with
sk-or-) - Click
Check Key - Specify the model ID manually, e.g.:
anthropic/claude-3.5-sonnet
API keys are stored only in your browser and are tied to each provider separately.
If you already have API keys for multiple providers:
- Create a file
api-keys.txtin the following format:
OPENAI - sk-your-key
GROQ - gsk_your-key
ANTHROPIC - sk-ant-your-key
- In Settings β Providers, click "Import Keys (.txt)"
- All keys will load automatically
- Switch between providers β keys will apply automatically
When switching providers in settings:
- API key and selected model are saved for the current provider
- Previously saved settings are applied for the new provider
- Each provider stores its key, model, and server address independently
This allows quick switching between providers without re-entering keys.
- At the
Requeststep, enter the initial task - At the
Improvementstep, copy the system prompt and prompt, send to an AI chat, paste the result - At the
Modelsstep, use the navigation buttons to go to chats or send via API - Rate responses with stars
- At the
Synthesisstep, get the aggregating prompt - At the
Resultstep, review the final text, comparison and JSON
Available in Settings:
- General β application parameters
- Models β provider selection, API key, model list
- Prompts β system prompts for improvement and aggregation
- Templates β ready-made request templates
- Providers β provider selection, key import/export, API management
- Log β application activity log
All providers use a format compatible with OpenAI API. Details on endpoints, parameters and streaming are available in each provider's official documentation.
LLM_Compare/
βββ index.html # Main application interface (modular)
βββ proxy-server.js # Proxy server for CORS bypass (Anthropic) + static files
βββ README.md # Project description
βββ .gitignore # Git exclusions
βββ css/
β βββ styles.css # All application styles
βββ js/
β βββ constants.js # Default prompts, models, templates
β βββ state.js # Application state variables
β βββ modules/
β βββ logging.js # Logging system
β βββ providers.js # LM Studio + cloud providers
β βββ huggingface.js # Hugging Face integration
β βββ autosave.js # Auto-save and notifications
β βββ ratings.js # Star rating system
β βββ comparison.js # Side-by-side comparison
β βββ theme.js # Theme toggle
β βββ init.js # Initialization and keyboard shortcuts
β βββ app.js # Main application logic
βββ chrome-extension/ # Chrome extension (MV3)
β βββ manifest.json
β βββ background.js
β βββ index.html
β βββ app.js
β βββ css/styles.css
β βββ README.md
βββ firefox-extension/ # Firefox extension (MV2)
β βββ manifest.json
β βββ background.js
β βββ index.html
β βββ app.js
β βββ css/styles.css
β βββ README.md
βββ win/ # Windows desktop app (Electron)
β βββ main.js # Electron main process
β βββ preload.js # Preload script
β βββ package.json # Build config
β βββ build-en.bat # English build script
β βββ build-ru.bat # Russian build script
β βββ README_EN.md # English documentation
β βββ README_RU.md # Russian documentation
βββ ru/ # Russian localization
βββ index.html
βββ README.md
βββ CHANGELOG.md
βββ css/
βββ js/
βββ chrome-extension/
βββ firefox-extension/
- Modular architecture β CSS and JS separated into 12 files
- No build required β Files loaded directly in browser
- Retry with backoff β API requests auto-retry on failure (1s β 2s β 4s)
- Anthropic API requires
node proxy-server.js(CORS bypass) - Data stored in browser
localStorage(API keys tied to provider) - API requests sent directly from browser (CORS depends on provider)
- Interface adapted for mobile devices and tablets
- Light and dark theme support
- Markdown rendering via marked.js
- Styled with Tailwind CSS (CDN in main app, local in extensions)
- Anthropic API requires proxy server (
node proxy-server.js) - Some cloud APIs may block browser requests due to CORS
- Free provider tiers have request limits
- Some browsers restrict pop-up windows
- Data is lost when clearing browser localStorage
- Compare responses from different AI models in one place
- Assemble the best final response from multiple sources
- Work via API or manually β your choice
- Maintain session history and continue old chats
- Keep the entire workflow in one local file
This project is licensed under the MIT License β see LICENSE for details.
See CHANGELOG.md for a full list of changes and planned improvements.