Sobre el proyecto

Otaku es un frontend de LLM de código abierto diseñado para el juego de rol, comparable a SillyTavern o Janitor AI. Es gratuito, se ejecuta localmente en macOS, Linux y Windows, y no requiere infraestructura como Docker o servidores de bases de datos. Los usuarios pueden interactuar a través de una interfaz web o una interfaz de terminal. La aplicación admite tanto backends de LLM locales (llama.cpp, KoboldCpp, Ollama, oMLX, LM Studio) como proveedores de API en la nube (OpenRouter, NanoGPT y cualquier servidor compatible con OpenAI). La instalación se realiza mediante un único comando utilizando el gestor de paquetes uv o Homebrew. Las características clave incluyen: - Control de contexto: Mantiene una prosa coherente enviando siempre los primeros 20 y los últimos 150 mensajes tal cual. Los mensajes intermedios se dividen automáticamente en escenas y se reemplazan por resúmenes editables para gestionar contextos largos. - Reconocimiento de personajes: Extrae automáticamente los personajes introducidos en la historia. Cada personaje mantiene un diario individual de sus experiencias. - Personas flexibles: Los usuarios pueden interpretar a cualquier personaje y usar los comandos /me y /you para guiar al LLM sobre los roles de los personajes. - Contexto transparente: El comando /context permite a los usuarios ver exactamente qué se envía al LLM. - Importación de contenido: Admite la importación de chats de SillyTavern, archivos de texto plano (divididos en turnos) y tarjetas de personajes (PNG o JSON). Los libros de lore (Lorebooks) pueden importarse al mensaje del sistema. - Gestión de historias: Los usuarios pueden navegar, continuar desde cualquier mensaje o bifurcar historias. La bifurcación copia todas las escenas, personajes y diarios a una nueva rama. - Soporte para D&D: Incluye un comando /roll para tiradas de dados (por ejemplo, 2d6+3, 2d20kh1) que envía los resultados junto con las acciones. Los datos se almacenan localmente en una base de datos SQLite con instantáneas diarias. El cifrado en reposo (AES-256-GCM) es opcional y puede habilitarse mediante configuración. Las claves de API de los proveedores siempre se almacenan selladas, manteniendo la clave en el llavero del sistema operativo. Los archivos de configuración se gestionan de forma quirúrgica para preservar las ediciones del usuario entre versiones, y se pueden ejecutar entornos separados utilizando la variable OTAKU_CONFIG_DIR.