AI Glot websiteOpen AI Glot
CLIAutomatización y salida de la CLI

Automatización y salida de la CLI

Ejecute la CLI de AI Glot de forma segura en scripts y CI utilizando JSON o NDJSON, credenciales de entorno, perfiles, códigos de salida y reintentos limitados.

La CLI imprime tablas legibles en una terminal y JSON cuando la salida se redirige, por lo que el mismo comando funciona de forma interactiva y en automatizaciones.

Terminal
aiglot batches list                    # tabla en una terminal
aiglot batches list | jq '.data[0].id' # JSON al redirigir
aiglot batches list --output ndjson    # un objeto por línea
aiglot account --json                  # JSON explícito

Los errores se envían a la salida de error estándar, al igual que las advertencias que el operador aún debe ver, como una página de resultados truncada. Por lo tanto, la salida estándar permanece segura para redirigirla a otro programa.

Esperar a que finalice una traducción

Un script que inicia una traducción normalmente debe esperar a que termine. Realice consultas a batches get y deténgase al alcanzar un estado terminal:

Terminal
id=$(aiglot batches create catalogue.csv --instruction "Translate into French" --json | jq -r '.data.id')
aiglot batches approve "$id" --json > /dev/null

until status=$(aiglot batches get "$id" --json | jq -r '.data.status'); [ "$status" = "completed" ] || [ "$status" = "failed" ]; do
  sleep 5
done

[ "$status" = "completed" ] && aiglot batches download "$id" --output result.csv

Estos son todos los estados que puede reportar una traducción y los tres que la finalizan. Cada uno responde a la misma pregunta: ¿quién está esperando y a qué?

EstadoSignificadoQuién esperaTerminal
analyzingse está leyendo la estructura del archivonosotros, durante unos segundos
awaiting_instructionsel archivo ha sido leído; aún no se ha solicitado nadausted
awaiting_approvalhay un plan listo y presupuestadousted
translatingejecutando; el único estado que consume créditosnosotros
completedfinalizado, hay un archivo de resultado disponiblenadie
failedfinalizado sin resultado; lea error.codeusted, para reintentar
cancelleddetenido deliberadamente, se cobra solo el trabajo realizadonadie

Paginación

batches list y glossaries list se basan en cursores. Devuelva el next_cursor de la respuesta anterior textualmente con --cursor, o deje que --all lo haga por usted hasta que has_more sea false (con un límite de 200 páginas como medida de seguridad):

Terminal
aiglot batches list --status completed --all
aiglot glossaries list --all --output ndjson

En --output ndjson, --all imprime cada fila de cada página a medida que llega. En modo table y json, imprime un único resultado combinado con has_more: false, next_cursor: null y un recuento de pages_fetched en lugar de request_id, ya que ninguna solicitud individual puede nombrarse una vez que se han ejecutado varias.

Autenticación en CI

Cree una clave API dedicada con el alcance mínimo y almacénela en el gestor de secretos del proveedor de CI:

Terminal
export AIGLOT_API_KEY="aig_live_…"
aiglot account --json

La CLI verifica las credenciales en este orden: AIGLOT_API_KEY, el llavero del sistema operativo y, por último, su archivo de configuración protegido.

Códigos de salida

CódigoSignificado
0Éxito
1Error de API o del servidor
2Comando o argumentos inválidos
3Fallo de autenticación o permisos
4Recurso no encontrado
5Límite de tasa superado (Rate limited)
6Conflicto de estado del recurso

Los scripts deben ramificarse según el código de salida o el error.code estructurado, no según el texto del mensaje de error.

Reintentos

Los reintentos son automáticos, pero solo cuando es seguro hacerlo. El error 429 se reintenta en todos los comandos, respetando Retry-After con un retroceso limitado. Los errores 408 y 5xx solo se reintentan en solicitudes idempotentes (RFC 9110 §9.2.2): lecturas, glossaries replace y glossaries delete.

glossaries create, glossaries add, glossaries remove, batches rename y batches archive no se reintentan tras un 5xx, ya que la escritura podría haberse efectuado y un segundo intento la aplicaría dos veces. Estos fallos llegan a su script con el código de salida 1: vuelva a leer el recurso y decida si debe intentar de nuevo en lugar de reintentar a ciegas.

Use --no-retry cuando el operador gestione la política de reintentos, y --timeout <seconds> (predeterminado 60) para limitar una única solicitud. Los comandos destructivos nunca esperan indefinidamente a un aviso interactivo: el uso no interactivo debe pasar --force.

Perfiles

Utilice perfiles con nombre para mantener separadas las credenciales de diferentes espacios de trabajo o entornos:

Terminal
aiglot --profile client-a auth login --key "$CLIENT_A_KEY"
aiglot --profile client-a account
export AIGLOT_PROFILE=client-a

Variables de entorno

VariablePropósito
AIGLOT_API_KEYClave API; anula las credenciales almacenadas
AIGLOT_PROFILEPerfil de credenciales con nombre
AIGLOT_NO_TUIFuerza la salida legible por máquina
AIGLOT_NO_KEYCHAINOmite el llavero del sistema operativo
NO_COLOREstándar (no-color.org). Desactiva solo el color; no cambia el formato de salida

Use these docs with your AI tools

An AI agent can read this documentation directly. You do not need an account or an API key. Everything here is public and read-only.

Query these docs via MCP

Recommended

Add this server to Claude, Claude Code, Cursor, Mistral, or any tool that supports MCP. Your agent can then search AI Glot Docs documentation and read it in full, instead of answering from memory.

https://ai-glot.com/docs/mcp
  • searchFind the passages that answer a question.
  • fetchRead one page in full, as Markdown.
  • list_pagesSee every page in this documentation.

Query these docs over HTTP

The same tools also work as plain web requests. Use this for scripts, or for any tool that does not support MCP. There is one endpoint per tool. Arguments go in the query string, and the answer comes back as JSON.

https://ai-glot.com/docs/api/docs/search?query=custom+domain

Read the OpenAPI description. It is built from the same definitions as the tools, so it always matches what the endpoints do.

Read these docs as Markdown

Add .md to any page URL to get its Markdown source. You can also send the headerAccept: text/markdown to the page URL itself.

To read the whole documentation in one file, open llms-full.txt. For a short index of every page, open llms.txt.