OutcomeCI

公式

OutcomeCIで、チームのツール全体にわたるエージェント駆動のワークフローを作成、検証、管理できます。

OutcomeCI MCPで何ができますか?

  • ワークフロー計画の草案作成 — AIにリクエストを読ませ、draftツールを使ってステップバイステップの計画を提案させます。
  • 議論による計画の洗練 — 承認するまで、discussを通じてAIと計画を繰り返し調整します。
  • 承認済み変更の実行 — 設定された権限内で、合意した計画をimplementを使ってAIに実装させます。
  • 結果の報告 — PRリンクなどの成果を、元の会話スレッドにannounceで投稿するようAIに依頼します。
  • 実行トレースの確認 — 各ワークフローステップが何を呼び出し、何を返し、何を拒否したかの要約をリクエストします。

ホスト型 MCP サーバー

npx add-mcp 'https://api.outcomeci.com/v1/mcp'

Claude Code、Codex、Cursor などにインストールできます

ドキュメント

ワークフローを説明し、一緒に構築しましょう。

お気に入りのエージェントをOutcomeCIに接続し、実行したいことを説明してください。ステップ、ツール、承認を一緒に組み立て、OutcomeCIにワークフローを実行させましょう。

draft

リクエストとリポジトリを読み取ります。スレッド内で計画を提案します。

discuss

リクエスト元とフィードバックをやり取りし、承認を得るまで調整します。

implement

ワークフローの権限範囲内で合意した変更を実施します。

announce

結果を開始した会話に戻します。

エージェントで構築する

Slackリクエストをプルリクエストに変換するワークフローを構築します。リクエスト元と計画を話し合い、変更を加える前に承認を待ちます。

  1. 01 draft エージェントステップ
  2. 02 discuss 人間による承認
  3. 03 implement エージェントステップ
  4. 04 announce エージェントステップ

ワークフローを一緒に確認します。作業が届くとOutcomeCIが実行します。

完全なワークフローを表示

apiVersion: outcomeci.workflow/v1
name: slack-to-pull-request

trigger:
  webhook: {uses: slack, auth: secrets.slack_signing, events: [mention, dm]}

secrets:
  slack: vault:slack/bot-token
  slack_signing: vault:slack/signing-secret
  github: vault:github

apis:
  slack: {uses: slack, auth: secrets.slack}
  github: {uses: github, auth: secrets.github}

reasoning:
  default: {runner: codex}

steps:
  - draft:
      reason: >
        Read the repositories named in the request. Draft a plan with
        a section per repository and post it in the request's thread.
      from: trigger
      can:
        - github.read
        - slack.post: {channel: trigger.channel, thread_ts: trigger.ts}
      returns:
        plan: {summary, repos: [{repo: {owner, name}, steps: [string]}]}

  - discuss:
      with: draft.plan
      converse: slack.thread(draft.calls.slack.post)
      by: trigger.user
      until: converged
      max_turns: 12
      returns: [plan, status]

  - implement:
      when: discuss.status == "converged"
      for_each: discuss.plan.repos as target
      reason: Implement the approved plan and open one pull request.
      with: [discuss.plan, target]
      can:
        - github.write: {repo: target.repo}
      policy: "One branch, one PR, only files the plan needs. No force-push."
      returns:
        pr?: {url, number: int, branch}
        reason?: string

  - announce:
      with: [implement, discuss.plan]
      reason: Reply in the original thread with each PR link or the reason no PR was opened.
      can:
        - slack.post: {channel: trigger.channel, thread_ts: trigger.ts}

ワークフローフォーマットを探索する

計画を形にし、承認を得ましょう。

