Skip to content

Estructura del proyecto

jaleo/
├── index.js # Servidor Express — todos los endpoints y logica de Spotify
├── database.js # Configuracion SQLite — tabla de grupos (groupId, accessToken, refreshToken)
├── landing.html # Landing page publica con enlace de WhatsApp
├── callback.html # Pagina de confirmacion post-OAuth con comandos disponibles
├── .env.example # Plantilla de variables de entorno
├── .env # Variables de entorno (no subir a git)
├── .gitignore # Archivos excluidos de git
├── package.json # Dependencias: express, axios, sqlite3, dotenv
├── jaleo.db # Base de datos SQLite (se genera automaticamente)
├── LICENSE # GPL-3.0
└── README.md # Documentacion del proyecto (ingles)

| Archivo | Descripcion | |---------|-------------| | index.js | Servidor Express. Contiene todos los endpoints (/, /login, /callback, /webhook, /debug), la logica de OAuth, la gestion de tokens y las llamadas a la Spotify Web API. | | database.js | Configuracion de SQLite. Crea la tabla grupos con campos groupId (PRIMARY KEY), accessToken y refreshToken. | | landing.html | Pagina publica en https://tudominio.com/. Contiene el equalizador animado, descripcion del proyecto y enlace al GitHub. | | callback.html | Pagina que se muestra despues de vincular Spotify con exito. Muestra los comandos disponibles. | | .env | Variables de entorno (PORT, BASE_URL, SPOTIFY_CLIENT_ID, SPOTIFY_CLIENT_SECRET, REDIRECT_URI). No subir a git. |

Despues de la configuracion, OpenClaw genera esta estructura:

~/.openclaw/
├── openclaw.json # Configuracion general (canales, gateway, plugins, modelo)
├── workspace/
│ ├── IDENTITY.md # Nombre y emoji del bot
│ ├── SOUL.md # Personalidad, reglas e instrucciones del webhook
│ ├── AGENTS.md # Restricciones del agente (solo musica, solo webfetch)
│ ├── TOOLS.md # Referencia rapida de endpoints
│ ├── HEARTBEAT.md # Tareas periodicas (ninguna)
│ ├── MEMORY.md # Memoria persistente (auto-generada)
│ └── skills/
│ └── jaleo-spotify/
│ ├── SKILL.md # Instrucciones de la skill
│ └── skill.json # Metadatos de la skill
├── agents/
│ └── main/agent/
│ ├── auth-profiles.json # Perfiles de autenticacion (API keys)
│ ├── auth-state.json # Estado de autenticacion
│ └── models.json # Configuracion del modelo
├── devices/
│ └── paired.json # Info del dispositivo WhatsApp vinculado
└── identity/
├── device.json # Claves de identidad del dispositivo
└── device-auth.json # Tokens de autenticacion del dispositivo

| Archivo | Descripcion | |---------|-------------| | openclaw.json | Lo gestiona openclaw configure. Editalo solo si sabes lo que haces. | | MEMORY.md | Lo gestiona OpenClaw automaticamente. | | auth-profiles.json | Contiene las API keys del modelo de IA. Se configura con openclaw configure. | | models.json | Se genera automaticamente. | | devices/paired.json | Se genera al vincular WhatsApp con openclaw pair. | | identity/ | Claves y tokens del dispositivo. No editar. |

| Paquete | Version | Descripcion | |---------|---------|-------------| | express | ^5.2.1 | Framework web para el servidor HTTP | | axios | ^1.14.0 | Cliente HTTP para llamadas a la Spotify Web API | | sqlite3 | ^6.0.1 | Base de datos embebida para persistencia de tokens | | dotenv | ^17.3.1 | Carga de variables de entorno desde .env | | pm2 | ^6.0.14 | Gestor de procesos (solo produccion) |

| Paquete | Descripcion | |---------|-------------| | @anthropic/openclaw | Plataforma de automatizacion WhatsApp + IA |

| Componente | Descripcion | |------------|-------------| | Node.js 20+ | Entorno de ejecucion | | Caddy | Reverse proxy con HTTPS automatico | | PM2 | Gestor de procesos para 24/7 |