Repolode
thruwire

thruwire/foreman

Python-супервизор для Codex, OpenCode и других ИИ-агентов: проверяет выполнение задачи, достаточность тестов и не застрял ли исполнитель.

Звёзды
814
Форки
69
Открытые issues
10
Последний коммит
23 дня назад

Что это?

Foreman — супервизор для ИИ-агентов, пишущих код. Вы передаёте ему задачу, спецификацию или описание ошибки, а он запускает исполнителя, например Codex, OpenCode, Hermes или Deep Agents CLI от LangChain. Пока исполнитель работает, Foreman периодически передаёт модели принятия решений ограниченный набор данных: текст задачи, git status и diff, последние строки вывода, результаты тестов и инструкции из AGENTS.md в репозитории. Модель возвращает вероятности по таким критериям, как полнота реализации, соответствие требованиям, необходимость дополнительной проверки и то, не застрял ли исполнитель или не отклонился ли от задачи.

Детерминированная политика на Python преобразует эти оценки в действия: продолжить, скорректировать исполнителя прямо во время текущего хода (только для Codex App Server), остановить, повторить попытку, запустить проверяющего агента, завершить работу или передать вопрос человеку. Ответственности задаются в TOML-файлах с настраиваемыми порогами; также можно добавлять собственные проверки. В качестве моделей принятия решений можно использовать Jev от TypeSafe (по умолчанию) или Decisions API от OpenAI.

Foreman также позволяет подключать супервизию к интерактивным сессиям с помощью хуков для Codex, Deep Agents и Pi. Детерминированная демонстрация запускается без API-ключей, а состояние запусков хранится локально в каталоге .foreman каждого репозитория.

Ключевые возможности

  • 01Запускает Codex, OpenCode, Hermes или Deep Agents в роли исполнителей задач по написанию кода.
  • 02Независимо от исполнителя оценивает полноту работы, соответствие требованиям, достаточность тестов и состояние исполнителя.
  • 03Может корректировать активный ход Codex или останавливать и перезапускать застрявшего исполнителя.
  • 04Поддерживает адаптеры для моделей принятия решений Jev и OpenAI.
  • 05Позволяет настраивать ответственности, пороги и внешние команды для сбора данных в TOML.

Сценарии использования

  • Не давать автономному ИИ-агенту зациклиться или отклониться от поставленной задачи.
  • Добавить независимую проверку завершённости и покрытия тестами перед принятием результата агента.
  • Супервизировать интерактивную сессию Codex или Pi, запущенную разработчиком.
  • Экспериментировать с семантической супервизией ИИ-агентов, пишущих код, используя собственные проверки.

Быстрый старт

  1. 1

    Задайте переменную окружения TYPESAFE_API_KEY для используемой по умолчанию модели принятия решений Jev

  2. 2

    Запустите Foreman с бэкендом OpenCode worker в проекте с описанием задачи

    FOREMAN_WORKER_BACKEND=opencode foreman run --repo ./my-project --job "Add request retries"

Что важно знать

  • Сейчас Foreman запускает только одного coding worker за раз.
  • Управление активным ходом в реальном времени работает только с бэкендом Codex App Server; для других бэкендов используется остановка с последующим повторным запуском.
  • Для настройки модели принятия решений по умолчанию требуется TYPESAFE_API_KEY.

В подборках

Темы

Частые вопросы

Что такое foreman?
Python-супервизор для Codex, OpenCode и других ИИ-агентов: проверяет выполнение задачи, достаточность тестов и не застрял ли исполнитель. Foreman — супервизор для ИИ-агентов, пишущих код. Вы передаёте ему задачу, спецификацию или описание ошибки, а он запускает исполнителя, например Codex, OpenCode, Hermes или Deep Agents CLI от LangChain. Пока исполнитель работает, Foreman периодически передаёт модели принятия решений ограниченный набор данных: текст задачи, git status и diff, последние строки вывода, результаты тестов и инструкции из AGENTS.md в репозитории. Модель возвращает вероятности по таким критериям, как полнота реализации, соответствие требованиям, необходимость дополнительной проверки и то, не застрял ли исполнитель или не отклонился ли от задачи.
foreman можно использовать бесплатно? Какая у него лицензия?
foreman распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
foreman всё ещё поддерживается?
Активно поддерживается. Последний коммит в foreman — 15 окт. 2026 г..
Для чего можно использовать foreman?
Не давать автономному ИИ-агенту зациклиться или отклониться от поставленной задачи. Добавить независимую проверку завершённости и покрытия тестами перед принятием результата агента. Супервизировать интерактивную сессию Codex или Pi, запущенную разработчиком. Экспериментировать с семантической супервизией ИИ-агентов, пишущих код, используя собственные проверки.
Как установить foreman?
Задайте переменную окружения TYPESAFE_API_KEY для используемой по умолчанию модели принятия решений Jev Запустите Foreman с бэкендом OpenCode worker в проекте с описанием задачи: FOREMAN_WORKER_BACKEND=opencode foreman run --repo ./my-project --job "Add request retries"
Где скачать foreman?
Исходный код и инструкции по установке — на GitHub: https://github.com/thruwire/foreman

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Автономный CLI на Go, который выполняет план реализации в Markdown с помощью Claude Code или codex, запуская для каждой задачи отдельную сессию и проводя многоэтапное ревью кода.

1,5 тыс.+5 за неделю134GoMITАктивно поддерживаетсяОбновлён 1 час назад

Локальная веб-консоль и CLI, которые добавляют общий системный промпт (персону) или заменяют им существующий в нескольких coding-агентах, например Claude Code, Codex и OpenCode.

1,4 тыс.+468 за неделю882JavaScriptMITОбновлён 5 часов назад

Python CLI, который запускает кодинг-агентов вроде Codex и Claude Code с дополнительными супервизором, ревьюером, adversary и локальным сокращателем логов — каждый работает на своей модели.

17613PythonMITАктивно поддерживаетсяОбновлён 5 часов назад

Блок правил для вставки в конфиг, который не даёт Claude Code, Codex и другим coding-агентам чрезмерно усложнять решения и добавлять ненужные проверки.

801+60 за неделю28PythonMITАктивно поддерживаетсяОбновлён позавчера