Skip to content

feat: add OpenRouter multi-key rotation, improve Docker setup and report robustness#478

Open
heartfish00 wants to merge 2 commits into666ghj:mainfrom
heartfish00:feat/openrouter-multikey-and-improvements
Open

feat: add OpenRouter multi-key rotation, improve Docker setup and report robustness#478
heartfish00 wants to merge 2 commits into666ghj:mainfrom
heartfish00:feat/openrouter-multikey-and-improvements

Conversation

@heartfish00
Copy link
Copy Markdown

Summary

  • Add openrouter_runtime.py with round-robin key rotation across OPENROUTER_API_KEY1..6 and automatic failover on 401/402/429/5xx/auth/credit-limit errors
  • Improve report_agent outline sanitization with fallback defaults and duplicate title handling
  • Enhance LLMClient with request labeling, structured error logging, and null content handling
  • Switch Dockerfile to python:3.11-slim-bookworm with Node.js 20 via nodesource
  • Change docker-compose.yml to build from source instead of pre-built image
  • Update README (EN/CN) with OpenRouter configuration guide
  • Make Vite browser open configurable via VITE_OPEN_BROWSER env var
  • Add docs/ directory with research materials

Test plan

  • Verify OpenRouter multi-key rotation works with multiple API keys
  • Confirm automatic key failover on rate-limit/auth errors
  • Test Docker build with docker compose up -d --build
  • Run simulation scripts and verify LLM calls succeed
  • Generate report and verify outline sanitization with fallback defaults

🤖 Generated with Claude Code

…ort robustness

- Add openrouter_runtime.py with round-robin key rotation across OPENROUTER_API_KEY1..6
  and automatic failover on 401/402/429/5xx/auth/credit-limit errors
- Update config, LLM client, and all simulation scripts to use OpenRouter runtime
- Improve report_agent outline sanitization with fallback defaults and duplicate title handling
- Enhance LLM client with request labeling, structured error logging, and null content handling
- Switch Dockerfile to python:3.11-slim-bookworm with Node.js 20 via nodesource
- Change docker-compose to build from source instead of pre-built image
- Update README (EN/CN) with OpenRouter configuration guide
- Add docs/ directory with research materials
- Make Vite browser open configurable via VITE_OPEN_BROWSER env var
- Add .omx/ and .omc/ to .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@dosubot dosubot bot added size:XXL This PR changes 1000+ lines, ignoring generated files. enhancement New feature or request labels Apr 6, 2026
…ibility

- Add input_parse_mode (text_only / text_plus_vision) for file upload with optional LLM vision enrichment
- Add INPUT_LLM_* config for dedicated parsing model (falls back to general LLM config)
- Fix frontend API base URL: use relative paths instead of hardcoded hostname:5001,
  so requests route through Vite proxy (dev) / reverse proxy (prod)
- Extend allowed file types to include PNG, JPG, JPEG, WEBP
- Update OpenRouter boost key to reuse multi-key pool with reverse order
- UI improvements across all step components

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Mamasharif
Copy link
Copy Markdown

help to setup

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants