Sobre el proyecto

Torvian Chatbot es un espacio de trabajo de IA autoalojado dirigido a usuarios que quieren control sobre sus datos, proveedores de modelos y ejecución de herramientas. Tú mismo ejecutas el servidor, conectas tu propia configuración de LLM y mantienes a los humanos en el circuito para las acciones agénticas. Capacidades clave descritas en el README: - Trae tus propios proveedores de LLM: API compatibles con OpenAI y modelos locales de Ollama. - Transmite las respuestas del modelo en tiempo real, con respuestas concurrentes de diferentes sesiones de chat. - Organiza conversaciones largas con flujos de mensajes en hilos/ramificados. - La ejecución de herramientas requiere aprobación por defecto, con preferencias opcionales de autoaprobación o autodenegación por herramienta. - Reinicia conversaciones agénticas desde cualquier mensaje anterior, restaurando el contexto y el estado de las herramientas. - Acceso multiusuario con autenticación más autorización basada en roles/permisos. - Clientes multiplataforma para escritorio, web (WASM) y Android, todos conectándose al mismo servidor. - Las herramientas pueden ejecutarse 24/7 en cualquier máquina (local, remota, VM), independientemente de dónde se ejecuten los clientes. Arquitectura: un servidor Ktor proporciona la API central y la capa de orquestación para autenticación/autorización, sesiones de chat, procesamiento de mensajes, integración con LLM, ciclo de vida de herramientas y persistencia (SQLite mediante Exposed ORM). Los clientes Compose Multiplatform cubren Desktop, Web (WASM) y Android. Un proceso worker independiente opcional gestiona la ejecución de herramientas MCP, útil para el aislamiento del espacio de trabajo y la disponibilidad permanente; el servidor se comunica con los workers a través de WebSocket usando un protocolo JSON personalizado. Estado del proyecto: desarrollo activo. El servidor más Desktop se describe como la combinación más completa y estable; Web (WASM) es estable con algunas limitaciones; Android está en fase temprana con limitaciones de UX conocidas. Primeros pasos: los paquetes precompilados se publican en la página de Releases (servidor, worker, cliente de escritorio para Windows/Linux y un cliente web estático). El servidor se puede ejecutar mediante scripts de inicio o una imagen Docker desde ghcr.io; se proporciona un comando de inicio rápido con Docker. El inicio de sesión predeterminado es admin/admin123 con un cambio de contraseña forzado en el primer inicio de sesión. El worker es necesario para la ejecución de herramientas MCP, requiere una cuenta de usuario activa para autenticarse y genera un certificado SSL durante la configuración; las credenciales de firmante de confianza se pueden registrar mediante una opción de CLI o variables de entorno. Se sugiere Docker para el worker porque proporciona un mejor aislamiento para la ejecución de herramientas. Compilar desde el código fuente requiere Git, JDK 21+ y el wrapper de Gradle incluido; tareas de Gradle separadas compilan el servidor, la aplicación de escritorio, la aplicación web y el worker. La documentación incluye configuración de LLM, configuración del servidor MCP, firmantes de confianza y guías de despliegue en VPS/Docker. Stack tecnológico: Kotlin, Compose Multiplatform con Material 3, Ktor, SQLite con Exposed, Koin, Arrow, kotlinx.serialization y Gradle. Licenciado bajo MIT.