Skip to content

OpenCode и другие AI-помощники: 3 способа запуска пайплайна

Что вы сможете сделать после изучения

  • ✅ Запускать и выполнять пайплайн Factory с помощью OpenCode
  • ✅ Запускать пайплайн с помощью Cursor
  • ✅ Понимать различия в форматах команд разных AI-помощников
  • ✅ Выбирать подходящий AI-помощник в зависимости от сценария использования

Ваша текущая проблема

Вы уже инициализировали проект Factory, но кроме Claude Code, не знаете, как запускать пайплайн с помощью других AI-помощников. OpenCode и Cursor — популярные AI-помощники для программирования. Могут ли они запускать пайплайн Factory? В чём различия в способах запуска и форматах команд?

Когда использовать этот приём

AI-помощникРекомендуемые сценарииПреимущества
Claude CodeНужна самая стабильная работа в режиме AgentНативная поддержка режима Agent, чёткий формат команд
OpenCodeПользователи разных платформ, нужны гибкие AI-инструментыКроссплатформенность, поддержка режима Agent
CursorПользователи VS Code, привыкшие к экосистеме VS CodeГлубокая интеграция, бесшовное переключение

Основной принцип

Логика выполнения всех AI-помощников полностью одинакова: прочитать определения Agent → выполнить пайплайн → сгенерировать артефакты. Различия касаются только способа запуска и формата команд.

🎒 Подготовка перед началом

Перед началом убедитесь:

  • ✅ Выполнена установка и настройка
  • ✅ Инициализирован проект с помощью factory init
  • ✅ Установлен OpenCode или Cursor (минимум один)

Основная идея: AI-помощник как движок выполнения пайплайна

AI-помощник — это движок выполнения пайплайна, отвечающий за интерпретацию определений Agent и генерацию артефактов. Основной рабочий процесс включает пять шагов: сначала прочитать .factory/pipeline.yaml для понимания порядка этапов, затем загрузить планировщик, чтобы掌握 ограничения выполнения и правила проверки прав, после этого загрузить соответствующий файл определения Agent в зависимости от текущего состояния, затем выполнить команды Agent для генерации артефактов и проверки условий выхода, и наконец дождаться подтверждения пользователя перед переходом к следующему этапу.

Важно: AI-помощник должен поддерживать режим Agent

Пайплайн Factory зависит от способности AI-помощника понимать и выполнять сложные команды в формате Markdown. Все поддерживаемые AI-помощники (Claude Code, OpenCode, Cursor) поддерживают режим Agent.

Следуйте за мной

Шаг 1: Запуск пайплайна с помощью OpenCode

Автоматический запуск (рекомендуется)

Если вы установили OpenCode CLI глобально:

bash
# Выполнить в корневой директории проекта
factory init

factory init автоматически обнаружит и запустит OpenCode, передав следующий промпт:

text
Пожалуйста, прочитайте .factory/pipeline.yaml и .factory/agents/orchestrator.checkpoint.md, запустите пайплайн и помогите мне превратить фрагменты идей о продукте в работающее приложение. Далее я буду вводить фрагменты идей. Примечание: файлы skills/ и policies/, на которые ссылается Agent, нужно сначала искать в директории .factory/, затем в корневой директории.

Вы должны увидеть:

  • В терминале отображается Starting OpenCode...
  • Окно OpenCode открывается автоматически
  • Промпт автоматически вставлен в поле ввода

Ручной запуск

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

  1. Откройте приложение OpenCode
  2. Откройте директорию вашего проекта Factory
  3. Скопируйте следующий промпт в поле ввода OpenCode:
text
Пожалуйста, прочитайте .factory/pipeline.yaml и .factory/agents/orchestrator.checkpoint.md, запустите пайплайн и помогите мне превратить фрагменты идей о продукте в работающее приложение. Далее я буду вводить фрагменты идей. Примечание: файлы skills/ и policies/, на которые ссылается Agent, нужно сначала искать в директории .factory/, затем в корневой директории.
  1. Нажмите Enter для выполнения

Продолжение выполнения пайплайна

Если пайплайн уже достиг определённого этапа, вы можете использовать команду factory run для продолжения:

bash
# Просмотреть текущее состояние и сгенерировать команду
factory run

# Или начать с указанного этапа
factory run prd

OpenCode отобразит команды, похожие на Claude Code:

🤖 AI Assistant Instructions:
──────────────────────────────────────────

This is an Agent Factory project. Please:

