Skip to content

HermesX v2.0.0 — Enterprise Agent Runtime & Multi-Tenant SaaS Control Plane

Latest

Choose a tag to compare

@Colin4k1024 Colin4k1024 released this 07 May 14:32
· 258 commits to main since this release
Immutable release. Only release title and notes can be modified.

🎯 What is HermesX?

HermesX is a production-grade, multi-tenant AI agent runtime built in Go. It provides a complete SaaS control plane for deploying AI agents across 14+ messaging platforms with enterprise-grade isolation, observability, and governance.


⚡ Highlights

Independent Project Identity

  • Fully rebranded from hermes-agent-go fork to independent project "HermesX"
  • New module path: github.com/Colin4k1024/hermesx
  • Binary: hermesx, Docker image: ghcr.io/colin4k1024/hermesx
  • All metrics, containers, and toolsets use hermesx prefix

Multi-Tenant SaaS Platform

  • Row-Level Security (RLS) — PostgreSQL-enforced tenant isolation across all 9 business tables
  • API Key Authentication — SHA-256 hashed keys with scope-based RBAC
  • Per-Tenant Rate Limiting — Redis-backed with atomic Lua script (no race conditions)
  • GDPR Compliance — Full data export + deletion chain (PG + MinIO + audit trail)
  • Tenant-scoped Skills — MinIO object storage with path traversal protection

Enterprise Hardening

  • Circuit Breaker — Per-provider LLM circuit breaker with configurable thresholds
  • LLM Retry Transport — Exponential backoff with jitter, stream-aware error classification
  • ExecutionReceipt — Cryptographic proof of agent execution for audit/compliance
  • Metering & Usage — Async batch token counting with granular query API
  • OpenAPI Spec — Auto-generated from route definitions

Observability

  • OpenTelemetry Tracing — HTTP, LLM, PGX spans with tenant context propagation
  • Prometheus Metrics — hermesx_http_*, hermesx_llm_*, hermesx_breaker_*, hermesx_rate_limit_*
  • Structured Audit Logging — Every API call logged with tenant, user, action, latency

Platform Coverage (14+ Channels)

Telegram, Discord, Slack, WhatsApp, Signal, Email (IMAP/SMTP), SMS (Twilio), Matrix, Mattermost, DingTalk, Feishu/Lark, WeCom, Home Assistant, Webhooks

Deployment Ready

  • Multi-arch Docker images (linux/amd64, linux/arm64, darwin/amd64, darwin/arm64, windows/amd64)
  • Helm chart (deploy/helm/hermesx/)
  • Kubernetes HPA + PDB manifests
  • docker-compose.prod.yml for single-node deployment

📊 Codebase Stats

Metric Value
Go source files 420
Test files 125
Lines of Go code ~80,000
Test packages passing 21
Integration test coverage RLS, GDPR, Skills isolation, Sandbox
CI jobs 9 (Build×5, Test, Lint, Docker, Integration)
Supported LLM providers OpenAI, Anthropic, Google, AWS Bedrock, Azure, Ollama, custom

🔒 Security

  • PostgreSQL RLS enforced on all tenant tables (sessions, messages, memories, user_profiles, audit_logs, api_keys, cron_jobs, roles)
  • Write/Update/Delete RLS policies prevent cross-tenant mutation
  • No-context-deny-all policy (fail-closed)
  • OSV malware check for MCP server packages
  • Input validation with path traversal protection
  • Approval queue governance with stale reaper

🏗️ Architecture

cmd/hermesx/          CLI + SaaS entrypoints
internal/
├── api/              REST API (OpenAI-compatible + admin)
├── agent/            Agent loop + tool orchestration
├── auth/             API key extraction + RBAC
├── gateway/          14 messaging platform adapters
├── llm/              Multi-provider LLM client + retry + breaker
├── metering/         Usage recording + query
├── middleware/       Auth, RLS, rate limit, audit, metrics
├── observability/    OTel tracing + Prometheus
├── objstore/         MinIO object storage
├── skills/           Tenant-scoped skill management
├── store/            PostgreSQL + SQLite + Redis
└── toolsets/         30+ toolset definitions

🚀 Quick Start

# Docker (recommended)
docker pull ghcr.io/colin4k1024/hermesx:latest
docker run -e HERMES_API_KEY_LLM=sk-xxx ghcr.io/colin4k1024/hermesx:latest

# From source
git clone https://github.com/Colin4k1024/hermesx.git
cd hermesx && make build
./hermesx --help

⚠️ Breaking Changes from v1.x

  • Module path changed: github.com/Colin4k1024/hermesx (was github.com/hermes-agent/hermes-agent-go)
  • Binary renamed: hermesx (was hermes)
  • Prometheus metrics prefix: hermesx_ (was hermes_)
  • Docker containers: hermesx-* prefix
  • Plugin directory: hermesx_plugins/ (was hermes_plugins/)
  • Toolset names: hermesx-cli, hermesx-telegram, etc.

Unchanged for backward compat:

  • Config directory: ~/.hermes/
  • Environment variables: HERMES_*

🙏 Acknowledgements

Built upon the foundational work of Nous Research and their original Hermes agent concept. HermesX extends this vision into a production-grade enterprise SaaS platform.


Full Changelog: https://github.com/Colin4k1024/hermesx/commits/v2.0.0