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 的工作流程。與請求者討論計畫,並在進行變更前等待核准。
- 01
draft代理程式步驟 - 02
discuss人工核准 - 03
implement代理程式步驟 - 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 帳戶以在受管雲端執行器上執行工作流程。