1. Read .factory/pipeline.yaml
2. Read .factory/agents/orchestrator.checkpoint.md
3. Read .factory/config.yaml
4. Execute pipeline from: bootstrap

Note: Check .factory/ first for skills/policies/ references, then root directory.

Шаг 2: Запуск пайплайна с помощью Cursor

Cursor — это AI-помощник для программирования на основе VS Code, используйте функцию Composer для запуска пайплайна Factory.

Обнаружение Cursor

Factory CLI автоматически обнаружит среду Cursor (через переменные окружения CURSOR или CURSOR_API_KEY).

Запуск через Composer

  1. Откройте директорию вашего проекта Factory в Cursor
  2. Выполните команду factory run:
bash
factory run
  1. В терминале отобразятся команды для Cursor:
🤖 Cursor Instructions:
──────────────────────────────────────────

This is an Agent Factory project. Use Cursor Composer to:

1. @ReadFile .factory/pipeline.yaml
2. @ReadFile .factory/agents/orchestrator.checkpoint.md
3. @ReadFile .factory/config.yaml
   (Note: Check .factory/ first for skills/policies/ references)
4. Execute pipeline from: bootstrap
  1. Скопируйте эти команды в поле ввода Cursor Composer
  2. Выполните

Проверка ✅

  • Окно Cursor Composer открыто
  • Пайплайн начал выполняться, отображается текущий этап (например, Running: bootstrap)
  • Артефакты генерируются (например, input/idea.md)

Шаг 3: Понимание различий в форматах команд разных AI-помощников

Хотя логика выполнения одинакова, форматы команд разных AI-помощников имеют небольшие различия:

ОперацияФормат Claude CodeФормат CursorДругие AI-помощники (OpenCode и др.)
Чтение файлаRead(filePath)@ReadFile filePathRead filePath
Чтение нескольких файловRead(file1), Read(file2)@ReadFile file1, @ReadFile file2-
Запись файлаWrite(filePath, content)Прямая запись-
Выполнение команды BashBash(command)Прямое выполнение-

Автоматическая обработка Factory CLI

Когда вы выполняете factory run, CLI автоматически определяет тип текущего AI-помощника и генерирует соответствующий формат команд. Вам нужно просто скопировать и вставить, ручное преобразование не требуется.

Шаг 4: Продолжение выполнения с указанного этапа

Если пайплайн уже завершил предыдущие этапы, вы можете продолжить с любого этапа:

bash
# Начать с этапа UI
factory run ui

# Начать с этапа Tech
factory run tech

# Начать с этапа Code
factory run code

Factory CLI отобразит текущее состояние пайплайна:

Pipeline Status:
────────────────────────
Project: my-app
Status: Running
Current Stage: ui
Completed: bootstrap, prd

Available stages:
  ✓ bootstrap
  ✓ prd
  → ui
  ○ tech
  ○ code
  ○ validation
  ○ preview

Шаг 5: Использование factory continue для экономии токенов (только Claude Code)

Внимание

Команда factory continue в настоящее время поддерживает только Claude Code. Если вы используете OpenCode или Cursor, используйте factory run для ручного запуска новой сессии.

Для экономии токенов и избежания накопления контекста Claude Code поддерживает выполнение в отдельных сессиях:

bash
# Откройте новое окно терминала, выполните
factory continue

Эффект выполнения:

  • Читает текущее состояние (.factory/state.json)
  • Автоматически открывает новое окно Claude Code
  • Продолжает с этапа, на котором остановились в прошлый раз

Применимые сценарии:

  • Завершены Bootstrap → PRD, хотите создать новую сессию для выполнения этапа UI
  • Завершены UI → Tech, хотите создать новую сессию для выполнения этапа Code
  • Любые сценарии, где нужно избежать длинной истории диалога

На что обратить внимание

Проблема 1: Не удаётся запустить OpenCode

Симптомы: После выполнения factory init OpenCode не запускается автоматически.

Причины:

  • OpenCode CLI не добавлен в PATH
  • OpenCode не установлен

Решение:

bash
# Ручной запуск OpenCode
# Windows
%LOCALAPPDATA%\Programs\OpenCode\OpenCode.exe

# macOS
/Applications/OpenCode.app

# Linux (по приоритету поиска: сначала /usr/bin/opencode, затем /usr/local/bin/opencode)
/usr/bin/opencode
# Если указанный путь не существует, попробуйте:
/usr/local/bin/opencode

Затем вручную скопируйте промпт и вставьте в OpenCode.

Проблема 2: Cursor Composer не распознаёт команды

Симптомы: Скопировали команды, сгенерированные factory run, в Cursor Composer, но нет ответа.

