Hercules
Self-improving AI agent on C# / .NET 10
Creates skills from experience · improves them during use · remembers context between sessions · connects agents into a mesh.
One-liner
Hercules is a runnable, self-improving C# micro-agent that learns from conversations, versions its own skills, runs code in a sandbox, and can team up with other agents over a mesh.
Demo
🎬 Demo script & recording guide · 📁 Examples · 🤝 Good first issues
Quick start
# Clone
git clone https://github.com/techbuzzz/Hercules.git && cd Hercules
# Run CLI REPL
dotnet run --project src/agent/Hercules
# Run Web API + Studio (the agent serves the UI at /ui)
dotnet run --project src/agent/Hercules.WebApi
Architecture
┌─────────────────────────────────────────────────────────────────────┐
│ Interfaces: CLI REPL · Telegram bot · Web API + Studio SPA (/ui) │
├─────────────────────────────────────────────────────────────────────┤
│ Agent Core → Skill Router → Reflection → Memory Manager │
│ ↓ ↓ ↓ ↓ │
│ Multi-role LLM routing (YandexGPT / Ollama / LM Studio) │
├─────────────────────────────────────────────────────────────────────┤
│ Tools: HTTP · execute_code · A2A · MCP · WASM │
├─────────────────────────────────────────────────────────────────────┤
│ Mesh: capability registry · intent routing · circuit breaker │
├─────────────────────────────────────────────────────────────────────┤
│ Storage: Markdown skills/memory + SQLite logs + Redis/NATS/PG │
└─────────────────────────────────────────────────────────────────────┘
Hercules vs Hermes vs AutoGen
| Capability | Hercules | Hermes (Nous) | AutoGen |
|---|---|---|---|
| Self-improving skills | ✅ built-in | research concept | manual |
| C# / .NET first-class | ✅ | ❌ | Python |
| Sandboxed code execution | ✅ 3-layer | ❌ | partial |
| Multi-agent mesh | ✅ | ❌ | ✅ |
| YandexGPT / Ollama out of box | ✅ | ❌ | via adapters |
| Long-term memory | ✅ layered | ❌ | optional |
| Telegram bot included | ✅ | ❌ | build yourself |