OutcomeCI

官方

使用 OutcomeCI 在您團隊的工具中建立、驗證並管理由代理驅動的工作流程。

你可以用 OutcomeCI MCP 做什麼?

  • 擬定工作流程計畫 — 請你的 AI 閱讀請求,並使用 draft 工具提出逐步計畫。
  • 透過討論完善計畫 — 讓你的 AI 透過 discuss 與你反覆調整計畫,直到你批准為止。
  • 執行已核准的變更 — 指示你的 AI 在設定的權限內,使用 implement 實作雙方同意的計畫。
  • 回報結果 — 請你的 AI 將結果(例如 PR 連結)發布到原始對話串中,使用 announce。
  • 檢視執行軌跡 — 要求摘要說明每個工作流程步驟呼叫了什麼、回傳了什麼,或拒絕了什麼。

託管 MCP 伺服器

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

可安裝到 Claude Code、Codex、Cursor 等客戶端

文件

描述工作流程。一起建置。

將您喜愛的代理程式連線到 OutcomeCI,並描述您想要完成的事。一起建置步驟、工具和核准流程,然後讓 OutcomeCI 執行工作流程。

draft

閱讀請求與儲存庫。在討論串中提出計畫。

discuss

與請求者來回處理回饋,直到對方核准為止。

implement

在工作流程的權限範圍內進行已同意的變更。

announce

將結果帶回最初開始的對話中。

與您的代理程式一起建置

建置一個將 Slack 請求轉換為 pull request 的工作流程。與請求者討論計畫,並在進行變更前等待核准。

  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}

探索工作流程格式

規劃藍圖。然後核准它。

決定哪些環節需要人員引導、審查與核准。為每個步驟授予代理程式明確的權限,並將變更維持在您設定的界限內。

  • 每個步驟的權限

    選擇每個步驟可以執行哪些操作,以及可以存取哪些資源。超出這些授權範圍的呼叫會被拒絕。
  • 變更前的政策審查

    新增規則,例如單一分支與單一 PR。政策審查者會在變更送出前檢查提議的變更。
  • 憑證保留在 Vault 中

    OutcomeCI 會將憑證附加到 API 呼叫。代理程式透過授權進行操作,而不會收到權杖。

# product-engineering

OutcomeCI APP

我會為活動頁面新增 CSV 匯出功能,並包含測試。

Maya

只匯出篩選後的結果,並保留現有的欄位順序。

OutcomeCI APP

已更新計畫:以目前的欄位順序匯出篩選後的結果,並為兩者加入測試。可以繼續嗎?

修訂後的計畫已準備好供核准

Jordan

可以,請繼續。

實作權限

儲存庫

acme/console

授權

github.write

政策

單一分支。單一 PR。禁止強制推送。

憑證

由 broker 附加

可追蹤的執行環境。

每次執行都會留下可供您檢視的記錄,從第一個工具呼叫到最終結果。

查看每個步驟呼叫了什麼、回傳了什麼,以及什麼被拒絕,並附上原因。一路追蹤工作直到其結果。

探索執行與政策審查

slack-to-pull-request

已完成5 次 API 呼叫 · 1 次被拒絕

01 github.read acme/console 已確認

讀取活動頁面及其現有測試。儲存庫內容已回傳至草稿步驟。

02 slack.post #product-engineering / 原始討論串 已確認

發布修訂後的 CSV 匯出計畫,包含篩選結果與現有欄位順序。訊息回條識別了用於核准的對話。

03 github.write 強制推送提案 已拒絕

政策審查否決了提議的強制推送。政策允許一個新分支與一個 PR,且禁止強制推送。此請求未傳送至 GitHub。

04 github.write acme/console / pull request #142 已確認

從新分支為已核准的 CSV 匯出開啟了一個 pull request。GitHub 回傳了 PR 編號與 URL。

05 slack.post #product-engineering / 原始討論串 已確認

將 pull request 連結與摘要發布至原始討論串。Slack 回傳了訊息回條。

結果已回傳至 Slack 討論串展開呼叫以檢視

保留您的工作流程。更換您的代理程式或模型。

將您的工作流程保留在 OutcomeCI 或您的儲存庫中。為每個步驟選擇代理程式與模型,並在本機或雲端執行。

您的代理程式

  • Codex
  • Claude Code
  • OpenCode

