> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thaliq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Studio

> El centro de control del agente — construye conversando, prueba en vivo, valida en widget

> **Dile que necesitas. Tu agente se construye solo.**

El **Studio** es la forma principal de armar un agente en Thaliq. En lugar de navegar diez tabs y completar formularios, le hablas a un **meta-agente** y el configura el agente: prompt, tools, RAG, instrucciones, canales — todo desde lenguaje natural.

<Info>
  Cada agente tiene su propio Studio. Si tenes varios agentes (uno para soporte, otro para ventas), seleccionas el agente desde **Workspace > Agents** y entras a su Studio individual. El meta-agente solo edita ese agente.
</Info>

## Como acceder

1. Iniciar sesion en [thaliq.com/auth/login](https://thaliq.com/auth/login)
2. Ir a **Workspace > Agents**
3. Seleccionar el agente (por ejemplo "Landing")
4. Click en **Studio** en la cabecera del agente — o ir directo a `thaliq.com/studio/:agentId`

## Layout: split-panel

El Studio tiene dos paneles lado a lado:

```
+---------------------+--------------------------------------+
|                     |  [Probar agente]   [Widget Preview]  |
|  Agent Builder      |--------------------------------------|
|  (meta-agente)      |                                      |
|                     |   Chat directo con tu agente,        |
|  "Crea una tool     |   o preview del widget embebido      |
|   que consulte      |                                      |
|   el clima"         |                                      |
|                     |                                      |
|  [input]            |   [input]                            |
+---------------------+--------------------------------------+
```

## Panel izquierdo — Agent Builder

Es un chat con el **meta-agente**: un asistente de IA que te ayuda a configurar el agente que estas editando.

### Que le podes pedir

* **Crear HTTP tools** — *"Crea una tool que consulte el estado del pedido en mi API"*
* **Subir documentos** — *"Subi este PDF de FAQ al RAG del agente"*
* **Generar credenciales** — *"Necesito una API key para el widget de produccion"*
* **Ajustar el prompt** — *"Cambia el prompt para que sea mas formal y responda solo en espanol"*
* **Configurar instrucciones HITL** — *"Pidele consent al usuario antes de procesar su data personal"*
* **Activar canales** — *"Habilita Telegram para este agente"*
* **Consultar configuracion** — *"Que tools tiene habilitadas mi agente?"*

<Tip>
  Mientras mas contexto le des al meta-agente sobre tu negocio (industria, tono, limites legales, sistemas que tenes que conectar), mejor sale el agente sin que tengas que retocar a mano.
</Tip>

### Action Cards

Cuando el meta-agente quiere **ejecutar una accion** (crear una tool, subir un doc, generar una key), te muestra una **Action Card** con el detalle del cambio. Vos confirmas o rechazas. El meta-agente solo escribe en tu agente despues de tu OK.

Esto te da control total: nada se aplica por sorpresa.

## Panel derecho — tabs Probar agente / Widget Preview

### Probar agente

Chat directo con tu agente, igual que lo haria un usuario final. Mismo motor, mismas tools, mismas instrucciones, mismo modelo.

Util para:

* Verificar que el system prompt genera las respuestas que esperas
* Probar que las tools se ejecutan correctamente
* Validar flujos HITL (instrucciones interactivas)
* Comprobar el tono antes de exponerlo a usuarios reales

<Warning>
  Los cambios via Agent Builder aplican **inmediatamente** al agente. Lo que pruebas en *Probar agente* refleja la configuracion vigente en produccion.
</Warning>

#### Herramientas de debugging del test panel

| Herramienta                 | Que hace                                                                                                         |
| --------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| **RAG Context Viewer**      | Chip expandible en cada mensaje mostrando los chunks RAG que consulto, con fragmentos y score de relevancia      |
| **System Prompt Inspector** | Drawer con el prompt compilado por seccion (identidad, instrucciones, tools, RAG context) y estimacion de tokens |
| **Token & Cost Tracker**    | Barra expandible con modelo, tokens input/output, costo USD y duracion por mensaje y acumulado                   |
| **Quick Config Panel**      | Drawer con modelo, temperatura, max tokens, session timeout, welcome message — auto-save con debounce 500ms      |
| **Test History**            | Drawer con conversaciones previas del test panel (channel `studio`), retomar o limpiar                           |

Toolbar visible: `[clock] [settings] [code] [MCP tokens] [Limpiar]`.

#### Tokens MCP

Si el agente usa **MCP Servers que requieren autenticacion del usuario final** (token passthrough), podes configurar los tokens directamente desde el panel de prueba:

1. Click en **Tokens MCP** en la toolbar
2. Aparecen los MCP servers que tienen `requiresAuth: true`
3. Pega el token correspondiente para cada server
4. Los tokens se guardan en `localStorage` y se envian como header `X-MCP-Tokens` en cada mensaje

<Info>
  Los tokens MCP **nunca se almacenan en backend**. Viven solo en tu navegador y se hacen passthrough al MCP server correspondiente.
</Info>

### Widget Preview

Simulacion del widget embebido en un sitio web real:

* Fondo decorativo que imita un sitio (header, hero, cards, footer)
* Ventana del widget con el mismo estilo del runtime real (colores, bordes, launcher)
* Chat funcional — mismos mensajes y respuestas que en produccion

En mobile, el widget preview se adapta: ocupa toda la pantalla replicando el comportamiento real del widget en `≤480px`.

## Channel filtering — sin contaminar stats

Tanto el test panel como el Widget Preview envian `channel=studio` en cada request. Esto hace que sus conversaciones **no aparezcan en stats** ni en el [Inbox](/platform/inbox) — son sandbox puro.

## Flujo recomendado

<Steps>
  <Step title="Describe tu agente al meta-agente">
    "Quiero un agente de soporte para una tienda de zapatillas. Tono casual pero respetuoso, debe poder consultar stock por SKU, agendar devoluciones y pasar a humano si el cliente esta enojado."
  </Step>

  <Step title="Confirmar las Action Cards">
    El meta-agente te va a proponer crear las tools, subir el FAQ, ajustar el prompt. Vos das OK a cada una.
  </Step>

  <Step title="Probar en el panel derecho">
    Cambia a *Probar agente* y simula un cliente real. Si algo no esta bien, volvas al meta-agente y le pedis el ajuste.
  </Step>

  <Step title="Validar el widget">
    Cambia a *Widget Preview* para ver como se siente la experiencia en un sitio. Es la realidad de tus usuarios.
  </Step>

  <Step title="Iterar">
    Repeti hasta que estes conforme. Los cambios aplican al instante; no hay deploy manual.
  </Step>

  <Step title="Integrar">
    Pidele al meta-agente *"generame una API key para produccion"* y pega el [widget](/widget/installation) o el [SDK](/sdk/installation) en tu sitio.
  </Step>
</Steps>

## Mobile

En mobile el Studio se adapta:

* El **Agent Builder** se muestra como sidenav que se abre sobre el contenido
* El panel derecho ocupa la pantalla completa
* Boton de panel en la barra de tabs para abrir/cerrar el Agent Builder

## Limites

El Studio esta disponible en **todos los planes**. Lo que cambia es el modelo del meta-agente y las features que puede activar segun tu plan (RAG / MCP / A2A solo desde Growth+).

## Que sigue

<CardGroup cols={2}>
  <Card title="Configurar el agente" icon="sliders" href="/platform/agent-setup">
    Tabs disponibles, prompt, modelo, identidad.
  </Card>

  <Card title="Tools" icon="wrench" href="/platform/tools">
    HTTP, MCP, A2A, nativas.
  </Card>

  <Card title="Instrucciones" icon="list-check" href="/platform/instructions">
    Reglas + acciones interactivas (HITL).
  </Card>

  <Card title="Canales" icon="radio" href="/platform/channels">
    Widget, SDK, WhatsApp, Telegram.
  </Card>
</CardGroup>
