Saltar al contenido

Integración con IA

Elija una familia de modelos de HopBase y entregue su contrato de integración específico a un agente de codificación.

Elija primero la familia de modelos y luego entregue el contrato de la pestaña activa a Codex, Claude Code, Cursor u otro agente de codificación. Cada contrato incluye solo la clave, el protocolo y los endpoints requeridos para esa familia.

Elija la pestaña de modelo correspondiente

CapacidadPestañaClave de plan
Claude API o Claude CodeClaudeClave de grupo Claude
GPT chat o Codex ResponsesGPT / CodexClave con el grupo Codex Plus, Codex Pro o GPT oficial directo (Azure): estos grupos son solo de chat; para imágenes, añada el grupo GPT Image
Generación con GPT ImageGPT / CodexClave del grupo GPT Image: el único grupo que sirve gpt-image-*
Gemini chat, Omni o imágenes BananaGeminiClave de grupo Gemini
GLM chat o GLM a través de CC SwitchGLMClave de grupo GLM
Generación o edición de imágenes SeedreamSeedreamClave de grupo Seedream
Generación de video SeedanceSeedanceClave de grupo Seedance
Generación de video MiniMax H3MiniMax H3Clave de grupo MiniMax H3 — H3 y H3-Max son dos grupos separados, así que una clave de H3 no llega a H3-Max
Video, imagen, control de movimiento, avatar o sincronización labial de KlingKlingClave de grupo Kling
Generación de video con Wan 3.0 o HappyHorseWan / HappyHorseClave de grupo Wan 3.0 o clave de grupo HappyHorse: son dos grupos distintos en la consola; una sola clave puede incluir ambos
Chat, imagen o video de GrokGrokClave de grupo Grok; el video usa el grupo Grok de video aparte
Chat de Qwen, con entrada de imagen o videoQwenClave de grupo Qwen
Chat o razonamiento con DeepSeek V4DeepSeek V4Clave de grupo DeepSeek
Chat con Kimi K3Kimi K3Clave de grupo Kimi K3
Generación de imágenes MidjourneyMidjourneyClave del grupo de generación de imágenes Midjourney
Síntesis de voz o clonación de vozMiniMax SpeechClave del grupo MiniMax Speech
Use una clave de plan por familia de modelos.

En un proyecto multimodelo, use la variable dedicada indicada en el contrato activo, como HOPBASE_CLAUDE_API_KEY o HOPBASE_GEMINI_API_KEY. Un proyecto de un solo modelo puede seguir usando HOPBASE_API_KEY. Nunca pegue una clave real en una conversación con IA ni la coloque en código fuente, commits, capturas de pantalla o registros.

Nombres exactos de los grupos en la consola.

Para el nombre exacto del grupo de cada fila, consulte Inicio rápido: Cómo elegir el grupo. El grupo Claude Max (ccmax) solo funciona dentro del cliente Claude Code; para un proyecto con SDK o API, elija otro grupo Claude.

Anthropic Messages y Claude Code con una clave de la familia Claude
Integre únicamente los modelos Claude a través de HopBase en el proyecto actual. Siga este contrato al pie de la letra; si difiere de la documentación de la API del fabricante, prevalece este contrato.

Alcance
- Implemente solo la API de Claude (Anthropic Messages) o Claude Code. No agregue, configure ni pruebe ninguna otra familia de modelos.
- Conserve el framework, los SDK y el estilo de código existentes; haga el cambio mínimo que funcione.
- Determine primero si se trata de una herramienta local de un solo usuario, un servicio interno o una aplicación que atiende a clientes o inquilinos externos; eso decide dónde va la clave y la arquitectura.

Clave
- Use únicamente una clave de la familia Claude. Cada clave está vinculada a un grupo de la consola y solo llega a los modelos de ese grupo:
  - SDK, HTTP, editores y Claude Code: "Claude Max (oficial, cuota completa)" o "Claude Max (oficial, cuota completa) - Oferta limitada".
  - "Claude Max (ccmax)" solo funciona dentro del cliente Claude Code; las llamadas por SDK o HTTP con esa clave fallan.
- En un proyecto con varios modelos, lea HOPBASE_CLAUDE_API_KEY o el gestor de secretos existente; reutilice HOPBASE_API_KEY solo en un proyecto explícitamente de un solo modelo.
- No cree claves, no lea la clave de otra familia ni me pida pegar una clave real en la conversación. Si falta la clave, deténgase y pídame crear una clave del grupo correcto en Claves API de la consola y configurarla localmente o en el gestor de secretos.

