外部 AI Teams Control のセルフホスト

English | 日本語

この repository は AI Teams Codex Plugin を配布します。scheduler、poller、常駐 orchestration、 Discord/webhook、GUI、service manager を自動起動しません。明示的な Control Lite コマンドは、 以下の専門タスクを含む有限のローカル調整を提供します。

persistent discovery、queued execution、recovery、control UI が必要な operator は、 Qoo257/ai-teams-control を別途 install できます。runtime 要件、対応する配置形態、persistence、credential、installation、update、backup、 monitoring、release lifecycle はその project が所有します。Plugin release に残る過去の service 手順を複製せず、Control の現行 documentation に従います。

Plugin と Control の boundary

Plugin は Product Development と Issue delivery の semantics、focused Skill、diagnostics/quality tooling、bounded Control MCP client を所有します。GitHub delivery の正本は GitHub Issue、Pull Request、Git ref、hosted check です。

外部 Control は Issue discovery、work scheduling、queue/recovery state の永続化、worker lifecycle、 任意 GUI、Discord、webhook integration を所有できます。repository acceptance、effect authority、 Plugin の bounded Issue execution contract を弱めることはできません。

Plugin の install/update は service を起動せず、Control の file、configuration、credential、 database、process を変更しません。Control の install/update は別の operator-authorized effect で、 Plugin release を変更しません。

Integration safety

  • exact repository と trusted operator を allowlist にする
  • Control credential を repository/candidate workspace の外に置く
  • 有効にする effect に必要な provider permission だけを与える
  • queue、retry、recovery、worker ownership は Control state とし、GitHub に第二の正本を作らない
  • accepted delivery 前に exact candidate と hosted-check evidence を要求する
  • Control capability が非互換または unavailable なら停止し、ローカル実行へ暗黙に切り替えない

machine-facing contract は bounded Issue execution、 trusted delivery、 Control integration boundary にあります。

時間を制限した専門調査

任意の skills/ai-teams/scripts/specialist_tasks.py は、リポジトリ外の選択した Control Lite データベースへ専門タスクを登録します。Linux、GNU timeout、明示した Codex CLI、タスクの 正確なコミットをチェックアウトしたクリーンな作業領域が必要です。認証、モデル選択、ホスト制限は Codex が管理します。インストールで worker は起動せず、run は一度だけ実行します。

入力契約 に沿い、質問、有限の入力、正確な repository/work-item/commit、coordinator、結果契約、秒数予算、 停止条件を task JSON に記録します。

python3 <skill-dir>/scripts/specialist_tasks.py --database <local-store> --repo OWNER/REPO \
  enqueue --input <task.json> --coordinator <coordinator>
python3 <skill-dir>/scripts/specialist_tasks.py --database <local-store> --repo OWNER/REPO \
  run --task <task-id> --coordinator <coordinator> --revision <commit> \
  --cwd <clean-checkout> --codex <absolute-codex-executable>

予算はローカルのプロセスグループに対する経過時間(1–900 秒)です。coordinator が終了しても ホストの期限は有効です。停止が不確かな場合は作業系統を予約したまま保持します。 reconcile --task <task-id> --coordinator <coordinator> は記録された正確なホストだけを確認・停止し、 識別が曖昧なら保持を続けます。遠隔の課金や、グループ外へ離脱したプロセスの停止は保証しません。 経過時間を表示し、金額は取得不能と明示します。金額や token の予算と解釈しないでください。

read --task <task-id> は結果と decision_question を表示します。その正確な質問、選択肢 accept/reject、タスクの単一 work-item scope を持つ provider 所有 Decision を通常の Work Item 作成経路で作成し、既存の Decision Inbox で coordinator の回答と理由を記録します。 decide --task <task-id> --coordinator <coordinator> --decision-issue <number> --decision-revision <provider-revision> が最新の provider 情報と照合します。status は Project State と判断への影響を表示し、変更済み・取得不能の Decision を受入とは扱いません。どちらの読み取りも タスク変更やプロセス起動を行いません。