[PR #221] [MERGED] feat(orchids): 集成 Orchids 平台作为新的 Claude 提供商 #306

Closed
opened 2026-02-27 07:18:54 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/justlovemaki/AIClient-2-API/pull/221
Author: @leonaii
Created: 1/12/2026
Status: Merged
Merged: 1/13/2026
Merged by: @justlovemaki

Base: mainHead: main


📝 Commits (1)

  • 7bf5b26 feat(orchids): 添加 Orchids OAuth 提供商集成

📊 Changes

18 files changed (+2088 additions, -13 deletions)

View changed files

📝 .gitignore (+5 -1)
📝 configs/provider_pools.json.example (+15 -0)
📝 package-lock.json (+25 -1)
📝 package.json (+2 -1)
📝 src/auth/oauth-handlers.js (+279 -0)
📝 src/providers/adapter.js (+48 -0)
src/providers/claude/claude-orchids.js (+1026 -0)
📝 src/providers/provider-models.js (+8 -0)
📝 src/services/ui-manager.js (+5 -0)
📝 src/ui-modules/config-scanner.js (+25 -0)
📝 src/ui-modules/oauth-api.js (+297 -8)
📝 src/utils/common.js (+1 -0)
📝 src/utils/provider-utils.js (+11 -0)
📝 static/app/i18n.js (+54 -0)
📝 static/app/provider-manager.js (+221 -2)
📝 static/app/upload-config-manager.js (+6 -0)
📝 static/components/section-config.html (+8 -0)
📝 static/components/section-dashboard.html (+52 -0)

📄 Description

描述

本 PR 将 Orchids 平台(orchids.app)作为新的 Claude 模型提供商集成到 AIClient-2-API 项目中。Orchids 是一个基于 WebSocket 的 AI 编程助手平台,通过 Clerk 进行身份认证。此集成允许用户通过统一的 API 接口访问 Orchids 提供的 Claude 模型。

主要变更

🆕 新增功能

  1. 核心服务类 - OrchidsApiService

    • WebSocket 连接管理(每次请求新建连接,高可用模式)
    • Clerk Token 认证(通过 __client JWT 自动获取 session)
    • Claude ↔ Orchids 消息格式双向转换
    • 流式响应支持(SSE 事件转换)
  2. 支持的模型

    • claude-sonnet-4-5
    • claude-opus-4-5
    • claude-haiku-4-5
    • gemini-3-flash
    • gpt-5.2
  3. UI 支持

    • Token 导入对话框
    • 中英文国际化翻译

性能优化

  • Token 缓存:仅在 Token 即将过期(5分钟内)时才刷新
  • 防重复刷新:1秒内不重复刷新
  • 并发控制:最大 5 个并发请求(可配置)
  • 401 自动重试:最多重试 2 次

新增文件

文件路径 描述
src/providers/claude/claude-orchids.js Orchids API 服务核心实现
configs/orchids/ Orchids 凭据存储目录

修改文件

文件路径 变更描述
src/providers/adapter.js 新增 OrchidsApiServiceAdapter
src/providers/provider-models.js 添加模型列表
src/utils/provider-utils.js 添加提供商映射
src/auth/oauth-handlers.js 添加 Token 导入函数
static/app/provider-manager.js 添加 Token 导入对话框
static/app/i18n.js 添加国际化翻译
configs/provider_pools.json.example 添加配置示例

测试方法

  1. 从 orchids.app 获取 __client JWT
  2. 在管理控制台导入 Token
  3. 发送 API 请求测试

相关 Commit

  • 7bf5b26000c72f1226a7db5c33e515beb5982591

Breaking Changes: 无

Dependencies: 无新增依赖


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/justlovemaki/AIClient-2-API/pull/221 **Author:** [@leonaii](https://github.com/leonaii) **Created:** 1/12/2026 **Status:** ✅ Merged **Merged:** 1/13/2026 **Merged by:** [@justlovemaki](https://github.com/justlovemaki) **Base:** `main` ← **Head:** `main` --- ### 📝 Commits (1) - [`7bf5b26`](https://github.com/justlovemaki/AIClient-2-API/commit/7bf5b26000c72f1226a7db5c33e515beb5982591) feat(orchids): 添加 Orchids OAuth 提供商集成 ### 📊 Changes **18 files changed** (+2088 additions, -13 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+5 -1) 📝 `configs/provider_pools.json.example` (+15 -0) 📝 `package-lock.json` (+25 -1) 📝 `package.json` (+2 -1) 📝 `src/auth/oauth-handlers.js` (+279 -0) 📝 `src/providers/adapter.js` (+48 -0) ➕ `src/providers/claude/claude-orchids.js` (+1026 -0) 📝 `src/providers/provider-models.js` (+8 -0) 📝 `src/services/ui-manager.js` (+5 -0) 📝 `src/ui-modules/config-scanner.js` (+25 -0) 📝 `src/ui-modules/oauth-api.js` (+297 -8) 📝 `src/utils/common.js` (+1 -0) 📝 `src/utils/provider-utils.js` (+11 -0) 📝 `static/app/i18n.js` (+54 -0) 📝 `static/app/provider-manager.js` (+221 -2) 📝 `static/app/upload-config-manager.js` (+6 -0) 📝 `static/components/section-config.html` (+8 -0) 📝 `static/components/section-dashboard.html` (+52 -0) </details> ### 📄 Description ### 描述 本 PR 将 Orchids 平台(orchids.app)作为新的 Claude 模型提供商集成到 AIClient-2-API 项目中。Orchids 是一个基于 WebSocket 的 AI 编程助手平台,通过 Clerk 进行身份认证。此集成允许用户通过统一的 API 接口访问 Orchids 提供的 Claude 模型。 ### 主要变更 #### 🆕 新增功能 1. **核心服务类** - `OrchidsApiService` - WebSocket 连接管理(每次请求新建连接,高可用模式) - Clerk Token 认证(通过 `__client` JWT 自动获取 session) - Claude ↔ Orchids 消息格式双向转换 - 流式响应支持(SSE 事件转换) 2. **支持的模型** - `claude-sonnet-4-5` - `claude-opus-4-5` - `claude-haiku-4-5` - `gemini-3-flash` - `gpt-5.2` 3. **UI 支持** - Token 导入对话框 - 中英文国际化翻译 #### ⚡ 性能优化 - **Token 缓存**:仅在 Token 即将过期(5分钟内)时才刷新 - **防重复刷新**:1秒内不重复刷新 - **并发控制**:最大 5 个并发请求(可配置) - **401 自动重试**:最多重试 2 次 ### 新增文件 | 文件路径 | 描述 | |---------|------| | `src/providers/claude/claude-orchids.js` | Orchids API 服务核心实现 | | `configs/orchids/` | Orchids 凭据存储目录 | ### 修改文件 | 文件路径 | 变更描述 | |---------|---------| | `src/providers/adapter.js` | 新增 `OrchidsApiServiceAdapter` 类 | | `src/providers/provider-models.js` | 添加模型列表 | | `src/utils/provider-utils.js` | 添加提供商映射 | | `src/auth/oauth-handlers.js` | 添加 Token 导入函数 | | `static/app/provider-manager.js` | 添加 Token 导入对话框 | | `static/app/i18n.js` | 添加国际化翻译 | | `configs/provider_pools.json.example` | 添加配置示例 | ### 测试方法 1. 从 orchids.app 获取 `__client` JWT 2. 在管理控制台导入 Token 3. 发送 API 请求测试 ### 相关 Commit - `7bf5b26000c72f1226a7db5c33e515beb5982591` --- **Breaking Changes**: 无 **Dependencies**: 无新增依赖 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 07:18:54 +03:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/AIClient-2-API-justlovemaki#306
No description provided.