OutcomeCI

официальный

Создавайте, проверяйте и управляйте агентными рабочими процессами в инструментах вашей команды с помощью OutcomeCI.

Что можно делать с OutcomeCI MCP?

  • Составьте план работы — Попросите вашего ИИ прочитать запрос и предложить пошаговый план с помощью инструмента draft.
  • Уточните план в ходе обсуждения — Пусть ваш ИИ доработает план вместе с вами через discuss, пока вы его не одобрите.
  • Выполните утверждённые изменения — Поручите вашему ИИ реализовать согласованный план в рамках заданных разрешений с помощью implement.
  • Сообщите о результатах — Попросите вашего ИИ опубликовать итог, например ссылки на 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}

Изучите формат процесса

Сформируйте план. Затем одобрите его.

Решите, где люди направляют, проверяют и согласовывают. Дайте агентам чёткие разрешения для каждого шага и держите изменения в заданных вами границах.

  • Разрешения для каждого шага

    Выберите, какие операции может выполнять каждый шаг и к каким ресурсам он может обращаться. Вызовы за пределами этих разрешений отклоняются.
  • Проверка политики перед изменениями

    Добавьте правила, например, одна ветка и один pull request. Проверяющий политику проверяет предлагаемые изменения перед их отправкой.
  • Учётные данные остаются в хранилище

    OutcomeCI прикрепляет учётные данные к вызовам API. Агент работает через разрешения, не получая сами токены.

# product-engineering

OutcomeCI ПРИЛОЖЕНИЕ

Я добавлю CSV-экспорт для страницы активности и включу тесты.

Maya

Экспортируйте только отфильтрованные результаты и сохраните текущий порядок столбцов.

OutcomeCI ПРИЛОЖЕНИЕ

План обновлён: экспорт отфильтрованных результатов в текущем порядке столбцов, с тестами для обоих случаев. Продолжаем?

Обновлённый план готов к одобрению

Jordan

Подходит. Продолжайте.

Разрешения на реализацию

Репозиторий

acme/console

Разрешение

github.write

Политика

Одна ветка. Один pull request. Без force-push.

Учётные данные

Прикрепляются брокером

Среда выполнения с полным отслеживанием.

Каждый запуск оставляет запись, которую можно изучить: от первого вызова инструмента до конечного результата.

Посмотрите, что вызывал каждый шаг, что вернулось и что было отклонено, с указанием причины. Проследите за работой до самого результата.

Изучите выполнение и проверку политики

slack-to-pull-request

Завершено · 5 вызовов API · 1 отклонён

01 github.read acme/console Подтверждено

Прочитана страница активности и её существующие тесты. Содержимое репозитория возвращено на этап черновика.

02 slack.post #product-engineering / исходное обсуждение Подтверждено

Опубликован обновлённый план CSV-экспорта, включая отфильтрованные результаты и текущий порядок столбцов. Подтверждение получения сообщения определяет беседу, используемую для согласования.

03 github.write Предложение force-push Отклонено

Проверка политики отклонила предложенный force-push. Политика разрешает одну новую ветку и один pull request без force-push. Этот запрос не был отправлен в GitHub.

04 github.write acme/console / pull request #142 Подтверждено

Открыт pull request из новой ветки для одобренного CSV-экспорта. GitHub вернул номер PR и URL.

05 slack.post #product-engineering / исходное обсуждение Подтверждено

Опубликована ссылка на pull request и сводка в исходное обсуждение. Slack вернул подтверждение получения сообщения.

Результат возвращён в Slack-обсуждение · Разверните вызов для просмотра

Сохраните свой процесс. Смените агента или модель.

Храните процессы в OutcomeCI или в своём репозитории. Выберите агента и модель для каждого шага, запускайте локально или в облаке.

Ваш агент

  • Codex
  • Claude Code
  • OpenCode

Задайте значение по умолчанию, переопределите для шага или добавьте запасной вариант на случай лимитов использования.

Настройте своих агентов

Ваши модели

  • OpenRouter
  • LiteLLM

Используйте уже имеющийся у вас доступ к моделям. Выбирайте модель для процесса или шага, не привязывая оркестрацию к одному провайдеру.

Выберите свои модели

Ваша среда выполнения

Локально · Облако OutcomeCI

Тот же формат процесса и образ исполнителя. Учётные данные настраиваются для каждой среды.

Изучите локальное выполнение

Предпочитаете начать со своего любимого агента?