設定預設值、覆寫特定步驟,或為使用限制新增備援方案。

設定您的代理程式

您的模型

  • OpenRouter
  • LiteLLM

帶入您既有的模型存取權。為每個工作流程或步驟選擇模型,而不必將您的編排綁定在單一供應商上。

選擇您的模型

您的執行環境

本機OutcomeCI Cloud

相同的工作流程格式與執行器映像。每個環境皆已設定憑證。

探索本機執行

偏好從您喜愛的代理程式開始?

透過 MCP 將它連線到 OutcomeCI,並一起建置您的工作流程。

MCP 伺服器 URL

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

連線您的代理程式

官方設定指南:OpenCode ↗ Claude Code ↗ Codex ↗

偏好從您的機器開始?

使用 Docker 和您的代理程式登入在本機測試。不需要 OutcomeCI 帳戶。

$ pipx install outcomeci-cli

依照快速入門指南

一個工作流程只是開始。

從事件、排程或請求開始。為每個工作彙整所需的工具、代理程式與核准流程。

警示 → 調查 → 審查

分流傳入的警示

從傳入的 webhook 開始,調查問題,並在進行變更前提出修正方案供審查。

探索警示工作流程

請求 → 研究 → 回答

回答儲存庫問題

授予代理程式相關程式碼的唯讀存取權,並將答案帶回給提問的人。

建置唯讀工作流程

排程 → 摘要 → 更新

準備晨間更新

彙整儲存庫活動、摘要變更內容,並依您選擇的排程分享更新。

從排程工作流程開始

從事件開始 Slack · Webhook · Email · 排程 · CLI

連線您的工具 探索開源連接器 ↗

常見問題

OutcomeCI 僅適用於編碼工作流程嗎?

不是。OutcomeCI 是代理程式工作流程的編排框架。圍繞您想完成的工作定義觸發器、步驟、工具與核准流程。Pull request 逐步解說是其中一個範例;工作流程也可以調查問題、摘要活動,並透過支援的連接器採取行動。

我可以使用哪些代理程式與模型?

OutcomeCI 支援 Codex、Claude Code 與 OpenCode。在工作流程中選擇執行器及其支援的模型、覆寫特定步驟的代理程式,或為使用限制設定備援方案。將您的工作流程保留在 OutcomeCI 或您的儲存庫中。

我的工作流程可以在哪裡執行?

在 OutcomeCI Cloud 的受管執行器上執行工作流程,或使用 Docker 和您自己的代理程式登入在本機測試。兩者使用相同的執行器映像與工作流程格式。每個環境皆已設定憑證與代理程式連線。

執行追蹤記錄了什麼?

執行的日誌記錄 API 呼叫、其結果,以及附有原因的拒絕事項。使用它來檢查工作流程嘗試了什麼以及發生了什麼。它是工具執行的記錄,而非代理程式私人推理的逐字稿。

如果執行失敗或代理程式達到限制會怎樣?

開啟執行日誌以查看失敗原因,並在重試前檢查記錄的呼叫。雲端執行會重試某些暫時性失敗(例如代理程式連線忙碌)最多五次。為使用或速率限制設定備援代理程式。對於失敗的本機執行,請修正原因並使用 CLI 的重試選項繼續。結果不確定的呼叫不會自動重播。

如果沒有人核准計畫會怎樣?

您設定核准時間視窗。逾時的核准步驟會跳過其餘步驟。在逐步解說中,實作需要已核准的計畫;如果討論逾時或在未達成協議的情況下達到回合限制,則會跳過實作。

權限與密碼是如何處理的?

每個步驟都有明確的授權,範圍限定於操作與參數。Broker 會拒絕超出這些授權範圍的呼叫,並將 Vault 中的憑證附加到允許的呼叫。可選的政策審查會根據自然語言規則檢查提議的變更,且工作流程可以等待人工核准。

支援哪些工具與觸發器?

目前提供 GitHub 與 Slack 連接器。從 Slack 提及與直接訊息、webhook、email、cron 排程或 CLI 啟動工作流程。連接器是開源的;可透過連接器儲存庫請求其他 API。

在本機試用需要帳戶嗎?

不需要。安裝 CLI 並使用 Docker、您的代理程式登入,以及您所連線工具的憑證在本機測試工作流程。建立 OutcomeCI 帳戶以在受管雲端執行器上執行工作流程。