Skip to content

Estructura del proyecto

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)
Archivodescripción
index.jsServidor 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.jsconfiguración de SQLite. Crea la tabla grupos con campos groupId (PRIMARY KEY), accessToken y refreshToken.
landing.htmlpágina pública en https://tudominio.com/. Contiene el equalizador animado, descripción del proyecto y enlace al GitHub.
callback.htmlpágina que se muestra después de vincular Spotify con éxito. Muestra los comandos disponibles.
.envVariables de entorno (PORT, BASE_URL, SPOTIFY_CLIENT_ID, SPOTIFY_CLIENT_SECRET, REDIRECT_URI). No subir a git.

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 dispositivo
Archivodescripción
openclaw.jsonLo gestiona openclaw configure. Editalo solo si sabes lo que haces.
MEMORY.mdLo gestiona OpenClaw automáticamente.
auth-profiles.jsonContiene las API keys del modelo de IA. Se configura con openclaw configure.
models.jsonSe genera automáticamente.
devices/paired.jsonSe genera al vincular WhatsApp con openclaw pair.
identity/Claves y tokens del dispositivo. No editar.
PaqueteVersiondescripción
express^5.2.1Framework web para el servidor HTTP
axios^1.14.0Cliente HTTP para llamadas a la Spotify Web API
sqlite3^6.0.1Base de datos embebida para persistencia de tokens
dotenv^17.3.1Carga de variables de entorno desde .env
pm2^6.0.14Gestor de procesos (solo producción)
Paquetedescripción
@anthropic/openclawPlataforma de automatización WhatsApp + IA
Componentedescripción
Node.js 20+Entorno de ejecución
CaddyReverse proxy con HTTPS automático
PM2Gestor de procesos para 24/7