Repolode
thruwire

thruwire/foreman

CodexやOpenCodeなどのコーディングエージェントを監視し、判断モデルで完了度、テストの十分性、ワーカーの行き詰まりを評価するPython製の監督ツール。

スター
814
フォーク
69
未解決の Issue
10
最終コミット
23 日前

これは何?

Foremanは、AIコーディングエージェント向けの監督ツールです。チケット、仕様書、バグ報告を渡すと、Codex、OpenCode、Hermes、LangChainのDeep Agents CLIなどのワーカーを実行します。ワーカーの実行中、Foremanはジョブのテキスト、git statusとdiff、出力末尾、テスト結果、リポジトリ内のAGENTS.mdの指示といった範囲を限定した証拠を、定期的に判断モデルへ送ります。モデルは、実装の完了度、要件の充足度、検証の必要性、ワーカーが行き詰まっているか、または本筋から外れているかといったチェック項目の確率を返します。

決定論的なPythonポリシーがそれらのスコアをアクションに変換します。アクションには、継続、ターンの途中でワーカーを誘導(Codex App Serverのみ)、停止、再試行、検証役の起動、完了、人間へのエスカレーションがあります。担当範囲はTOMLファイルで定義し、しきい値を設定できます。また、独自のチェックも追加できます。判断モデルには、TypeSafeのJev(デフォルト)またはOpenAIのDecisions APIを利用できます。

Foremanは、Codex、Deep Agents、Pi向けのフックを通じて、対話型セッションに監督機能を付けることもできます。APIキーなしで実行できる決定論的なデモがあり、実行状態は各リポジトリの.foremanディレクトリ以下にローカル保存されます。

主な機能

  • 01Codex、OpenCode、Hermes、Deep Agentsをコーディングワーカーとして実行します。
  • 02ワーカーとは独立して、完了度、要件、テストの十分性、ワーカーの状態を評価します。
  • 03実行中のCodexターンを誘導したり、行き詰まったワーカーを停止して再試行したりできます。
  • 04JevとOpenAIの判断モデル用アダプターに対応しています。
  • 05TOMLで担当範囲、しきい値、外部の証拠収集コマンドを設定できます。

ユースケース

  • 無人で動かすコーディングエージェントがループしたり、チケットの内容から逸脱したりするのを防ぐ。
  • エージェントの出力を受け入れる前に、完了度とテストカバレッジを独立して確認する。
  • 開発者が起動したCodexまたはPiの対話型セッションを監督する。
  • 独自のチェックを使って、コーディングエージェントの意味的な監督を試す。

クイックスタート

  1. 1

    デフォルトのJev判定モデル用に、環境変数TYPESAFE_API_KEYを設定します

  2. 2

    ジョブの説明があるプロジェクトで、OpenCodeワーカーバックエンドを使ってForemanを実行します

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

使う前に知っておきたいこと

  • Foremanが同時に実行できるコーディングワーカーは、現在1つだけです。
  • アクティブなターンへのライブステアリングはCodex App Serverバックエンドでのみ動作します。他のバックエンドでは、停止して再試行する方式にフォールバックします。
  • デフォルトの判定モデルをセットアップするには、TYPESAFE_API_KEYが必要です。

収録されている特集

トピック

よくある質問

foreman とは?
CodexやOpenCodeなどのコーディングエージェントを監視し、判断モデルで完了度、テストの十分性、ワーカーの行き詰まりを評価するPython製の監督ツール。 Foremanは、AIコーディングエージェント向けの監督ツールです。チケット、仕様書、バグ報告を渡すと、Codex、OpenCode、Hermes、LangChainのDeep Agents CLIなどのワーカーを実行します。ワーカーの実行中、Foremanはジョブのテキスト、git statusとdiff、出力末尾、テスト結果、リポジトリ内のAGENTS.mdの指示といった範囲を限定した証拠を、定期的に判断モデルへ送ります。モデルは、実装の完了度、要件の充足度、検証の必要性、ワーカーが行き詰まっているか、または本筋から外れているかといったチェック項目の確率を返します。
foreman は無料で使えますか?ライセンスは?
foreman は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
foreman は今もメンテナンスされていますか?
活発にメンテナンス中。foreman の最終コミットは 2026年10月15日 です。
foreman は何に使えますか?
無人で動かすコーディングエージェントがループしたり、チケットの内容から逸脱したりするのを防ぐ。 エージェントの出力を受け入れる前に、完了度とテストカバレッジを独立して確認する。 開発者が起動したCodexまたはPiの対話型セッションを監督する。 独自のチェックを使って、コーディングエージェントの意味的な監督を試す。
foreman のインストール方法は?
デフォルトのJev判定モデル用に、環境変数TYPESAFE_API_KEYを設定します ジョブの説明があるプロジェクトで、OpenCodeワーカーバックエンドを使ってForemanを実行します: FOREMAN_WORKER_BACKEND=opencode foreman run --repo ./my-project --job "Add request retries"
foreman はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/thruwire/foreman

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト