feat(presets): add FennoAI provider preset for 6 apps

Add FennoAI (api.fenno.ai) as a partner aggregator preset across Claude
Code, Claude Desktop, Codex, OpenCode, OpenClaw, and Hermes (Gemini not
supported). FennoAI relays native Claude/GPT, so Claude Code/Codex pass
through native models; the OpenAI-compatible apps default to gpt-5.5.

- Claude / Claude Desktop: Anthropic-compatible bare host (api.fenno.ai)
- Codex: native Responses at api.fenno.ai, gpt-5.5
- OpenCode / OpenClaw / Hermes: gpt-5.5 over api.fenno.ai/v1
- Partner referral link as apiKeyUrl + short partner-promotion blurb in
  zh/en/ja/zh-TW
- Add FennoAI sponsor entry to all four READMEs (fenno-banner.png)
- Register fenno-icon.webp icon (URL import + iconUrls + metadata)
This commit is contained in:
Jason
2026-06-29 16:58:13 +08:00
parent 3476707321
commit 238cd5d7c9
18 changed files with 175 additions and 0 deletions
@@ -199,6 +199,20 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [
partnerPromotionKey: "qiniu",
icon: "qiniu",
},
{
name: "FennoAI",
websiteUrl: "https://api.fenno.ai",
apiKeyUrl:
"https://api.fenno.ai/register?redirect=/purchase?tab=subscription%26group=16&aff=P9MR3D3PLCNL",
category: "aggregator",
baseUrl: "https://api.fenno.ai",
mode: "direct",
apiFormat: "anthropic",
modelRoutes: passthroughRoutes(),
isPartner: true,
partnerPromotionKey: "fenno",
icon: "fenno",
},
{
name: "火山Agentplan",
websiteUrl: "https://www.volcengine.com/product/ark",
+16
View File
@@ -253,6 +253,22 @@ export const providerPresets: ProviderPreset[] = [
partnerPromotionKey: "qiniu",
icon: "qiniu",
},
{
name: "FennoAI",
websiteUrl: "https://api.fenno.ai",
apiKeyUrl:
"https://api.fenno.ai/register?redirect=/purchase?tab=subscription%26group=16&aff=P9MR3D3PLCNL",
settingsConfig: {
env: {
ANTHROPIC_BASE_URL: "https://api.fenno.ai",
ANTHROPIC_AUTH_TOKEN: "",
},
},
category: "aggregator",
isPartner: true,
partnerPromotionKey: "fenno",
icon: "fenno",
},
{
name: "Gemini Native",
websiteUrl: "https://ai.google.dev/gemini-api",
+17
View File
@@ -300,6 +300,23 @@ export const codexProviderPresets: CodexProviderPreset[] = [
partnerPromotionKey: "qiniu",
icon: "qiniu",
},
{
name: "FennoAI",
websiteUrl: "https://api.fenno.ai",
apiKeyUrl:
"https://api.fenno.ai/register?redirect=/purchase?tab=subscription%26group=16&aff=P9MR3D3PLCNL",
category: "aggregator",
auth: generateThirdPartyAuth(""),
config: generateThirdPartyConfig(
"fenno",
"https://api.fenno.ai",
"gpt-5.5",
),
endpointCandidates: ["https://api.fenno.ai"],
isPartner: true,
partnerPromotionKey: "fenno",
icon: "fenno",
},
{
name: "Azure OpenAI",
websiteUrl:
+20
View File
@@ -169,6 +169,26 @@ export const hermesProviderPresets: HermesProviderPreset[] = [
model: { default: "gpt-5.5", provider: "qiniu" },
},
},
{
name: "FennoAI",
websiteUrl: "https://api.fenno.ai",
apiKeyUrl:
"https://api.fenno.ai/register?redirect=/purchase?tab=subscription%26group=16&aff=P9MR3D3PLCNL",
settingsConfig: {
name: "fenno",
base_url: "https://api.fenno.ai/v1",
api_key: "",
api_mode: "chat_completions",
models: [{ id: "gpt-5.5", name: "GPT-5.5" }],
},
category: "aggregator",
isPartner: true,
partnerPromotionKey: "fenno",
icon: "fenno",
suggestedDefaults: {
model: { default: "gpt-5.5", provider: "fenno" },
},
},
{
name: "火山Agentplan",
websiteUrl: "https://www.volcengine.com/product/ark",
+37
View File
@@ -364,6 +364,43 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
},
},
},
{
name: "FennoAI",
websiteUrl: "https://api.fenno.ai",
apiKeyUrl:
"https://api.fenno.ai/register?redirect=/purchase?tab=subscription%26group=16&aff=P9MR3D3PLCNL",
settingsConfig: {
baseUrl: "https://api.fenno.ai/v1",
apiKey: "",
api: "openai-completions",
models: [
{
id: "gpt-5.5",
name: "GPT-5.5",
contextWindow: 400000,
},
],
},
category: "aggregator",
isPartner: true,
partnerPromotionKey: "fenno",
icon: "fenno",
templateValues: {
apiKey: {
label: "API Key",
placeholder: "",
editorValue: "",
},
},
suggestedDefaults: {
model: {
primary: "fenno/gpt-5.5",
},
modelCatalog: {
"fenno/gpt-5.5": { alias: "GPT-5.5" },
},
},
},
{
name: "Unity2.ai",
websiteUrl: "https://unity2.ai",
+29
View File
@@ -338,6 +338,35 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
},
},
},
{
name: "FennoAI",
websiteUrl: "https://api.fenno.ai",
apiKeyUrl:
"https://api.fenno.ai/register?redirect=/purchase?tab=subscription%26group=16&aff=P9MR3D3PLCNL",
settingsConfig: {
npm: "@ai-sdk/openai-compatible",
name: "FennoAI",
options: {
baseURL: "https://api.fenno.ai/v1",
apiKey: "",
setCacheKey: true,
},
models: {
"gpt-5.5": { name: "GPT-5.5" },
},
},
category: "aggregator",
isPartner: true,
partnerPromotionKey: "fenno",
icon: "fenno",
templateValues: {
apiKey: {
label: "API Key",
placeholder: "",
editorValue: "",
},
},
},
{
name: "火山Agentplan",
websiteUrl: "https://www.volcengine.com/product/ark",
+1
View File
@@ -1025,6 +1025,7 @@
"ccsub": "CCSub is a stable, affordable AI API relay — a drop-in replacement for Claude.ai & OpenAI subscriptions, with one key for all models at ~30% of direct API cost.",
"subrouter": "SubRouter is an AI relay aggregator that lets one key access multiple models and providers.",
"qiniu": "Qiniu Cloud is a multi-protocol AI relay: one key for native Claude, GPT, and Gemini models, with the Anthropic, OpenAI, and Gemini APIs all supported.",
"fenno": "Fenno.ai is a stable, efficient API relay giving you access to a wide range of mainstream models. Exclusive CC Switch offer: subscribe via this link to the ¥9.9 Coding Plan worth $150 in credits!",
"unity2": "Unity2.ai offers exclusive benefits for CC Switch users: register via this link to get $2 in credits, plus another $10 for joining the official group — up to $12 in free credits!"
},
"presets": {
+1
View File
@@ -1025,6 +1025,7 @@
"ccsub": "CCSub は安定・低価格の AI API リレーサービスです。Claude Code の公式サブスクリプションの代替として、1つのキーで全モデルを公式比約1/3のコストで利用できます。",
"subrouter": "SubRouter は、1つのキーで複数のモデルとプロバイダーにアクセスできる AI 中継アグリゲーターです。",
"qiniu": "Qiniu Cloud(七牛云)はマルチプロトコル対応の AI 中継プラットフォームです。1つのキーでネイティブの Claude・GPT・Gemini モデルを利用でき、AnthropicOpenAIGemini の各 API に対応します。",
"fenno": "Fenno.ai は安定・高効率な API 中継サービスで、幅広い主要モデルを利用できます。CC Switch 利用者限定特典:このリンクから 9.9 元(150 ドル相当)の Coding Plan を購入できます!",
"unity2": "Unity2.ai は CC Switch ユーザーに専属特典を提供しています:このリンクから登録すると $2 分のクレジット、公式グループ参加でさらに $10、最大 $12 の無料クレジットがもらえます!"
},
"presets": {
+1
View File
@@ -997,6 +997,7 @@
"ccsub": "CCSub 是穩定、實惠的 AI API 中轉平台,Claude Code 官方訂閱的超強平替,一個 Key 覆蓋全部模型,價格約為官方 1/3。",
"subrouter": "SubRouter 是中轉站聚合平台,一個 Key 可接入多個模型與供應商。",
"qiniu": "七牛雲是多協定 AI 中轉平台,一個 Key 即可呼叫原生 Claude、GPT、Gemini 模型,相容 Anthropic、OpenAI、Gemini 多種介面。",
"fenno": "Fenno.ai 是穩定高效的 API 中轉服務商,可接入多種主流模型。CC Switch 使用者專屬福利:透過此連結訂閱 9.9 元 /150 刀額度的超值 Coding Plan",
"unity2": "Unity2.ai 為 CC Switch 使用者提供專屬福利:透過此連結註冊可領取 $2 餘額,加入官方群再送 $10,最高可領 $12 免費額度!"
},
"presets": {
+1
View File
@@ -1025,6 +1025,7 @@
"ccsub": "CCSub 是稳定、实惠的 AI API 中转平台,Claude Code 官方订阅的超强平替,一个 Key 覆盖全部模型,价格约为官方 1/3。",
"subrouter": "SubRouter 是中转站聚合平台,一个 Key 可接入多个模型与供应商。",
"qiniu": "七牛云是多协议 AI 中转平台,一个 Key 即可调用原生 Claude、GPT、Gemini 模型,兼容 Anthropic、OpenAI、Gemini 多种接口。",
"fenno": "Fenno.ai 是稳定高效的 API 中转服务商,可接入多种主流模型。CC Switch 用户专属福利:通过此链接订阅 9.9 元 /150 刀额度的超值 Coding Plan",
"unity2": "Unity2.ai 为 CC Switch 用户提供专属福利:通过此链接注册可领取 $2 余额,加入官方群再送 $10,最高可领 $12 免费额度!"
},
"presets": {
Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

+2
View File
@@ -11,6 +11,7 @@ import _claudecn from "./claudecn.png";
import _cherryin from "./cherryin.png";
import _eflowcode from "./eflowcode.png";
import _etok from "./etok.png";
import _fenno from "./fenno-icon.webp";
import _hermes from "./hermes.png";
import _huoshan from "./huoshan.png";
import _pateway from "./pateway.jpg";
@@ -106,6 +107,7 @@ export const iconUrls: Record<string, string> = {
cherryin: _cherryin,
eflowcode: _eflowcode,
etok: _etok,
fenno: _fenno,
hermes: _hermes,
huoshan: _huoshan,
pateway: _pateway,
+16
View File
@@ -225,6 +225,22 @@ export const iconMetadata: Record<string, IconMetadata> = {
keywords: ["etok", "ai", "programming"],
defaultColor: "#F97316",
},
fenno: {
name: "fenno",
displayName: "FennoAI",
category: "ai-provider",
keywords: [
"fenno",
"fennoai",
"aggregator",
"relay",
"claude",
"codex",
"gpt",
"gateway",
],
defaultColor: "#000000",
},
cubence: {
name: "cubence",
displayName: "Cubence",