From f96f65c0ecc9888764ce73c0d4b087c5f8a076da Mon Sep 17 00:00:00 2001 From: orcadev Date: Sun, 16 Aug 2026 16:50:37 +0000 Subject: [PATCH] feat(ai): add OrcaRouter as a named LLM provider Mirror the existing OpenRouter provider entry to register OrcaRouter as a named, OpenAI-compatible LLM routing gateway (ProviderCode + official provider seed). --- .../Official/ServiceProviderInitializer.php | 26 +++++++++++++++++++ .../Entity/ValueObject/ProviderCode.php | 3 +++ 2 files changed, 29 insertions(+) diff --git a/backend/magic-service/app/Application/Provider/Official/ServiceProviderInitializer.php b/backend/magic-service/app/Application/Provider/Official/ServiceProviderInitializer.php index 1518c7051..9d7b033cc 100644 --- a/backend/magic-service/app/Application/Provider/Official/ServiceProviderInitializer.php +++ b/backend/magic-service/app/Application/Provider/Official/ServiceProviderInitializer.php @@ -254,6 +254,32 @@ class ServiceProviderInitializer ]), 'remark' => '', ], + // OrcaRouter - LLM + [ + 'name' => 'OrcaRouter', + 'provider_code' => ProviderCode::OrcaRouter->value, + 'sort_order' => 995, + 'description' => 'OrcaRouter 是一个 OpenAI 兼容的 LLM 路由网关,提供统一的模型接入与智能路由。同时在同一端点上提供网关级、零信任的 AI 代理安全防护——以默认拒绝为原则审查每个提示词/响应并治理每次工具调用,无需改动任何应用代码。', + 'icon' => 'MAGIC/713471849556451329/default/default.png', + 'provider_type' => 0, + 'category' => 'llm', + 'status' => 1, + 'is_models_enable' => 0, + 'created_at' => $now, + 'updated_at' => $now, + 'deleted_at' => null, + 'translate' => json_encode([ + 'name' => [ + 'en_US' => 'OrcaRouter', + 'zh_CN' => 'OrcaRouter', + ], + 'description' => [ + 'en_US' => 'OrcaRouter is an OpenAI-compatible LLM routing gateway that provides unified model access and smart routing. It also runs gateway-level, zero-trust security for AI agents on the same endpoint — screening every prompt/response and governing every tool call on a default-deny basis, with no application code changes.', + 'zh_CN' => 'OrcaRouter 是一个 OpenAI 兼容的 LLM 路由网关,提供统一的模型接入与智能路由。同时在同一端点上提供网关级、零信任的 AI 代理安全防护——以默认拒绝为原则审查每个提示词/响应并治理每次工具调用,无需改动任何应用代码。', + ], + ]), + 'remark' => '', + ], // DashScope - LLM (Aliyun Bailian) [ 'name' => '阿里云(百炼)', diff --git a/backend/magic-service/app/Domain/Provider/Entity/ValueObject/ProviderCode.php b/backend/magic-service/app/Domain/Provider/Entity/ValueObject/ProviderCode.php index 18359e69b..d69440eff 100644 --- a/backend/magic-service/app/Domain/Provider/Entity/ValueObject/ProviderCode.php +++ b/backend/magic-service/app/Domain/Provider/Entity/ValueObject/ProviderCode.php @@ -36,6 +36,7 @@ enum ProviderCode: string case Gemini = 'Gemini'; case DashScope = 'DashScope'; case OpenRouter = 'OpenRouter'; + case OrcaRouter = 'OrcaRouter'; case SuChuang = 'SuChuang'; public function getImplementation(): string @@ -48,6 +49,7 @@ enum ProviderCode: string self::DeepSeek => DeepSeekModel::class, self::DashScope => DashScopeModel::class, self::OpenRouter => OpenAIModel::class, + self::OrcaRouter => OpenAIModel::class, default => OpenAIModel::class, }; } @@ -121,6 +123,7 @@ enum ProviderCode: string self::TTAPI => 4, self::DashScope => 5, self::OpenRouter => 6, + self::OrcaRouter => 6, self::Volcengine, self::VolcengineArk => 7, self::DeepSeek => 8, default => 999, // 其他服务商排在最后 -- Gitee