Skip to content
145 changes: 134 additions & 11 deletions src/content/docs-es/automations.mdx

Large diffs are not rendered by default.

20 changes: 19 additions & 1 deletion src/content/docs-es/nan-cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,25 @@ nan runs reject <run-id>
nan secrets ls
```

Crear o editar automatizaciones y triggers, escribir secretos y aprobar propuestas solo se hace en el portal, con sesión iniciada en tu navegador: si lo intentas, la CLI te dice dónde. Un run que espera aprobación hace que `nan run`, `nan runs logs -f` y `nan automations run` salgan con código 10. Los detalles están en [Automatizaciones](/es/docs/automations#desde-la-terminal).
Desde la v0.1.33, si tu cuenta tiene la API de escritura (se está abriendo poco a poco), la CLI también crea y cambia tus secretos, automatizaciones y triggers:

```bash
nan secrets set GITHUB_TOKEN --value-file ./token.txt # lo añade, o reemplaza su valor
gh auth token | nan secrets set GITHUB_READ_TOKEN --value-stdin
nan secrets show GITHUB_TOKEN
nan secrets edit GITHUB_TOKEN --description "repo acme/api"
nan secrets rm OLD_TOKEN
nan automations create -f automation.yaml
nan automations edit "PR review" -f changes.yaml
nan automations disable "PR review"
nan automations triggers add "PR review" -f webhook.yaml # imprime la URL y el secreto una vez
```

El valor de un secreto se lee de un archivo o de una tubería, nunca de la línea de comandos, y nada lo vuelve a imprimir. Mientras tu cuenta no tenga la API de escritura, estos comandos te lo dicen y te mandan al portal. Aprobar propuestas siempre se hace en el portal, con sesión iniciada en tu navegador.

Estos comandos usan primero tu sesión de `nan auth login` (gana a `NAN_TOKEN`; `--token-file` gana a las dos), o un token de plataforma con los scopes que necesitan: `secrets:read` y `secrets:write` para secretos, `automations:write` (y `automations:read` para usar nombres) para automatizaciones; consulta [Tokens para automatizaciones](/es/docs/automations#tokens-para-automatizaciones). Inicia sesión en tu propia máquina, nunca dentro de un workspace: los agentes de ahí podrían leer la sesión y cambiar tus secretos. Todos los comandos, los archivos YAML y los avisos están en [Gestiónalas desde la CLI o la API](/es/docs/automations#gestiónalas-desde-la-cli-o-la-api).

Un run que espera aprobación hace que `nan run`, `nan runs logs -f` y `nan automations run` salgan con código 10. Los detalles están en [Automatizaciones](/es/docs/automations#desde-la-terminal).

## Actualizar

Expand Down
4 changes: 3 additions & 1 deletion src/content/docs-es/runs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ Escribe el id del modelo tal como lo llama tu proveedor. NaN no lo comprueba con

### Guarda tu clave como provider key

Abre tus ajustes en el portal, **Secrets**, y pulsa **Add secret** (guardar un secreto necesita que hayas iniciado sesión en el navegador). Rellena (el portal está en inglés):
Abre tus ajustes en el portal, **Secrets**, y pulsa **Add secret**. Rellena (el portal está en inglés):

- **Name**: cómo la nombran los runs y las automatizaciones, por ejemplo `ANTHROPIC_KEY`. Mayúsculas, dígitos y `_`, empezando por una letra.
- **Kind**: **Provider key**.
Expand All @@ -185,6 +185,8 @@ Abre tus ajustes en el portal, **Secrets**, y pulsa **Add secret** (guardar un s

Como todo secreto, una provider key es de **solo escritura**: nadie puede volver a leerla, ni siquiera tú. La lista la muestra como **Provider key · Anthropic** (o su proveedor) normalmente con sus 4 últimos caracteres y, en una clave OpenAI-compatible, su URL base, que puedes cambiar con **Base URL**. **Replace value** cambia la clave para todos los runs que arranquen a partir de ese momento. `nan secrets ls` la muestra con **KIND** `provider_key`, su **PROVIDER** y su **BASE URL**.

Si tu cuenta tiene la API de escritura, también puedes guardarla desde la CLI, leyendo la clave de un archivo o de una tubería: `nan secrets set ANTHROPIC_KEY --value-file key.txt --kind provider_key --provider anthropic`. Consulta [Secretos desde la CLI](/es/docs/automations#secretos-desde-la-cli).

**Reglas de la URL base.** NaN comprueba la URL base al guardarla y nunca se conecta a ella: solo lo hace el agente de tu workspace.

- Solo `https`, hasta 512 caracteres. Un puerto vale (`https://llm.example.com:8443/v1`).
Expand Down
6 changes: 4 additions & 2 deletions src/content/docs-es/webhooks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import Callout from '../../components/docs/Callout.astro';

