Modelos y API keys
La página de Modelos (/space/models) es el centro de control del catálogo de modelos y tus claves BYOK. Tres pestañas: Catálogo de Modelos, API Keys y Proveedores, y Ajustes Globales.
¿Nuevo en el lado de IA? Lee primero Conceptos de IA desde cero — Tokens, La ventana de contexto, Parámetros de sampling y Razonamiento, que controlan las perillas de esta página.
Los conceptos detrás de los modelos
Sección titulada «Los conceptos detrás de los modelos»Esta página es donde se dirigen las mecánicas de IA subyacentes:
- La ventana de contexto (visible en el panel de detalle) es cuántos tokens puede leer un modelo en una sola petición. El precio es por token (input/output/caché). Una ventana mayor te deja meter más historial + memoria + documentos recuperados, pero cuesta más — por eso el catálogo muestra ambas cosas, y el ajuste
contextLimitcontrola cuánto se envía realmente. - Las perillas de sampling (temperatura, top-p, top-k, penalizaciones en Ajustes globales) deciden el azar/creatividad de la salida — la diferencia entre una respuesta seca y una creativa.
- La capacidad de reasoning (derivada por modelo,
deriveReasoningCapability) te dice si un modelo piensa antes de responder, ygetThinkingControlmapea tu nivel dethinkingal parámetro de esfuerzo de razonamiento del proveedor. Los modelos de reasoning gastan tokens extra pensando — más rápidos en problemas duros, más caros en latencia y coste de tokens.
El modelo mental completo está en Conceptos de IA desde cero.
Catálogo de modelos
Sección titulada «Catálogo de modelos»El catálogo está sincronizado con models.dev (src/lib/models-registry.ts) — un índice vivo de modelos y proveedores con precios, ventanas de contexto y fechas de lanzamiento, servido vía /api/models/catalog con paginación (limit / offset), filtro de proveedor, búsqueda de texto completo (q), filtros de reasoning/visión y ordenación (featured, name, context, price, release).
- Sidebar de proveedores — filtro por proveedor con conteos de modelos y conteos de reasoning por proveedor.
- Lista de modelos — búsqueda entre miles de modelos, alternar disponibilidad (usable en chat = tienes clave para ese proveedor) e insignias de reasoning/visión.
- Panel de detalle — specs completas: ventana de contexto, precio por millón de tokens (input/output/caché), fecha de lanzamiento, capacidad de reasoning (
deriveReasoningCapability) y control de thinking (getThinkingControl). - Scroll infinito — paginación “Cargar N más” con deduplicación.
Proveedores soportados
Sección titulada «Proveedores soportados»BYOK funciona con cualquier proveedor de src/lib/models.ts (PROVIDERS). La lista completa: OpenAI, Anthropic, Google Gemini, Groq, xAI (Grok), DeepSeek, Mistral, OpenRouter, Perplexity, Cerebras, Cohere, Azure, Mimo, Kimi (Moonshot), Z.AI, Qwen, más los motores locales Ollama y LM Studio y cualquier endpoint compatible con OpenAI. Cada proveedor requiere su propia API key excepto las integraciones gestionadas por la plataforma.
Principio de precios: SynthHires no revende acceso a modelos ni empaqueta tokens. La relación de facturación es entre tú y el proveedor; la plataforma es la superficie de orquestación. Ese es el contrato BYOK.
Detección de claves
Sección titulada «Detección de claves»detectProviderFromKey (en settings-panel.tsx) adivina el proveedor a partir del prefijo de la clave, y keyInputsFor renderiza el input correcto para cada proveedor (API key vs configuración de recurso Azure). Se proporcionan URLs de claves externas por proveedor (plataforma OpenAI, consola Anthropic, Google AI Studio, consola Groq, etc.).
El vault BYOK
Sección titulada «El vault BYOK»Todas las claves se guardan en el vault local cifrado:
- Almacenamiento:
synthhires-credentials(vault) +synthhires-credentials:mirror(espejo a prueba de crashes) enlocalStorage, mássynthhires-tokenspara tokens de servicios. - Cifrado: AES-256-GCM. La clave se deriva de un salt del dispositivo (
getOrCreateVaultSalt) y opcionalmente de un secreto del servidor (VAULT_KDF_SECRET) para blobs v2 endurecidos; los blobs v1 legacy siguen siendo legibles. - Sobres: los blobs v2 llevan prefijo
v2:; los intentos de descifrado caen entre versiones y secretos dev conocidos, y se auto-curan re-cifrando en el siguiente guardado si se usó un secreto obsoleto. - Cloud sync (opcional): opt-in por proveedor (
synthhires:vault:cloud-sync-opt-in) empuja la clave a/api/vault(vault_entriesen servidor). Solo migran los proveedores con opt-in; las claves nunca salen del dispositivo sin consentimiento explícito.
Sobres de handoff
Sección titulada «Sobres de handoff»Para cada request de chat, el cliente construye un sobre de handoff de un solo uso (buildVaultHandoff): la clave en texto plano se envuelve con el JWK público E2EE del servidor (/api/handoff-pubkey), se sella con expiración, y se envía a /api/chat. El servidor la desempaqueta solo durante esa request — tu clave nunca se almacena ni se registra en el servidor en texto plano.
Ajustes globales
Sección titulada «Ajustes globales»Los parámetros globales de inferencia se persisten en el cliente y aplican a todas las conversaciones:
| Ajuste | Clave | Por defecto |
|---|---|---|
| Instrucción de sistema | synthhires:systemInstruction |
You are a helpful AI assistant. Today is {local_date}, local time is {local_time}. |
| Streaming | synthhires:streamResponse |
true |
| Límite de contexto | synthhires:contextLimit |
all |
| Temperature | synthhires:globalParams |
0.7 |
| Max tokens | synthhires:globalParams |
vacío (por defecto del proveedor) |
| Top-P | synthhires:globalParams |
1 |
| Top-K | synthhires:globalParams |
0 |
| Penalti de presencia / frecuencia | synthhires:globalParams |
0 |
| Modelos habilitados | synthhires:enabledModels |
GPT-4o, Claude Sonnet 4, Gemini 2.5 Pro, Gemini 2.0 Flash, DeepSeek V4 Pro |
“Restablecer todo” restaura los valores por defecto con doble confirmación. Los overrides por conversación (modelo, proveedor, nivel de thinking) siguen teniendo precedencia sobre los globales.
Control de thinking y reasoning
Sección titulada «Control de thinking y reasoning»src/lib/thinking.ts deriva la capacidad de reasoning de un modelo (nunca / opcional / siempre) y calcula el parámetro de control de thinking correcto por proveedor — así un nivel de thinking high se mapea a la perilla de esfuerzo de razonamiento correcta estés en OpenAI, Anthropic, Gemini o DeepSeek.
Conceptualmente esto es abstracción de esfuerzo de razonamiento: cada proveedor llama a esta perilla de forma distinta (el reasoning_effort de OpenAI, el thinking de Gemini, el deep-think de DeepSeek), así que la plataforma normaliza tu elección off/low/medium/high al valor que espera cada proveedor — sin que te importe qué modelo o empresa hay al otro lado.