hermes-web-ui  by EKKOLearnAI

Web dashboard for managing AI agents and chat

Created 2 weeks ago

New!

2,400 stars

Top 18.6% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides a comprehensive, responsive web dashboard for the Hermes Agent, enabling users to manage multi-platform AI chat sessions, monitor usage and costs, configure various communication channels, and schedule automated jobs. It targets developers and power users managing AI deployments, offering a centralized, user-friendly interface to streamline complex operations and gain insights into agent performance.

How It Works

The architecture comprises a browser client interacting with a Node.js (Koa 2) Backend-For-Frontend (BFF) server running on port 8648. This BFF acts as a proxy to the Hermes Gateway (port 8642) and handles core functionalities like API proxying, real-time SSE streaming, session management via CLI commands, credential and configuration handling, model discovery, and serving static files. The frontend is built with Vue 3, TypeScript, and Vite, designed for extensibility with Hermes-specific code namespaced for easier integration of new agent types.

Quick Start & Requirements

  • Primary Install: npm install -g hermes-web-ui && hermes-web-ui start. Access at http://localhost:8648.
  • One-line Setup: bash <(curl -fsSL https://raw.githubusercontent.com/EKKOLearnAI/hermes-web-ui/main/scripts/setup.sh) automatically installs Node.js and the UI on Debian/Ubuntu/macOS/WSL.
  • Docker Compose: docker compose up -d --build hermes-agent hermes-webui. Access at http://localhost:6060. Persistent data stored in ./hermes_data.
  • Prerequisites: Node.js (if not using the setup script or Docker). Docker and Docker Compose for the containerized setup.
  • Links: Docker notes.

Highlighted Details

  • Multi-Platform Channel Support: Unified configuration interface for 8 platforms including Telegram, Discord, Slack, WhatsApp, Matrix, Feishu, WeChat, and WeCom, each with specific feature controls.
  • AI Chat & Session Management: Real-time streaming via SSE, multi-session support with renaming and grouping, Markdown rendering with syntax highlighting, tool call detail expansion, and file uploads.
  • Usage Analytics & Model Management: Detailed token usage breakdown (input/output), estimated cost tracking, model usage distribution charts, and auto-discovery of models from a credential pool (~/.hermes/auth.json).
  • Integrated Web Terminal: A full-featured terminal powered by node-pty and @xterm/xterm supporting multiple sessions, real-time streaming, and window resizing.
  • Automated Configuration: On startup, the BFF server validates and backs up ~/.hermes/config.yaml, detects and starts the gateway if needed, and resolves port conflicts.

Maintenance & Community

No specific details regarding maintainers, community channels (like Discord/Slack), sponsorships, or roadmap were found in the provided README text.

Licensing & Compatibility

The project is released under the MIT License, which permits commercial use and integration into closed-source projects.

Limitations & Caveats

The README does not explicitly detail limitations such as alpha status or known bugs. The setup script notes specific handling for WSL environments regarding background startup, which may warrant further investigation for users on that platform. Functionality is dependent on the underlying Hermes Agent's capabilities.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
127
Issues (30d)
146
Star History
2,443 stars in the last 17 days

Explore Similar Projects

Feedback? Help us improve.