Línea de comandos
zabio te identifica con el navegador, te deja elegir una organización y una API key, muestra uso y precios, gestiona keys, proyectos y keys de proveedor, y chatea a través del router desde la terminal.
Instalación
Section titled “Instalación”La CLI es un único binario en Go. Compílala desde el repositorio del código fuente:
go build -o bin/zabio ./cmd/zabioDespués añade bin/zabio a tu PATH.
Primera ejecución
Section titled “Primera ejecución”zabio login # imprime una URL y un código, abre el navegador, espera la aprobaciónzabio orgs # tus organizacioneszabio use acme # elige una (se hace solo cuando hay exactamente una)zabio keys create --name laptopzabio keys use key_... # pega la key una vez; se guarda en el archivo de configuración (modo 0600)zabio chat "Resume la API de chat completions de OpenAI en una línea"zabio usagezabio keys use zb_live_... justo después de keys create también funciona: la CLI encuentra la key por su prefijo.
Comandos
Section titled “Comandos”usage: zabio [--config PATH] [--json] COMMAND [ARGS]
Commands: login sign in with the browser (device flow) logout revoke the session token and forget it whoami show the signed-in user orgs list your organizations use ORG_SLUG select the organization for later commands keys list|create|revoke|use manage API keys of the selected organization (list --project P: one project's keys) projects list|create manage projects (only the owner creates them) members list list members of the selected organization members invite EMAIL [--role member|admin] [--project P]... invite someone, optionally limited to projects members projects EMAIL [--project P]... limit a member to projects (none: all of them) usage [--month YYYY-MM | --days N] [--project P] spend summary and by-model breakdown models models and prices billing [show|ledger|topup] credits, ledger, add credits through Stripe vendor-keys [list|add|remove] your own vendor API keys (BYOK) conversations [list|show|delete] stored conversations (metadata only) chat --new | --conversation conv_... stateful chat through /v1/responses chat [--model M] [--system S] [--session ID] [MESSAGE] chat through the router (interactive without MESSAGE) tokens list|create|revoke manage your CLI tokens version print the version
Flags: --config PATH config file (default ~/.config/zabio/config.json) --json print the raw response JSON instead of tables
Environment: ZABIO_API_BASE, ZABIO_INFERENCE_BASE override the config file.El texto de ayuda de la CLI está en inglés.
Inicio de sesión e identidad
Section titled “Inicio de sesión e identidad”| Comando | Qué hace |
|---|---|
login [--no-browser] |
flujo de dispositivo: imprime una URL de verificación y un código, abre el navegador, espera la aprobación y guarda un token de usuario (zbu_...) |
logout |
revoca el token en el servidor y lo olvida en local |
whoami |
tu usuario, cómo has iniciado sesión, tus organizaciones, la organización y la key seleccionadas |
tokens list, tokens create --name N [--scopes a,b], tokens revoke ID |
tus tokens de CLI. create muestra el token una sola vez |
Organizaciones, keys, proyectos, miembros
Section titled “Organizaciones, keys, proyectos, miembros”| Comando | Qué hace |
|---|---|
orgs |
lista tus organizaciones; la seleccionada se marca con * |
use ORG_SLUG |
selecciona la organización. Cambiar de organización borra la API key seleccionada, porque las keys pertenecen a una sola organización |
keys list [--project P] |
keys de la organización, o de un proyecto; la que está en uso se marca con *. Un miembro limitado a proyectos solo ve las suyas |
keys create --name N [--project P] |
crea una key y la muestra una sola vez. P es un id de proyecto (prj_...), un slug o un nombre |
keys revoke KEY_ID |
revoca una key |
keys use KEY_ID [--key PLAINTEXT] [--yes] |
guarda una key en local para zabio chat. Pide la key con entrada oculta salvo que se pase --key, la comprueba contra el prefijo de la key y pide confirmación salvo con --yes |
projects list, projects create --name N |
proyectos; solo el propietario de la organización los crea |
members list |
miembros con rol, proyectos, cuota mensual y gasto del mes |
members invite EMAIL [--role member|admin] [--project P]... |
invita a alguien por email. Cada --project limita a un miembro a ese proyecto; sin ninguno ve toda la organización |
members projects EMAIL [--project P]... |
cambia los proyectos a los que está limitado un miembro; sin --project el miembro vuelve a ver toda la organización |
zabio chat --model auto/balanced --system "Responde en español" "¿Qué es la caché de prompt?"zabio chat --session soporte-42 "Segunda pregunta en la misma sesión de enrutado"zabio chat # interactivo; Ctrl-D o "exit" para salirzabio chat --new "Empieza una conversación guardada"zabio chat --conversation conv_... "Continúala"chat emite la respuesta en streaming y después imprime una línea atenuada en stderr: modelo servido, proveedor, coste, tokens en caché y tiempo transcurrido. Sin mensaje, arranca un bucle interactivo que mantiene el historial en memoria y lo reenvía en cada turno. --new y --conversation usan la Responses API: el servidor guarda el historial, la CLI imprime el id de la conversación la primera vez, y la línea de estado añade escalated from ... o compacted cuando ocurren.
Uso, modelos y facturación
Section titled “Uso, modelos y facturación”| Comando | Qué hace |
|---|---|
usage [--month YYYY-MM | --days N] [--project P] |
facturado, coste directo, ahorro, llamadas, tokens, latencia media y una tabla por modelo, de la organización o de un proyecto. Por defecto: el mes en curso hasta hoy, en UTC |
models |
todos los modelos con los precios de lista de tu organización en USD por millón de tokens |
billing o billing show |
saldo, aviso de saldo bajo, recargas acumuladas, si se aplicó el crédito de prueba, plan y recarga mínima |
billing ledger [--limit N] |
el libro de créditos, del más reciente al más antiguo (de 1 a 500 filas) |
billing topup --amount USD [--no-browser] |
crea un enlace de Stripe Checkout por ese importe y lo abre. El saldo se actualiza cuando el pago se completa |
vendor-keys list, vendor-keys add --vendor anthropic|openai|google [--label L], vendor-keys remove vk_... |
tus propias keys de proveedor (Tus propias keys). add lee la key con entrada oculta y la verifica con el proveedor |
conversations list [--key key_...] [--limit N], conversations show conv_..., conversations delete conv_... |
conversaciones guardadas, solo metadatos. delete usa la API key seleccionada y es permanente |
Salida
Section titled “Salida”--json en cualquier comando imprime el cuerpo de la respuesta tal cual, en vez de la vista para personas. Los comandos que hacen dos llamadas imprimen un objeto con los dos cuerpos (whoami: {"me", "session"}; usage: {"summary", "by_model"}). chat --json imprime un evento en crudo por línea.
zabio usage --days 7 --json | jq .summary.totals.saved_microszabio keys list --json | jq -r '.data[] | [.id, .name] | @tsv'Configuración
Section titled “Configuración”El archivo de configuración es ~/.config/zabio/config.json (modo 0600; se respeta $XDG_CONFIG_HOME). Guarda las URL base de la API, tu token de usuario, la organización seleccionada y la API key seleccionada. --config PATH o ZABIO_CONFIG seleccionan otro archivo. ZABIO_API_BASE y ZABIO_INFERENCE_BASE sustituyen las dos URL base durante una ejecución y nunca se escriben en el archivo.
Ningún comando imprime tu token de usuario ni tu API key, salvo tokens create y keys create, que muestran el secreto nuevo exactamente una vez.
Códigos de salida
Section titled “Códigos de salida”| Código | Significado |
|---|---|
| 0 | correcto |
| 1 | el servidor respondió con un error; se imprime como error: <mensaje> (<código>) |
| 2 | no se pudo contactar con el servidor o respondió algo ilegible |
| 64 | argumentos incorrectos; a continuación se imprime el texto de ayuda |