Ir al contenido

Workshop

El Workshop es un catálogo de agentes y skills para instalar en tu workspace, más la forma de llevarte agentes y skills de una instalación de Thulu a otra en un archivo JSON. Sirve para arrancar, porque un workspace nuevo no trae ningún agente, y para pasar lo que armaste en un Thulu Docker a la nube, o al revés.

El catálogo viaja dentro del binario del daemon: lo que podés instalar depende de la versión de Thulu que corrés, y Thulu no lo baja de internet. Hoy trae dos agentes de ejemplo y una skill: sample-developer (un agente de programación para copiar y adaptar: implementa la tarea en su rama, corre los tests y commitea), changelog-writer (escribe la entrada del CHANGELOG del trabajo de una tarea) y la skill que usa, changelog-style. Son puntos de partida: los agentes de tu equipo los escribís vos o los importás.

Para instalar o importar necesitás ser admin del workspace. Mirar el catálogo y exportar lo puede hacer cualquier miembro.

  1. Abrí “Agentes” en la barra lateral y tocá “Workshop”, arriba a la derecha al lado de “Nuevo agente”. Si el workspace no tiene agentes, la lista también dice “Instalá agentes listos desde el Workshop o creá uno propio.” con otro botón “Workshop”.

    Página Agentes sin agentes, con el botón Workshop en la cabecera y otro en la lista vacía
    Con el workspace vacío, el Workshop se abre desde la cabecera o desde la lista.
  2. Se abre el modal del Workshop en la pestaña “Agentes”, con un contador de cuántos trae. Si lo abrís desde “Skills”, arranca en la pestaña “Skills”. Arriba tenés la búsqueda (“Buscar por nombre, descripción o etiqueta”) y las etiquetas del catálogo como chips: si marcás varias, la lista muestra sólo lo que tiene todas. Las descripciones salen en el idioma de la UI.

  3. Elegí un agente de la lista. A la derecha aparece su detalle: qué hace, las skills que usa, sus etapas (con el nombre que tienen en tu tablero, o “Ningún tablero tiene esta etapa”), sus MCP, la imagen si corre con una propia, la revisión, las etiquetas y sus archivos (desplegables, con el texto de cada prompt). Abajo dice cuántas skills trae (“Trae 1 skill.”).

    Modal del Workshop con changelog-writer elegido: Skills, Etapas, MCP, Revisión, Etiquetas y el prompt desplegado
    El detalle muestra todo lo que se va a instalar, incluido el texto de cada prompt.
  4. Tocá “Instalar”. El modal pasa a “Revisá antes de instalar”: la lista de todo lo que va a escribir, con el agente y cada skill que trae, y los avisos si falta algo para que funcione.

    Plan con changelog-writer y changelog-style en Se instala y el botón Instalar 2 ítems
    El agente trae su skill en el mismo plan.
  5. Tocá “Instalar 2 ítems”. Todo se escribe junto o no se escribe nada. El modal muestra “Listo” con lo que pasó (instalados, actualizados, reemplazados, copias con su nombre nuevo y lo que quedó afuera) y “Volver al catálogo”; la lista de Agentes ya muestra el agente.

    Resultado Listo con 2 instalados y el botón Volver al catálogo
    El resultado dice qué se escribió y recuerda que instalar no pone al agente a trabajar.

Para instalar varios a la vez, marcá la casilla de cada uno en la lista y tocá “Revisar e instalar N”: sale un solo plan con todos.

Desde ahí el agente es tuyo: cerrá el modal y editalo en Agentes como cualquier otro, y sus skills en Skills. Instalar no lo pone a trabajar. Los dos agentes de ejemplo vienen con in_progress entre sus etapas válidas; el agente que corre en cada etapa se elige en la “Plantilla de etapas” del proyecto o en el campo Agente de la tarea (ver Proyectos y Tableros y etapas).

Instalar una skill sola es igual desde la pestaña “Skills”. Una skill que pide otras en su requires las trae en el mismo plan, y su detalle muestra “Requiere” y “La usan” (los agentes del catálogo que la traen).

Antes de escribir nada, el Workshop compara cada ítem con lo que ya tiene el workspace y lo clasifica. La lista del catálogo muestra el mismo estado con una palabra corta:

En la lista En el plan Qué pasa por defecto Qué más podés elegir
“Disponible” “Nuevo en el workspace” “Instalar” “No instalar”
“Instalado” “Ya lo tenés igual” no se toca nada
“Actualización” “Hay una revisión nueva y no lo tocaste” “Actualizar” “Conservar la tuya”, “Instalar como copia”
“Tenés otro” “Ya tenés uno distinto con este nombre” “Conservar la tuya” “Reemplazar”, “Instalar como copia”
“Nombre reservado” “El nombre es de una skill de Thulu” “No instalar” “Instalar como copia” con otro nombre

