opentag は何をしますか?
OpenTag は、@opentag これを修正して のようなワークスペースメンションを監査可能なエージェント実行に変換します。このスキルは、ユーザーがワークスペースイベントからディスパッチャ、ローカルランナー、エグゼキュータ、コールバックに至るパスを設定するのに役立ちます。
リクエストのルーティング
ユーザーのパスに必要なリファレンスのみを参照してください:
- ローカルスモークテストまたは初回セットアップ:
references/local-echo.md - GitHub Issue または PR のメンション:
references/github-setup.md - Slack アプリのメンション:
references/slack-setup.md - 実際のコーディング実行または PR 作成:
references/codex-runner.md - 実行の中断、コールバックの欠落、拒否された実行、認証エラー:
references/troubleshooting.md
ユーザーが複数のパスを要求する場合は、最初に最小の動作ループを構成・検証し、その後次のアダプターを追加してください。
動作ルール
- ユーザーが既に動作するディスパッチャとランナーを持っている場合を除き、実際のエージェントやライブコールバックよりもローカルエコーループを優先してください。
- 設定は明示的に保ちます: リポジトリ所有者、リポジトリ名、チェックアウトパス、トークン、Slack ID、ディスパッチャ URL をでっち上げないでください。
- フォールバック動作を追加しないでください。必須の値が不足している場合は、不足しているものの明確なリストを提示してセットアップを中止してください。
opentagdをローカル実行権限として扱います。opentagdは、その設定にリストされているリポジトリのみを要求します。- 非破壊的なスモークテストには
echoを使用し、ユーザーが実際のコード実行を望む場合にのみcodexを使用します。 - 証明レイヤーを分離します: ディスパッチャのヘルス、ランナー登録、リポジトリまたは Slack のバインディング、実行作成、デーモン実行、コールバック配信。
セットアップワークフロー
-
ターゲットループを特定します。 完了条件:
local-echo、github、slack、またはcodex-runnerというループが 1 つ指定される。 -
必要な事実を収集します。 完了条件: 回答に不足しているすべての値が含まれているか、必要なすべての値が利用可能であること。
-
最小限の設定を記述または更新します。 完了条件: 設定には選択したループに必要なフィールドのみが含まれ、ユーザーの実際のリポジトリ/チャンネル/チェックアウトが使用されていること。
-
実行を作成する前にバインディングを登録します。 完了条件: ランナーが登録され、リポジトリがバインドされ、Slack が適用範囲内の場合は Slack チャンネルがバインドされていること。
-
実際の実行を 1 回検証します。 完了条件: 実行がディスパッチャを通じて確認でき、監査イベントがあり、完了または特定のエラーで失敗していること。
-
結果を報告します。 完了条件: 何が設定されたか、どのコマンドでそれが証明されたか、何が未設定かをユーザーに伝える。
コマンドのデフォルト
プロジェクトで変更がない限り、これらのデフォルトを使用してください:
- ディスパッチャアプリ:
pnpm --filter @opentag/dispatcher-app dev - ローカルデーモンアプリ:
pnpm --filter @opentag/opentagd dev -- <command> - Slack イベントアプリ:
pnpm --filter @opentag/slack-events dev - ディスパッチャ URL:
http://localhost:3030 - Slack イベント URL パス:
/slack/events - サンプル実行ペイロード:
examples/github-to-echo/run.example.json
このリポジトリ内でパッケージコマンドを実行する前に、Node 22.x を使用し、必要に応じて依存関係をインストールしてください。