1. Patrones de integración principales
1.1 Autenticación y enrutamiento unificados
- TypeScript
- Python
1.2 Puntos de manejo especiales
- Corrección de tools vacíos: Cuando
tools=[]y existetool_choice, elimina automáticamentetool_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
- TypeScript
- Python
2.2 Funciones auxiliares y manejo especial
- TypeScript
- Python
3. Despliegue y configuración
3.1 Variables de entorno
- TypeScript
- Python
3.2 Manejo de errores
- TypeScript
- Python
4. Implementaciones de referencia y lista de comprobación
4.1 Referencia del cliente cherry-studio (TypeScript)
Los siguientes puntos clave delAihubmixAPIClient.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_headersa nivel de Provider y estableceAPP-Code(el proyecto utilizaMLTG2087) - Enrutamiento multicliente:
claude*→ Usa el cliente de Anthropicgemini*/imagen*que no terminan con-nothink/-searchy no contienenembedding→ 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 dedify-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_headersa nivel de Provider y estableceAPP-Code(el proyecto utilizaDify2025) - Enrutamiento multicliente:
claude*→ Usa el cliente de Anthropicgemini*/imagen*que no terminan con-nothink/-searchy no contienenembedding→ 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_headerse inyectaAPP-Code - El cliente de Gemini usa
https://aihubmix.com/geminicomoapiHost - Las reglas de enrutamiento son consistentes para
claude*,gemini*/imagen*, serie OpenAI (excluyendogpt-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-Codepara el descuento - Implementa la lógica de enrutamiento del modelo (claude/gemini/openai)
- Gestiona la corrección de
tool_choicecuando 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