Glosario
Un vocabulario común para entender la documentación de SHARA, ordenado por bloques temáticos. Cada término enlaza, cuando aplica, con la guía donde se desarrolla a fondo. Si echas en falta algún concepto, escríbenos a soporte@aiginer.com.
El glosario está dividido en bloques: consumo y facturación, agentes y orquestación, modelos, seguridad y control, integración (API, webhooks, conectores) y operación (multi-tenant, auditoría, licencias). Los términos marcados con un enlace tienen una guía dedicada; el resto se define aquí de forma autocontenida.
Consumo y facturación
SHARA factura por consumo abstracto: nunca pagas «tokens de un proveedor», sino una unidad propia y estable. Esto desacopla tu factura del modelo concreto que se use por debajo y de los cambios de precio del mercado.
| Término | Definición |
|---|---|
| STU (SHARA Token Units) | La unidad única de consumo del cliente, independiente del modelo usado por debajo. Toda la actividad de los agentes (razonamiento, llamadas a herramientas, generación) se contabiliza en STU según una tabla de conversión interna. Pagas STU, no tokens de un proveedor concreto. Ver STU y cuotas. |
| Cuota | El volumen de STU incluido en tu plan cada ciclo mensual. Mientras consumes dentro de la cuota no hay cargos adicionales. La cuota se renueva al inicio de cada periodo de facturación. |
| Excedente | Los STU consumidos por encima de la cuota mensual. Se facturan a una tarifa fija y previsible según el plan, sin saltos de precio sorpresa. Si no quieres excedentes, el kill-switch corta antes de superar el límite que configures. |
| Rollover | Traslado de STU no consumidos al mes siguiente. Tiene un techo del 20 % de la cuota mensual y los STU trasladados caducan a los 2 meses. Disponible solo en planes cloud; en el Plan Local el modelo de consumo es distinto. |
| Power-mode / low-spending | Modo de ahorro automático fuera de tu horario operativo: hace *downgrade* del alias de modelo por defecto para no disparar coste cuando nadie está trabajando. Se configura por franjas horarias. |
| Self-paying / auto-paying API | El mecanismo por el que SHARA paga el uso de los modelos por ti y te lo presenta consolidado en STU. Tú no gestionas claves de proveedores ni saldos externos: SHARA absorbe esa complejidad y te factura una sola línea previsible. |
Regla mental: cuota es lo que ya pagaste, excedente es lo que pagas de más si te pasas, y rollover es lo que rescatas de un mes flojo. El kill-switch es el freno que evita sorpresas.
Agentes y orquestación
SHARA no es un único chatbot: es un equipo de agentes especializados coordinados por un orquestador. El cliente habla con uno solo; el resto trabaja en segundo plano. Ver Agentes y Arquitectura.
| Término | Definición |
|---|---|
| Amadeus / orquestador | El único agente que habla con el CEO (el usuario humano). Recibe la petición, decide qué especialistas intervienen, los coordina en segundo plano y consolida una sola respuesta. Es el punto de entrada y de salida de toda conversación. |
| Agente departamental | Cada uno de los 20 especialistas (Carlzon, Carnegie, Graham…) que cubre un área de la empresa (ventas, soporte, finanzas, legal, etc.). Trabaja bajo las órdenes de Amadeus y nunca habla directamente con el usuario. Ver Agentes. |
| escalate_to_amadeus | La herramienta de escalado: cuando un agente departamental detecta que una petición excede su ámbito, requiere coordinar con otro departamento o necesita una decisión de nivel superior, la devuelve a Amadeus para que reorqueste. Es el mecanismo que mantiene el control centralizado. |
| Run | Una ejecución individual de un agente: una llamada con su entrada, su contexto, las herramientas que invoca y su salida. Cada run se contabiliza en STU y queda registrado en el audit log. Una conversación del usuario puede generar varios runs encadenados. |
| IDENTITY.md | La identidad corporativa (tono, valores, reglas de marca, do/don’t) que se inyecta en cada interacción de cada agente. Evoluciona vía PATCH incremental —se añaden o ajustan reglas— y nunca por reemplazo total, para no perder el histórico de criterio acumulado. |
| Aprobaciones (approvals) | La bandeja de aprobaciones humanas. Toda acción con efectos relevantes (enviar un correo, ejecutar una automatización, modificar datos externos) queda pendiente de tu visto bueno antes de ejecutarse. Las aprobaciones tienen caducidad: si no se deciden a tiempo, expiran y la acción se aborta. Ver Seguridad. |
Modelos (alias) y sin lock-in
SHARA nunca expone el proveedor real de un modelo. Trabaja con alias estables que abstraen la potencia y el coste, de modo que podemos cambiar de proveedor por debajo sin que tu integración ni tu factura se enteren. Ver Sin lock-in.
| Alias | Para qué sirve |
|---|---|
| Prelude | Nivel ligero y económico. Tareas rápidas, clasificación, extracciones simples, respuestas cortas. El más barato en STU. |
| Sonata | Nivel equilibrado. El caballo de batalla para la mayoría de tareas de oficina: redacción, resúmenes, atención estándar. |
| Symphony | Nivel alto. Razonamiento complejo, análisis multi-paso, tareas que requieren más contexto y precisión. |
| Concerto | Nivel máximo. Reservado para los casos más exigentes; mayor coste en STU, usado con criterio por Amadeus. |
| Término | Definición |
|---|---|
| Alias de modelo | El nombre público de un modelo (Prelude, Sonata, Symphony, Concerto). Oculta al proveedor real, evita el *lock-in* y permite que SHARA optimice coste/calidad sin romper tu flujo. Tú no eliges el proveedor; eliges (o dejas a Amadeus elegir) el alias adecuado a la tarea. |
| Tier de modelo | El nivel de alias que se usa en un run concreto. Lo decide Amadeus según la complejidad de la tarea, no el cliente; el cliente puede fijar techos o preferencias, pero la asignación fina es automática. |
| Sin lock-in | La garantía de que no quedas atado a un proveedor. Como solo ves alias, SHARA puede sustituir el motor subyacente por uno mejor o más barato sin que cambie nada en tu lado. Ver Sin lock-in. |
Seguridad y control de gasto
El control no es opcional: SHARA está diseñado para que nunca se ejecute algo importante sin supervisión ni se dispare el gasto sin un freno. Ver Seguridad.
| Término | Definición |
|---|---|
| Kill-switch | Corte de gasto automático y multinivel: por run, por hora y por día. Si una ejecución (o una cadena de ellas) se desboca y supera el límite que configuraste, SHARA frena en seco antes de seguir consumiendo STU. Es tu seguro contra bucles y cargas inesperadas. |
| Audit log (registro de auditoría) | El registro inmutable y append-only de cada run: entrada, agente, alias usado, herramientas invocadas, salida y coste en STU. Encadena un hash entre registros (estilo cadena) para que cualquier manipulación del histórico sea detectable. Es la base de la trazabilidad y el cumplimiento. |
| Aprobaciones (approvals) | Ver bloque «Agentes y orquestación». A efectos de control: ninguna acción de efecto externo se ejecuta sin pasar por la bandeja; las pendientes expiran si no se deciden, y la expiración queda registrada. |
| DPA | Acuerdo de Tratamiento de Datos (*Data Processing Agreement*). Sin DPA aceptado, los agentes no procesan datos personales. Es el contrato que regula cómo SHARA trata los datos en nombre de tu organización. Ver Seguridad. |
Integración: API pública
La API pública es la superficie que usa un desarrollador externo para integrar SHARA con sus sistemas. Se autentica con API key y aplica límites de uso. Ver API y Conectores.
| Término | Definición |
|---|---|
| API key | La credencial que autentica tus llamadas a la API de SHARA. Se emite por workspace, se envía en la cabecera Authorization, puede revocarse y rotarse, y nunca debe exponerse en código cliente ni en repositorios. Cada key cuelga de un tenant y respeta sus límites de rate-limit. |
| Rate-limit | El límite de peticiones por unidad de tiempo (RPM) que protege el servicio. Si lo superas, la API responde 429 Too Many Requests. En webhooks entrantes el límite se aplica por IP y es configurable por webhook (por defecto 60 RPM). |
| Idempotencia | La garantía de que reenviar la misma petición no la duplica. Identificas el evento con un id único (p. ej. X-SHARA-Event-Id); si SHARA ya lo procesó, devuelve el resultado anterior en lugar de ejecutar de nuevo. Esencial para reintentos seguros tras un timeout. |
# Ejemplo de llamada autenticada con API key (cabecera Authorization)
curl -X POST https://api.shara.aiginer.com/v1/messages \
-H "Authorization: Bearer sk_live_TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": "Resume el último ticket de soporte y propón respuesta.",
"idempotency_key": "req_2026-06-16_001"
}' Integración: webhooks entrantes firmados
SHARA expone webhooks entrantes firmados: un sistema externo (tu CRM, un formulario, n8n…) firma un evento y lo POSTea a SHARA, que verifica la firma y se lo entrega al agente configurado. No existen webhooks salientes por suscripción de eventos: el modelo es externo → SHARA, no al revés.
| Término | Definición |
|---|---|
| Webhook (entrante) | Un *endpoint* HTTP de SHARA al que un sistema externo envía eventos. Cada webhook tiene un slug propio que lo identifica y enruta el evento al agente correcto. Se crea desde el panel del workspace y se autentica solo por firma HMAC (no usa JWT ni cookie). |
| Firma HMAC | El sello criptográfico que prueba que el evento viene de quien dice y no se ha alterado. SHARA calcula HMAC-SHA256 (o SHA512) sobre el cuerpo crudo en bytes con un secreto por tenant, y compara en tiempo constante (timingSafeEqual). Si no hay secreto configurado, rechaza todo (*fail-closed*). |
| Ventana anti-replay | El intervalo de tiempo en que una firma es válida: ±300 segundos, con tolerancia de desfase de reloj (*clock skew*) de 60 s. La cabecera de timestamp evita que alguien reutilice una petición capturada (*replay*). Se valida antes del HMAC para no malgastar CPU ni dar pistas de *timing*. |
| Secreto por tenant | Cada webhook tiene su propio secreto de firma, cifrado en reposo y usado solo en el momento de verificar. No hay un secreto global compartido entre clientes: el aislamiento es por tenant. |
El endpoint público y sus cabeceras canónicas:
POST /webhooks/inbound/{slug}
Content-Type: application/json
X-SHARA-Signature: <hmac-hex> # firma del cuerpo crudo (HMAC-SHA256 por defecto)
X-SHARA-Timestamp: <unix-seconds> # anti-replay (±300 s); obligatoria si el webhook la declara
X-SHARA-Event-Id: <id-único> # idempotencia (también se aceptan X-Event-Id, X-Request-Id…) Ejemplo de cuerpo (lo defines tú; SHARA lo verifica, lo audita y lo entrega al agente):
{
"event": "lead.created",
"id": "evt_9f2c1ab7",
"occurred_at": "2026-06-16T09:30:00Z",
"contact": {
"name": "Marta Ruiz",
"email": "marta@example.com",
"phone": "+34600111222",
"company": "Example SL"
},
"source": "landing-form"
} Respuesta correcta (200) y variante idempotente cuando reenvías el mismo X-SHARA-Event-Id:
// 200 — evento aceptado y encolado para el agente
{ "ok": true, "code": "ok", "eventId": "8b1d…-uuid", "runId": "run_…-uuid" }
// 200 — duplicado: SHARA ya lo procesó, no ejecuta de nuevo
{ "ok": true, "code": "duplicate", "eventId": "8b1d…-uuid" } Errores posibles (sin filtrar internals):
| HTTP | error | Causa |
|---|---|---|
| 400 | payload_invalid / invalid_body | JSON inválido o la plantilla de destino no renderiza. |
| 401 | signature_invalid | Firma ausente o incorrecta, esquema no soportado, o timestamp fuera de ventana/ausente. |
| 404 | webhook_not_found / webhook_unavailable | Slug inexistente, pausado o revocado. |
| 413 | payload_too_large | Cuerpo mayor de 1 MB (límite por defecto). |
| 429 | rate_limited | Excedido el rate-limit por IP (RPM configurable por webhook). |
Cómo firmar desde el lado emisor (Node). El HMAC se calcula sobre el cuerpo crudo exacto que vas a enviar, no sobre un JSON re-serializado:
import { createHmac } from 'node:crypto';
const secret = process.env.SHARA_WEBHOOK_SECRET; // secreto por tenant, nunca en el cliente
const rawBody = JSON.stringify(payload); // los MISMOS bytes que envías
const timestamp = Math.floor(Date.now() / 1000); // unix-seconds, para anti-replay
const signature = createHmac('sha256', secret)
.update(rawBody)
.digest('hex'); // hex en minúsculas, 64 chars
await fetch('https://api.shara.aiginer.com/webhooks/inbound/mi-slug', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-SHARA-Signature': signature,
'X-SHARA-Timestamp': String(timestamp),
'X-SHARA-Event-Id': payload.id, // idempotencia
},
body: rawBody,
}); Reintentos: SHARA no reintenta la entrada; responde síncrono. Si recibes un5xxo un *timeout*, reintenta tú reusando el mismoX-SHARA-Event-Id: la idempotencia garantiza que no se duplique la ejecución.
Integración: conectores
| Término | Definición |
|---|---|
| Conector | Una vía concreta para conectar SHARA con tus sistemas: Desktop Agent, Server Agent, webhooks entrantes y MCP gateway. Cada conector trae sus propias garantías de autenticación y aislamiento. Ver Conectores. |
| Conector universal | El planteamiento global: SHARA ofrece una vía genérica para integrar prácticamente cualquier sistema sin desarrollo a medida, combinando los conectores anteriores. La idea es que «si tiene una API o un webhook, se puede conectar». |
Operación: multi-tenant y licencias
| Término | Definición |
|---|---|
| Tenant (multi-tenant) | Tu organización cliente. SHARA es multi-tenant: una sola plataforma sirve a muchos clientes con aislamiento estricto de datos en varias capas (a nivel de base de datos y de aplicación). Los datos, secretos de webhook, API keys y consumo de STU de un tenant nunca se cruzan con los de otro. |
| Licensing service (Ed25519, grace 30 días) | El servicio que valida la licencia de despliegues que no están permanentemente online (sobre todo el Plan Local). Las licencias se firman con Ed25519 (firma de curva elíptica, verificable sin contactar al servidor) y disponen de un periodo de gracia de 30 días: si la instalación pierde conectividad con el servicio de licencias, sigue operando hasta 30 días antes de requerir revalidación. |
| Plan Local / on-premise | El despliegue de SHARA en tu propia infraestructura (servidores propios o nube privada), en lugar del cloud gestionado. Pensado para quien necesita que los datos no salgan de su perímetro. Su modelo de consumo y licenciamiento difiere del cloud (ver Licensing service y Plan Local). |
¿Buscas un concepto más a fondo? Empieza por Arquitectura, STU y cuotas, API, Conectores o Seguridad.