Ir al contenido

Asistente del workspace

import { Aside } from ‘@astrojs/starlight/components’;

El asistente del workspace es un chat en la página de inicio del workspace. Los miembros autenticados pueden preguntar sobre sus páginas, conectores y equipo — y (cuando está habilitado) ejecutar consultas de solo lectura contra conectores de warehouse.

Comparte un motor de agente con los bots de Telegram y Slack — misma selección de tools, flujo de confirmación y contrato de almacenamiento. Telegram y Slack ahora también tienen consultas a conectores y propuestas de schedules (no solo la web). El Home web está acotado a un workspace y un usuario autenticado.

Controlado por el feature flag ai.web_agent. Los workspaces Pro y Teams lo tienen activado por defecto. Los workspaces free ven un prompt de upgrade con link a billing en lugar del dock de chat. Los super-admins pueden seguir alternándolo por workspace vía la API de Features o la UI de admin.

Cuando está desactivado, el dock del agente en Home queda oculto y la API devuelve 404. Cuando está activo pero el crédito de IA mensual está agotado, las sesiones nuevas de chat devuelven HTTP 402 (AI_CREDIT_EXHAUSTED).

CapacidadNotas
OrientaciónLista páginas, conectores y cantidad de miembros
Búsqueda en el workspacesearch_workspace — búsqueda fuzzy rankeada en páginas, carpetas, datasets, conectores, personas, schedules, crew y alertas (mismo motor que ⌘K)
Crear páginascreate_artifact construye y publica una página nueva desde una descripción — requiere confirmación antes de publicar
Construir desde un archivoPasá source_file_id en create_artifact después de read_file — hojas de cálculo, decks y CSV se convierten en páginas vivas
Biblioteca de archivoslist_files / read_file — explorá uploads, adjuntos de chat, archivos por email y shares desde el teléfono; ves procedencia y artifacts previos hechos con el mismo archivo
Editar páginas existentesedit_page para cambios de texto/layout en una página que ya existe
Consultas de solo lecturaSELECT ad-hoc en conectores con consulta IA habilitada
Proponer schedulesSugiere un cron (ej. enviar una página por email) — requiere confirmación
Hilos nombrados (web)Drawer de historial estilo ChatGPT — crear, renombrar, eliminar hilos; título automático del primer mensaje
Widgets inline (web)Tarjetas ricas en el hilo (previews de artifacts, resultados de conectores) — no se envían a Telegram/Slack
HistorialÚltimos 20 turnos por hilo, almacenados en el servidor
Brief proactivo diarioUna vez por día al abrir Home — resumen corto con IA vía GET /v1/home/agent/brief
Present thispresent_artifact — generar un deck de slides desde una página publicada
Metric watchwatch_metric — watch de tabla de un clic (alertas de anomalía solo en campana)

Las acciones destructivas o de escritura siempre pasan por un paso de confirmación. El asistente no puede mutar data stores arbitrarios ni ejecutar SQL distinto de SELECT, pero sí puede publicar una página nueva después de que confirmes una propuesta create_artifact.

En el Home del workspace, la pastilla inferior Preguntale a tu workspace… abre una hoja de chat redimensionable (altura por defecto min(480px, 52vh)). Arrastrá el agarre superior para cambiar el tamaño; doble clic alterna altura completa del viewport. El panel incluye drawer de historial de hilos, texto en streaming y widgets inline. Las respuestas llegan por Server-Sent Events (SSE). Colapsá con Esc, el scrim o minimizar — el workspace queda visible detrás del overlay atenuado.

El modo respuesta de ⌘K es un camino aparte y más liviano: escribí una pregunta que termine en ? en la paleta de comandos para una respuesta de un turno con citas a páginas — sin hilo, sin herramientas, sin publish. Usá el dock cuando necesites chat multi-turno, adjuntar archivos o create_artifact.

Cuando tu navegador soporta grabación, aparece un botón de micrófono en el compositor. Tocá una vez para grabar, otra para detener. El audio se transcribe en el servidor (Whisper vía Workers AI — el mismo motor que el bot de Telegram) y cae en el cuadro de texto para que lo revises antes de enviar. Se aceptan clips de hasta unos 10 minutos; el navegador debe otorgar permiso de micrófono.

Un clip en el compositor sube un archivo a tu biblioteca de assets y lo adjunta al próximo mensaje. El asistente ve una referencia [Attached file: … — file id …] y puede llamar read_file para parsear hojas de cálculo (esquemas de hojas + filas de muestra), presentaciones (texto de slides) o texto plano antes de proponer create_artifact.

Si hacés Compartir → ShareOut desde otra app en el teléfono con la PWA de ShareOut instalada, Home abre con el archivo ya adjunto en el compositor — listo para pedir “convertí esto en un dashboard.”

Los archivos enviados por email al inbox del workspace ({slug}@inbox.shareout.site) también aparecen en list_files con etiqueta de origen emailed in. Cuando un nombre de archivo ya construyó un artifact, el asistente se orienta a actualizar esa página en lugar de crear un duplicado.

El streaming usa scroll reading-first (compartido con el agente del editor, el builder de creación y los widgets de chat para visitantes):

  • Después de enviar un mensaje, tu turno queda anclado cerca del tope mientras la respuesta se escribe abajo — la vista no salta salvo que ya estés en el borde vivo.
  • Si te alejás del borde o seleccionás texto, el contenido nuevo no te mueve; aparece un badge de no leídos y ir al final.
  • Búsqueda en el hilo filtra mensajes sin perder tu lugar.
  • Al reabrir un hilo guardado, retomás en tu último mensaje de usuario, no al fondo.

Las rutas acotadas a Home usan /v1/home/agent/…; las del workspace usan /v1/workspace/{workspaceId}/agent/… — mismas capacidades, distinta scope key.

Todas las rutas requieren sesión o bearer token y membresía en el workspace. El flag ai.web_agent debe estar activo.

MétodoEndpointPropósito
POST/v1/home/agent/chat o /v1/workspace/{id}/agent/chatEnviar mensaje; stream SSE. thread_id opcional.
POST…/agent/confirmAprobar acción pendiente ({ "token": "…" })
GET…/agent/briefBrief proactivo diario (solo Home)
GET…/agent/media/{token}Media adjunta a una respuesta
GET…/agent/threadsListar hilos nombrados (solo web)
POST…/agent/threadsCrear hilo ({ "title"?: "…" })
POST…/agent/threads/{id}/renameRenombrar ({ "title": "…" })
DELETE…/agent/threads/{id}Eliminar hilo y sus mensajes
POST…/agent/transcribe?seconds=Transcribir clip de voz (cuerpo de audio crudo) → { "text" }
POST /v1/workspace/{workspaceId}/agent/chat
Authorization: Bearer {token}
Content-Type: application/json
{ "text": "¿Qué conectores tenemos?" }

La respuesta es text/event-stream. Los eventos incluyen chunks de texto, indicadores de escritura y un evento final done.

POST /v1/workspace/{workspaceId}/agent/confirm
Authorization: Bearer {token}
Content-Type: application/json
{ "token": "pending-action-token" }
PATCH /v1/workspaces/{workspaceId}/connections/{connectionId}
Authorization: Bearer {token}
Content-Type: application/json
{ "agent_query_enabled": true }

Solo conectores de warehouse (Snowflake, BigQuery, Postgres, etc.) soportan consultas ad-hoc.