Un **trigger** lanza una [automatización](/es/docs/automations) sin ti: un **webhook** cuando GitHub, Stripe o uno de tus sistemas envía un evento, o una **programación** a las horas que elijas. Cada arranque crea un run en tu workspace con los ajustes de la automatización, exactamente igual que **Run now**.

Una automatización puede tener hasta **5 triggers**, de cualquiera de los dos tipos. Los gestionas en su pestaña **Triggers**, en [cloud.nan.builders/automations](https://cloud.nan.builders/automations): **+ Webhook**, **+ Schedule** y, en cada trigger, **Pause** / **Resume**, **Rotate** (webhooks) y el icono de la papelera para borrarlo. Añadir, cambiar y borrar triggers exige una [sesión en el navegador](/es/docs/automations#por-qué-algunas-acciones-necesitan-el-navegador).
Una automatización puede tener hasta **5 triggers**, de cualquiera de los dos tipos. Los gestionas en su pestaña **Triggers**, en [cloud.nan.builders/automations](https://cloud.nan.builders/automations): **+ Webhook**, **+ Schedule** y, en cada trigger, **Pause** / **Resume**, **Rotate** (webhooks) y el icono de la papelera para borrarlo. Si tu cuenta tiene la API de escritura, también puedes gestionarlos desde la CLI (`nan automations triggers`) y la API: consulta [Triggers desde la CLI](/es/docs/automations#triggers-desde-la-cli). Si no, añadir, cambiar y borrar triggers exige una [sesión en el navegador](/es/docs/automations#por-qué-algunas-acciones-necesitan-el-navegador).

## Añade un webhook

Expand Down Expand Up @@ -46,6 +46,8 @@ Pulsa **Add webhook**. El portal te muestra, **una sola vez**:

Cópialos y pulsa **I've saved them**. Después, el portal solo muestra el principio de la URL. Si los pierdes, [rótalos](#rota-la-url-o-el-secreto) para conseguir unos nuevos.

Desde la CLI, `nan automations triggers add <automatización> -f webhook.yaml` imprime esos mismos valores **una sola vez** (en Stripe, solo la URL), con un aviso para que los guardes en ese momento; `--json` los imprime en JSON para un script. A través de la API, `POST /v1/automations/{id}/triggers` los devuelve una sola vez en `webhook_url` y `signing_secret`, con `Cache-Control: no-store`. Nada vuelve a devolverlos: ni el portal, ni `nan automations triggers ls`, ni la API.

### Configúralo en el emisor

Sigue la sección de tu emisor: [GitHub](#desde-github), [Stripe](#desde-stripe) o [tu propio código](#envía-tus-propios-eventos).
Expand Down Expand Up @@ -251,7 +253,7 @@ Desde la terminal: `nan automations deliveries <automation>`. Desde la API: [`GE
- **New webhook URL**: la URL actual deja de funcionar al momento.
- **New signing secret** (marcado por defecto): por defecto, el secreto anterior sigue funcionando 24 horas, para que puedas actualizar el emisor sin perder eventos. Desmarca **Keep the old secret valid for 24 hours** si el anterior se ha filtrado: deja de funcionar al momento. Para Stripe, rota antes el secreto en Stripe y pega el nuevo `whsec_...`.

Los valores nuevos se muestran una sola vez, como cuando añadiste el webhook.
Los valores nuevos se muestran una sola vez, como cuando añadiste el webhook. Desde la CLI, `nan automations triggers rotate <automatización> <trigger-id>` hace lo mismo (`--url` o `--secret` para solo uno, `--no-grace` para que el secreto anterior deje de valer al momento) e imprime los valores nuevos una sola vez. En Stripe, rota primero el secreto en Stripe y pásalo con `--signing-secret-file PATH` o `--signing-secret-stdin` (o rota solo la URL con `--url`). A través de la API, `POST /v1/automations/{id}/triggers/{trigger_id}/rotate` con `{"rotate": ["url", "secret"], "grace": true}`; en Stripe, `{"rotate": ["secret"], "signing_secret": "whsec_..."}` con el secreto nuevo de Stripe.

## Bucles

Expand Down
Loading
Loading