Sobre el proyecto

Charon es una aplicación web autoalojada para juegos de rol con personajes de IA, posicionada por su autor como una combinación de funciones de Chub, SillyTavern y otras herramientas. Está diseñada para mantener los datos del usuario locales en lugar de en un servicio en la nube. Capacidades principales descritas en el README: - Conversaciones ramificadas: cada deslizamiento de una respuesta de IA crea una nueva rama, por lo que los usuarios pueden navegar entre alternativas, editar mensajes en línea y evitar perder respuestas anteriores. - Tarjetas de personaje V2 y V3: importa tarjetas de personaje `.png` de SillyTavern, Chub u otras fuentes sin conversión. - Trae tu propia clave API: funciona con proveedores compatibles con OpenAI, como OpenAI, Anthropic a través de proxy, OpenRouter, Ollama y vLLM. Las claves se describen como cifradas en reposo. - Libros de tradición: la tradición de fondo se puede adjuntar a un chat, y la aplicación selecciona automáticamente las entradas relevantes para la IA. - Personajes: se pueden definir varios personajes y cambiar por chat. - Renderizado Markdown: admite negrita, cursiva, bloques de código, imágenes, alcance de `<style>` y resaltado de diálogos, con aparición gradual segura para transmisión. - Autoalojamiento: los datos se almacenan en un archivo SQLite local, sin dependencia de la nube, telemetría o cuentas externas más allá de las del propio usuario. Las opciones de implementación incluyen Docker mediante `docker compose up -d` (los datos se conservan en un volumen `charon-data`) o una configuración de desarrollo basada en pnpm. Las variables de entorno requeridas incluyen `BETTER_AUTH_SECRET` y `ENCRYPTION_KEY`, con comandos de ejemplo para generarlas usando `openssl rand`. Se dice que las migraciones se ejecutan automáticamente en el primer inicio. Una ruta de actualización para bases de datos antiguas migra a una cuenta de administrador única, con un procedimiento documentado de copia de seguridad y restauración usando `pnpm migrate:single-user`. La configuración inicial implica crear una cuenta, pasar por un asistente de incorporación para conectar un proveedor de IA y obtener un personaje, y luego iniciar un chat. Los personajes no están incluidos; se dirige a los usuarios a Chub o a una carpeta `public/characters/` de SillyTavern. Los controles de chat incluyen enviar, nueva línea, deslizar, regenerar, editar, suplantar, continuar, eliminar rama y un menú de comandos Ctrl+K. Se documenta una ruta de importación de SillyTavern copiando datos en `public/data/` y ejecutando `pnpm run migrate`. Las compilaciones de producción usan `pnpm run build` y `pnpm run start` en el puerto 3000, con `APP_URL` configurado para cookies de autenticación. La documentación para desarrolladores se referencia en CONTRIBUTING.md.