﻿# Как устроен и запускается этот харнесс

`agent-routing.json` — не исполняемый модуль и не встроенная функция OpenCode. Это пользовательский файл с порядком кандидатов для каждой роли. Текст `orchestrator.md` предписывает главному агенту перечитывать его перед каждой отправкой задачи субагенту. Сама работа запускается обычной сессией OpenCode, напрямую или через Paseo.

## Что входит в этот экспорт

- `opencode.public.json` — очищенный срез глобальной конфигурации OpenCode: MCP, провайдеры и каталог моделей. Значения ключей и часть локальных настроек удалены. Это образец, не готовый файл для запуска.
- `agent-routing.json` — порядок основного и запасных кандидатов по этапам. Для обычной работы используется `routes.normal`. `routes.no_go` — альтернативный вариант из личной конфигурации; он не нужен для понимания основного процесса.
- `agents/*.md` — определения всех 21 включённых агентов основного маршрута, включая роли и модели.
- `paseo.public.json` — очищенный срез профиля Paseo, который запускает OpenCode с `modeId: orchestrator`.

## Как воспроизвести

1. Установить OpenCode и Paseo. Подключить собственные учётные данные провайдеров; в публичном экспорте их нет.
2. Разместить определения агентов в `~/.config/opencode/agents/`, а `agent-routing.json` — в `~/.config/opencode/agent-routing.json`. Восстановить нужные провайдеры и MCP в `~/.config/opencode/opencode.json`, используя `opencode.public.json` как справочник, а не замену рабочей конфигурации.
3. Проверить, что OpenCode видит агента и модели: `opencode debug agent orchestrator` и `opencode models`. Эти команды подтверждают разрешённую конфигурацию, но не качество работы провайдера в конкретной сессии.
4. В Paseo создать сессию с провайдером OpenCode и режимом `orchestrator`; для запуска напрямую можно использовать `opencode --agent orchestrator <путь-к-проекту>`. Затем дать задачу в чате. Перед делегированием оркестратор прочитает файл маршрутов и выберет первую включённую допустимую роль согласно своему промпту.

Перемещение строки в `agent-routing.json` меняет приоритет будущих отправок. Уже начатый вызов не переключается. Смена маршрута не заменяет проектные инструкции, проверки, разрешения или выбор человека в рискованных действиях.
