Запускайте независимые задачи OpenCode в отдельных Git worktree и проверяйте результаты перед объединением изменений. В набор входят три штатных навыка и stdio MCP-сервер: он ограничивает параллельную работу и возвращает статус, код завершения, stdout и stderr каждой задачи.
Быстрый переход: Установка · Навыки · Настройка MCP · Пример двух задач · English
- Разделить изменения: каждая Git-задача получает свою ветку и worktree.
- Ограничить параллельную работу: до четырёх активных запусков, тайм-ауты и отмена.
- Проверить результат: код завершения, настоящий файл и diff перед объединением.
- Сохранить команды: аргументы PowerShell и Unicode при работе через SSH и WinRM.
| Компонент | Польза |
|---|---|
| Параллельные агенты | Разделение задач, сбор результатов и объединение проверенных изменений |
| Вызовы PowerShell | Аргументы и Unicode при работе через PowerShell, SSH и WinRM |
| Разбор GitHub CI | Поиск причины упавшей проверки GitHub Actions |
| MCP-сервер OpenCode | spawn, wait, result, cancel; отдельные Git-ветки |
Нужны Node.js 22+, Git, OpenCode CLI и авторизованный провайдер, который поддерживает модель сервера. Для разбора CI также нужны Python 3.10+ и авторизованный GitHub CLI (gh).
Выполните команды из проекта, в который устанавливаете навыки:
git clone https://github.com/krotname/OpenCodeSkills.git
mkdir -p .opencode/skills
cp -R OpenCodeSkills/opencode-parallel-agents OpenCodeSkills/powershell-invocation OpenCodeSkills/gh-fix-ci .opencode/skills/
node OpenCodeSkills/scripts/verify.mjsPowerShell
git clone https://github.com/krotname/OpenCodeSkills.git
New-Item -ItemType Directory -Path .opencode/skills -Force | Out-Null
Copy-Item -Recurse -Path OpenCodeSkills/opencode-parallel-agents, OpenCodeSkills/powershell-invocation, OpenCodeSkills/gh-fix-ci -Destination .opencode/skills
node OpenCodeSkills/scripts/verify.mjsПроверка использует управляемый тестовый CLI и не обращается к модели. Копируйте папки навыков целиком, включая helper и лицензию gh-fix-ci. Для глобальной установки используйте каталог ~/.config/opencode/skills.
Навыку параллельной работы также нужна настройка MCP-сервера. Остальные навыки работают независимо. Этот же stdio-сервер можно подключить к совместимым MCP-клиентам.
flowchart LR
C[Координатор] --> M[MCP-сервер OpenCode]
M --> A[Задача A: ветка и worktree A]
M --> B[Задача B: ветка и worktree B]
A --> RA[Код завершения + файл + diff A]
B --> RB[Код завершения + файл + diff B]
RA --> V[Проверка и объединение]
RB --> V
Сначала вызовите spawn для обеих задач, затем ждите результаты. wait отслеживает запуск, result возвращает статус и вывод, cancel останавливает точный запуск. Параметры и результаты инструментов.
cd OpenCodeSkills
node examples/parallel-demo.mjsДемо делает два настоящих обращения к модели в разных worktree, выводит идентификаторы запусков и каталоги, затем проверяет файлы:
| Файл | Проверяемое содержимое |
|---|---|
parallel-demo.txt |
PARALLEL_TEXT_OK |
parallel-demo.json |
{"ok":true,"task":"parallel-json"} |
Перед запуском прочитайте настройку MCP. Модель и вариант закреплены в сервере и не меняются параметрами запроса. Ошибка провайдера или лимита отмечается как неуспешный запуск.
- Worktree создаётся от закоммиченного HEAD; незакоммиченные изменения не копируются.
- Ветки не сливаются автоматически. Сначала проверьте diff и файлы с результатом.
- В негитовом каталоге действует блокировка на одного писателя.
- Сохраняйте выданный worktree, пока нужны созданные в нём файлы.
Нашли воспроизводимую ошибку? Откройте issue с командой, ожидаемым и фактическим результатом. Небольшие pull request с отдельным исправлением тоже приветствуются.
Это выбранное публичное ядро приватного источника. Экспорт допускает только перечисленные файлы и проверяет их до публикации; приватная история не переносится. Независимая правка публичного файла останавливает следующий экспорт до согласования с источником.
Apache-2.0. Исходные лицензии и атрибуция сторонних компонентов сохранены в NOTICE и gh-fix-ci/LICENSE.txt.
Автор: Андрей Овчаренко (@krotname).