Что такое Kanban в Hermes Agent

Что это и зачем

Hermes Kanban — это устойчивая (durable) доска задач, встроенная прямо в Hermes Agent. Она позволяет нескольким именованным агентам работать вместе над задачами — без хрупких роев субагентов, без потери контекста, с полным аудитом каждого шага.

Каждая задача — строка в SQLite-базе ~/.hermes/kanban.db. Каждая передача работы между агентами — строка, которую любой профиль может прочитать. Каждый воркер — полноценный ОС-процесс с собственной идентичностью и памятью.

Когда использовать Kanban

Kanban нужен, когда:

  • Несколько специалистов — исследователь + аналитик + писатель это три разных профиля
  • Работа должна пережить краш — долгие, повторяющиеся или важные задачи
  • Нужен ввод от человека — блокировка на любом шаге, ожидание решения
  • Подзадачи можно делать параллельно — fan-out для скорости
  • Нужен аудит-трейл — всё записывается в SQLite навсегда
  • Если ничего из этого не подходит — используйте delegate_task или отвечайте напрямую.

    Kanban vs delegate_task

    Это разные примитивы:

    delegate_task — это вызов функции (fork → join). Блокируется до ответа дочернего агента. Анонимный субагент. Нет возобновляемости. Один вызов = один субагент.

    Kanban — это очередь работ с конечным автоматом. Fire-and-forget после создания. Именованный профиль с устойчивой памятью. Блок → разблок → перезапуск. Краш → возврат. N агентов за жизнь задачи. Пиринговая координация.

    Проще говоря: delegate_task — вызов функции, Kanban — очередь работ.

    Основные концепции

    Доска (Board)

    Автономная очередь задач с собственной БД SQLite. Одна установка может иметь много досок (по одной на проект). По умолчанию — доска default.

    Задача (Task)

    Строка с заголовком, телом, исполнителем (имя профиля) и статусом:

  • triage — сырые идеи, диспетчер игнорирует
  • todo — создано, ждёт зависимостей
  • ready — назначено, ждёт запуска
  • running — воркер выполняет
  • blocked — ожидает ввода человека
  • done — завершено
  • archived — скрыто
  • Связь (Link)

    Зависимость родитель → потомок. Диспетчер автоматически продвигает todo → ready, когда все родители в done.

    Комментарий (Comment)

    Межагентный протокол. При запуске воркер читает полную цепочку комментариев как контекст.

    Рабочее пространство (Workspace)

    Три вида:

  • scratch — свежая tmp-директория
  • dir:/path — существующая общая директория
  • worktree — git worktree для задач программирования
  • Диспетчер (Dispatcher)

    Долгоживущий цикл внутри шлюза. Каждые 60 секунд: возвращает устаревшие клеймы, обнаруживает краши, продвигает готовые задачи, запускает воркеров.

    Как работают воркеры

    Воркеры НЕ вызывают hermes kanban. Они используют выделенный набор инструментов:

  • kanban_show — прочитать текущую задачу и контекст
  • kanban_complete — завершить с summary и metadata
  • kanban_block — запросить ввод человека
  • kanban_heartbeat — сигнал «я жив» при длительных операциях
  • kanban_comment — добавить комментарий к задаче
  • kanban_create — создать дочернюю задачу (для оркестраторов)
  • kanban_link — добавить зависимость
  • Типичный цикл воркера:

    kanban_show()  # прочитать задачу и контекст
    # ... выполнение работы ...
    kanban_heartbeat(note="на полпути — 4 из 8 файлов")
    # ... ещё работа ...
    kanban_complete(
        summary="сделано, протестировано",
        metadata={"changed_files": ["file.py"], "tests": 14}
    )
    

    Дашборд (GUI)

    Встроенный веб-интерфейс с колонками Triage → Todo → Ready → Running → Blocked → Done.

    hermes dashboard  # открывает http://127.0.0.1:9119
    

    Возможности:

  • Drag-and-drop карточек между колонками
  • Обновления в реальном времени через WebSocket
  • Фильтры по исполнителю, тенанту, поиску
  • Дорожки по профилям в колонке Running
  • Inline-создание задач
  • Пакетные действия (shift/ctrl-click)
  • Быстрый старт

    # 1. Инициализировать доску
    hermes kanban init
    
    # 2. Запустить шлюз (хостит диспетчер)
    hermes gateway start
    
    # 3. Создать задачу
    hermes kanban create "исследовать AI-стартапы" --assignee researcher
    
    # 4. Наблюдать
    hermes kanban watch
    hermes kanban list
    

    Уведомления

    При создании задачи из шлюза чат автоматически подписывается на события. Можно подписаться вручную:

    hermes kanban notify-subscribe t_abcd \
        --platform telegram --chat-id 12345678
    

    Паттерны использования

  • Fan-out — N исследователей параллельно → 1 аналитик
  • Пайплайн — PM → инженер → ревьюер → итерации
  • Ферма — один профиль на N субъектов (50 аккаунтов)
  • Human-in-the-loop — блокировка → ввод человека → разблокировка
  • Долгоживущие журналы — Obsidian vault, ежедневные отчёты
  • Следующие шаги

  • Kanban tutorial: 4 сценария — практические примеры
  • hermes kanban --help — справка по всем командам
  • Официальная документация