diff --git a/README.md b/README.md
index cf438bec16..dc978f1ced 100644
--- a/README.md
+++ b/README.md
@@ -629,13 +629,13 @@ the current catalog at **[radar.omniroute.online/planos](https://radar.omniroute
Goose
Open Interpreter
Warp AI
- Agent Deck
+ deyin.ai
-+ also works with · Kiro · Command Code · Antigravity · Windsurf · AMP · any OpenAI-compatible tool
++ also works with · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · any OpenAI-compatible tool
📖 Per-tool setup for all 36 tools (26 CLI Code's + 10 CLI Agents) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 OpenCode plugin → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
@@ -725,7 +725,7 @@ of your shell history. → [CLI Integrations](docs/guides/CLI-INTEGRATIONS.md)
Pollinations GPT, Llama, Claude No key needed
Cloudflare AI 50+ models 10K neurons/day
NVIDIA NIM GLM, MiniMax ~40 RPM free
- Cerebras GLM 4.7, GPT-OSS 1M tokens/day
+ Openference Qwen3.8 27B, Llama 3.2 Free tier
OpenRouter :free models +$10 → higher RPM
diff --git a/docs/reference/PROVIDER_REFERENCE.md b/docs/reference/PROVIDER_REFERENCE.md
index 6f74ae664f..078c99e339 100644
--- a/docs/reference/PROVIDER_REFERENCE.md
+++ b/docs/reference/PROVIDER_REFERENCE.md
@@ -71,7 +71,7 @@ Use the dashboard at `/dashboard/providers` to enable, configure, and test each
| `kilocode` | `kc` | Kilo Code | OAuth | — | — |
| `kimi-coding` | `kmc` | Kimi Code CLI | OAuth | [link](https://www.kimi.com/code?aff=omniroute) | Sign in with the same Kimi account used by Kimi Code CLI. OmniRoute uses the CLI OAuth flow and Kimi Coding Plan endpoints. |
| `kiro` | `kr` | Kiro AI | OAuth | — | Free tier: 50 credits/month (~25K–100K tokens). ⚠️ Kiro ToS prohibits third-party proxy/harness use. |
-| `openference` | `of` | Openference | OAuth | [link](https://openference.com) | Sign in with your Openference account to route requests through api.openference.com. An active plan is required for inference — OAuth may authenticate but return 402 without one. |
+| `openference` | `of` | Openference | OAuth | [link](https://openference.com) | Sign in with your Openference account to route requests through api.openference.com. Includes free-tier access to Qwen3.8 27b and Llama 3.2 3B — see openference.com/pricing for current plan terms. |
| `qoder` | `if` | Qoder | OAuth | — | — |
| `trae` | `tr` | Trae | OAuth | [link](https://trae.ai) | Trae is an AI-native IDE by ByteDance (SOLO remote agent). Authorize via trae.ai in the popup, or sign in at solo.trae.ai and paste the Cloud-IDE-JWT (sent as 'Authorization: Cloud-IDE-JWT ', ~14-day lifetime) as the access token; web_id/biz_user_id/user_unique_id/scope/tenant/region propagate via providerSpecificData. No headless refresh for pasted tokens — re-paste on expiry. |
| `xai-oauth` | `xao` | xAI OAuth (Grok) | OAuth | [link](https://x.ai) | Sign in with xAI to use api.x.ai models such as Grok 4.5. This is separate from Grok Build JWT sessions, which use cli-chat-proxy.grok.com and grok-build model aliases. |
@@ -280,7 +280,7 @@ Use the dashboard at `/dashboard/providers` to enable, configure, and test each
| `openai` | `openai` | OpenAI | API key | [link](https://platform.openai.com) | — |
| `opencode-go` | `opencode-go` | OpenCode Go | API key | [link](https://opencode.ai/go) | — |
| `opencode-zen` | `opencode-zen` | OpenCode Zen | API key | [link](https://opencode.ai/zen) | — |
-| `openference-api` | `ofa` | Openference API | API key | [link](https://openference.com) | Free plan: 3-day trial with open-source models — no credit card required |
+| `openference-api` | `ofa` | Openference API | API key | [link](https://openference.com) | Free tier: includes Qwen3.8 27b and Llama 3.2 3B — see openference.com/pricing for current terms |
| `openrouter` | `openrouter` | OpenRouter | API key, aggregator | [link](https://openrouter.ai) | Free models at $0/token with :free suffix - 20 RPM / 200 RPD |
| `openvecta` | `openvecta` | OpenVecta | API key | [link](https://openvecta.com) | Free credits on signup for OpenAI-compatible inference across LLMs, embeddings, and reasoning models |
| `opper` | `opper` | Opper | API key, aggregator | [link](https://opper.ai) | — |
diff --git a/open-sse/config/providers/registry/openference-api/index.ts b/open-sse/config/providers/registry/openference-api/index.ts
index 34a20de303..01c3948482 100644
--- a/open-sse/config/providers/registry/openference-api/index.ts
+++ b/open-sse/config/providers/registry/openference-api/index.ts
@@ -14,5 +14,9 @@ export const openference_apiProvider: RegistryEntry = buildOpenAiCompatibleRegis
baseUrl: "https://api.openference.com/v1/chat/completions",
responsesBaseUrl: "https://api.openference.com/v1/responses",
passthroughModels: true,
- models: [{ id: "GLM-5.2", name: "GLM 5.2", contextLength: 850000 }],
+ models: [
+ { id: "GLM-5.2", name: "GLM 5.2", contextLength: 850000 },
+ { id: "Qwen3.8 27b", name: "Qwen3.8 27B", contextLength: 262144 },
+ { id: "Llama 3.2 3B", name: "Llama 3.2 3B", contextLength: 131072 },
+ ],
});
diff --git a/open-sse/config/providers/registry/openference/index.ts b/open-sse/config/providers/registry/openference/index.ts
index fe5f50025e..9ef2cfc768 100644
--- a/open-sse/config/providers/registry/openference/index.ts
+++ b/open-sse/config/providers/registry/openference/index.ts
@@ -21,5 +21,9 @@ export const openferenceProvider: RegistryEntry = {
clientIdDefault: resolvePublicCred("openference_id"),
tokenUrl: "https://openference.com/oauth/token",
},
- models: [{ id: "GLM-5.2", name: "GLM 5.2", contextLength: 850000 }],
+ models: [
+ { id: "GLM-5.2", name: "GLM 5.2", contextLength: 850000 },
+ { id: "Qwen3.8 27b", name: "Qwen3.8 27B", contextLength: 262144 },
+ { id: "Llama 3.2 3B", name: "Llama 3.2 3B", contextLength: 131072 },
+ ],
};
diff --git a/public/deyin.svg b/public/deyin.svg
new file mode 100644
index 0000000000..c6232f5791
--- /dev/null
+++ b/public/deyin.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/openference.svg b/public/openference.svg
new file mode 100644
index 0000000000..525d9ae0a4
--- /dev/null
+++ b/public/openference.svg
@@ -0,0 +1,5 @@
+
+ Openference
+
+
+
diff --git a/src/shared/constants/providers/apikey/inference-hosts.ts b/src/shared/constants/providers/apikey/inference-hosts.ts
index 730ccd64f3..856029de17 100644
--- a/src/shared/constants/providers/apikey/inference-hosts.ts
+++ b/src/shared/constants/providers/apikey/inference-hosts.ts
@@ -46,7 +46,8 @@ export const APIKEY_PROVIDERS_INFERENCE = {
textIcon: "OF",
website: "https://openference.com",
hasFree: true,
- freeNote: "Free plan: 3-day trial with open-source models — no credit card required",
+ freeNote:
+ "Free tier: includes Qwen3.8 27b and Llama 3.2 3B — see openference.com/pricing for current terms",
},
poolside: {
id: "poolside",
diff --git a/src/shared/constants/providers/oauth.ts b/src/shared/constants/providers/oauth.ts
index 52d40bebb6..3c743c9bbf 100644
--- a/src/shared/constants/providers/oauth.ts
+++ b/src/shared/constants/providers/oauth.ts
@@ -44,9 +44,10 @@ export const OAUTH_PROVIDERS = {
textIcon: "OF",
website: "https://openference.com",
hasFree: true,
- freeNote: "Free plan: 3-day trial with open-source models — no credit card required",
+ freeNote:
+ "Free tier: includes Qwen3.8 27b and Llama 3.2 3B — see openference.com/pricing for current terms",
authHint:
- "Sign in with your Openference account to route requests through api.openference.com. An active plan is required for inference — OAuth may authenticate but return 402 without one.",
+ "Sign in with your Openference account to route requests through api.openference.com. Includes free-tier access to Qwen3.8 27b and Llama 3.2 3B — see openference.com/pricing for current plan terms.",
},
"grok-cli": {
id: "grok-cli",
@@ -142,7 +143,14 @@ export const OAUTH_PROVIDERS = {
subscriptionRisk: true,
riskNoticeVariant: "oauth",
},
- github: { id: "github", serviceKinds: ["llm"], alias: "gh", name: "GitHub Copilot", icon: "code", color: "#333333" },
+ github: {
+ id: "github",
+ serviceKinds: ["llm"],
+ alias: "gh",
+ name: "GitHub Copilot",
+ icon: "code",
+ color: "#333333",
+ },
"gitlab-duo": {
id: "gitlab-duo",
serviceKinds: ["llm"],
diff --git a/tests/unit/openference-apikey-provider-registration.test.ts b/tests/unit/openference-apikey-provider-registration.test.ts
index 4015326cfb..8c04b38fda 100644
--- a/tests/unit/openference-apikey-provider-registration.test.ts
+++ b/tests/unit/openference-apikey-provider-registration.test.ts
@@ -25,7 +25,7 @@ const SPEC = {
website: "https://openference.com",
chatUrl: "https://api.openference.com/v1/chat/completions",
modelsUrl: "https://api.openference.com/v1/models",
- expectedSeedIds: ["GLM-5.2"],
+ expectedSeedIds: ["GLM-5.2", "Qwen3.8 27b", "Llama 3.2 3B"],
};
test("APIKEY_PROVIDERS.openference-api is registered with the canonical identity", () => {
diff --git a/tests/unit/openference-oauth-provider.test.ts b/tests/unit/openference-oauth-provider.test.ts
index 983d7e7e61..99d5b3a83b 100644
--- a/tests/unit/openference-oauth-provider.test.ts
+++ b/tests/unit/openference-oauth-provider.test.ts
@@ -124,7 +124,7 @@ test("Openference is registered as an OAuth gateway with default executor", asyn
assert.equal(openferenceProvider.baseUrl, "https://api.openference.com/v1/chat/completions");
assert.deepEqual(
openferenceProvider.models?.map((model) => model.id),
- ["GLM-5.2"]
+ ["GLM-5.2", "Qwen3.8 27b", "Llama 3.2 3B"]
);
assert.equal(hasSpecializedExecutor("openference"), false);