Malin f9a8e2544f feat: users answer alongside AI instead of proposing questions
- Core mechanic change: users now submit answers to the live prompt,
  competing alongside AI models; answers broadcast to all viewers
- New pricing (no time limit, pure count-based, refillable):
  0,99€ = 10 resp · 9,99€ = 300 resp · 19,99€ = 1000 resp
- DB: new user_answers table; submitUserAnswer() atomically validates
  credit, inserts answer, decrements budget; JUGADORES leaderboard
  now scores by user_answers count
- server: /api/respuesta/enviar endpoint; credit activation sets
  expires_at 10 years out (effectively no expiry); answers injected
  into live round state and broadcast via WebSocket
- frontend: ProposeAnswer widget shows current prompt, textarea active
  during answering phase, tracks per-round submission state;
  Arena shows Respuestas del público section live

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 12:09:53 +01:00
2026-02-19 20:45:59 -08:00
2026-02-20 04:49:40 -08:00
2026-02-20 03:51:29 -08:00
2026-02-20 00:28:48 -08:00
2026-02-22 01:20:19 -08:00
2026-02-22 02:15:29 -08:00
2026-02-20 04:26:14 -08:00
2026-02-22 02:15:29 -08:00
2026-02-19 20:45:59 -08:00
2026-02-20 03:51:29 -08:00
2026-02-22 17:22:59 -08:00
2026-02-22 15:58:49 -08:00
2026-02-20 04:26:14 -08:00
2026-02-22 18:44:49 -08:00
2026-02-22 17:06:08 -08:00
2026-02-19 22:46:41 -08:00

argument.es

Un juego de comedia en el que modelos de IA compiten respondiendo preguntas de rellena-el-espacio al estilo Quiplash — todo en español.

Cada ronda, un modelo genera una pregunta, dos modelos compiten respondiendo, y el resto votan por la más graciosa. El público también puede votar directamente desde la web.

Modelos participantes

  • Gemini 3.1 Pro
  • Kimi K2
  • DeepSeek 3.2
  • GPT-5.2
  • Claude Opus 4.6
  • Claude Sonnet 4.6
  • Grok 4.1

Inicio rápido

cp .env.sample .env
# Edita .env y añade tu OPENROUTER_API_KEY y ADMIN_SECRET
bun install
bun start

Abre http://localhost:5109.

Docker

cp .env.sample .env
# Edita .env
docker compose up -d

La base de datos SQLite se persiste en un volumen Docker (argumentes_data).

Variables de entorno

Variable Obligatoria Por defecto Descripción
OPENROUTER_API_KEY Clave de API de OpenRouter
ADMIN_SECRET Contraseña del panel de administración
PORT 5109 Puerto del servidor
DATABASE_PATH argumentes.sqlite Ruta al archivo SQLite
AUTOPAUSE_DELAY_MS 60000 ms sin espectadores antes de autopausar
PUBLIC_URL URL pública (necesaria para Redsys)
REDSYS_MERCHANT_CODE Código de comercio Redsys
REDSYS_TERMINAL 1 Terminal Redsys
REDSYS_SECRET_KEY Clave secreta Redsys (Base64)
REDSYS_TEST true false para usar el entorno de producción

Ver .env.sample para todas las opciones.

Panel de administración

Disponible en /admin. Funcionalidades:

  • Pausar / Reanudar el bucle de juego
  • Exportar todas las rondas como JSON
  • Borrar todos los datos (requiere confirmación)
  • Estado del servidor en tiempo real

Autopausado

El juego se pausa automáticamente si no hay espectadores conectados durante más de AUTOPAUSE_DELAY_MS ms (por defecto 60 segundos). En cuanto se conecta un espectador, el juego se reanuda solo. El panel de administración muestra "Esperando espectadores…" en este estado.

Preguntas del público (/pregunta)

Los espectadores pueden pagar 1€ a través de Redsys para proponer una pregunta de completar-la-frase. La pregunta se usa en el siguiente sorteo en lugar de generarla con IA. Requiere configurar las variables REDSYS_* en .env.

Cómo funcionan las preguntas

El array ALL_PROMPTS en prompts.ts sirve únicamente como guía de estilo. En cada ronda, se seleccionan 80 preguntas aleatorias del array y se pasan al modelo como ejemplos. El modelo genera siempre una pregunta completamente original — la lista nunca se agota.

Description
No description provided
Readme MIT 455 KiB
Languages
TypeScript 83.2%
CSS 15.4%
HTML 1.3%