CommandAGI
AprenderPreciosDocumentación
Iniciar sesión
CommandAGI

Visión, inteligencia y control — inteligencia que puedes ver, especificar y confiar, actuando en entornos reales.

Plataforma

  • Producto
  • Inteligencia
  • Percepción
  • Previsión
  • Robótica
  • Coordinación
  • Impresión 3D
  • Servicios
  • Tienda
  • Sitios
  • Precios

Explorar

  • Mundos
  • Hilos
  • Aprende CommandAGI
  • Documentación
  • Demostraciones
  • Consigue la app
  • Inicia un negocio
  • La Economía del Mando
  • Ecosistema
  • El Fondo de Oportunidad
  • Gana desde tu teléfono
  • Prueba de reservas
  • Estado

Empresa

  • Integridad
  • Confianza y verificabilidad
  • Acerca de
  • Visión
  • Investigación
  • Blog
  • Marca
  • Contacto

Legal

  • Privacidad
  • Términos
  • Suscripción SMS
  • Cookies
  • Todo lo legal
© 2026 CommandAGI INC. Todos los derechos reservados. · Alineado con GDPR y CCPA · SOC 2 en curso
TérminosPrivacidadCookiesEstado

Para desarrolladores que escriben código sobre CommandAGI: los SDK, la API, las herramientas y la autenticación.

Primeros pasos
  • Descripción general
  • Cómo funciona
  • Inicio rápido
  • Autenticación
Ejemplos
  • Casos de uso
SDK
  • Introducción a los SDK
  • @commandagi/document
  • @commandagi/draw
  • @commandagi/units
  • @commandagi/node-kinds
  • Ejemplos
Herramientas y automatización
  • Herramientas y el servidor MCP
  • Conexiones
  • Disparadores y programación
  • Correo y mensajería
Referencia
  • Referencia de la API

Tus dispositivos

Trabaja con dispositivos en código

Cada dispositivo es una carpeta de archivos en vivo. Lee su pantalla, cámara o pose con una lectura de archivo; dibuja en su pantalla escribiendo un archivo; manéjalo con un solo conjunto de acciones — lo mismo, sea cual sea el hardware.

Un dispositivo es una carpeta

Cuando un dispositivo se adjunta a un hilo, se proyecta en un árbol .commandagi/, agrupado por qué tipo de cosa es. Los archivos están vivos: leer uno te da los datos más recientes, sin ceremonia de sondeo.

.commandagi/
.commandagi/
  computers/<id>/
    screen.mjpeg                  # the screen AS VIDEO — Motion JPEG, its frames concatenated
    screen.latest.jpg             # the latest screen frame
    screen.structure.jsonl        # the UI accessibility tree, as a log
    display.jsonl                 # WRITE here to draw on the screen
    details.json                  # what this embodiment is: model, capabilities, location
  cameras/<id>/
    camera.mjpeg                  # the camera as video
    camera.latest.jpg             # latest camera frame
  robots/<id>/
    camera.mjpeg   pose.jsonl   joints.jsonl   force.jsonl

Los streams son archivos

El archivo de un stream es lo que SON sus bytes, y la regla es la misma para cada tipo de dispositivo:

  • Una pantalla o una cámara es un stream de vídeo, así que su archivo es <stream>.mjpeg — Motion JPEG, que ffmpeg y VLC abren. Donde un script de captura lo produce, <stream>.latest.jpg queda a su lado como este fotograma.
  • Un stream estructurado — pose.jsonl, el árbol de interfaz — es un log de solo anexado con el stream completo acumulado. Síguelo como cualquier log para ver cada actualización, o lee .latest.json para el valor actual.

Aquí no se inventa nada: un stream de vídeo es un archivo de vídeo y un stream de eventos es un log, así que ffmpeg, tail -f y jq funcionan sin cambios.

Tres formas de leer un dispositivo

Los mismos datos, elige la superficie que se ajuste a tu código.

1. El SDK — el camino rápido para un ciclo.

python
from commandagi import CommandAGI

cagi = CommandAGI(api_key="cagi_…")
with cagi.launch("computer/software-engineer") as pc:
    frame = pc.observe()                       # bytes of the latest screen frame
    pc.step("click", x=640, y=400)             # drive it
    pc.step("type", text="hello")

2. Como archivos — monta tu espacio de trabajo por WebDAV.

Tu Drive (que incluye el árbol .commandagi/) se monta por WebDAV, así que cualquier herramienta que lea archivos funciona — shell, rclone, la API de archivos de tu lenguaje. Ideal para scripting y pegamento.

shell
# mount your workspace over WebDAV, then it's just files
cat     .commandagi/computers/<id>/screen.latest.jpg    # latest screen frame (image bytes)
ffmpeg -i .commandagi/computers/<id>/screen.mjpeg out.mp4   # the screen, as video
tail -f .commandagi/robots/<id>/pose.jsonl              # follow a robot's pose, live
jq .    .commandagi/computers/<id>/screen.structure.latest.json   # the current UI tree

3. El cable en tiempo real — push, para baja latencia.

websocket
// realtime: wss://api.commandagi.com/rt/thread/{threadId}?role=owner&token={cagi_key}
← { "t": "frame", "embodimentId": "…", "channelId": "screen",
    "url": "data:image/png;base64,…" }                          // frames stream in
→ { "t": "control", "embodimentId": "…", "action": "type", "payload": { "text": "hello" } }

Manéjalo

Un solo vocabulario de acciones se mapea a lo que sea que el dispositivo pueda hacer físicamente — una laptop, una VM en la nube, un teléfono, un robot. Envía acciones por el SDK (step/act) o el WebSocket (control).

  • Computadora / teléfono: click, double_click, right_click, move, drag, scroll, type, key (el espacio de coordenadas es 1280×800).
  • Robot / simulación: move, back, turn, stop, reset, joint, pose, gripper.

Dibuja en la pantalla — el archivo escribible

Una computadora o teléfono también expone un archivo escribible, display.jsonl. Donde los otros archivos son cosas que lees, este lo escribes — cada línea es una operación que dibuja en el dispositivo: superpone una pista en la UI en vivo, presenta una escena HTML/pizarra, o habla. Es cómo un agente muestra su trabajo o saluda a una persona.

display.jsonl (append)
# a computer/phone screen is a WRITABLE file — write an op, it draws
echo '{ "op": "say", "text": "Hi — I can help with that." }'                 >> display.jsonl
echo '{ "op": "scene", "scene": { "kind": "html", "html": "<h1>Welcome</h1>" } }' >> display.jsonl

Todo lo demás también es un archivo

El patrón sigue: los propios puertos de una máquina (un dispositivo serial, un periférico USB, un puerto TCP local) aparecen bajo dev/ como archivos de lectura/escritura, y el details.json de cada dispositivo te dice qué es y dónde se ubica físicamente. El acceso a cualquiera de ellos es un permiso otorgado sobre el archivo — nada a la medida.

Robots y simulacionesReferencia de la API