mirror of
https://github.com/dtzp555-max/olp.git
synced 2026-07-21 21:15:10 +00:00
Discovered 2026-05-27 while bringing up Mac mini as OpenClaw client of
PI231 OLP server: `openclaw plugins install ./olp-plugin/` fails with
package.json missing openclaw.extensions; update the plugin package to
include openclaw.extensions (for example ["./dist/index.js"])
OpenClaw v2026.5.22 enforces a stricter plugin-manifest validation than
earlier revisions. The olp-plugin/package.json still used the legacy
schema (`type: "plugin"` + `pluginManifest`) without the new
`extensions: [./index.js]` field that modern OpenClaw requires for the
gateway plugin-discovery loop.
Workaround until this fix lands: manually `cp -R olp-plugin
~/.openclaw/extensions/olp` (symlink also works per docs Option B).
Changes:
- olp-plugin/package.json: added `extensions: ["./index.js"]` to the
openclaw block. Keeps legacy fields (`type`, `id`, `pluginManifest`)
for backwards compat with pre-2026.5 OpenClaw revisions; the modern
loader only reads `extensions`.
- docs/integrations/openclaw.md:
- § 3 Configure: rewrote example to show the modern `plugins.allow` +
`plugins.entries.olp.{enabled, config}` schema. The previous shape
(`plugins.olp.{proxyUrl, apiKey}` at top level) doesn't match what
OpenClaw actually picks up.
- § Known issues: added a paragraph documenting the
`openclaw.extensions` schema-drift event + recovery path (pull latest
OLP, or symlink fallback).
Verified post-fix: `openclaw plugins install ./olp-plugin/` succeeds on
Mac mini OpenClaw v2026.5.22.
Authority:
- Reproduced live on Mac mini 2026-05-27 during PI231-as-server topology
bring-up
- OpenClaw stock plugin format (sample: `/opt/homebrew/lib/node_modules/
openclaw/dist/extensions/anthropic/package.json` uses `extensions:
["./index.js"]`)
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).