# Instrucciones para el agente: Zero: correo autohospedado con funciones de IA

Pega este texto a tu agente (Claude Code, Codex, OpenCode, Hermes o el que uses) y dile «ayúdame a montarlo». Son los pasos para ponerlo en marcha; el porqué de cada pieza está en la guía completa.

- Dificultad: avanzado
- Proyecto: https://github.com/Mail-0/Zero (licencia MIT)
- Guía completa: https://lab.wisd.ai/hub/zero-ai-email

---

## Para el agente: cómo acompañar al usuario

1. Pregunta primero para qué lo quiere. Si su objetivo no necesita algún paso, sáltalo.
2. Antes de instalar, comprueba lo que ya tiene (versiones, claves, sistema operativo).
3. Avanza un paso cada vez: explica en una frase qué vas a hacer y deja que el usuario lo ejecute o lo apruebe.
4. Tras cada paso, comprueba que funcionó antes de seguir. Si falla, para y explica el error.
5. No inventes comandos ni opciones: si la documentación del proyecto contradice estos pasos, manda la documentación.
6. Al terminar, haz una prueba real con el objetivo del usuario y dile dónde profundizar.

---

## Pasos de configuración

### Preparación

Comprueba Git, Node.js 22 (fijado en [.nvmrc](https://github.com/Mail-0/Zero/blob/main/.nvmrc)), pnpm 10.12.1 (packageManager), Docker ≥20 y Compose, con Docker en ejecución. El README conserva el mínimo antiguo de Node.js 18; esta ruta sigue la configuración actual del repo. Usa una copia de ensayo y comprueba la compatibilidad con las dependencias actuales antes de instalar. Prepara el acceso a Google Cloud para Gmail, con Gmail API y People API habilitadas; configura los servicios antes de aplicar el esquema.

### Paso 1: prepara la instalación local

Con los requisitos del README instalados:

```bash
git clone https://github.com/Mail-0/Zero.git
cd Zero
pnpm install
pnpm docker:db:up
```

### Paso 2: configura los servicios

```bash
pnpm nizzy env
pnpm nizzy sync
```

Después de `pnpm nizzy env`, completa el `.env` privado de la raíz y vuelve a ejecutar `pnpm nizzy sync` tras cada cambio; sync distribuye esos valores a las aplicaciones. Para esta ruta local:

- Conserva `VITE_PUBLIC_APP_URL=http://localhost:3000` y `VITE_PUBLIC_BACKEND_URL=http://localhost:8787`. Con el Compose incluido, `DATABASE_URL` apunta a `postgresql://postgres:postgres@localhost:5432/zerodotemail`, y Redis HTTP a `http://localhost:8079` con el token de ensayo de la plantilla.
- Define un `BETTER_AUTH_SECRET` aleatorio propio. En Google Cloud crea un cliente OAuth de tipo Web, configura `GOOGLE_CLIENT_ID` y `GOOGLE_CLIENT_SECRET`, habilita Gmail API y People API y añade tu buzón de ensayo como usuario de prueba. Registra exactamente `http://localhost:8787/api/auth/callback/google` como retorno; el frontend en 3000 no es el callback del backend.
- El README pide `AUTUMN_SECRET_KEY` de un sandbox Autumn para las funciones que lo utilizan. Las funciones de IA de la [plantilla actual](https://github.com/Mail-0/Zero/blob/main/.env.example) usan `OPENROUTER_API_KEY`; el acceso a Gmail no la sustituye. La plantilla añade también un asistente Keiki con configuración propia; no lo des por operativo solo por conectar el buzón. Twilio corresponde a SMS y no es necesario para esta primera prueba de correo.

No uses los secretos de ejemplo como credenciales de un servicio publicado.

### Paso 3: inicia la aplicación

```bash
pnpm db:push
pnpm dev
```

## Comprobación

Abre http://localhost:3000 y conecta un buzón de prueba. Comprueba que inicia sesión y muestra un mensaje de ensayo reconocible. Después, con OpenRouter configurado, pide redactar un borrador corto sobre ese mensaje y comprueba su contenido sin enviarlo. Así verificas una función de IA además del acceso al buzón; las funciones del asistente Keiki requieren su preparación adicional.

## Si algo falla

Si Google rechaza el inicio, revisa la URL de retorno y el usuario de prueba de OAuth. Si falla la persistencia, revisa PostgreSQL y la sincronización de configuración según el README.

Fuente: [documentación oficial](https://github.com/Mail-0/Zero#readme).
