Saltar al contenido
BeeuniBeeuni
Español
Esc
↑↓navegar↵abrir⌘Jvista previa
En esta página

Sesiones

Una sesión es una rama de git y un entorno aislado donde trabaja el agente.

Una sesión es una unidad de trabajo del agente. Beeuni crea una rama de git y prepara un entorno aislado para ella. El ID de sesión, el nombre de la rama y el ID del entorno aislado son el mismo valor.

Estado

En la práctica, una sesión puede alcanzar 4 estados.

Estado Significado
provisioning Beeuni crea la rama y solicita el entorno aislado.
running El entorno aislado está activo y se puede acceder a él.
stopped La sesión está pausada, por ti o por la detención automática por inactividad.
failed No se pudo aprovisionar.

La base de datos define 3 valores más (queued, branching, completed). Actualmente, Beeuni no los escribe para una sesión.

Detener, reanudar y detener automáticamente por inactividad

Puedes detener una sesión. Al reanudarla, vuelve el mismo entorno aislado con el mismo sistema de archivos y la misma identidad de ejecución. Solo se reinician los procesos en ejecución y la memoria. La conversación de harness estándar sigue vinculada a la sesión.

Beeuni también detiene las sesiones inactivas por ti:

  • Tras 15 minutos de inactividad, en una sesión normal o una ejecución de activador.
  • Tras 2 minutos de inactividad, en una sesión de trabajo iniciada por otra sesión.

Un turno activo del agente impide la detención. La tarea de mantenimiento se ejecuta cada 5 minutos. Por eso, una detención automática normal se produce aproximadamente entre 15 y 20 minutos después del último turno en la terminal.

Un turno que espera a una persona no realiza trabajo: el agente hizo una pregunta o pide permiso para ejecutar una herramienta. Ese turno mantiene el equipo activo durante un máximo de 2 horas desde que Beeuni detecta por primera vez la espera. En una ejecución de activador o de programación, nadie recibe la solicitud y el límite es de 30 minutos. Después, Beeuni termina el turno y detiene el equipo. Envía un mensaje para continuar. Una llamada al modelo o tener abierta la página de la sesión cuenta como actividad y prolonga el tiempo del equipo, como de costumbre.

La página de una sesión que estés usando la mantiene activa. Cuenta como en uso mientras la pestaña esté visible y hayas hecho clic, escrito, desplazado la página o interactuado con ella en los últimos 10 minutos, y solo si puedes iniciar sesiones en el proyecto. Una pestaña abierta sin interacción deja de contar al cabo de 10 minutos, por lo que la sesión se detiene aproximadamente entre 15 y 20 minutos después. La pestaña abierta de un usuario con acceso de solo lectura nunca la mantiene activa. Usar la página por sí solo mantiene activa una sesión durante un máximo de 2 horas después del último turno del agente; un mensaje nuevo inicia un turno y reinicia ese límite.

Qué conservan la detención y la eliminación

Detener y reanudar conservan la identidad y el sistema de archivos del entorno aislado. Eliminar destruye el entorno aislado. Git es el único registro duradero: el trabajo que el agente confirma y envía se conserva; todo lo demás se pierde.

Etiquetas

Una etiqueta clasifica una sesión: bug, customer: eu, worker. Abre el menú ⋯ de una sesión y elige Edit labels. El filtro Labels de la lista de sesiones muestra solo las sesiones que tienen todas las etiquetas que selecciones. Las etiquetas son texto libre, de 1 a 64 caracteres, con un máximo de 20 por sesión.

Los agentes y los scripts también pueden establecer etiquetas: beeuni sessions new --label worker, beeuni sessions update --label needs-review (dentro de una sesión, sin un ID, etiqueta esa sesión) o labels en la API y el SDK. Una sesión también tiene un objeto metadata de texto libre para tus propias claves. Consulta SDK sessions.

Entorno de ejecución

Una sesión ejecuta un entorno, harness estándar o harness experimental. Consulta Entornos. Beeuni guarda el agente y el modelo seleccionados cuando se inicia la sesión. Una sesión en ejecución conserva su entorno hasta que se reinicia o reanuda.

Acceso a la sesión

Una sesión es privada para quien la creó. El propietario abre Session access y elige una de 3 opciones.

