111 lines
5.2 KiB
Markdown
111 lines
5.2 KiB
Markdown
# TODO — carlospalanca.es + Sistema Multi-Agente
|
|
|
|
> Documentación técnica completa en `/docs/`
|
|
|
|
---
|
|
|
|
## Fase 1 — Web Base ✅
|
|
- [x] Scaffold Astro con template blog
|
|
- [x] Instalar @astrojs/mdx, @astrojs/sitemap, @astrojs/rss
|
|
- [x] Actualizar `astro.config.mjs` con site URL y config Markdown
|
|
- [x] Actualizar `src/content.config.ts` con colecciones blog + guiones
|
|
- [x] Crear `src/content/guiones/` con `.gitkeep`
|
|
- [x] Crear `.github/workflows/ci.yml` (build check en PRs)
|
|
- [x] Crear `.github/workflows/deploy.yml` (deploy a VPS en merge a main)
|
|
- [x] Crear `AGENTS.md` (fuente de verdad para agentes)
|
|
|
|
## Fase 2 — Agentes ✅
|
|
- [x] Crear `agents/shared/github_client.py`
|
|
- [x] Crear `agents/tyrion/` (orquestador)
|
|
- [x] Crear `agents/varys/` (SEO & research)
|
|
- [x] Crear `agents/samwell/` (guiones & blog)
|
|
- [x] Crear `agents/bronn/` (sponsors)
|
|
- [x] Crear `agents/bran/` (infraestructura)
|
|
- [x] Crear `agents/davos/` (redes sociales)
|
|
- [x] Crear `agents/arya/` (code review)
|
|
- [x] Crear `agents/daenerys/` (visuales)
|
|
- [x] Crear `agents/jon/` (formación)
|
|
- [x] Crear `agents/docker-compose.yml`
|
|
- [x] Crear `agents/.env.example`
|
|
|
|
## Fase 3 — VPS ✅
|
|
- [x] Crear `vps/docker-compose.openwebui.yml`
|
|
- [x] Crear `vps/nginx/carlospalanca.conf`
|
|
- [x] Crear `vps/deploy.sh`
|
|
|
|
## Fase 4 — Documentación técnica ✅
|
|
- [x] `docs/setup/01-github.md` — Configuración del repositorio GitHub
|
|
- [x] `docs/setup/02-vps.md` — Provisionar y configurar el VPS
|
|
- [x] `docs/setup/03-openwebui.md` — Instalar y configurar OpenWebUI
|
|
- [x] `docs/setup/04-discord.md` — Crear las 9 Discord Apps y bots
|
|
- [x] `docs/setup/05-agents.md` — Desplegar los agentes en el VPS
|
|
- [x] `docs/architecture.md` — Arquitectura general del sistema
|
|
- [x] `docs/agents-reference.md` — Referencia de cada agente
|
|
- [x] `docs/stack-explained.md` — Qué es cada plataforma y para qué sirve
|
|
- [x] `docs/cost-roi.md` — Coste, rendimiento y ganancia de cada componente
|
|
|
|
---
|
|
|
|
## Pendiente — Tú lo haces en el VPS/GitHub
|
|
|
|
### 4.1 GitHub ✅
|
|
- [x] Crear repositorio `cpalanca/carlospalanca.es` en GitHub (público)
|
|
- [x] Push inicial a `main`
|
|
- [x] Crear GitHub Fine-Grained PAT (`carlospalanca-agents`) → guardado como secret `AGENTS_GH_TOKEN`
|
|
- [x] Añadir GitHub Secrets: `VPS_HOST`, `VPS_USER`, `VPS_SSH_PRIVATE_KEY`, `AGENTS_GH_TOKEN`, `OPENWEBUI_API_KEY`
|
|
- [x] Crear labels: `agent-created`, `needs-review`, `approved`
|
|
- [x] Activar branch protection ruleset en `main` (requiere PR)
|
|
|
|
### 4.2 VPS ✅
|
|
- [x] VPS existente en `217.154.185.188` (Ubuntu 24.04, Docker + NPM)
|
|
- [x] DNS `carlospalanca.es` y `ai.carlospalanca.es` apuntando al VPS
|
|
- [x] Stack `carlospalanca` con nginx:alpine en `/opt/stacks/carlospalanca/`
|
|
- [x] SSL gestionado por Nginx Proxy Manager
|
|
- [x] Deploy automático via GitHub Actions (push a `main` → rsync → `/opt/stacks/carlospalanca/html/`)
|
|
- [x] `https://carlospalanca.es` operativo
|
|
|
|
### 4.3 OpenWebUI ✅
|
|
- [x] Stack desplegado en `/opt/stacks/openwebui/` con proxy-net
|
|
- [x] NPM host `ai.carlospalanca.es` → `openwebui:8080` con SSL
|
|
- [x] Anthropic API key configurada (Claude 3.5 Sonnet)
|
|
- [x] API Keys habilitadas en admin → secret `OPENWEBUI_API_KEY` añadido al repo
|
|
- [x] `https://ai.carlospalanca.es` operativo
|
|
|
|
### 4.4 Discord ⏳ — MANUAL (no automatizable)
|
|
> Discord no permite crear bots por API. Hay que hacerlo desde https://discord.com/developers/applications
|
|
|
|
- [ ] Activar Developer Mode: Discord → Ajustes → Avanzado → Modo desarrollador
|
|
- [ ] Crear categoría `LA MANO DEL REY` en tu servidor y los 9 canales:
|
|
- `el-trono-de-hierro`, `el-pajarillo`, `la-ciudadela`, `el-banco-de-hierro`, `el-muro`
|
|
- `desembarco-del-rey`, `cara-sin-nombre`, `poniente-en-llamas`, `la-guardia-de-la-noche`
|
|
- [ ] Copiar los 9 Channel IDs (click derecho → Copiar ID)
|
|
- [ ] Crear 9 Discord Applications en https://discord.com/developers/applications:
|
|
- `Tyrion Lannister`, `Varys`, `Samwell Tarly`, `Bronn`, `Bran Stark`
|
|
- `Davos Seaworth`, `Arya Stark`, `Daenerys Targaryen`, `Jon Snow`
|
|
- [ ] En cada app → **Bot** → activar **Message Content Intent** → **Reset Token** → copiar token
|
|
- [ ] En cada app → **OAuth2** → bot permissions (Read + Send + History) → invitar al servidor
|
|
- [ ] Dar todos los tokens y Channel IDs para añadirlos como secrets
|
|
|
|
### 4.5 Despliegue de agentes (15 min)
|
|
- [ ] Dar tokens Discord y Channel IDs (ver 4.4)
|
|
- [ ] Claude Code desplegará `agents/` en `/opt/stacks/agents/` y creará el `.env`
|
|
- [ ] Verificar que los 9 bots aparecen online en Discord
|
|
|
|
### 4.6 Test end-to-end
|
|
- [ ] Escribir en `#el-trono-de-hierro`: "Tyrion, necesito un guión para un vídeo sobre Docker"
|
|
- [ ] Verificar que Tyrion responde y delega a Samwell en `#la-ciudadela`
|
|
- [ ] Verificar que Samwell crea un PR en GitHub
|
|
- [ ] Verificar que el CI build check comenta en el PR
|
|
- [ ] Hacer merge del PR
|
|
- [ ] Verificar que el deploy action despliega el sitio
|
|
|
|
---
|
|
|
|
## Mejoras futuras (backlog)
|
|
- [ ] Añadir `remotion/` con setup inicial de Remotion para Daenerys
|
|
- [ ] Personalizar el diseño de la web (colores, tipografía, logo)
|
|
- [ ] Añadir página de vídeos de YouTube con embed
|
|
- [ ] Añadir historial de conversaciones por agente en Discord
|
|
- [ ] Configurar Ansible playbooks con Bran para gestión de infra
|
|
- [ ] Dashboard de métricas del canal (views, subs) en la web
|