You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* fix(deps): pin all dependencies to exact versions; bump litellm to 1.87.2
litellm 1.87.2 fixes the chatgpt/* (ChatGPT subscription) provider
returning empty Responses output (BerriAI/litellm#25429) and auto-injects
GitHub Copilot IDE-auth headers in the chat path (BerriAI/litellm#20113).
All direct dependencies are now pinned exactly as a supply-chain
precaution (cf. the litellm package-poisoning incident) — the README
already claimed litellm was pinned to a safe version, but pyproject
carried no constraint at all. Versions match what uv.lock already
resolved, so installed behavior is unchanged apart from litellm
1.85.0 -> 1.87.2.
Refs #94
* feat(llm): forward config extra_headers to all LLM calls; no key warning for OAuth providers
Issue #93: users on GitHub Copilot (and similar providers) need custom
HTTP headers (Editor-Version etc.) on every LLM request, and adding
extra_headers to config.yaml silently did nothing — the key was loaded
into the config dict but never forwarded.
config.resolve_extra_headers() validates/stringifies the mapping, and
cli._setup_llm_key (called by every LLM-using command) stashes it via
config.set_extra_headers(). The two call funnels read the stash:
- compiler._llm_call/_llm_call_async pass it as litellm extra_headers
(explicit per-call kwargs still win),
- every agents-SDK Agent gets ModelSettings(extra_headers=...), which
LitellmModel forwards to litellm.acompletion; build_chat_agent and
skill_runner inherit it via base.clone().
Issue #94: OAuth/subscription providers (chatgpt/*, github_copilot/*)
authenticate via device flow and need no API key, so the
'No LLM API key found' warning is skipped for them.
Closes#93
Refs #94
Copy file name to clipboardExpand all lines: README.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -273,6 +273,16 @@ pageindex_threshold: 20 # PDF pages threshold for PageIndex
273
273
274
274
`entity_types` (optional): a YAML list overriding the entity-type vocabulary used for entity pages; omit it to use the default `person`, `organization`, `place`, `product`, `work`, `event`, `other`.
275
275
276
+
`extra_headers` (optional): a YAML mapping of extra HTTP headers sent with every LLM request (forwarded to LiteLLM's `extra_headers`). Useful for providers that expect custom headers, e.g. GitHub Copilot IDE-auth headers:
277
+
278
+
```yaml
279
+
extra_headers:
280
+
Editor-Version: vscode/1.95.0
281
+
Copilot-Integration-Id: vscode-chat
282
+
```
283
+
284
+
Subscription-based providers that authenticate via OAuth device flow (e.g. `chatgpt/*`, `github_copilot/*`) need no API key — OpenKB skips the missing-key warning for them.
285
+
276
286
Model names use `provider/model` LiteLLM [format](https://docs.litellm.ai/docs/providers) (OpenAI models can omit the prefix):
0 commit comments