Self-hosted AI стек: Hermes Agent, Claude Code, Codex и Obsidian в одной связке

Когда я начинал собирать свой AI-стек, в голове была картинка из рекламы: 5 агентов работают синхронно, обмениваются контекстом, автоматически деплоят.

Реальность оказалась проще и полезнее. Вот как выглядит мой стек на Minisforum MS02 (Intel Core Ultra 9, 64GB RAM, 1TB SSD), и почему он работает.

Архитектура

┌─────────────────────────────────────────────┐
│           Hermes Agent (v0.16.0)            │
│     Оркестрация + Telegram-интерфейс         │
│     + tools + skills + cron                  │
├────────────────┬────────────────────────────┤
│  Claude Code   │         Codex CLI          │
│  (инженерия)   │     (код + поддержка)      │
├────────────────┴────────────────────────────┤
│           Obsidian Vault (shared memory)     │
│         39 заметок, 7 разделов              │
├─────────────────────────────────────────────┤
│         Docker контейнеры (host-bridge MCP)  │
│         Cloudflare Pages + Astro (blog)     │
└─────────────────────────────────────────────┘

Зачем 3 агента?

Hermes Agent — мозг и интерфейс. Telegram-чат, cron-задачи, skills, инструменты. Вся коммуникация со мной — через него.

Claude Code — инженерный агент для сложных задач. Аудит кода, сравнение реализаций, архитектурные решения.

Codex CLI — второй инженерный агент. Поддержка сервера, git-операции, мелкие фиксы.

Почему не один?

Потому что у каждого — свои сильные стороны:

  • Hermes отлично держит долгий контекст и помнит всю сессию
  • Claude Code лучше пишет сложный код
  • Codex быстрее для простых задач

Разделение по файлам и responsibilities вместо одного “суперагента” — это и есть применение Karpathy метода.

Shared memory: Obsidian как база знаний

Самое важное решение — один Obsidian vault на всех агентов. Не три базы, не копирование контекста, а единый источник правды.

Структура:

  • 00-inbox/ — быстрые заметки
  • 10-sources/ — исследования (Karpathy, Obsidian MOC)
  • 20-projects/ — проекты и инциденты
  • 30-wiki/ — работающее знание
  • 40-playbooks/ — проверенные процедуры
  • 50-agents/ — правила для каждого агента
  • 60-content/ — контент-план
  • 70-seo/ — SEO-стратегия
  • 80-youtube/ — YouTube-аналитика
  • 90-archive/ — закрытые проекты

Преимущества одного vault:

  • нет рассинхронизации — Hermes, Claude и Codex видят одно и то же
  • Obsidian-линки работают — можно переходить между заметками
  • handoff без копирования — агент А написал playbook, агент Б прочитал

Runtime stability: Docker pinned

Все образы зафиксированы по SHA256 digest:

nousresearch/hermes-agent@sha256:c66...
ghcr.io/outsourc-e/hermes-workspace@sha256:2d2...
bronevik/agent-tools:2026-06-07

Codex CLI v0.137.0, Claude Code 2.1.167. Никаких “latest” в production.

MCP и Telegram

Изначально у меня было 3 Telegram-бота (Hermes, Claude, Codex). Я их отключил и перешёл на host-bridge MCP:

Hermes (Telegram) → host-bridge MCP → Docker контейнеры

Меньше ботов = меньше точек отказа. Вся коммуникация через один чат.

Cost tracking

Сейчас модель: deepseek-v4-flash через OpenRouter — best price/performance для агентских задач. Claude & Codex используют свои API ключи.

Я измеряю:

  • cost per task
  • latency per call
  • retry rate
  • success rate

Что НЕ входит в стек

  • ❌ Локальное обучение моделей (GPU-heavy)
  • ❌ Секреты в заметках
  • ❌ Публичные порты для UI агентов
  • ❌ “Универсальный” агент на все случаи

Итог

Multi-agent система не обязана быть сложной. Один vault, три агента с чёткими ролями, pinned образы и Karpathy-стиль — вот что работает на практике.

Следующий шаг — автогенерация контента через cron. Уже почти готово 🔥

Подписывайся на RSS, чтобы не пропустить.