Skip to content

工作流概览

当客户端向 AIClient-2-API 的 API 服务发送请求时,其大致工作流程如下:

  1. 请求接收api-server.js 接收到客户端请求。
  2. 认证与协议识别:系统验证 API 密钥,并由 api-manager.js 识别请求协议(OpenAI/Gemini/Claude)。
  3. 请求转换 (Converter)ConverterFactory 根据识别的协议,将请求体转换为内部统一格式。
  4. 路由与账号调度:如果是 auto 模式,系统会根据模型名从 ProviderPoolManager 中选择最优的提供商账号池。
  5. 适配器执行 (Adapter)src/providers/adapter.js 根据确定的提供商,调用对应的 Core 模块(如 gemini-core.js)与实际 LLM API 通信。
  6. 响应转换 (Converter):LLM 返回原生响应后,转换器再次介入,将其转换为客户端期望的协议格式。
  7. 插件钩子触发:在响应发送前后,系统会触发插件钩子(如 onStreamChunk),允许自定义逻辑拦截处理。
  8. 响应发送:最终结果发送回客户端。

通过这种分层和模块化的设计,AIClient-2-API 实现了高度的灵活性和可维护性,能够轻松扩展以支持新的 LLM 或 API 格式。