diff --git a/README.md b/README.md index f3ceb44b..b1632122 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,14 @@ export OPENAI_BASE_URL="https://dashscope-intl.aliyuncs.com/compatible-mode/v1" export OPENAI_MODEL="qwen3-coder-plus" ``` +OpenRouter also provides free Qwen3-Coder model access: + +```bash +export OPENAI_API_KEY="your_api_key_here" +export OPENAI_BASE_URL=https://openrouter.ai/api/v1 +export OPENAI_MODEL="qwen/qwen3-coder:free" +``` + ## Usage Examples ### Explore Codebases diff --git a/packages/core/src/core/openaiContentGenerator.ts b/packages/core/src/core/openaiContentGenerator.ts index 84e49a32..2df0c241 100644 --- a/packages/core/src/core/openaiContentGenerator.ts +++ b/packages/core/src/core/openaiContentGenerator.ts @@ -118,11 +118,21 @@ export class OpenAIContentGenerator implements ContentGenerator { timeoutConfig.maxRetries = contentGeneratorConfig.maxRetries; } + // Check if using OpenRouter and add required headers + const isOpenRouter = baseURL.includes('openrouter.ai'); + const defaultHeaders = isOpenRouter + ? { + 'HTTP-Referer': 'https://github.com/QwenLM/qwen-code.git', + 'X-Title': 'Qwen Code', + } + : undefined; + this.client = new OpenAI({ apiKey, baseURL, timeout: timeoutConfig.timeout, maxRetries: timeoutConfig.maxRetries, + defaultHeaders, }); }