offstage

offstage

offstage cloud · Programación · Productividad

offstage da a los agentes de IA y a los trabajos de CI un Mac de verdad: una cuenta de macOS 27 sobre Apple silicon, manejada por API y cobrada por segundo.

Vista previa de la interfaz de offstage

Acerca de offstage

About

Qué es offstage

offstage es un sandbox de macOS para agentes de IA y trabajos de CI. Cada sandbox es una cuenta de usuario completa en un Mac Studio a la que llegas por una API en la nube para Mac o por un SDK de TypeScript. Ejecutas comandos de shell, mueves archivos, tomas capturas y cierras la cuenta al terminar.

Dos problemas empujaron el producto. Compilar y probar software de Apple en un host Linux resulta incómodo, y dejar que un agente haga clic por tu escritorio es arriesgado. Aquí cada trabajo recibe su propia cuenta en lugar de root en una máquina compartida, y la cuenta se borra al cerrarse.

Los límites forman parte de la propuesta: no hay sudo ni Homebrew, xcodebuild test contra un simulador de iOS todavía falla, y un sandbox no dura más de 24 horas.

Primeros pasos

  1. Entra en la consola de console.offstage.cloud y crea una clave en API keys. Empieza por sk_offstage_ y solo se muestra una vez.
  2. Instala el SDK con npm install offstage-cloud, o llama a la API HTTP desde cualquier lenguaje.
  3. Crea un sandbox con Sandbox.create() y un timeout ajustado al trabajo que vas a lanzar.
  4. Ejecuta comandos con sandbox.commands.run() y mueve archivos con sandbox.files.write() y sandbox.files.read().
  5. Cierra el sandbox en un bloque finally para que el contador se detenga.

Información del producto

Un vistazo rápido a los precios, las plataformas compatibles y el rendimiento de offstage.

Plan gratuitoSí
Planes de pago$0.000217/sec, about $0.78/hr
PlataformaWeb, API, TypeScript SDK, GitHub Actions
Desarrolladoroffstage cloud
CategoríaProgramación · Productividad
Fecha de lanzamientoN/A
Última actualizaciónNov 2026
Visitas al sitio webN/A
Ranking global del sitioN/A
Disponibilidad de la APISí

Ideal para

Los usuarios, tareas y casos de uso en los que esta herramienta encaja mejor.

Usuarios

  • Desarrolladores de iOS y macOS
  • Equipos que construyen agentes que usan el ordenador
  • Quien programa en Windows o Linux

Tareas

  • Ejecutar swift build y swift test en cada pull request
  • Reproducir un fallo que solo aparece en macOS 27
  • Sacar capturas para la documentación
  • Arrancar un simulador de iOS para revisar el diseño

Casos de uso

  • Un agente de código llega a un paso que exige un Mac
  • Semana de release con la cola de CI llena
  • Probar un script de automatización de escritorio

Funciones clave

Una cuenta de macOS por sandbox

Cada sandbox en Apple silicon corre macOS 27 como una cuenta de usuario con su propio directorio y sus procesos. Lo manejas llamada a llamada: ejecutas un comando en zsh, escribes un archivo de hasta 10 MiB, lo lees como texto o en bytes. El resto de trabajos del Mac Studio no ve tus archivos.

Un ejecutor de comandos que se comporta como una terminal

sandbox.commands.run() lanza el comando dentro de zsh -lc y devuelve stdout, stderr, el código de salida y la duración. Un código distinto de cero no lanza excepción, así que un test fallido es un resultado normal sobre el que puedes decidir. Los comandos largos se siguen hasta 30 minutos.

Sesiones headless y con escritorio

Un sandbox headless arranca directo en una shell, lo que encaja con compilaciones y scripts. Un sandbox gui vive dentro de una sesión de escritorio iniciada, para apps con ventana y capturas de pantalla. No hay API de clics ni de tecleo: mueves la interfaz con un programa que corre en el Mac.

Runner de macOS en GitHub Actions

Conectas tu organización de GitHub en la consola y pones runs-on: offstage-macos en el workflow. Cada trabajo recibe una cuenta nueva, el runner de GitHub ejecuta ese trabajo y la cuenta se borra al acabar. Cambia a offstage-macos-gui cuando el trabajo necesite el escritorio para pruebas de interfaz en el simulador.

Tareas para CI sin supervisión

Una tarea clona la rama por defecto de un repositorio público, ejecuta tu comando y guarda los artefactos que indiques. El campo failureReason separa una compilación rota de un clon fallido, un timeout o una máquina que nunca llegó. Esperar en la cola no cuesta nada.

Cobro por segundo con tope de gasto

Cada sandbox y cada tarea cuesta $0.000217 por segundo, o $0.78 por hora, sin mínimo y sin licencias por usuario. Los equipos nuevos empiezan con $5 de crédito y un presupuesto mensual de $50 que el propietario sube o elimina en la consola, con avisos al 50%, 80% y 100%.

Ventajas y desventajas

Ventajas

  • Aislamiento: el agente tiene su propia cuenta de macOS, así que un comando torpe no llega a tu portátil ni a los archivos de otro equipo.
  • El toolchain de Apple viene instalado: Xcode 27.2, Swift, SwiftPM, clang, git y make están en cada máquina.
  • La cola no cuesta nada y el cobro va por segundo, así que un test de dos minutos sale por unos tres céntimos.
  • Los agentes de código se configuran solos con un archivo en api.offstage.cloud/SKILL.md, sin que nadie copie claves a mano.
  • Las tareas explican por qué fallaron, lo que distingue un problema de compilación, del clon o de capacidad.

Desventajas

  • Sin sudo ni Homebrew, las herramientas que esperan paquetes del sistema hay que compilarlas dentro del proyecto o instalarlas en el directorio personal.
  • xcodebuild test contra un destino de simulador de iOS todavía no funciona, así que las suites de interfaz siguen necesitando otro runner.
  • Un equipo solo puede tener 4 sandboxes abiertos a la vez y un trabajo de CI se corta a los 60 minutos, lo que deja fuera las matrices largas.
  • No hay API de clics ni de tecleo, así que un agente que use el ordenador tiene que traer su propio programa de automatización.

Preguntas frecuentes

Para ejecutar trabajo de macOS bajo demanda: compilaciones de Apple, tests, simuladores y bucles de agentes que necesitan un escritorio. Envías comandos por API en vez de alquilar un Mac o tener uno encima de la mesa.