外部 AI Teams Control のセルフホスト¶
この 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 を受入とは扱いません。どちらの読み取りも
タスク変更やプロセス起動を行いません。