Opción Quién puede abrir la sesión
Only you Solo el propietario. Es la opción predeterminada.
Specific people El propietario, además de los miembros y grupos que elija.
Whole project Todos los miembros del proyecto.

Todas las personas con acceso pueden leer la conversación y continuarla.

Una sesión compartida utiliza claves compartidas. Una vez compartida, una sesión utiliza solo las claves de proveedor compartidas con todo el proyecto, nunca las claves personales ni la conexión de ChatGPT de alguien. Si el modelo se ejecutaba con tus propias claves, al compartirlo pasa a utilizar las claves del proyecto para ese proveedor. Si el proyecto no comparte ninguna clave que permita ejecutar el modelo, no se puede compartir y la sesión sigue siendo privada. Consulta Claves de proveedor y acceso de miembros.

Solo el propietario puede cambiar esta opción. Un administrador del proyecto que no haya creado la sesión puede abrirla si se comparte con él y puede detenerla, reiniciarla o eliminarla. No puede cambiar quién más puede abrirla. Compartir una sesión con un administrador no significa cederle la lista de acceso.

Hay un tipo de sesión sin propietario humano: las que crea un activador, que se ejecutan con la identidad del agente del activador. Los administradores del proyecto las administran. Establece la política para todas ellas en el propio activador, en Session access. Al guardar, también se actualizan las sesiones que el activador ya haya creado.

Los administradores pueden abrir todas las sesiones

El propietario de la cuenta puede permitir que los propietarios y administradores de la cuenta abran todas las sesiones de la cuenta, incluidas las que los miembros mantienen privadas. Activa la opción en Account → Settings → Security → Admins can open every session. Está desactivada de forma predeterminada.

  • Solo el propietario de la cuenta puede cambiarla. Los administradores ven el interruptor, pero no pueden activarlo ni desactivarlo, así que ningún administrador puede concederse acceso al trabajo de todos.
  • Los administradores encuentran estas sesiones en la página Sessions del proyecto. La barra lateral sigue mostrando solo las sesiones que hayas iniciado o que se hayan compartido contigo.
  • El acceso es completo. Un administrador puede abrir y leer la sesión, y continuarla, igual que si se compartiera con todo el proyecto.
  • Los miembros pueden verlo. Mientras esté activada, el cuadro de diálogo Session access indica que los propietarios y administradores pueden abrir todas las sesiones.
  • Todo queda registrado. Cada cambio se registra como iam.session_oversight.enable o iam.session_oversight.disable, y cada sesión que abre un administrador mediante esta opción se registra como project.admin_oversight_session_read (como máximo una vez por administrador y sesión cada hora).
  • Los tokens del agente y del entorno aislado nunca obtienen este acceso, aunque los haya iniciado un administrador.

Buscar una sesión por propietario o acceso

La página Sessions del proyecto muestra el propietario y el acceso en la fila de cada sesión: el avatar y el nombre del propietario (You en tus propias sesiones), seguidos de un icono que indica quién puede abrirla: un candado para Only the owner, personas para Specific people y un globo terráqueo para Whole project.

Abre Filter en la página Sessions para acotar la lista:

  • Owner — una entrada por persona, con un recuento.
  • Access — Only the owner, Specific people o Whole project.
  • Grouping → Owner — una sección por persona, primero la tuya.

Los filtros se combinan con Status, Source y la búsqueda. Reset los borra todos.

Compartir una vista previa

Puedes compartir la vista previa en directo de una sesión mediante un enlace público, en modo de solo lectura o interactivo. Solo el propietario de la sesión puede generar ese enlace, por el mismo motivo: no requiere autenticación, así que cualquiera que tenga la URL puede leer la sesión sin iniciar sesión. Un administrador del proyecto puede ver y revocar los enlaces de una sesión sin ser su propietario; revocarlos solo quita el acceso.

Para ver el enum completo de estados, las variables de entorno inyectadas y los endpoints del daemon, consulta Entorno de ejecución. Para saber cómo se elige el agente de una sesión, consulta Agentes. Para ver las sesiones que inicia una programación o un webhook, consulta Activadores. Para llevar el trabajo de una sesión a la rama predeterminada, consulta Solicitudes de cambio.

¿Te ha resultado útil esta página?