Skip to content

feat(pleumrouter): add PleumRouter provider#3267

Open
gachon-star-want wants to merge 1 commit into
anomalyco:devfrom
gachon-star-want:add-pleumrouter-provider-v3
Open

feat(pleumrouter): add PleumRouter provider#3267
gachon-star-want wants to merge 1 commit into
anomalyco:devfrom
gachon-star-want:add-pleumrouter-provider-v3

Conversation

@gachon-star-want

Copy link
Copy Markdown

What

Adds PleumRouter as a provider. PleumRouter is a Korea-region multi-provider LLM gateway with an OpenAI-compatible API (/v1/chat/completions, plus Anthropic Messages and OpenAI Responses adapters).

  • Base URL: https://router.pleum.ai/v1
  • Auth: PLEUMROUTER_API_KEY (plm_… keys)
  • SDK: @ai-sdk/openai-compatible
  • Docs: https://router.pleum.ai/docs

Who we are / why this PR

We are Pleum AI (pleum.ai). OpenCode and other agents fetch this registry at runtime — listing PleumRouter here is what makes us selectable in one click instead of manually pasting a custom base URL. Same pattern as other OpenAI-compatible gateways already in the registry (Requesty, etc.).

Follow-up to #2714 / #2722

Addresses maintainer feedback:

  • Official Pleum mark as logo.svg (currentColor, no fixed dimensions)
  • base_model inheritance for featured text models
  • Explicit reasoning_options = [] on inherited reasoning models (no documented provider-specific reasoning controls)
  • Costs = effective USD/1M (gateway markup included)

Happy to sync against the live /v1/models catalog or adjust model selection further.

Checklist

  • Provider toml + logo
  • Model tomls use base_model where possible
  • reasoning_options explicit on reasoning models

Made with Cursor

Korea-region OpenAI-compatible multi-provider gateway.
Addresses prior review on anomalyco#2714/anomalyco#2722:
- official Pleum mark (currentColor SVG)
- reasoning_options = [] on inherited reasoning models
- base_model inheritance with effective USD cost overrides

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [high] [violation] providers/pleumrouter/models/qwen3-max.toml:2 - Check: reasoning_options must not be set when the model is non-reasoning. Why: This file sets reasoning_options = [] but inherits reasoning = false from models/alibaba/qwen3-max.toml (line 7). The schema's refineModel rule rejects this with "Cannot set reasoning_options when reasoning is false", so bun validate will fail on this provider. All other PleumRouter models correctly inherit reasoning = true. Action: Remove the reasoning_options = [] line from qwen3-max.toml; non-reasoning inherited models must leave reasoning_options unset.
  • [medium] [possible mistake] providers/pleumrouter/models/glm-5.1.toml:3-4 - Check: Provider cost overrides must match the actual model being served. Why: Nine of the ten new models follow a uniform 1.03× markup over the correct upstream price (e.g. claude-opus-4-8 5→5.15/25→25.75, gpt-5.5 5→5.15/30→30.9, qwen3-max 1.2→1.236/6→6.18, deepseek-v4-pro 0.435→0.44805/0.87→0.8961). glm-5.1 breaks this pattern: its 1.03/3.296 equals 1.03× the glm-5 price (1.00/3.20), not 1.03× the glm-5.1 price (Zhipu 1.4/4.4 → expected 1.442/4.532). This looks like a copy-paste from the wrong upstream model. Action: Verify and correct the glm-5.1 input/output cost against PleumRouter's actual price list.
  • [medium] [possible mistake] providers/pleumrouter/models/*.toml (filenames) - Check: Registry model IDs (derived from filenames) must match the IDs the provider's API actually accepts. Why: Every comparable multi-provider OpenAI-compatible gateway in the registry (OpenRouter, Requesty, Kilo, FastRouter) exposes provider-prefixed IDs via nested folders (anthropic/claude-fable-5, openai/gpt-5.5, z-ai/glm-5.1, alibaba/qwen3-max), and opencode sends the registry model ID directly to the provider. These flat IDs (claude-fable-5, gpt-5.5, glm-5.1, etc.) will fail to resolve if PleumRouter's /v1/models returns prefixed IDs. Action: Confirm the exact IDs returned by PleumRouter's live /v1/models catalog and rename files into nested folders so filenames match the API model IDs.
  • [low] [possible mistake] PR body - Check: Data-changing PRs should cite direct provider pricing/API sources mapped to the changed values. Why: The PR introduces per-model USD/1M costs and reasoning_options = [] claims but cites only a generic docs URL; nothing maps to the specific prices, and no API-reference citation supports the claim that no reasoning controls are forwarded (comparable gateways expose reasoning_effort/thinking/budget fields). These material factual values cannot be reviewed from the PR alone. Action: Add direct citations to PleumRouter's pricing page (what each cost value represents) and API reference (whether reasoning_effort, thinking, or budget fields are accepted/passed through).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant