Sobre o projeto

Hermes WebUI é uma interface web leve e com tema escuro para o Hermes Agent, um agente autônomo que roda no seu próprio servidor e normalmente é acessado por terminal ou aplicativos de mensagens. O projeto se descreve como oferecendo quase 1:1 de paridade com a CLI do Hermes: qualquer coisa que você pode fazer no terminal pode, segundo relatos, ser feita por esta interface. Ela é construída com Python e JavaScript puro, sem etapa de build, framework ou bundler. O layout é um design de três painéis: uma barra lateral esquerda para sessões e navegação, uma área central de chat e um painel direito para navegação de arquivos do workspace. Os controles de modelo, perfil e workspace ficam no rodapé do compositor, e um anel circular de contexto mostra o uso de tokens. Configurações e ferramentas de sessão ficam em um lançador "Hermes Control Center" na parte inferior da barra lateral. Principais áreas de capacidade descritas no README: - Chat e agente: respostas em streaming via SSE, suporte a modelos de múltiplos provedores (OpenAI, Anthropic, Google, DeepSeek, OpenRouter e outros), fila de mensagens, edição inline e regeneração de mensagens passadas, tentar novamente, cancelar, cartões de chamada de ferramenta inline, cartões de delegação de subagentes, renderização de diagramas Mermaid, cartões de pensamento/raciocínio recolhíveis, cartões de aprovação para comandos shell perigosos, reconexão automática de SSE, anexos de arquivos, carimbos de data/hora, botões de copiar código, realce de sintaxe e um indicador de uso de contexto. - Sessões: criar, renomear, duplicar, excluir e pesquisar; fixar, arquivar, projetos e tags; barra lateral agrupada por data; exportar para Markdown ou JSON e importar; links públicos de compartilhamento somente leitura; persistência entre recarregamentos; uma ponte de sessão CLI que importa sessões do armazenamento SQLite do agente; e exibição de tokens/custos. - Navegador de arquivos do workspace: árvore de diretórios, trilha de navegação, pré-visualização inline de texto, código, Markdown e imagens, edição e gerenciamento de arquivos, downloads binários, detecção de branch git e arquivos sujos, e painel redimensionável. - Entrada de voz via Web Speech API, com transcrição provisória ao vivo e parada automática por silêncio. - Perfis: criar, alternar e excluir perfis de agente sem reiniciar o servidor, com status do gateway, informações do modelo e contagens de habilidades, além de campos opcionais de endpoint personalizado para servidores de modelo locais. - Autenticação e segurança: autenticação opcional por senha, passkeys/WebAuthn opcionais, login OIDC nativo opcional, cookies assinados HMAC somente HTTP, cabeçalhos de segurança, limite de tamanho do corpo POST e recursos de CDN fixados por SRI. - Temas: eixos separados de tema (sistema/escuro/claro) e skin, alternáveis ao vivo e persistidos. - Configurações, comandos de barra, painéis (Chat, Tarefas, Habilidades, Memória, Perfis, Todos, Espaços) e um layout responsivo para dispositivos móveis com barra lateral e painel de arquivos deslizantes. A instalação é feita clonando o repositório e executando `python3 bootstrap.py`, ou o lançador de shell `start.sh`. Um wrapper `ctl.sh` fornece comandos de ciclo de vida do daemon (start, status, logs, restart, stop) para instalações em VM auto-hospedada ou homelab. O bootstrap detecta o Hermes Agent, prepara um ambiente Python, inicia o servidor, aguarda um endpoint de saúde e abre o navegador, apresentando então um assistente de primeira execução. O Windows nativo não é suportado pelo bootstrap; Linux, macOS ou WSL2 são recomendados, com um guia para Windows nativo mantido pela comunidade referenciado. Docker e um flake/módulo Nix também são documentados. A configuração é em grande parte autodescoberta, com sobreposições por variáveis de ambiente para o diretório do agente, executável Python, host, porta, diretório de estado, workspace padrão, modelo padrão e senha. O README observa que o chat executa o agente no processo por padrão, e que um Hermes Gateway externo pode opcionalmente ser usado como backend de chat. O projeto é open source e auto-hospedado, e o README inclui uma tabela de comparação com outras ferramentas de agente, embora tais alegações comparativas sejam do próprio projeto e não verificadas de forma independente aqui.