Estructura del proyecto
jaleo-api
Section titled “jaleo-api”jaleo/├── index.js # Servidor Express - todos los endpoints y logica de Spotify├── database.js # configuración SQLite - tabla de grupos (groupId, accessToken, refreshToken)├── landing.html # Landing page pública con enlace de WhatsApp├── callback.html # página de confirmación 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 automáticamente)├── LICENSE # GPL-3.0└── README.md # Documentación del proyecto (inglés)Archivos clave
Section titled “Archivos clave”| Archivo | descripción |
|---|---|
index.js | Servidor Express. Contiene todos los endpoints (/, /login, /callback, /webhook, /debug), la logica de OAuth, la gestión de tokens y las llamadas a la Spotify Web API. |
database.js | configuración de SQLite. Crea la tabla grupos con campos groupId (PRIMARY KEY), accessToken y refreshToken. |
landing.html | página pública en https://tudominio.com/. Contiene el equalizador animado, descripción del proyecto y enlace al GitHub. |
callback.html | página que se muestra después de vincular Spotify con éxito. Muestra los comandos disponibles. |
.env | Variables de entorno (PORT, BASE_URL, SPOTIFY_CLIENT_ID, SPOTIFY_CLIENT_SECRET, REDIRECT_URI). No subir a git. |
OpenClaw
Section titled “OpenClaw”después de la configuración, OpenClaw genera esta estructura:
~/.openclaw/├── openclaw.json # configuración 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 música, solo webfetch)│ ├── TOOLS.md # Referencia rápida de endpoints│ ├── HEARTBEAT.md # Tareas periódicas (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 autenticación (API keys)│ ├── auth-state.json # Estado de autenticación│ └── models.json # configuración del modelo├── devices/│ └── paired.json # Info del dispositivo WhatsApp vinculado└── identity/ ├── device.json # Claves de identidad del dispositivo └── device-auth.json # Tokens de autenticación del dispositivoArchivos que NO debes editar manualmente
Section titled “Archivos que NO debes editar manualmente”| Archivo | descripción |
|---|---|
openclaw.json | Lo gestiona openclaw configure. Editalo solo si sabes lo que haces. |
MEMORY.md | Lo gestiona OpenClaw automáticamente. |
auth-profiles.json | Contiene las API keys del modelo de IA. Se configura con openclaw configure. |
models.json | Se genera automáticamente. |
devices/paired.json | Se genera al vincular WhatsApp con openclaw pair. |
identity/ | Claves y tokens del dispositivo. No editar. |
Dependencias
Section titled “Dependencias”jaleo-api (package.json)
Section titled “jaleo-api (package.json)”| Paquete | Version | descripción |
|---|---|---|
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 producción) |
OpenClaw (instalación global)
Section titled “OpenClaw (instalación global)”| Paquete | descripción |
|---|---|
@anthropic/openclaw | Plataforma de automatización WhatsApp + IA |
Sistema
Section titled “Sistema”| Componente | descripción |
|---|---|
| Node.js 20+ | Entorno de ejecución |
| Caddy | Reverse proxy con HTTPS automático |
| PM2 | Gestor de procesos para 24/7 |