Modelos
- Llame primero a GET https://api.hop-base.com/v1/models con esta clave y use solo los IDs que comienzan con claude- de la respuesta, copiado tal cual.
- A la venta: claude-fable-5-1, claude-sonnet-5, claude-sonnet-5-5, claude-opus-5-5, claude-fable-5, claude-opus-5, claude-opus-4-8, claude-opus-4-7, claude-opus-4-6, claude-sonnet-4-6, claude-haiku-4-5-20251001.
- 404 model_not_found significa que el ID no está en el grupo de esta clave: vuelva a consultar /v1/models y use un ID devuelto. Nunca adivine, acorte ni reescriba un nombre de modelo.

Conexión
- Base URL https://api.hop-base.com sin /v1 (el SDK agrega /v1/messages). Una Base URL terminada en /v1 produce /v1/v1/messages y un 404.
- Autenticación: la opción api_key del SDK, o la cabecera x-api-key en HTTP directo. Conserve la autenticación nativa del SDK.
- Endpoints: POST /v1/messages y POST /v1/messages/count_tokens. Las rutas OpenAI (/v1/chat/completions, /v1/responses) devuelven 404 con una clave Claude; nunca convierta llamadas Messages en Chat Completions.
- Claude Code: ANTHROPIC_BASE_URL=https://api.hop-base.com y ANTHROPIC_AUTH_TOKEN=<clave Claude>. La configuración en un clic escribe ambas en el bloque env de ~/.claude/settings.json, que prevalece sobre las variables del shell.

Reglas de la solicitud
- Envíe siempre max_tokens. Si falta, se completa con 4096 y la salida larga se corta con stop_reason "max_tokens".
- claude-opus-5-5: el razonamiento está siempre activo — thinking {"type":"disabled"} o budget_tokens devuelve 400; regule la profundidad con output_config.effort (por defecto medium). tool_choice any / tool devuelve 400 (use auto). No admite prefill del asistente.
- Devuelva los bloques thinking anteriores exactamente como llegaron, con su signature. Reescribirlos, fusionarlos o reutilizarlos entre modelos devuelve 400 "Invalid signature in thinking block".
- Las llamadas sin streaming tienen un tope de 300 s (luego 504). Use streaming para salidas largas y transmita el SSE de Anthropic sin cambios; las llamadas count_tokens también consumen concurrencia.

Errores y reintentos
- Ramifique por el estado HTTP y error.code, nunca por el texto de message. Registre la cabecera de respuesta x-request-id para soporte.
- Reintente con espera creciente (2 s, 5 s, 15 s; máximo 3 intentos; respete Retry-After): 429, 502, 503, 504 y flujos interrumpidos.
- No reintente sin cambios: 400, 401, 402, 403, 404, 413, 422. Corrija antes la solicitud, la clave, el grupo o el saldo.
- Los errores con forma Anthropic no tienen campo code. Los errores de clave (401, 402, 403) usan la forma OpenAI {"error":{"code":…}} incluso en /v1/messages.
- 404 "This API path is not supported by the current platform" = protocolo equivocado o un /v1 de más en la Base URL. Corrija la configuración; no reintente.
- Si un stream ya iniciado falla, llega una línea event: error con HTTP 200; trátela en el bucle de lectura y reenvíe la solicitud completa.

Implementación
- Coloque la Base URL, el nombre de la variable de la clave y el modelo predeterminado en el sistema de configuración existente. Actualice .env.example sin una clave real.
- Las llamadas para clientes externos o multiinquilino deben mantener la clave en el servidor, reutilizar la autenticación de quien llama y agregar una lista de modelos permitidos, límites de solicitud, tiempos de espera, limitación de tasa, atribución de consumo y registros con datos sensibles ocultos. Una herramienta local de un solo usuario no necesita esa capa.
- Una cuenta ejecuta 5 solicitudes simultáneas por defecto; por encima, la solicitud se rechaza de inmediato con 429 y Retry-After: 1, sin cola. Limite la concurrencia en el cliente.

Validación y entrega
- Tras configurar, envíe una solicitud real mínima. Agregue una prueba de streaming solo si el proyecto realmente usa streaming.
- Envíe una solicitud Messages con max_tokens 1024 pidiendo a un modelo claude- devuelto que responda "ok", y verifique content[0].text.
- Informe los archivos modificados, el nombre de la variable de la clave, el ID de modelo, el endpoint, el estado HTTP y un resumen de la respuesta con datos sensibles ocultos, junto con los comandos de inicio, verificación y reversión.

Descargue un archivo de reglas para su agente de programación

