Skip to content

Support for OpenRouter #21

@LeeSinLiang

Description

@LeeSinLiang

Add OpenRouter provider

Summary
Implement an OpenRouter provider backend so users can route to many hosted models with one key.

Scope

  • Provider id: openrouter.
  • Config/env:
    • OPENROUTER_API_KEY
    • Optional OPENROUTER_BASE_URL (default https://openrouter.ai/api/v1)
    • model id (e.g., openrouter/anthropic/claude-3.5-sonnet, openrouter/qwen/qwen2.5-coder:latest)
  • Support in:
    • commitlm init provider selection.
    • commitlm generate --provider openrouter --model <id>.
  • Respect existing fallback behavior to local HF when errors/timeouts occur.

Tasks

  • Define provider adapter (auth header, timeouts/retries, error mapping).
  • Unit tests with mocked HTTP for success/timeout/429.
  • Update README configuration matrix and examples.
  • Optional: list a few tested model ids in docs.

Acceptance criteria

  • commitlm validate confirms connectivity for OpenRouter.
  • Generation works for commit message and docs paths.
  • Clear errors on auth/rate-limit failures; fallback honored when configured.

Test plan
Set OPENROUTER_API_KEY; run commitlm generate --provider openrouter --model <id> in a temp repo; verify outputs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions