mirror of
https://github.com/dtzp555-max/olp.git
synced 2026-07-19 09:45:07 +00:00
Three corrections to PR #63 surfaced via live Telegram bot bring-up on Mac mini -> PI231 OLP: 1. headers.Authorization workaround does NOT work for openai-shape model ids. PI231 audit log showed key_id=__anonymous__ for every gpt-* model sent via olp-codex despite headers.Authorization being set. Canonical OpenClaw pattern is apiKey: dollar-brace VAR brace env-var reference (per docs.openclaw.ai). Verified end-to-end: this attributes both olp-claude/* and olp-codex/* traffic to the bot owner key. Root cause: two unresolved upstream openclaw bugs: - #41157 (Gemini openai-completions Authorization not sent) - #1669 (Ollama provider ignores apiKey) 2. claude-local renamed to olp-claude for naming symmetry with olp-codex. 3. /models is menu-only in OpenClaw. Typing /models olp-codex/gpt-5.5 does NOT directly switch -- only opens the picker. Changes: - Two-modes table: client-mode Auth row now recommends env-var-ref apiKey - Mode B: NEW step walks through env var setup per OS - Provider JSON examples use VAR ref pattern (no more headers.Authorization) - Gotchas rewritten with three failure modes documented - New gotcha for /models menu-only semantics - Troubleshooting table: updated 401 row + new rows for anonymous attribution + menu-only Authority: Live reproduction on Mac mini OpenClaw v2026.5.22 + PI231 OLP v0.5.1. PI231 audit log verification. OpenClaw issues #41157, #1669, #29095. Co-authored-by: dtzp555 <dtzp555@gmail.com> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
OLP IDE & client integrations
This directory documents per-tool setup for the IDEs and AI clients OLP supports. Every page follows the same shape: one-line description, status icon, copy-paste-able config block, known issues, OLP-specific notes, and a one-line verification command.
Index
| Tool | Status | Path | Notes |
|---|---|---|---|
| Continue.dev | ✅ Supported | VS Code / JetBrains extension | config.yaml (NOT config.json); supports custom headers |
| Cline | ✅ Supported | VS Code extension | OpenAI-compatible provider; UI field occasionally vanishes (Cline #7128) |
| Cursor | ⚠️ Best-effort | Cursor editor | "Override OpenAI Base URL" — known fragile across releases |
| Aider | ✅ Supported | terminal CLI | OPENAI_API_BASE env + openai/ model prefix |
| Claude Code | ❌ Not supported | terminal CLI | Anthropic wire format only; OLP serves OpenAI wire format. Use Cline instead. |
| OpenClaw | ✅ Supported | Telegram + Discord gateway | /olp slash command via the olp-plugin/ plugin |
Status legend
- ✅ Supported — works against OLP's OpenAI-compatible
/v1/chat/completionsendpoint; the tool's IR fields flow through OLP's IR without lossy translation warnings on the documented chain. - ⚠️ Best-effort — works in current versions but the tool has known upstream bugs around base-URL configuration; expect occasional weirdness.
- ❌ Not supported — the tool's wire protocol or transport is incompatible with what OLP serves; recommended alternative is documented on the page.
How OLP's response headers help debugging
Every response carries (see README § Response Headers):
X-OLP-Provider-Used— which provider's plugin served the requestX-OLP-Model-Used— which model the served provider usedX-OLP-Fallback-Hops—0= primary chain entry served itX-OLP-Cache—hit | miss | bypassX-OLP-Latency-Ms— end-to-end latency at the proxy
When something looks wrong in an IDE, the first sanity check is curl -i
against /v1/chat/completions with the same key — those headers tell you
whether the IDE config is broken or OLP routed somewhere unexpected.
Cross-references
- ADR 0010 — Phase 4 charter; documents why
/v1/messagesis not supported and points to Cline as the recommended Anthropic-CLI replacement. - ADR 0011 — trusted-LAN-only invariant for
auth.advertise_anonymous_key. bin/olp-connect— automated client setup helper (D68-D70).