Marque todas las familias de modelos que usa este proyecto. El archivo combina sus contratos: las reglas comunes una sola vez y luego una sección por familia, con enlaces a la documentación en vivo y al servidor MCP. Con más de tres familias, cada sección conserva las reglas de clave, modelo y conexión, y enlaza a las reglas completas.

Familias de modelos
Guardar como AGENTS.md
Guardar como .cursor/rules/hopbase.mdc
Guardar como .claude/skills/hopbase-api/SKILL.md

Cambiar de pestaña actualiza tanto el contrato como la acción de copiar. El agente debe descubrir los modelos usando únicamente la clave de la familia seleccionada y elegir un ID de esa respuesta, evitando errores de clave entre planes.

Para conservar las reglas en el repositorio, marque en el panel bajo el contrato todas las familias que usa el proyecto y descárguelas combinadas como AGENTS.md, una regla de Cursor (.cursor/rules/hopbase.mdc) o un skill de Claude Code (.claude/skills/hopbase-api/SKILL.md). Las reglas comunes aparecen una sola vez, seguidas de una sección por familia y de enlaces a la documentación en vivo y al servidor MCP descrito abajo. Confirme el archivo en el repositorio para que cada sesión del agente parta de las mismas reglas, y vuelva a descargarlo cuando cambien los modelos o los parámetros.

Cómo se maneja el uso posterior

Contexto del proyectoArquitectura esperada
Herramienta local de un solo usuarioUse variables de entorno y el SDK correspondiente; no añada un servicio proxy
Servicio internoMantenga la clave en el servidor y conserve la autenticación, los límites y el manejo de errores existentes
Servicio orientado al cliente o multiinquilinoAñada aislamiento de claves, autenticación del emisor, una lista blanca de modelos, límites de tasa, atribución de consumo, SSE sin buffer y registros con datos ocultos

El contrato añade controles de gateway solo cuando la aplicación actúa en nombre de usuarios posteriores. No convierte una integración local en una capa de servicio innecesaria.

Servidor MCP

Un agente de programación también puede consultar HopBase en vivo mediante MCP, sin depender solo de un archivo guardado. El servidor es de solo lectura y usa la misma clave API que sus solicitudes. Las llamadas a modelos siguen yendo a los endpoints habituales de la API.

ElementoValor
Endpointhttps://api.hop-base.com/mcp (Streamable HTTP, solo POST; sin flujo SSE ni solicitudes por lotes)
AutenticaciónAuthorization: Bearer <clave> o x-api-key: <clave>
AlcanceLos resultados cubren solo la clave usada: sus grupos, sus modelos y su consumo
HerramientaDevuelve
list_modelsLos modelos que esta clave puede llamar, con su precio efectivo
get_model_limitsPara un ID de modelo: si esta clave puede llamarlo, además de los endpoints, parámetros de solicitud y límites documentados, con enlaces a las páginas de origen
search_docsLas secciones de la documentación que mejor coinciden con una consulta (ID de modelo, nombre de parámetro, código de error), cada una con URL y fragmento
get_balanceSaldo de la cuenta y uso del límite de gasto de esta clave, en USD
get_key_infoNombre de la clave, grupo, límite de gasto, límite de concurrencia, vencimiento y estado
get_usageSolicitudes, tokens y costo facturado de esta clave; por defecto los últimos 7 días, hasta 92 días

get_model_limits y search_docs leen la documentación publicada y se actualizan como máximo una vez por hora. La página enlazada es la referencia: que un límite no aparezca en el resultado no significa que no exista.

Claude Code

claude mcp add --transport http hopbase https://api.hop-base.com/mcp \
  --header "Authorization: Bearer $HOPBASE_API_KEY"

El shell expande la variable al ejecutar el comando, así que la clave queda guardada en la configuración local de Claude Code. Para una configuración de proyecto compartida, agregue el servidor en .mcp.json y escriba la cabecera como "Authorization": "Bearer ${HOPBASE_API_KEY}"; Claude Code la expande al iniciar y el archivo no contiene la clave.

Cursor

Agregue el servidor en .cursor/mcp.json del proyecto, o en ~/.cursor/mcp.json para todos los proyectos:

{
  "mcpServers": {
    "hopbase": {
      "url": "https://api.hop-base.com/mcp",
      "headers": { "Authorization": "Bearer ${env:HOPBASE_API_KEY}" }
    }
  }
}
La clave decide lo que ve MCP.

list_models y get_model_limits solo ven los grupos de la clave configurada. Para consultar otra familia de modelos, añada su grupo a la clave o registre una segunda entrada de servidor con una clave que lo incluya.

Próximos pasos