Sobre el proyecto
Hermes WebUI es una interfaz web ligera y de tema oscuro para Hermes Agent, un agente autónomo que se ejecuta en tu propio servidor y normalmente se accede a través de una terminal o aplicaciones de mensajería. El proyecto se describe a sí mismo como ofreciendo una paridad casi 1:1 con la CLI de Hermes: cualquier cosa que puedas hacer desde la terminal supuestamente se puede hacer desde esta interfaz. Está construido con Python y JavaScript puro, sin paso de compilación, framework ni bundler.
El diseño es de tres paneles: una barra lateral izquierda para sesiones y navegación, un área central de chat y un panel derecho para explorar archivos del workspace. Los controles de modelo, perfil y workspace están en el pie del compositor, y un anillo de contexto circular muestra el uso de tokens. Los ajustes y las herramientas de sesión se encuentran en un lanzador "Hermes Control Center" en la parte inferior de la barra lateral.
Áreas de capacidad clave descritas en el README:
- Chat y agente: respuestas en streaming mediante SSE, soporte de modelos de múltiples proveedores (OpenAI, Anthropic, Google, DeepSeek, OpenRouter y otros), cola de mensajes, edición en línea y regeneración de mensajes anteriores, reintentar, cancelar, tarjetas de llamadas a herramientas en línea, tarjetas de delegación a subagentes, renderizado de diagramas Mermaid, tarjetas plegables de pensamiento/razonamiento, tarjetas de aprobación para comandos shell peligrosos, reconexión automática de SSE, adjuntos de archivos, marcas de tiempo, botones de copiar código, resaltado de sintaxis e indicador de uso de contexto.
- Sesiones: crear, renombrar, duplicar, eliminar y buscar; fijar, archivar, proyectos y etiquetas; barra lateral agrupada por fecha; exportar a Markdown o JSON e importar; enlaces públicos de solo lectura para compartir; persistencia entre recargas; un puente de sesiones CLI que importa sesiones desde el almacén SQLite del agente; y visualización de tokens/costos.
- Explorador de archivos del workspace: árbol de directorios, migas de pan, vista previa en línea de texto, código, Markdown e imágenes, edición y gestión de archivos, descargas binarias, detección de rama git y archivos modificados, y panel redimensionable.
- Entrada de voz mediante la Web Speech API, con transcripción provisional en vivo y parada automática por silencio.
- Perfiles: crear, cambiar y eliminar perfiles de agente sin reiniciar el servidor, con estado de gateway, información del modelo y número de habilidades, además de campos opcionales de endpoint personalizado para servidores de modelos locales.
- Autenticación y seguridad: autenticación opcional con contraseña, passkeys/WebAuthn opcionales, inicio de sesión OIDC nativo opcional, cookies HTTP-only firmadas con HMAC, cabeceras de seguridad, límite de tamaño del cuerpo POST y recursos CDN fijados con SRI.
- Temas: ejes separados de tema (sistema/oscuro/claro) y skin, conmutables en vivo y persistidos.
- Ajustes, comandos de barra, paneles (Chat, Tasks, Skills, Memory, Profiles, Todos, Spaces) y un diseño adaptable a móviles con barra lateral y panel de archivos deslizantes.
La instalación se realiza clonando el repositorio y ejecutando `python3 bootstrap.py`, o el lanzador de shell `start.sh`. Un envoltorio `ctl.sh` proporciona comandos de ciclo de vida del daemon (start, status, logs, restart, stop) para instalaciones autohospedadas en VM o homelab. El bootstrap detecta Hermes Agent, prepara un entorno Python, inicia el servidor, espera un endpoint de salud y abre el navegador, y luego presenta un asistente de primera ejecución. El bootstrap no soporta Windows nativo; se recomiendan Linux, macOS o WSL2, y se referencia una guía para Windows nativo mantenida por la comunidad. También se documentan Docker y un flake/módulo de Nix.
La configuración se autodetecta en gran medida, con anulaciones mediante variables de entorno para el directorio del agente, el ejecutable de Python, host, puerto, directorio de estado, workspace predeterminado, modelo predeterminado y contraseña. El README señala que el chat ejecuta el agente en el mismo proceso por defecto, y que opcionalmente se puede usar un Hermes Gateway externo como backend de chat. El proyecto es de código abierto y autohospedado, y el README incluye una tabla comparativa con otras herramientas de agentes, aunque tales afirmaciones comparativas son propias del proyecto y no se verifican de forma independiente aquí.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.