Cuando un ítem tiene más de una opción, la fila muestra un selector con las opciones y una etiqueta a la derecha con lo que va a pasar (“Se instala”, “Sin cambios”, “Se actualiza”, “Se reemplaza”, “Copia”, “Queda afuera”). Cada vez que cambiás una opción, el plan se vuelve a calcular y los avisos cambian según lo que se va a escribir. El botón final dice lo que hace: “Instalar 3 ítems”, “Actualizar 1 ítem” o “Aplicar 2 cambios” si mezcla, y queda deshabilitado con “Nada para instalar” si todo queda como está.

Al aplicar, el daemon arma el plan de nuevo contra el workspace como está en ese momento. Si alguien cambió algo mientras mirabas y tu opción ya no corresponde, ese ítem vuelve a su opción por defecto, que nunca pisa lo tuyo.

Cada ítem del catálogo tiene un número de revisión, y una versión nueva de Thulu puede traer una revisión más nueva. El Workshop recuerda qué revisión instalaste y si la editaste después.

  • Si no la tocaste, el botón “Workshop” de Agentes y Skills suma un contador (“1 actualización en el Workshop”) y la fila del ítem en tu lista lleva la etiqueta “Actualización”. En el catálogo el detalle dice, por ejemplo, “2 (tenés la 1)”, el botón es “Actualizar” y el plan ya viene con “Actualizar” elegido.
  • Si la editaste (un prompt, un archivo de la skill o la configuración del agente), aparece como “Tenés otro” y el plan agrega “Lo editaste después de instalarlo”. Por defecto se conserva tu versión.

Lo que entró por archivo también se reconoce: si importás otra versión del mismo agente y no lo habías tocado, el plan dice “El archivo trae otra versión y no lo tocaste” y ofrece actualizarlo.

Si el catálogo o un archivo trae un agente o una skill con un nombre que ya usás y el contenido es distinto, el detalle muestra “Revisar e instalar” y el plan te deja elegir por ítem:

  • “Conservar la tuya” (por defecto): no se toca. Si es una skill que trae un agente, el plan avisa “changelog-writer va a usar tu changelog-style, no la del Workshop” y sugiere instalarla como copia.
  • “Reemplazar”: se escribe la versión nueva encima. Los archivos anteriores quedan en el historial del editor, y en un agente la configuración que tenía queda en su historial de configuración (“La configuración actual queda en el historial del agente”), así que se puede restaurar.
  • “Instalar como copia”: se instala al lado con el nombre que pongas en “Nombre de la copia” (propone uno libre, como changelog-style-2). Los agentes que vienen en el mismo plan pasan a usar la copia; los tuyos siguen con la tuya.
Plan con changelog-style en Ya tenés uno distinto con este nombre, las tres opciones, Instalar como copia elegida y el campo Nombre de la copia
Con "Instalar como copia", la skill del Workshop entra con otro nombre y el agente nuevo la usa.

Un agente instalado junto con una copia de su skill sigue recibiendo actualizaciones: el Workshop compara su skill con la copia que conserva.

Sirve para pasar agentes de un Thulu Docker a la nube, de la nube a Docker, o entre dos workspaces.

  1. En “Agentes”, elegí el agente. En la cabecera del editor, al lado de “Eliminar agente”, tocá “Exportar”. Para bajar todos los agentes del workspace en un solo archivo, usá “Exportar todos” en la cabecera de la página.

    Editor del agente backend con los botones Historial, Exportar y Eliminar agente en la cabecera, y Exportar todos arriba
    "Exportar" está en la cabecera del editor de cada agente.
  2. Se baja octopus-agent-<nombre>.json (o octopus-agents.json con todos) con los agentes, sus prompts y las skills del workspace que usan, más las que esas skills piden. Las skills del sistema (las octopus-*) no viajan: cada instalación tiene las suyas.

Para una skill es lo mismo desde “Skills”: el botón “Exportar” está en la cabecera de la skill y baja octopus-skill-<nombre>.json; “Exportar todas” baja octopus-skills.json. Las skills del sistema no tienen ese botón.

  1. En la otra instalación, abrí “Agentes” o “Skills” y tocá “Workshop”.

  2. Tocá “Importar archivo” en la cabecera del modal y elegí el JSON, o arrastralo encima del modal (“Soltá el archivo JSON para importarlo”).

  3. Aparece el mismo plan que en una instalación del catálogo, con el texto “Esto es lo que trae el archivo.” Resolvé los choques como arriba y tocá el botón final.

    Plan de importación con el agente revisor-de-pr-equipo en Se instala y el botón Instalar 1 ítem
    El plan de un archivo importado es el mismo que el del catálogo.