Подключите его к OutcomeCI через MCP и создайте процесс вместе.

URL сервера MCP

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

Подключите своего агента

Официальные руководства по настройке: OpenCode ↗ Claude Code ↗ Codex ↗

Предпочитаете начать на своём компьютере?

Тестируйте локально с Docker и входом в своего агента. Учётная запись OutcomeCI не требуется.

$ pipx install outcomeci-cli

Следуйте краткому руководству

Один процесс — это только начало.

Начните с события, расписания или запроса. Объедините инструменты, агентов и согласования, необходимые для каждой задачи.

Оповещение → Расследование → Проверка

Обработка входящего оповещения

Начните с входящего вебхука, расследуйте проблему и предложите исправление для проверки перед внесением изменений.

Изучите процесс обработки оповещений

Запрос → Исследование → Ответ

Ответ на вопрос о репозитории

Дайте агенту доступ только для чтения к соответствующему коду и верните ответ человеку, который задал вопрос.

Создайте процесс только для чтения

Расписание → Сводка → Обновление

Подготовка утреннего обновления

Соберите активность в репозитории, обобщите изменения и опубликуйте обновление по выбранному вами расписанию.

Начните с процесса по расписанию

Начните с события Slack · Webhook · Email · Расписание · CLI

Подключите свои инструменты Изучите коннекторы с открытым исходным кодом ↗

Часто задаваемые вопросы

OutcomeCI предназначен только для процессов, связанных с кодом?

Нет. OutcomeCI — это платформа оркестрации для процессов с агентами. Определите триггер, шаги, инструменты и согласования вокруг нужной вам работы. Пример с pull request — лишь один из вариантов; процессы также могут исследовать вопросы, обобщать активность и действовать через поддерживаемые коннекторы.

Каких агентов и модели можно использовать?

OutcomeCI поддерживает Codex, Claude Code и OpenCode. Выберите исполнителя и поддерживаемую им модель в своём процессе, переопределите агента для конкретного шага или настройте запасной вариант на случай лимитов использования. Храните процессы в OutcomeCI или в своём репозитории.

Где могут выполняться мои процессы?

Запускайте процессы на управляемых исполнителях OutcomeCI Cloud или тестируйте их локально с Docker и собственным входом в агента. В обоих случаях используется один и тот же образ исполнителя и формат процесса. Учётные данные и подключения агентов настраиваются для каждой среды.

Что фиксирует журнал выполнения?

Журнал запуска фиксирует вызовы API, их результаты и отклонения с причинами. Используйте его, чтобы увидеть, что пытался сделать процесс и что произошло. Это запись выполнения инструментов, а не расшифровка внутренних рассуждений агента.

Что произойдёт, если запуск завершится ошибкой или агент достигнет лимита?

Откройте журнал запуска, чтобы увидеть, что не удалось, и изучите записанные вызовы перед повторной попыткой. Облачные запуски повторяют некоторые временные сбои, например занятое подключение агента, до пяти раз. Настройте запасного агента на случай лимитов использования или частоты запросов. При сбое локального запуска устраните причину и возобновите выполнение с помощью опции повторной попытки в CLI. Вызовы с неопределённым результатом не воспроизводятся автоматически.

Что, если никто не одобрит план?

Вы задаёте окно согласования. Если шаг согласования истекает по времени, оставшиеся шаги пропускаются. В примере с walkthrough реализация требует одобренного плана; если обсуждение истечёт по времени или достигнет лимита ходов без согласия, реализация будет пропущена.

Как обрабатываются разрешения и секреты?

Каждый шаг имеет явные разрешения, ограниченные операциями и аргументами. Брокер отклоняет вызовы за пределами этих разрешений и прикрепляет учётные данные из хранилища к разрешённым вызовам. Необязательная проверка политики сверяет предлагаемые изменения с правилами на простом языке, а процессы могут ожидать согласования человеком.

Какие инструменты и триггеры поддерживаются?

Сегодня доступны коннекторы GitHub и Slack. Запускайте процессы из упоминаний и личных сообщений в Slack, вебхуков, email, cron-расписаний или CLI. Коннекторы имеют открытый исходный код; запросить дополнительные API можно через репозиторий коннекторов.

Нужна ли учётная запись для локального тестирования?

Нет. Установите CLI и тестируйте процессы локально с Docker, входом в своего агента и учётными данными для подключаемых инструментов. Создайте учётную запись OutcomeCI, чтобы запускать процессы на управляемых облачных исполнителях.