Формат основан на Keep a Changelog, проект придерживается семантического версионирования.
- Ребрендинг: проект переименован из
MicroHermes/ «Мини-Хермес» в Hercules.- Переименованы пространства имён (
MicroHermes.*→Hercules.*), проекты (MicroHermes.csproj→Hercules.csproj,MicroHermes.WebApi→Hercules.WebApi), решение (Hercules.slnx) и фронтенд-каталог (hermes-web→hercules-web). - Префикс переменных окружения:
HERMES_→HERCULES_. Skill.Meta.Triggers→Skill.Meta.PhraseReceivers(human-friendly термин). Обратная совместимость для чтения legacytriggers:ключа вskill.{id}.meta.json.
- Переименованы пространства имён (
- Обновлён фирменный стиль интерфейса и заголовки веб-приложения.
- Stage 1: Multi-role LLM routing.
AppConfig.Roles— словарь ролей (main,code_writer,reflector).ILLMClient.CompleteAsync(role, messages, ct)— overload сrole = "main"по умолчанию.ResilientLLMClientмаршрутизирует по роли черезRoleRouter; fallback на main если роль не сконфигурирована.ReflectionEngine— рольreflector. - Stage 2: Sandboxed code execution.
CodeExecution/ICodeExecutor(C# file-based apps,dotnet run --file). 3 уровня защиты: regex pre-scan (DangerousCodeScanner— 25+ паттернов:File.Delete,Process.Start,HttpClient,Socket,Assembly.LoadFile,DllImport,Registry,rm -rf,bash -c,eval, …) → изолированная temp-директория → POSIX ulimit wrapper +CancellationTokenSourcetimeout. Сеть запрещена по умолчанию, 30 s timeout, 1024 file descriptors, 100 KB лимит кода. Escape hatch черезSandboxOptions.CustomAllowedNamespaces(token-based:"HttpClient"разрешаетnew HttpClient()). - Stage 3: Tool ecosystem.
Tools/IToolконтракт +ToolRegistryдля LLM prompt injection. Три встроенных tool:http—HttpTool: GET/POST/PUT/DELETE с allow-list доменов (wildcard*.example.com), rate limit (60/min), 10 s timeout, 256 KB max response.execute_code—CodeExecutionTool: адаптерICodeExecutorк tool-протоколу.a2a—A2AClient: минимальный JSON-RPC 2.0 клиент для agent-to-agent delegation (spec: https://a2a-protocol.org/latest/).mcp—McpClient: stub-интерфейс дляModelContextProtocolNuGet (0.3.0-preview — только server-side; client SDK ETA Q1-Q2 2026).
- Stage 4: Tool-aware agent flow.
AgentCoreраспознаёт JSON actions в ответе LLM ({"action": "tool", "arguments": {...}}), выполняет tool, кладёт результат в transcript, вызывает LLM снова для финального ответа. Max 3 tool-итерации на ход.mode = "tool"вAgentResponseиChatResponseDto. - Sandbox audit table
sandbox_executionsв SQLite:id,session_id,code_hash,language,exit_code,status,duration_ms,blocked_patterns,created_at.ReflectionEngineсообщает failure rate за последние 5 выполнений и предупреждает при> 50 %.
scripts/test-phrase-receivers.cs— 8/8 миграция.scripts/test-multi-role.cs— 10/10 проверок ролей.scripts/test-sandbox.cs— 23/23 scanner + executor.scripts/test-tools.cs— 20/20 registry + HttpTool + A2AClient + CodeExecutionTool.scripts/test-stage4.cs— 16/16 TryParseAction + sandbox audit + tool injection.
- Фирменные ассеты в
assets/branding/(логотип, монограмма, favicon, PNG/ICO-экспорт). - Полный комплект документации репозитория:
CONTRIBUTING.md,CODE_OF_CONDUCT.md,SECURITY.md,CHANGELOG.md,.editorconfig, шаблоны Issue/PR, CI-workflow. - Каталог
docs/с подробными гайдами: быстрый старт, архитектура, конфигурация, API, бренд.
- Ядро самообучающегося агента:
AgentCore,SkillRouter,SkillManager,ReflectionEngine,MemoryManager. - Слой LLM на
Microsoft.Extensions.AI: YandexGPT (основной), Ollama Cloud / Local, LM Studio с автоматическим fallback (ResilientLLMClient). - Гибридное хранилище: файлы Markdown/JSON для навыков и памяти + SQLite для логов и метрик.
- Интерфейсы: CLI (REPL на Spectre.Console) и Telegram-бот.
- Web API (ASP.NET Core Minimal API) с авторизацией по
X-Api-Keyи CORS. - Веб-интерфейс на Astro + TailwindCSS (чат, навыки, профиль, статистика).