El archivo es JSON legible: los prompts viajan como texto, así que lo podés revisar antes de importarlo. Lo que no es texto viaja en base64.

Límite Valor
Tamaño del archivo 3 MB
Agentes por archivo 50
Skills por archivo 200
Archivos en total 2000

En una instalación self-hosted, thulu agents export -workspace <id> > agentes.json también escribe todos los agentes del workspace en un archivo que el Workshop importa. Los manuales de MCP que trae ese archivo se saltean, porque son de la instalación y no del workspace. El comando está en CLI.

El plan revisa lo que el agente necesita para funcionar en esta instalación. Los avisos amarillos dejan instalar; los rojos deshabilitan el botón final hasta que elijas “No instalar” en el ítem que los causa.

Aviso Tipo Qué significa
“usa skills que nadie trae ni están en el workspace” aviso El agente va a correr sin esas skills.
“usa MCP que esta instalación no tiene” aviso Esas herramientas no van a estar en sus corridas. Mirá MCPs.
“está configurado para etapas que ningún tablero tiene” aviso Agregá la etapa a un tablero o editá el agente.
“va a usar tu …, no la del Workshop” aviso Conservaste tu skill del mismo nombre; si querés la del catálogo, instalala como copia.
“corre con su propia imagen … Revisá que exista en esta instalación” aviso Un agente del catálogo con imagen propia, en Docker.
“pide su propia imagen … y en la nube no se pueden usar imágenes propias” bloquea Un agente del catálogo con imagen propia, en SaaS. Elegí “No instalar” para instalar el resto.
“nombra una imagen de contenedor … entra sin ella y corre con la imagen de su motor” aviso Un agente importado de un archivo con image, en Docker y en SaaS. Un import nunca trae su propia imagen.
“usa un nombre reservado para las skills de Thulu y queda afuera” aviso Una skill con prefijo octopus-. Para importarla, elegí “Instalar como copia” y ponele otro nombre.
“parece tener un secreto. El resto del archivo se instala igual” aviso Ese agente o skill tiene algo con forma de clave o token y no se importa.
“El archivo trae manuales de N servidores MCP. No se importan” aviso Viene de un archivo de thulu agents export.
Plan de importación con un aviso sobre un agente que nombra una imagen de contenedor
Un agente importado con imagen entra sin ella; el aviso lo dice.

Cualquier miembro del workspace puede abrir el Workshop, mirar el catálogo y exportar. Instalar, actualizar e importar es sólo para admins: a los demás no les aparece “Importar archivo” y el detalle dice “Sólo un admin del workspace puede instalar.” Cada instalación o importación queda como un solo evento workshop.applied en la auditoría, con todo lo que escribió (ver Seguridad y auditoría).

Son cosas distintas y no se reemplazan:

Workshop thulu export / thulu import
Qué mueve Agentes y skills Un workspace entero: tableros, tareas, proyectos, adjuntos, métricas, agentes, ajustes y MCP
Dónde En la UI, en Docker y en SaaS Desde la línea de comandos, contra el contenedor del daemon; sólo self-hosted
Formato Un JSON Un .tar.gz versionado
Contra lo que ya hay Plan con choques; lo tuyo se conserva por defecto Restaura con los mismos ids, pensado para una instalación nueva

Para migrar una instalación completa, mirá Operación self-hosted. Para llevar agentes que armaste a otro workspace o a la nube, usá el Workshop.

  • Borraste un agente del Workshop y lo querés de vuelta: el catálogo dice “Lo eliminaste del workspace. Instalarlo lo vuelve a habilitar.” y el plan lo instala de nuevo.
  • “El archivo pesa más de 3 MB.” o “El archivo no es JSON válido.”: el navegador lo rechaza antes de mandarlo. Partilo en varios exports o revisá que no se haya cortado.
  • “la versión N del archivo no está soportada”: el archivo usa un formato que este Thulu no lee, en general porque lo exportó una versión más nueva. Actualizá la instalación de destino.
  • “no es un archivo de agentes y skills de Thulu”: el JSON no es un export del Workshop ni un archivo de thulu agents export.
  • “no queda un nombre libre para copiar”: ya existen las copias -2 a -99. Escribí otro nombre en “Nombre de la copia” o elegí “Reemplazar”.
  • Un agente o una skill del archivo “parece tener un secreto”: se importa el resto. Sacá ese texto del JSON y guardá el secreto en Credenciales y motores.
  • El agente instalado no corre en ninguna tarea: instalar no lo asigna a nada. Elegilo en la “Plantilla de etapas” del proyecto (Proyectos) o en la tarea.