Skip to content

feat: Add OpenRouter API support#1

Merged
JerryLife merged 2 commits into
Xtra-Computing:mainfrom
yorumayo:main
Feb 9, 2026
Merged

feat: Add OpenRouter API support#1
JerryLife merged 2 commits into
Xtra-Computing:mainfrom
yorumayo:main

Conversation

@yorumayo
Copy link
Copy Markdown

@yorumayo yorumayo commented Feb 9, 2026

Description

Add OpenRouter API support to enable access to 200+ LLM models through OpenRouter.

Changes

  • ✅ Added OpenRouterWrapper class for OpenRouter API integration
  • ✅ Added OpenRouter model loading support in ModelLoader
  • ✅ Added OpenRouter API integration tests
  • ✅ Special handling for reasoning models (e.g., pony-alpha)

Features

  • Support for multiple API key environment variables: OPENROUTER_API_KEY, APIKEY_OPENROUTER, OPENROUTER_KEY
  • Warning and fallback to reasoning when max_tokens is too small

Testing

  • ✅ Added test_real_openrouter_api_access_for_one_question test
  • ✅ Tests passed, verified openrouter/pony-alpha model works correctly
  • Example
    export OPENROUTER_API_KEY="sk-or-v1-your-key-here"
    export REPTRACE_OPENROUTER_TEST_MODEL="openrouter/pony-alpha"
    REPTRACE_RUN_REAL_API_TESTS=1 pytest tests/test_real_api_access.py::test_real_openrouter_api_access_for_one_question -v -s --run-slow

Usage Example

from reptrace.models.ModelWrapper import OpenRouterWrapper

wrapper = OpenRouterWrapper(
model_name="openrouter/pony-alpha",
api_key="sk-or-v1-..."
)

response = wrapper.generate("Hello!")

ziyangw added 2 commits February 9, 2026 14:05
- Add OpenRouterWrapper class with OpenAI-compatible API
- Support multiple API key environment variables (OPENROUTER_API_KEY, APIKEY_OPENROUTER, OPENROUTER_KEY)
- Add OpenRouter model loading in ModelLoader
- Add integration test for OpenRouter API access
- Handle reasoning models (like pony-alpha) that return content in reasoning field
- Support optional HTTP-Referer and X-Title headers for OpenRouter
- Add proper handling for reasoning models (pony-alpha)
- Check finish_reason and warn when max_tokens is too small
- Use reasoning as fallback only when content is missing
- Update test to use larger max_tokens for reasoning models
- Simplify test to only test pony-alpha model
@JerryLife JerryLife merged commit 0390b20 into Xtra-Computing:main Feb 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants