# CLI

Comandos del vendedor, opciones aceptadas, selección del archivo y códigos de salida.

Source: https://docs.gyblos.com/es/reference/cli

Esta referencia enumera los comandos implementados de `gyblos`. En la instalación de Docker por invitación,
ejecútalos desde `~/gyblos-seller` con el prefijo `docker compose exec seller`.
Si el contenedor no está disponible, usa `docker compose run --rm seller` antes de `gyblos`.
En un checkout nativo se usa `pnpm gyblos`; no sustituye la instalación de Docker.

## Comandos

| Comando                           | Opciones aceptadas                                   | Códigos de salida                                          |
| --------------------------------- | ---------------------------------------------------- | ---------------------------------------------------------- |
| `gyblos config validate`          | `--config <path>`                                    | 0 válido; 1 inválido o error de uso                        |
| `gyblos doctor`                   | `--online`                                           | 0 sin comprobaciones fallidas, incluso con avisos; 1 fallo |
| `gyblos seller status`            | `--online`                                           | 0 solo para `RUNNING`; 1 para otros estados o errores      |
| `gyblos seller register`          | Ninguna                                              | 0 registrado/ya registrado; 1 fallo                        |
| `gyblos seller init`              | Consulta las opciones de init abajo                  | 0 escrito; 1 fallo; 130 pregunta cancelada                 |
| `gyblos seller service install`   | `--memory <size>`, `--cpu <percentage>`, `--dry-run` | 0 correcto; 1 fallo                                        |
| `gyblos seller service uninstall` | `--dry-run`                                          | 0 correcto; 1 fallo                                        |

No hay comandos generales `gyblos start` ni `gyblos stop`, ni opciones generales `--home`, `--relay`,
`--rpc-url` o `--discovery-url` en la CLI. Usa Compose para el ciclo de vida de Docker y las
[variables documentadas](/es/reference/configuration) para las modificaciones admitidas.

## Comandos de Docker

### Validación

```sh
cd ~/gyblos-seller
docker compose run --rm seller gyblos config validate --config /config/gyblos.toml
```

Si es correcto muestra `OK`, los ajustes efectivos y su origen, las ofertas y los nombres de variables secretas
con `set` o `not set`. Si falla muestra códigos y rutas de claves. Oculta los valores del entorno;
las URLs del archivo o predeterminadas se reducen al origen y ocultan las rutas. Revisa aun así la salida personalizada.
El comando analiza el archivo y resuelve el entorno; no comprueba que el motor esté listo ni todas las
restricciones de inicio del vendedor.

> **Cada comando selecciona el archivo de forma distinta**
>
>
> `config validate` usa `--config` o, si se omite, `./gyblos.toml`; no
> selecciona el archivo mediante `GYBLOS_CONFIG`. En el contenedor suministrado
> indica `/config/gyblos.toml` explícitamente. Doctor, init e inicio usan
> `GYBLOS_CONFIG` o el `gyblos.toml` del directorio de trabajo. Doctor, init,
> status, register y service no aceptan `--config`.

### Diagnóstico

```sh
cd ~/gyblos-seller
docker compose run --rm seller gyblos doctor
```

Doctor muestra `OK`, `WARN` o `FAIL` con códigos y consejos, límites efectivos e identidad pública.
No inicia el vendedor, genera inferencia ni escribe estado. Consulta los motores de loopback.
`--online` añade consultas a listas de modelos remotos y al reloj de descubrimiento; puede enviar credenciales
al proveedor configurado. Una consulta correcta no demuestra generación, margen de memoria ni integridad
del contenido de las llaves privadas. Consulta [solución de problemas](/es/help/troubleshooting) si falla.

### Estado y registro

```sh
cd ~/gyblos-seller
docker compose exec seller gyblos seller status
docker compose exec seller gyblos seller status --online
docker compose exec seller gyblos seller register
```

Status es de solo lectura. `--online` consulta descubrimiento por modelo para buscar el NodeId público.
Su resumen de actividad es un historial limitado de recibos conservados, no un saldo de cuotas.

Register recibe la invitación por terminal interactiva o `GYBLOS_INVITE`, nunca como argumento de línea
de comandos. La entrada interactiva es visible. Concede permiso para publicar cuando el índice verifica
la inscripción. Con terminal interactiva puede crear la inscripción devnet usando la cartera owner:
estima el coste, simula y pide `yes` antes de un nuevo envío firmado. Escribe estado privado y al repetir
puede reenviar una transacción guardada ya aprobada sin otra pregunta. No cambia TOML ni publica.
`REGISTER_IDENTITY_UNAVAILABLE` indica una inscripción no completada; lee el consejo sobre fondos,
simulación o estado incierto. Consulta [Registra y publica](/es/sellers/register-publish) para conocer
requisitos y límites de recuperación antes de ejecutarlo.

## Checkout nativo

### Init

`gyblos seller init` escribe una oferta gratuita en devnet. No instala Docker, crea llaves, descarga
modelos ni inicia motores. En Docker edita el archivo del anfitrión: el montaje del contenedor es de solo lectura.

| Opción                               | Significado y valor predeterminado                                                                         |
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------- |
| `--engine ollama\|openai\|anthropic` | Motor; predeterminado `ollama`                                                                             |
| `--url <url>`                        | Ollama `http://127.0.0.1:11435`; OpenAI `https://api.openai.com/v1`; Anthropic `https://api.anthropic.com` |
| `--model <id>`                       | `qwen3:0.6b` para Ollama; obligatorio o preguntado para motores remotos                                    |
| `--upstream-model <name>`            | Nombre esperado por el motor; predeterminado igual al ofrecido                                             |
| `--context-tokens <n>`               | Obligatorio o preguntado para OpenAI/Anthropic; omitir en Ollama                                           |
| `--api-key-env <NAME>`               | Nombre de variable secreta; por defecto `OPENAI_API_KEY` o `ANTHROPIC_API_KEY` para remotos                |
| `--api-key-env none`                 | Omite API key para OpenAI; no se acepta en Anthropic                                                       |
| `--daily-cap <n>`                    | Predeterminado `200000` tokens                                                                             |
| `--per-buyer-cap <n>`                | Predeterminado `50000` tokens                                                                              |
| `--publish` / `--no-publish`         | Publicación; desactivada por defecto; mutuamente excluyentes                                               |
| `--force`                            | Reemplaza un archivo regular de configuración; no permite seguir enlaces simbólicos                        |

En terminal pregunta las opciones que faltan; los scripts usan opciones y valores predeterminados.
Sin `--force` rechaza un archivo existente. Init comprueba los ajustes con una credencial de ejemplo;
no valida la credencial real. Su puerto nativo de Ollama `11435` difiere del `11434` del instalador de Docker.

### Servicios en segundo plano

Estos comandos usan systemd de usuario en Linux o launchd en macOS, **no Docker**. Ejecútalos con la cuenta
vendedora, nunca como root. Install usa `2048M` de memoria por defecto, también el mínimo, y `100%` de CPU.
`--dry-run` permite previsualizar sin instalar. macOS no aplica estos límites de recursos.

El servicio nativo usa el `seller.env` de su directorio de datos, con líneas estrictas `NAME=value` y permisos
solo para el propietario; no hereda todas las variables de tu terminal. Captura las rutas de datos y configuración
al instalarse. Uninstall elimina el registro del servicio, no las llaves ni la configuración.
El aprovisionamiento nativo está fuera del tutorial de Docker; no ejecutes service install dentro del contenedor.

**Relacionado:** [Configuración](/es/reference/configuration) · [Operación](/es/sellers/operate).
