línea de comandos
GPU Flow desde tu terminal.
Un solo comando para la inferencia, tu cuenta, los Sandboxes y la GPU dedicada. No arrastra dependencias: le basta Node 18.3 o posterior, y los datos se siguen procesando en la Unión Europea.
Instalar y comprobar
Se instala en un comando. El comando doctor valida la configuración en segundos y sale con un código distinto de cero si algo falla, así que vale igual en tu terminal que dentro de un pipeline.
npm install -g @gpuflow/cli gpuflow doctor
Qué comprueba doctor
El servicio y el catálogo, que son públicos; si tu clave de API es válida; si tienes sesión abierta; y, con sesión, tu saldo y tus Sandboxes. Cada marca es verde, roja o neutra: no tener sesión es un estado válido, no un fallo. «All set» significa que la inferencia está lista, no que hayas iniciado sesión.
Sin dependencias
La herramienta no instala paquetes de terceros: usa las funciones nativas de Node. Node 18.3 o posterior es todo el requisito.
doctor y status son lo mismo
El comando status es un alias de doctor. Escribe el que te salga.
Tu clave y tu sesión
Hay dos accesos y son independientes. La clave de API sirve para la inferencia. El inicio de sesión, para tu cuenta, tus Sandboxes y tus discos.
terminal
gpuflow config set api-key sk-gpuflow-... gpuflow login gpuflow config show
Dónde se guarda
En el archivo ~/.gpuflow/config.json. En macOS y Linux queda en modo 0600, solo para ti; en Windows hereda los permisos de tu perfil de usuario. La CLI lo escribe de forma atómica, así que un corte a mitad de la escritura no te deja un archivo a medias.
Solo por HTTPS
Las direcciones de servicio tienen que ir por HTTPS. La CLI rechaza una dirección http:// hacia un host real porque tus credenciales viajarían sin cifrar; solo se permite contra localhost, para desarrollo.
Un login para todo
El mismo inicio de sesión desbloquea la cuenta y la infraestructura. Se renueva sola: cuando el acceso caduca, la CLI lo renueva y repite la llamada sin que tengas que hacer nada.
Modelos y chat
El catálogo es público: puedes ver los modelos, su contexto y su precio antes de registrarte. Para hablar con uno necesitas tu clave de API.
terminal
gpuflow models gpuflow chat "¿Qué es RDMA?" gpuflow chat --model qwen-3.5-9b "Hola" gpuflow chat --no-stream "Explica RDMA en una frase"
El resumen va por separado
Al terminar, el comando chat imprime el modelo, la latencia, los tokens y el coste estimado. Ese pie sale por stderr, no por stdout, así que puedes redirigir la respuesta a un archivo sin que se te cuele el resumen dentro.
El coste no infla la latencia
Para estimar el coste, el comando chat lee el catálogo antes de arrancar el cronómetro. Esa lectura no cuenta en la latencia que te enseña.
Saldo, claves y consumo
Estos comandos necesitan un gpuflow login previo.
terminal
gpuflow whoami gpuflow balance gpuflow usage --days 7 gpuflow keys list gpuflow keys create ci-key gpuflow keys revoke sk-gpuflow-xxxx
La clave se enseña una sola vez
El comando keys create imprime el secreto completo una vez. Guárdalo en ese momento: después solo se recupera el prefijo. Revocar es irreversible y rompe todo lo que use esa clave, así que pide confirmación; en un script o sin terminal interactivo, pasa --yes.
Cerrar sesión no borra la clave
El comando logout revoca la sesión y borra los tokens locales, pero la clave de API sigue en tu configuración y sigue gastando. Para quitarla también, vuelve a fijarla vacía con gpuflow config set api-key.
Crear y manejar Sandboxes
Un Sandbox es una máquina en la nube con procesadores, memoria y un disco para tus archivos. Todos estos comandos necesitan sesión iniciada.
Los tres tamaños
El tamaño fija los procesadores, la memoria y el disco por defecto. Son los mismos que ves en la página de Sandboxes y en el asistente del panel.
| Tamaño | Procesadores | Memoria | Disco |
|---|---|---|---|
| Starter | 4 | 8 GB | 10 GB |
| Pro | 8 | 32 GB | 50 GB |
| Team | 16 | 64 GB | 100 GB |
Tres formas de crear uno
Con banderas, desde un manifiesto YAML o con el asistente. El asistente solo se abre si no pasas ninguna bandera de especificación: si pasas una, la CLI da un error en vez de abrirlo, para no crear una máquina que no querías.
gpuflow sandbox create --plan starter --service opencode
Cómo referirte al tuyo
Por su nombre completo, por la etiqueta que le pusiste o por la cola única de su nombre. Si lo que escribes encaja con más de uno, la CLI para y te pide que afines en vez de elegir por ti. Los nombres los ves con gpuflow sandbox list.
Pausar, reanudar y borrar
Pausar lo escala a cero y conserva el disco, pero pierdes lo que hubiera en memoria. Al reanudar, la máquina se recrea y puede caer en otro nodo: el disco y el comando de conexión no cambian. Borrar destruye el Sandbox y conserva el disco. Las dos cosas piden confirmación, y la bandera --yes la omite.
terminal
gpuflow sandbox list gpuflow sandbox status mi-caja gpuflow sandbox pause mi-caja gpuflow sandbox resume mi-caja gpuflow sandbox delete mi-caja --yes
Pausa automática
Pausa el Sandbox tras N minutos sin actividad, entre 0 y 1440, o el valor off para pausar solo a mano.
terminal
gpuflow sandbox auto-suspend mi-caja 30 gpuflow sandbox auto-suspend mi-caja off
Conectarte
La CLI no abre la conexión: imprime el comando para que lo copies. Como por stdout sale solo el comando, también puedes encadenarlo. Antes de conectarte necesitas una llave registrada.
terminal
gpuflow sandbox ssh mi-caja eval "$(gpuflow sandbox ssh mi-caja)"
Lo que llevas gastado
El comando sandbox usage desglosa el ciclo de facturación en curso. Un Sandbox recién creado puede enseñar 0,00 los primeros minutos: la estimación de la hora en curso es una fracción de céntimo hasta que lleva un rato encendido.
terminal
gpuflow sandbox usage mi-caja
Dos cifras que no se suman
El gasto de un Sandbox y tu saldo de inferencia salen de sitios distintos y pueden enseñarse en monedas distintas. Son conceptos separados: no los compares ni los sumes.
Tus archivos y tu acceso
El disco es lo que hace que tu trabajo sobreviva a la máquina. La llave SSH es lo que te deja entrar.
El disco sobrevive al Sandbox
Borrar un Sandbox no borra su disco: tus archivos siguen ahí y puedes reutilizarlo en el siguiente. Se crea junto con el Sandbox, así que no hay un comando aparte para crearlo. No puedes eliminar un disco que un Sandbox tenga montado.
terminal
gpuflow storage list gpuflow storage rm <id> --yes
Registrar tu llave
El comando ssh-key add sin argumentos busca ~/.ssh/id_ed25519.pub. También puedes pasarle una ruta, leerla por la entrada estándar o darle el contenido. La CLI comprueba si ya estaba registrada antes de mandarla. Si no tienes llave, créala con ssh-keygen -t ed25519.
terminal
gpuflow ssh-key add gpuflow ssh-key list
Dar de baja una llave
Las bajas se gestionan desde el panel: la CLI todavía no tiene un comando para eliminarlas.
Ver la oferta y la capacidad
El descubrimiento de GPU es público: funciona sin clave y sin sesión. Puedes consultar la oferta y la capacidad libre antes de registrarte.
terminal
gpuflow gpu list gpuflow gpu availability
Capacidad que se puede creer
El comando gpu availability prefiere callar una cifra a darla mal: si las cuentas de un tipo de tarjeta no cuadran, lo deja fuera y te dice cuál, en vez de publicar un número que sabe que no es correcto.
Automatizarlo
Todo lo anterior sirve dentro de un script. La bandera --json es global y el código de salida hace el resto.
--json en cualquier comando
Con la bandera --json, la CLI emite un único valor JSON por stdout, silencia la decoración pensada para personas y manda los errores como JSON por stderr. El código de salida es distinto de cero cuando algo falla, así que puedes comprobar el resultado sin analizar la salida.
terminal
gpuflow models --json | jq '.[0].pricing'
gpuflow chat --json "Hola" | jq '{model, cost_usd, latency_ms}'
gpuflow doctor --json | jq '.healthy'Variables de entorno
Tienen prioridad sobre el archivo de configuración. Las tres direcciones de servicio también se pueden sobrescribir, pero eso es para desarrollo local.
| Variable | Para qué sirve |
|---|---|
| GPUFLOW_API_KEY | Tu clave de API para la inferencia. |
| GPUFLOW_EMAIL | Correo, para iniciar sesión sin preguntas. |
| GPUFLOW_PASSWORD | Contraseña, para iniciar sesión sin preguntas. |
| NO_COLOR | Desactiva el color de la salida. |
Login sin interacción
En un pipeline, GPUFLOW_EMAIL y GPUFLOW_PASSWORD junto con --json mantienen el login sin preguntas. Guárdalas como secretos del pipeline, nunca en el repositorio.
Tu primer comando, hoy.
Cuenta en un minuto, sin tarjeta, con 50 € de saldo ya cargados.