Files
olp/docs/integrations
e2f41eb60e docs(openclaw): switch to canonical env-var-reference apiKey + olp-claude rename + /models menu-only note (#64)
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>
2026-05-27 16:57:46 +10:00
..

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/completions endpoint; 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 request
  • X-OLP-Model-Used — which model the served provider used
  • X-OLP-Fallback-Hops0 = primary chain entry served it
  • X-OLP-Cachehit | miss | bypass
  • X-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/messages is 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).