Skip to content

Add Arka-AI provider (OpenAI-compatible model hub) - #4951

Open
mitek wants to merge 3 commits into
anomalyco:devfrom
mitek:add-arka-ai-provider
Open

Add Arka-AI provider (OpenAI-compatible model hub)#4951
mitek wants to merge 3 commits into
anomalyco:devfrom
mitek:add-arka-ai-provider

Conversation

@mitek

@mitek mitek commented Aug 18, 2026

Copy link
Copy Markdown

Summary

Adds Arka-AI (https://arka-ai.ru) — an OpenAI-compatible model hub serving https://api.arka-ai.ru/v1 — with 23 chat/reasoning models from DeepSeek, Qwen (Alibaba), Kimi (Moonshot), MiniMax, GLM (Zhipu), and Step.

  • Provider: name = "Arka-AI", npm = "@ai-sdk/openai-compatible", env = ["ARKA_API_KEY"], api = "https://api.arka-ai.ru/v1".
  • logo.svg is the official Arka AI mark (single currentColor, no fixed size).

Models (23)

All provider files are override-only and base_model existing lab entries:

Arka model id base_model
DeepSeek-V4-Pro deepseek/deepseek-v4-pro
deepseek-v4-flash-0731 deepseek/deepseek-v4-flash-0731
DeepSeek-V3 deepseek/deepseek-v3
DeepSeek-R1 deepseek/deepseek-r1
GLM-5.2 / GLM-5.1 / GLM-5 / GLM-4.7-Flash zhipuai/*
Qwen3.5-27B / -Plus / -Flash, Qwen3.6-Plus / -Max, Qwen3.7-Max / -Plus, qwen3.8-max, Qwen3-Coder-Next / -Flash alibaba/*
MiniMax-M2.5 / MiniMax-M3 minimax/*
Kimi-K2.7-Code / kimi-k3 moonshotai/*
Step-3.7-Flash stepfun/*

Notes

  • reasoning_options are copied from each underlying lab's first-party provider entry (e.g. DeepSeek V4 = toggle + effort[high,max], Qwen = toggle + budget_tokens, Kimi K3 = toggle + effort[low,high,max]).
  • interleaved = { field = "reasoning_content" } where the underlying host exposes it.
  • Cost is converted from Arka AI's RUB list price at 82.9977 RUB/USD (CBR rate captured 2026-08-13). Sources: https://arka-ai.ru (pricing) and https://api.arka-ai.ru/v1/models.

bun validate passes.

Adds Arka-AI (https://arka-ai.ru), an OpenAI-compatible model hub at
https://api.arka-ai.ru/v1, with 23 chat/reasoning models sourced from
DeepSeek, Qwen (Alibaba), Kimi (Moonshot), MiniMax, GLM (Zhipu), and Step.

Provider files are override-only with base_model pointing at existing lab
entries. reasoning_options are copied from each underlying lab's first-party
entry (toggle / effort / budget_tokens as applicable).

Cost is converted from Arka AI's RUB list price at 82.9977 RUB/USD (CBR rate
captured 2026-08-13). Sources: https://arka-ai.ru (pricing) and
https://api.arka-ai.ru/v1/models.

Logo is the official Arka AI mark (currentColor).
@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [high] [violation] providers/arka-ai/models/DeepSeek-V4-Pro.toml:127 - Check: Every toggle needs a leading top-of-file wire-path comment. Why: Arka-AI is a multi-model relay; 15 model files declare { type = "toggle" } but only have cost/source headers—no exact request field (e.g. thinking.type, enable_thinking, reasoning.enabled). Without that, clients cannot know how to turn reasoning on/off on this host. Action: Add a leading # Toggle: … (and matching effort/budget wire notes) to every file that includes toggle, documenting Arka’s actual request path for that model.
  • [medium] [violation] providers/arka-ai/models/deepseek-v4-flash-0731.toml:451 - Check: Relay reasoning_options must match the lab first-party baseline for that model. Why: First-party providers/deepseek/models/deepseek-v4-flash.toml uses toggle + effort ["low", "high", "max"] (Flash keeps low; Pro maps low→high). This entry copies Pro’s ["high", "max"] only, so callers lose a real lab control level the PR claims to mirror. Action: Set Flash effort to ["low", "high", "max"] (or document host-specific evidence if Arka truly omits low).
  • [medium] [possible mistake] providers/arka-ai/models/GLM-4.7-Flash.toml:147 - Check: Toggle must reflect this host’s controls, baseline lab/peers. Why: There is no first-party providers/zhipuai entry for glm-4.7-flash; peers disagree (openrouter uses [], vercel uses toggle). Authoring bare toggle (and no cost) without Arka/API evidence may invent a control this hub does not expose. Action: Confirm Arka’s GLM-4.7-Flash request surface and either keep toggle with a wire comment + evidence, or set reasoning_options = [] if thinking is always-on/uncontrolled here.

…nenforced controls

- Add top-of-file wire-path comments to all 15 toggle model files,
  verified live against https://api.arka-ai.ru/v1/chat/completions:
  enable_thinking true|false is the canonical toggle (thinking.type =
  enabled|disabled also accepted), except Qwen3.5-27B where only
  enable_thinking takes effect.
- deepseek-v4-flash-0731: effort levels low|high|max all verified on
  Arka, matching the first-party deepseek baseline.
- kimi-k3: reasoning is always on; disabling it 400s on the
  non-thinking lane and effort controls have no observable effect,
  so reasoning_options is now [].
- GLM-4.7-Flash: keep toggle, evidenced from the zhipuai lab baseline
  and Arka's verified GLM siblings (route returned upstream_error at
  verification time).
- Remove budget_tokens from 8 Qwen files: thinking_budget is accepted
  but not enforced (reasoning length unchanged at budget=64..32768,
  streaming and non-streaming).
@mitek

mitek commented Aug 18, 2026

Copy link
Copy Markdown
Author

Addressed all three review items in 7001370, verified live against https://api.arka-ai.ru/v1/chat/completions (2026-08-18):

[high] Toggle wire-path comments — added top-of-file wire notes to all 15 toggle files. Live probing showed enable_thinking true|false is the canonical toggle on Arka (with thinking.type = enabled|disabled also accepted), except Qwen3.5-27B where only enable_thinking takes effect — exactly the per-model ambiguity the missing comments hid.

[medium] deepseek-v4-flash-0731 effort — now ["low", "high", "max"]; all three levels verified live on Arka, matching the first-party deepseek baseline (low is not mapped away here, unlike the alibaba-hosted copy).

[medium] GLM-4.7-Flash — keeping toggle with evidence: the first-party providers/zhipuai/models/glm-4.7-flash.toml entry does declare the toggle, and Arka's GLM siblings (GLM-5, GLM-5.1) were verified accepting both enable_thinking and thinking.type. The GLM-4.7-Flash route itself returned upstream_error (HTTP 400) for every request at verification time, noted in the file.

Two additional corrections surfaced by probing:

  • kimi-k3: reasoning_options is now [] — disabling reasoning 400s ("invalid temperature: only 0.6 is allowed" from the non-thinking lane) and effort controls show no observable effect, so the host exposes no client control here.
  • budget_tokens removed from 8 Qwen files: thinking_budget is accepted but not enforced (reasoning length unchanged at budget=64 vs 16384/32768, both streaming and non-streaming).

bun ./packages/core/script/validate.ts passes locally.

@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [medium] [possible mistake] providers/arka-ai/models/kimi-k3.toml:1 - Check: reasoning_options = [] only when this host truly has no caller control. Why: The header claims reasoning is always on, but the same note says enable_thinking=false / thinking.type=disabled hits the non-thinking lane with invalid temperature: only 0.6 is allowed. That implies an off path may work when temperature is set correctly, so [] may under-report controls versus the moonshot baseline (toggle + effort low|high|max). Action: Re-test disable with temperature=0.6 (and adaptive/output_config.effort if applicable). If off or effort works, restore the matching reasoning_options and a leading wire-path comment; if both still fail with correct params, keep [] and clarify that the non-thinking lane is unusable.

@github-actions

Copy link
Copy Markdown
Contributor

No actionable findings.

@github-actions github-actions Bot added the reviewer: ready Automated review found no actionable items label Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

reviewer: ready Automated review found no actionable items

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant