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 глобально:
# Выполнить в корневой директории проекта
factory initfactory init автоматически обнаружит и запустит OpenCode, передав следующий промпт:
Пожалуйста, прочитайте .factory/pipeline.yaml и .factory/agents/orchestrator.checkpoint.md, запустите пайплайн и помогите мне превратить фрагменты идей о продукте в работающее приложение. Далее я буду вводить фрагменты идей. Примечание: файлы skills/ и policies/, на которые ссылается Agent, нужно сначала искать в директории .factory/, затем в корневой директории.Вы должны увидеть:
- В терминале отображается
Starting OpenCode... - Окно OpenCode открывается автоматически
- Промпт автоматически вставлен в поле ввода
Ручной запуск
Если автоматический запуск не удался, можно выполнить вручную:
- Откройте приложение OpenCode
- Откройте директорию вашего проекта Factory
- Скопируйте следующий промпт в поле ввода OpenCode:
Пожалуйста, прочитайте .factory/pipeline.yaml и .factory/agents/orchestrator.checkpoint.md, запустите пайплайн и помогите мне превратить фрагменты идей о продукте в работающее приложение. Далее я буду вводить фрагменты идей. Примечание: файлы skills/ и policies/, на которые ссылается Agent, нужно сначала искать в директории .factory/, затем в корневой директории.- Нажмите Enter для выполнения
Продолжение выполнения пайплайна
Если пайплайн уже достиг определённого этапа, вы можете использовать команду factory run для продолжения:
# Просмотреть текущее состояние и сгенерировать команду
factory run
# Или начать с указанного этапа
factory run prdOpenCode отобразит команды, похожие на 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
- Откройте директорию вашего проекта Factory в Cursor
- Выполните команду
factory run:
factory run- В терминале отобразятся команды для 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- Скопируйте эти команды в поле ввода Cursor Composer
- Выполните
Проверка ✅
- Окно Cursor Composer открыто
- Пайплайн начал выполняться, отображается текущий этап (например,
Running: bootstrap) - Артефакты генерируются (например,
input/idea.md)
Шаг 3: Понимание различий в форматах команд разных AI-помощников
Хотя логика выполнения одинакова, форматы команд разных AI-помощников имеют небольшие различия:
| Операция | Формат Claude Code | Формат Cursor | Другие AI-помощники (OpenCode и др.) |
|---|---|---|---|
| Чтение файла | Read(filePath) | @ReadFile filePath | Read filePath |
| Чтение нескольких файлов | Read(file1), Read(file2) | @ReadFile file1, @ReadFile file2 | - |
| Запись файла | Write(filePath, content) | Прямая запись | - |
| Выполнение команды Bash | Bash(command) | Прямое выполнение | - |
Автоматическая обработка Factory CLI
Когда вы выполняете factory run, CLI автоматически определяет тип текущего AI-помощника и генерирует соответствующий формат команд. Вам нужно просто скопировать и вставить, ручное преобразование не требуется.
Шаг 4: Продолжение выполнения с указанного этапа
Если пайплайн уже завершил предыдущие этапы, вы можете продолжить с любого этапа:
# Начать с этапа UI
factory run ui
# Начать с этапа Tech
factory run tech
# Начать с этапа Code
factory run codeFactory 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 поддерживает выполнение в отдельных сессиях:
# Откройте новое окно терминала, выполните
factory continueЭффект выполнения:
- Читает текущее состояние (
.factory/state.json) - Автоматически открывает новое окно Claude Code
- Продолжает с этапа, на котором остановились в прошлый раз
Применимые сценарии:
- Завершены Bootstrap → PRD, хотите создать новую сессию для выполнения этапа UI
- Завершены UI → Tech, хотите создать новую сессию для выполнения этапа Code
- Любые сценарии, где нужно избежать длинной истории диалога
На что обратить внимание
Проблема 1: Не удаётся запустить OpenCode
Симптомы: После выполнения factory init OpenCode не запускается автоматически.
Причины:
- OpenCode CLI не добавлен в PATH
- OpenCode не установлен
Решение:
# Ручной запуск 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 требует точного соответствия - Путь к файлу может быть неверным
Решение:
- Убедитесь, что используете
@ReadFile, а неReadилиReadFile - Убедитесь, что путь к файлу указан относительно корневой директории проекта
- Попробуйте использовать абсолютный путь
Пример:
# ✅ Правильно
@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-помощники следуют одному и тому же порядку поиска:
- Сначала ищем в
.factory/skills/и.factory/policies/ - Затем возвращаемся в корневую директорию
skills/иpolicies/
Убедитесь:
- После инициализации проекта Factory,
skills/иpolicies/скопированы в.factory/ - В определении Agent явно указано: "сначала искать в директории
.factory/, затем в корневой директории"
Проблема 4: Состояние пайплайна не синхронизируется
Симптомы: AI-помощник показывает, что определённый этап завершён, но factory run по-прежнему отображает состояние running.
Причины:
- AI-помощник вручную обновил
state.json, но он не согласован с состоянием CLI - Возможно, несколько окон одновременно изменили файл состояния
Решение:
# Сброс состояния проекта
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
| Функция | Путь к файлу | Строка |
|---|---|---|
| Запуск OpenCode | cli/commands/init.js | 152-215 |
| Запуск Claude Code | cli/commands/init.js | 119-147 |
| Обнаружение AI-помощника | cli/commands/run.js | 105-124 |
| Генерация команд | cli/commands/run.js | 130-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)