# 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