人がガイド、レビュー、承認を行う場所を決めます。各ステップに明確な権限をエージェントに与え、設定した境界内で変更を維持します。

  • 各ステップの権限

    各ステップが実行できる操作とアクセスできるリソースを選択します。付与された範囲外の呼び出しは拒否されます。
  • 変更前のポリシーレビュー

    1つのブランチと1つのPRなどのルールを追加します。ポリシーレビューアが送信前に提案された変更をチェックします。
  • 認証情報はVaultに保管

    OutcomeCIはAPI呼び出しに認証情報を添付します。エージェントはトークンを受け取らずに付与された範囲内で作業します。

# product-engineering

OutcomeCI APP

アクティビティページにCSVエクスポートを追加し、テストを含めます。

Maya

フィルタリングされた結果のみをエクスポートし、既存の列順序を維持してください。

OutcomeCI APP

計画を更新しました: 現在の列順序でフィルタリングされた結果をエクスポートし、両方のテストを含めます。進めてよろしいですか?

承認用の改訂計画の準備ができました

Jordan

それで問題ありません。進めてください。

実装権限

リポジトリ

acme/console

付与

github.write

ポリシー

1つのブランチ。1つのPR。フォースプッシュなし。

認証情報

ブローカーによって添付

トレースされた実行環境。

すべての実行は、最初のツール呼び出しから最終結果まで、検査可能な記録を残します。

各ステップが何を呼び出し、何が返され、何が拒否されたかを理由とともに確認できます。結果に至るまでの作業を追跡できます。

実行とポリシーレビューを探索する

slack-to-pull-request

完了5 API呼び出し · 1 拒否

01 github.read acme/console 確認済み

アクティビティページと既存のテストを読み取りました。リポジトリの内容がドラフトステップに返されました。

02 slack.post #product-engineering / 元のスレッド 確認済み

改訂されたCSVエクスポート計画を投稿しました。フィルタリングされた結果と既存の列順序を含みます。メッセージ受信確認により、承認に使用された会話が特定されます。

03 github.write フォースプッシュ提案 拒否

ポリシーレビューが提案されたフォースプッシュを拒否しました。ポリシーでは1つの新しいブランチと1つのPRのみ許可され、フォースプッシュは禁止されています。このリクエストはGitHubに送信されませんでした。

04 github.write acme/console / プルリクエスト #142 確認済み

承認されたCSVエクスポートのために新しいブランチからプルリクエストを開きました。GitHubがPR番号とURLを返しました。

05 slack.post #product-engineering / 元のスレッド 確認済み

プルリクエストのリンクと要約を元のスレッドに投稿しました。Slackがメッセージ受信確認を返しました。

結果がSlackスレッドに返されました呼び出しを展開して検査

ワークフローはそのままに。エージェントやモデルは変更可能。

ワークフローをOutcomeCIまたはリポジトリに保持します。各ステップのエージェントとモデルを選択し、ローカルまたはクラウドで実行します。

エージェント

  • Codex
  • Claude Code
  • OpenCode

デフォルトを設定し、ステップを上書きし、使用制限用のフォールバックを追加します。

エージェントを設定する

モデル

  • OpenRouter
  • LiteLLM

既に持っているモデルアクセスを活用します。ワークフローやステップごとにモデルを選択し、オーケストレーションを1つのプロバイダーに縛り付けません。

モデルを選択する

実行環境

ローカルOutcomeCI Cloud

同じワークフローフォーマットとランナーイメージ。各環境に設定された認証情報。

ローカル実行を探索する

お気に入りのエージェントから始めたいですか?

MCPでOutcomeCIに接続し、ワークフローを一緒に構築しましょう。

MCPサーバーURL

https://api.outcomeci.com/v1/mcp

エージェントを接続する

公式セットアップガイド:OpenCode ↗ Claude Code ↗ Codex ↗

自分のマシンで始めたいですか?

Dockerとエージェントログインでローカルでテストします。OutcomeCIアカウントは不要です。

$ pipx install outcomeci-cli

クイックスタートに従う

1つのワークフローは始まりに過ぎません。

イベント、スケジュール、リクエストから始めます。各ジョブに必要なツール、エージェント、承認をまとめます。