Причины:

  • Синтаксис @ReadFile в Cursor Composer требует точного соответствия
  • Путь к файлу может быть неверным

Решение:

  1. Убедитесь, что используете @ReadFile, а не Read или ReadFile
  2. Убедитесь, что путь к файлу указан относительно корневой директории проекта
  3. Попробуйте использовать абсолютный путь

Пример:

text
# ✅ Правильно
@ReadFile .factory/pipeline.yaml

# ❌ Неверно
Read(.factory/pipeline.yaml)
@readfile .factory/pipeline.yaml

Проблема 3: Не удаётся найти файл навыков, на который ссылается Agent

Симптомы: Agent сообщает об ошибке, что не удаётся найти skills/bootstrap/skill.md или policies/failure.policy.md.

Причины:

  • Неверный порядок поиска путей Agent
  • В проекте одновременно существуют .factory/ и корневые директории skills/, policies/

Решение: Все AI-помощники следуют одному и тому же порядку поиска:

  1. Сначала ищем в .factory/skills/ и .factory/policies/
  2. Затем возвращаемся в корневую директорию skills/ и policies/

Убедитесь:

  • После инициализации проекта Factory, skills/ и policies/ скопированы в .factory/
  • В определении Agent явно указано: "сначала искать в директории .factory/, затем в корневой директории"

Проблема 4: Состояние пайплайна не синхронизируется

Симптомы: AI-помощник показывает, что определённый этап завершён, но factory run по-прежнему отображает состояние running.

Причины:

  • AI-помощник вручную обновил state.json, но он не согласован с состоянием CLI
  • Возможно, несколько окон одновременно изменили файл состояния

Решение:

bash
# Сброс состояния проекта
factory reset

# Повторный запуск пайплайна
factory run

Лучшая практика

Избегайте одновременного запуска пайплайна одного проекта в нескольких окнах AI-помощника. Это приведёт к конфликтам состояний и перезаписи артефактов.

Итог урока

В этом уроке мы узнали, как запускать пайплайн Factory с помощью OpenCode, Cursor и других AI-помощников:

Основные моменты:

  • ✅ Factory поддерживает несколько AI-помощников (Claude Code, OpenCode, Cursor)
  • factory init автоматически обнаруживает и запускает доступный AI-помощник
  • factory run генерирует соответствующие команды в зависимости от текущего AI-помощника
  • factory continue (только Claude Code) поддерживает выполнение в отдельных сессиях, экономит токены
  • ✅ Все AI-помощники следуют одной и той же логике выполнения, различаются только форматы команд

Ключевые файлы:

  • .factory/pipeline.yaml — определение пайплайна
  • .factory/agents/orchestrator.checkpoint.md — правила планировщика
  • .factory/state.json — состояние пайплайна

Рекомендации по выбору:

  • Claude Code: самая стабильная работа в режиме Agent (рекомендуется)
  • OpenCode: выбор для пользователей разных платформ
  • Cursor: для пользователей, активно использующих VS Code

Предпросмотр следующего урока

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

Вы узнаете:

  • Зачем нужно устанавливать плагины superpowers и ui-ux-pro-max
  • Как автоматически или вручную установить плагины
  • Что делать, если установка плагина не удалась

Приложение: ссылка на исходный код

Нажмите, чтобы раскрыть расположение исходного кода

Обновлено: 2026-01-29

ФункцияПуть к файлуСтрока
Запуск OpenCodecli/commands/init.js152-215
Запуск Claude Codecli/commands/init.js119-147
Обнаружение AI-помощникаcli/commands/run.js105-124
Генерация командcli/commands/run.js130-183

Ключевые константы:

  • CLAUDE_CODE / ANTHROPIC_API_KEY: обнаружение переменных окружения Claude Code (run.js:109-110)
  • CURSOR / CURSOR_API_KEY: обнаружение переменных окружения Cursor (run.js:114-115)
  • OPENCODE / OPENCODE_VERSION: обнаружение переменных окружения OpenCode (run.js:119-120)

Ключевые функции:

  • launchClaudeCode(projectDir): запуск Claude Code и передача промпта (init.js:119-147)
  • launchOpenCode(projectDir): запуск OpenCode, поддерживает два способа: CLI и исполняемый файл (init.js:152-215)
  • detectAIAssistant(): определение типа текущего AI-помощника через переменные окружения (run.js:105-124)
  • getAssistantInstructions(assistant, ...): генерация соответствующих команд в зависимости от типа AI-помощника (run.js:130-183)