Skip to content

feat: add Cafe24 LLM Router provider - #4039

Open
jiho09 wants to merge 4 commits into
anomalyco:devfrom
jiho09:add-cafe24-provider
Open

feat: add Cafe24 LLM Router provider#4039
jiho09 wants to merge 4 commits into
anomalyco:devfrom
jiho09:add-cafe24-provider

Conversation

@jiho09

@jiho09 jiho09 commented Aug 4, 2026

Copy link
Copy Markdown

What

Adds Cafe24 LLM Router (https://llm-router.cafe24.com) as a provider — an OpenAI-compatible LLM gateway by Cafe24, a KRX-listed Korean e-commerce & hosting platform company. We are the Cafe24 LLM Router team and will maintain this entry.

Contents

  • providers/cafe24/provider.toml@ai-sdk/openai-compatible, api https://llm-router.cafe24.com/api/v1, env CAFE24_API_KEY
  • 8 relayed models via base_model per AGENTS.md (Qwen3 32B, MiniMax M3, GPT OSS 20B/120B, Claude Haiku 4.5 / Sonnet 5 / Opus 5 / Fable 5) — provider files are override-only: USD costs (converted from our published KRW prices) and [limit] overrides taken from our live GET /api/v1/models metadata
  • cafe24/auto — host-unique auto-routing model, inline definition with no [cost] (variable pricing), following the openrouter/auto precedent
  • reasoning_options = [] on relayed models — our gateway does not currently document reasoning-control parameters, so no controls are claimed
  • Monochrome currentColor logo — vector-traced from the official cafe24 wordmark

Validation

bun validate passes (exit 0) with this change.

Note: full catalog listing is 100+ models — this initial entry curates flagship models whose lab metadata already exists; we plan follow-ups for the rest.

Evidence

  • Pricing: KRW list prices from https://llm-router.cafe24.com/models (captured 2026-08-04). The site prices at a fixed ₩1,430/USD rate — corroborated by Claude list prices dividing exactly to the labs' published USD prices (Haiku 4.5 ₩1,430/₩7,150 → $1/$5; Sonnet 5 ₩2,860/₩14,300 → $2/$10). Each priced file carries this provenance in a leading comment.
  • Limits: taken from the live GET /api/v1/models metadata (max_context_tokens / max_output_tokens), overriding the lab value only where the gateway serves less.
  • Reasoning controls: verified per-model against the live gateway on 2026-08-04 — GPT-OSS forwards reasoning_effort (high=76 vs low=22 completion tokens), Qwen3-32B forwards the thinking toggle (320 vs 2 tokens), Claude models and MiniMax M3 accept but do not forward either OpenAI-style or Anthropic-style reasoning parameters (no reasoning-token accounting, no differential).

Adds cafe24 (Cafe24 LLM Router, https://llm-router.cafe24.com) — an
OpenAI-compatible LLM gateway by Cafe24, a KRX-listed Korean e-commerce
& hosting platform company.

- provider.toml: @ai-sdk/openai-compatible, api /api/v1, CAFE24_API_KEY
- 8 relayed models via base_model (Qwen3-32B, MiniMax-M3, gpt-oss-20b/
  120b, Claude Haiku 4.5 / Sonnet 5 / Opus 5 / Fable 5) with
  provider-authored USD costs and limit overrides from the live
  GET /api/v1/models metadata
- cafe24/auto: host-unique auto-routing model (inline, variable cost —
  follows the openrouter/auto precedent)
- bun validate passes

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Action items

  • [high] [violation] providers/cafe24/models/anthropic/claude-opus-5.toml:2 - Check: Relay reasoning_options must match lab/same-surface peer controls; [] only for affirmative no caller control, not uncertainty. Why: Cafe24 is a multi-model OpenAI-compatible gateway. All eight relayed models inherit reasoning = true and set reasoning_options = [], while the PR only says controls are “not currently document[ed].” Lab/peers expose real controls for most of these: Claude Opus/Sonnet/Fable 5 → effort (low/medium/high/xhigh/max on Anthropic/OpenRouter); Haiku 4.5 → budget_tokens (lab) / toggle+budget (OpenRouter); gpt-oss-20b/120b → effort low/medium/high (OpenRouter/Groq/Kilo); Qwen3-32B → toggle+budget (Alibaba); MiniMax-M3 → toggle (MiniMax). Empty options here misrepresent API capability if fields are passed through. Action: For each model, either (a) author the host’s real controls from lab + peer baselines (e.g. Claude effort; gpt-oss L/M/H; Qwen toggle/budget; MiniMax toggle), or (b) keep [] only with an affirmative top-of-file note that this gateway strips/ignores reasoning controls—not that docs are missing.
  • [medium] [violation] providers/cafe24/models/MiniMaxAI/MiniMax-M3.toml:4 - Check: Non-USD costs must be converted to USD/MTok with rate/date in a leading TOML comment. Why: The PR states costs were converted from published KRW prices, but none of the cost-bearing model files include a top-of-file FX rate/date comment (required by AGENTS.md; see GreenPT EUR examples). Without that, reviewers cannot audit the USD figures. Action: Add a leading comment on each priced model (or a shared header pattern) with KRW source prices, USD/KRW rate, and capture date; or state that the API already bills in USD and drop the KRW-conversion claim.
  • [low] [possible mistake] providers/cafe24/provider.toml:5 - Check: Data-changing PRs should cite first-party pricing/docs/API evidence mapped to claims. Why: Costs and limit overrides are material, but the PR body only points at the product site/docs generally and “live GET /api/v1/models” without URLs or a claim→source map (KRW list prices, conversion, per-model context/output caps). Action: In the PR body, link Cafe24 pricing and models API/docs and note which claim each source supports (per-model USD/MTok, limit overrides).

Vector-traced from the official monochrome brand asset; single
currentColor fill, tight viewBox, 2.1KB.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Action items

  • [high] [violation] providers/cafe24/models/anthropic/claude-sonnet-5.toml:2 - Check: Relay reasoning_options must match lab/same-surface peer controls; [] only for affirmative no caller control. Why: Cafe24 is a multi-model OpenAI-compatible gateway. All eight relayed models set reasoning_options = [] while lab/peers expose controls (Claude Sonnet/Opus/Fable 5 → effort low/medium/high/xhigh/max; Haiku 4.5 → toggle + budget; GPT-OSS → low/medium/high; Qwen3-32B → toggle + budget; MiniMax-M3 → toggle). The PR only says controls are undocumented, which is uncertainty—not an affirmative “gateway strips/ignores reasoning params.” Action: For each model, author the host’s real wire controls (or, if none are forwarded, state that affirmatively in a leading comment and keep [] only then). Do not use [] solely because docs omit the params.
  • [medium] [violation] providers/cafe24/models/anthropic/claude-sonnet-5.toml:4 - Check: Non-USD costs must be converted to USD/MTok with rate/date in a top-of-file comment. Why: The PR body says prices were converted from published KRW, but none of the cost-bearing model files include a leading KRW→USD rate/date (or source) comment. Same gap on MiniMax-M3, Qwen3-32B, Claude Haiku/Opus/Fable, and both GPT-OSS entries. Action: Add a leading comment on each priced file (or shared header pattern) with KRW list price, FX rate, capture date, and resulting USD/MTok values.
  • [low] [possible mistake] providers/cafe24/provider.toml:5 - Check: Data-changing PRs should cite pricing/docs/API evidence mapped to claims. Why: Body mentions the docs URL and live /api/v1/models for limits, but does not cite a pricing page, KRW list prices, or FX source for the published costs/limits. Action: Add first-party pricing + FX citations in the PR body, noting which models/fields each supports.

…e comments

Addresses the review-bot action items:

- reasoning_options now reflect live-gateway probes (2026-08-04):
  gpt-oss 20B/120B forward reasoning_effort (completion tokens scale
  high=76 vs low=22) -> effort low/medium/high; Qwen3-32B forwards the
  thinking toggle via chat_template_kwargs.enable_thinking (320 -> 2
  tokens) -> toggle; Claude Haiku 4.5/Sonnet 5/Opus 5/Fable 5 and
  MiniMax M3 accept but do not forward OpenAI-style reasoning_effort or
  Anthropic-style thinking (no reasoning-token accounting, no output
  differential) -> affirmative [] with a leading comment on each file.
- every priced file now carries a leading comment with the KRW list
  price, source URL, capture date, and the site's fixed W1,430/USD rate
  with resulting USD/MTok values.

bun validate passes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jiho09

jiho09 commented Aug 4, 2026

Copy link
Copy Markdown
Author

Addressed all three action items in 8deaa41:

[high] reasoning_options — replaced the blanket [] with per-model values from live-gateway probes run 2026-08-04 (identical prompts, real calls):

  • GPT-OSS 20B/120B: reasoning_effort is forwarded — completion tokens scale with effort (high=76 vs low=22) → effort: low/medium/high
  • Qwen3-32B: thinking toggle is forwarded via chat_template_kwargs.enable_thinking (default/thinking=320 tokens vs disabled=2 tokens) → toggle
  • Claude Haiku 4.5 / Sonnet 5 / Opus 5 / Fable 5 and MiniMax M3: OpenAI-style reasoning_effort and Anthropic-style thinking are accepted but not forwarded — no reasoning-token accounting in usage, no output differential (e.g. Sonnet 5: 11 vs 13 completion tokens with/without effort) → affirmative [], stated in a leading comment on each file

[medium] cost provenance — every priced file now opens with the KRW list price, source (https://llm-router.cafe24.com/models), capture date (2026-08-04), and the conversion at the site's fixed ₩1,430/USD rate. The fixed rate is externally corroborated: the site's Claude list prices divide exactly to the lab's published USD prices (e.g. Haiku 4.5 ₩1,430/₩7,150 → $1/$5).

[low] PR-body citations — pricing/limits/FX evidence added to the description.

bun validate passes.

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Action items

  • [medium] [possible mistake] providers/cafe24/models/MiniMaxAI/MiniMax-M3.toml:8 - Check: Relay reasoning_options must reflect this host’s real control surface (lab/peer baseline + what the gateway actually forwards), not untested param families. Why: This file sets reasoning_options = [] after probing only OpenAI reasoning_effort and Anthropic thinking, but the same Cafe24 gateway is already documented (on Qwen3-32B) as forwarding chat_template_kwargs. Open-weight MiniMax-M3 peers expose thinking via chat_template_kwargs.thinking_mode (enabled/disabled/adaptive), and first-party MiniMax authors a toggle — so [] may under-report a real control. Action: Probe chat_template_kwargs.thinking_mode (and any MiniMax-native toggle this host passes through). If it changes reasoning behavior, set reasoning_options = [{ type = "toggle" }] with a leading wire-path comment; only keep [] if that surface is also a no-op.

…s.thinking_mode

Follow-up probe (2026-08-04) as suggested by review: the gateway does
forward MiniMax-native chat_template_kwargs.thinking_mode - identical
prompt yields 26 (enabled) / 2 (disabled) / 16 (adaptive) completion
tokens. reasoning_options corrected from [] to a toggle with a leading
wire-path comment.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jiho09

jiho09 commented Aug 4, 2026

Copy link
Copy Markdown
Author

Good catch — probed chat_template_kwargs.thinking_mode on MiniMax-M3 as suggested (live gateway, 2026-08-04): it is forwarded — identical prompt yields 26 (enabled) / 2 (disabled) / 16 (adaptive) completion tokens. Corrected reasoning_options from [] to [{ type = "toggle" }] with a leading wire-path comment in the latest commit. bun validate passes.

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

No actionable findings.

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