アラート → 調査 → レビュー

受信アラートのトリアージ

受信ウェブフックから始め、問題を調査し、変更を加える前にレビュー用の修正案を提案します。

アラートワークフローを探索する

リクエスト → 調査 → 回答

リポジトリの質問に答える

エージェントに関連コードへの読み取り専用アクセスを許可し、質問した人に回答を返します。

読み取り専用ワークフローを構築する

スケジュール → 要約 → 更新

朝のアップデートを準備する

リポジトリのアクティビティを収集し、変更内容を要約し、選択したスケジュールでアップデートを共有します。

スケジュールされたワークフローで始める

イベントで始める Slack · Webhook · メール · スケジュール · CLI

ツールを接続する オープンソースコネクタを探索 ↗

よくある質問

OutcomeCIはコーディングワークフロー専用ですか?

いいえ。OutcomeCIはエージェントワークフローのためのオーケストレーションフレームワークです。実行したい作業に応じてトリガー、ステップ、ツール、承認を定義します。プルリクエストのウォークスルーは一例であり、ワークフローは質問の調査、アクティビティの要約、サポートされているコネクタを通じたアクションも実行できます。

どのエージェントとモデルを使用できますか?

OutcomeCIはCodex、Claude Code、OpenCodeをサポートしています。ワークフローでランナーとそれがサポートするモデルを選択し、特定のステップのエージェントを上書きするか、使用制限用のフォールバックを設定します。ワークフローをOutcomeCIまたはリポジトリに保持します。

ワークフローはどこで実行できますか?

OutcomeCI Cloudのマネージドランナーでワークフローを実行するか、Dockerと自分のエージェントログインでローカルでテストします。両方とも同じランナーイメージとワークフローフォーマットを使用します。認証情報とエージェント接続は各環境に設定されます。

実行トレースは何を記録しますか?

実行のジャーナルはAPI呼び出し、その結果、理由付きの拒否を記録します。ワークフローが何を試み、何が起こったかを検査するために使用します。これはツール実行の記録であり、エージェントの内部推論の書き起こしではありません。

実行が失敗したり、エージェントが制限に達した場合はどうなりますか?

実行ログを開いて何が失敗したかを確認し、再試行する前に記録された呼び出しを検査します。クラウド実行は、ビジーなエージェント接続などの特定の一時的な失敗を最大5回再試行します。使用制限やレート制限用にフォールバックエージェントを設定します。ローカル実行が失敗した場合は、原因を修正してCLIの再試行オプションで再開します。結果が不確かな呼び出しは自動的に再実行されません。

誰も計画を承認しない場合はどうなりますか?

承認ウィンドウを設定します。タイムアウトした承認ステップは残りのステップをスキップします。ウォークスルーでは、実装には承認された計画が必要です。ディスカッションがタイムアウトするか、合意なしにターン制限に達した場合、実装はスキップされます。

権限とシークレットはどのように処理されますか?

各ステップには操作と引数にスコープされた明示的な付与があります。ブローカーは付与された範囲外の呼び出しを拒否し、許可された呼び出しにVaultからの認証情報を添付します。オプションのポリシーレビューは、平文のルールに対して提案された変更をチェックし、ワークフローは人間の承認を待つことができます。

どのツールとトリガーがサポートされていますか?

GitHubとSlackのコネクタが現在利用可能です。Slackのメンションやダイレクトメッセージ、ウェブフック、メール、cronスケジュール、CLIからワークフローを開始します。コネクタはオープンソースであり、コネクタリポジトリを通じて追加のAPIをリクエストできます。

ローカルで試すにはアカウントが必要ですか?

いいえ。CLIをインストールし、Docker、エージェントログイン、接続するツールの認証情報を使用してローカルでワークフローをテストします。マネージドクラウドランナーでワークフローを実行するにはOutcomeCIアカウントを作成します。