Saltar al contenido principal

1. Patrones de integración principales

1.1 Autenticación y enrutamiento unificados

1.2 Puntos de manejo especiales

  • Corrección de tools vacíos: Cuando tools=[] y existe tool_choice, elimina automáticamente tool_choice
  • Extensiones de archivo: Establece automáticamente las extensiones de archivo correctas según mediaType
  • Control de caché: Admite etiquetas <cache> para el control de caché

2. Implementación de integración unificada

2.1 Wrapper del cliente principal

2.2 Funciones auxiliares y manejo especial

3. Despliegue y configuración

3.1 Variables de entorno

3.2 Manejo de errores

4. Implementaciones de referencia y lista de comprobación

4.1 Referencia del cliente cherry-studio (TypeScript)

Los siguientes puntos clave del AihubmixAPIClient.ts de cherry-studio pueden servir como patrón para que aplicaciones de terceros (frontend/escritorio) integren aihubmix con TypeScript:
  • Adición unificada de código de descuento: Combina extra_headers a nivel de Provider y establece APP-Code (el proyecto utiliza MLTG2087)
  • Enrutamiento multicliente:
    • claude* → Usa el cliente de Anthropic
    • gemini*/imagen* que no terminan con -nothink/-search y no contienen embedding → Usa el cliente de Gemini (apiHost: https://aihubmix.com/gemini)
    • Serie OpenAI (excluyendo gpt-oss) → Usa el cliente compatible con OpenAI
    • Otros → Recae en el cliente OpenAI predeterminado
  • Obtención de la BaseURL: Se exporta desde el cliente específico al que se ha enrutado actualmente, manteniendo las diferencias de endpoint entre proveedores

4.2 Referencia de dify-plugin-aihubmix (Python)

Los siguientes puntos clave de la implementación de dify-plugin-aihubmix pueden servir como patrón para que herramientas de terceros en Python integren aihubmix:
  • Adición unificada de código de descuento: Combina extra_headers a nivel de Provider y establece APP-Code (el proyecto utiliza Dify2025)
  • Enrutamiento multicliente:
    • claude* → Usa el cliente de Anthropic
    • gemini*/imagen* que no terminan con -nothink/-search y no contienen embedding → Usa el cliente de Gemini (apiHost: https://aihubmix.com/gemini)
    • Serie OpenAI (excluyendo gpt-oss) → Usa el cliente compatible con OpenAI
    • Otros → Recae en el cliente OpenAI predeterminado
  • Obtención de la BaseURL: Se exporta desde el cliente específico al que se ha enrutado actualmente, manteniendo las diferencias de endpoint entre proveedores

4.3 Lista de comprobación de alineación

  • La entrada del Provider unifica la combinación de extra_headers e inyecta APP-Code
  • El cliente de Gemini usa https://aihubmix.com/gemini como apiHost
  • Las reglas de enrutamiento son consistentes para claude*, gemini*/imagen*, serie OpenAI (excluyendo gpt-oss)
  • Fallback predeterminado al cliente OpenAI, manteniendo el comportamiento de la interfaz compatible con OpenAI
  • getBaseURL() siempre se exporta desde el cliente actualmente enrutado, evitando valores codificados

5. Lista de comprobación para la migración

  • Sustituye la clave API por la de aihubmix
  • Sustituye la Base URL por https://aihubmix.com
  • Añade la cabecera APP-Code para el descuento
  • Implementa la lógica de enrutamiento del modelo (claude/gemini/openai)
  • Gestiona la corrección de tool_choice cuando los tools están vacíos
  • Configura el manejo del tipo MIME para las subidas de archivos
  • Prueba diversas llamadas a modelos

Última actualización: 2026-06-01