Skip to content

Commit 11b3939

Browse files
committed
docs: document multi-provider keys (llm_provider) cleanly
Add a 'Bring your own LLM provider' section: lead with the <NAME>_API_KEY convention + one example, collapse the full provider table, and point at the engine's registry (agents/llm_config.py) as the source of truth so the README can't rot. Scope the 'bare OpenRouter slug' model-format note to OpenRouter.
1 parent 2010200 commit 11b3939

1 file changed

Lines changed: 34 additions & 2 deletions

File tree

README.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,38 @@ That's the only required setup — it's passed via `llm_api_key` above. (For loc
8787
parsing_model: google/gemini-3-flash-preview # optional
8888
```
8989
90-
**Model format:** a bare OpenRouter slug (e.g. `anthropic/claude-sonnet-4`) — exactly one `/`, **no `openrouter/` prefix** (that's the LiteLLM form; the action rejects it early).
90+
**Model format (OpenRouter):** a bare OpenRouter slug (e.g. `anthropic/claude-sonnet-4`) — exactly one `/`, **no `openrouter/` prefix** (that's the LiteLLM form; the action rejects it early). Other providers use their own native model ids.
91+
92+
## Bring your own LLM provider
93+
94+
OpenRouter is the default, but you can use any provider the engine supports — set `llm_provider` and pass that provider's key:
95+
96+
```yaml
97+
with:
98+
llm_provider: anthropic # omit for OpenRouter (default)
99+
llm_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
100+
```
101+
102+
`llm_provider: <name>` hands your key to the engine as `<NAME>_API_KEY`, and the engine auto-selects that provider. Set **exactly one** key per run.
103+
104+
<details><summary><strong>Supported providers</strong></summary>
105+
106+
| `llm_provider` | env var the engine reads |
107+
|---|---|
108+
| `openrouter` *(default)* | `OPENROUTER_API_KEY` |
109+
| `openai` | `OPENAI_API_KEY` |
110+
| `anthropic` | `ANTHROPIC_API_KEY` |
111+
| `google` | `GOOGLE_API_KEY` |
112+
| `vercel` | `VERCEL_API_KEY` |
113+
| `deepseek` | `DEEPSEEK_API_KEY` |
114+
| `cerebras` | `CEREBRAS_API_KEY` |
115+
| `glm` / `kimi` | `GLM_API_KEY` / `KIMI_API_KEY` |
116+
| `aws_bedrock` | `AWS_BEARER_TOKEN_BEDROCK` |
117+
| `ollama` | `OLLAMA_BASE_URL` |
118+
119+
This table mirrors the engine and may lag it — the source of truth is the engine's provider registry ([`agents/llm_config.py`](https://github.com/CodeBoarding/CodeBoarding/blob/main/agents/llm_config.py)). Any provider it adds that follows the `<NAME>_API_KEY` convention works here with no action change.
120+
121+
</details>
91122

92123
## When it runs
93124

@@ -100,7 +131,8 @@ The command needs the `issue_comment` trigger and runs from your **default branc
100131

101132
| Input | Default | Description |
102133
|---|---|---|
103-
| `llm_api_key` | required | LLM API key. OpenRouter is the default provider. |
134+
| `llm_api_key` | required | Your LLM provider API key (see `llm_provider`). |
135+
| `llm_provider` | `openrouter` | Provider for the key — mapped to `<NAME>_API_KEY` (e.g. `anthropic`, `openai`, `google`). |
104136
| `github_token` | `${{ github.token }}` | Token used to post/update the PR comment. |
105137
| `engine_ref` | `v0.12.0` | CodeBoarding engine ref. Pin for reproducibility. |
106138
| `depth_level` | `1` | Analysis depth, 1 to 3. Higher is slower and richer. |

0 commit comments

Comments
 (0)