Files
carlospalanca.es/TODO.md

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