Данный форк создан для быстрого погружения в архитектуру ИИ-агентов без языкового барьера. Все термины переведены, что позволяет сфокусироваться на логике LLM-систем. Репозиторий служит наглядным примером harness-упряжки: изучите его, чтобы написать собственный, более эффективный инструмент с чистого листа.
OAC — конфигурационный слой для OpenCode: набор Markdown-промптов, специализированных агентов, команд и контекстных файлов. Его задача — сделать работу AI-агента предсказуемой: сначала понять проект и его правила, затем предложить план, получить подтверждение и только после этого выполнять изменения.
Проект удобно использовать как локальную папку .opencode/ внутри репозитория. Тогда командные правила и знания о проекте живут рядом с кодом, версионируются Git и доступны всей команде.
- Контекст проекта. Агент сначала загружает подходящие правила: стиль кода, тестирования, документации, безопасности и архитектуры.
- Разделение ролей. Основной агент передаёт специализированные части задачи агентам для поиска контекста, реализации, тестирования, ревью и сборки.
- Контроль изменений. В промптах предусмотрен цикл «анализ → план → подтверждение → выполнение → проверка».
- Редактируемые правила. Поведение агентов описано обычными
.md-файлами. Их можно адаптировать под процессы команды без разработки плагина. - Минимальный контекст. База знаний организована по принципу MVI: агент подгружает только файлы, нужные для текущей задачи.
- Honcho. Интеграция с межсессионной памятью. https://honcho.dev/
Запрос разработчика
↓
ContextScout находит правила и примеры проекта
↓
Основной агент формирует план
↓
Подтверждение пользователя
↓
Реализация и делегирование специалистам
↓
Тесты / сборка / ревью
↓
Результат и краткий отчёт
Нужны установленный OpenCode CLI, Git и Node.js. Для встроенного CLI управления задачами также нужен npx ts-node (при первом запуске npx может предложить его скачать).
Разместите эту папку в корне целевого проекта:
my-project/
├── .opencode/ # этот репозиторий
├── src/
└── package.json
Установите npm-зависимость, если она ещё не установлена:
cd .opencode
npm installИз корня проекта:
opencode --agent OpenAgentOpenAgent подходит для вопросов, небольших задач и знакомства с системой. Для сложной разработки, проектирования или рефакторинга используйте:
opencode --agent OpenCoderПример запроса:
Добавь endpoint профиля пользователя. Сначала изучи существующие API-паттерны,
предложи план и жди моего подтверждения перед изменением файлов.
В сессии OpenCode запустите:
/add-context
Команда собирает стек, примеры API и компонентов, соглашения по именованию, правила качества и требования безопасности. Результат сохраняется в context/project-intelligence/ и становится доступен агентам в следующих задачах.
| Агент | Когда использовать | Роль |
|---|---|---|
OpenCoder |
Новая фича, архитектура, многофайловый рефакторинг | Координатор разработки с обязательными проверками. |
ContextScout |
Перед новой задачей | Находит подходящие локальные стандарты и примеры. |
ExternalScout |
Внешняя библиотека или API | Ищет актуальную внешнюю документацию. |
TaskManager |
Большая фича с зависимостями | Делит работу на атомарные подзадачи. |
CoderAgent |
Реализация утверждённой части работы | Пишет код в заданных границах. |
TestEngineer |
Проверка поведения | Создаёт и запускает тесты. |
CodeReviewer |
Контроль качества и рисков | Делает ревью без изменения кода. |
BuildAgent |
Финальная техническая проверка | Выполняет type-check и сборку, только сообщает результат. |
DocWriter |
Документация | Создаёт и поддерживает документацию. |
Промпты и права агентов находятся в agent/. Главные агенты могут делегировать работу только разрешённым специалистам.
| Команда | Назначение |
|---|---|
/add-context |
Собрать и сохранить паттерны конкретного проекта. |
/context |
Извлечь, упорядочить или обновить базу контекста. |
/analyze-patterns |
Найти повторения, похожие реализации и возможности рефакторинга. |
/clean |
Очистить код: форматирование, импорты, lint и типы. |
/optimize |
Проанализировать производительность и безопасность. |
/test |
Запустить pipeline типов, линтера и тестов. |
/commit |
Подготовить conventional commit. |
/validate-repo |
Проверить согласованность файлов OAC. |
/check-context-deps |
Проверить связи агентов с контекстными файлами. |
Полные инструкции команд находятся в command/.
.opencode/
├── agent/ # Промпты и права AI-агентов
│ ├── core/
│ │ └── opencoder.md # Главный агент для сложной разработки,
│ │ # архитектуры и многофайловых изменений.
│ │
│ └── subagents/ # Специалисты, которым главные агенты делегируют работу
│ ├── core/
│ │ ├── contextscout.md # Находит релевантный контекст и стандарты проекта.
│ │ ├── externalscout.md # Ищет актуальную документацию внешних библиотек.
│ │ ├── task-manager.md # Декомпозирует большую задачу на подзадачи и зависимости.
│ │ └── documentation.md # Создаёт и обновляет техническую документацию.
│ ├── code/
│ │ ├── coder-agent.md # Реализует код по утверждённому плану.
│ │ ├── test-engineer.md # Пишет и проверяет тесты.
│ │ ├── reviewer.md # Выполняет code review без изменения кода.
│ │ └── build-agent.md # Запускает type-check и build, только сообщает ошибки.
│ ├── development/
│ │ ├── frontend-specialist.md # Специалист по frontend/UI-задачам.
│ │ └── devops-specialist.md # Специалист по CI/CD, контейнерам и инфраструктуре.
│ └── system-builder/
│ └── context-organizer.md # Организует, сжимает и поддерживает базу контекста.
│
├── command/ # Slash-команды для типовых операций
│ ├── add-context.md # Интерактивно собирает паттерны проекта
│ │ # и формирует Project Intelligence.
│ ├── analyze-patterns.md # Ищет повторяющиеся паттерны, дублирование,
│ │ # похожие реализации и точки рефакторинга.
│ ├── clean.md # Описывает очистку кода: форматирование,
│ │ # импорты, lint, типы, debug-код.
│ ├── commit.md # Создаёт conventional commit с emoji.
│ ├── context.md # Управляет знаниями: harvest, extract,
│ │ # organize и update контекстных файлов.
│ ├── optimize.md # Анализирует производительность и безопасность.
│ ├── test.md # Запускает типы, lint и тесты.
│ ├── validate-repo.md # Проверяет согласованность компонентов,
│ │ # документации и связей в OAC.
│ └── openagents/
│ └── check-context-deps.md # Ищет сломанные/необъявленные зависимости
│ # между агентами и контекстными файлами.
│
├── config/
│ └── agent-metadata.json # Центральный реестр метаданных агентов:
│ # id, категория, теги и зависимости.
│
├── context/ # База знаний, загружаемая агентами по необходимости
│ ├── navigation.md # Главная карта всей базы контекста.
│ │
│ ├── core/ # Общие правила работы любых агентов
│ │ ├── navigation.md # Навигация по базовому контексту.
│ │ ├── essential-patterns.md # Общие инженерные паттерны.
│ │ ├── visual-development.md # Базовые правила визуальной разработки.
│ │ ├── config/
│ │ │ ├── paths.json # Локальный/глобальный путь к контексту.
│ │ │ └── navigation.md # Описание конфигурации.
│ │ ├── standards/ # Нормы качества и соглашения
│ │ │ ├── code-quality.md # Качество кода.
│ │ │ ├── code-analysis.md # Анализ существующего кода.
│ │ │ ├── test-coverage.md # Тестирование и покрытие.
│ │ │ ├── documentation.md # Стиль и структура документации.
│ │ │ ├── security-patterns.md # Базовые практики безопасности.
│ │ │ ├── typescript.md # Стандарты TypeScript.
│ │ │ ├── csharp.md # Стандарты C#.
│ │ │ ├── csharp-project-structure.md # Структура C#-проекта.
│ │ │ ├── project-intelligence.md # Как хранить знания о проекте.
│ │ │ └── project-intelligence-management.md # Их сопровождение.
│ │ ├── workflows/ # Регламент выполнения задач
│ │ │ ├── code-review.md, review.md # Процесс ревью.
│ │ │ ├── feature-breakdown.md # Декомпозиция фичи.
│ │ │ ├── delegation.md,
│ │ │ │ task-delegation-*.md # Делегирование и кэширование контекста.
│ │ │ ├── component-planning.md # Планирование компонентов.
│ │ │ ├── session-management.md # Продолжение и завершение сессий.
│ │ │ ├── external-context-*.md,
│ │ │ │ external-libraries-*.md # Работа с внешними источниками и пакетами.
│ │ │ └── design-iteration-*.md # Цикл UI-дизайна:
│ │ │ # layout → theme → animation → implementation.
│ │ ├── task-management/ # Формат и жизненный цикл задач
│ │ │ ├── standards/task-schema.md # JSON-схема задачи/подзадачи.
│ │ │ ├── guides/*.md # Декомпозиция и ведение задач.
│ │ │ └── lookup/task-commands.md # Справочник Task CLI.
│ │ ├── system/ # Правила разрешения путей и загрузки контекста.
│ │ └── context-system/ # «Операционная система» базы знаний:
│ │ ├── standards/*.md # MVI, frontmatter, структура, шаблоны.
│ │ ├── guides/*.md # Создание, сжатие и навигация контекста.
│ │ ├── operations/*.md # Extract, Harvest, Organize, Update, Migrate, Error.
│ │ ├── examples/*.md # Примеры навигационных файлов.
│ │ └── CHANGELOG.md # История изменений системы.
│ │
│ ├── development/ # Знания по разработке
│ │ ├── navigation.md и *-navigation.md # Маршруты для backend, frontend,
│ │ │ # fullstack, data, infrastructure, UI, интеграций.
│ │ ├── principles/
│ │ │ ├── api-design.md # Проектирование API.
│ │ │ └── clean-code.md # Clean Code.
│ │ ├── frontend/when-to-delegate.md # Когда передавать задачу frontend-специалисту.
│ │ └── ai/mastra-ai/ # Справочник интеграции Mastra:
│ │ ├── concepts/*.md # Agents, Tools, Workflows, Storage, Evals.
│ │ ├── guides/*.md # Сборка, тестирование, структура workflow.
│ │ ├── examples/*.md # Пример document workflow.
│ │ ├── errors/*.md # Ошибки Mastra.
│ │ └── lookup/*.md # Конфигурация Mastra.
│ │
│ ├── ui/ # UI/UX-контекст
│ │ ├── terminal/navigation.md # Терминальный интерфейс.
│ │ └── web/ # Web UI:
│ │ ├── react-patterns.md, ui-styling-standards.md, design-systems.md
│ │ ├── animation-*.md # Анимации компонентов, форм, загрузок и чата.
│ │ └── design/ # Scrollytelling и scroll-анимации:
│ │ ├── concepts/
│ │ ├── guides/
│ │ ├── examples/
│ │ └── lookup/
│ │
│ ├── project-intelligence/ # Память о конкретном продукте:
│ │ ├── business-domain.md # Бизнес-домен.
│ │ ├── technical-domain.md # Технологии и инженерные соглашения.
│ │ ├── business-tech-bridge.md # Связь требований бизнеса с реализацией.
│ │ ├── decisions-log.md # Архитектурные решения.
│ │ └── living-notes.md # Живые рабочие заметки.
│ │
│ └── openagents-repo/ # Документация именно по развитию OAC
│ ├── quick-start.md # Быстрый старт.
│ ├── core-concepts/*.md # Агенты, метаданные, registry, evals, категории.
│ ├── guides/*.md # Добавление агента/skill, тестирование,
│ │ # релизы, npm, GitHub Issues, отладка.
│ ├── lookup/*.md # Команды, файловая карта и тестовые команды.
│ ├── examples/*.md # Примеры context bundle и промптов субагентов.
│ ├── blueprints/, templates/ # Шаблоны context bundle.
│ ├── errors/ # Ошибки прав инструментов.
│ ├── quality/ # Проверка зависимостей registry.
│ └── plugins/context/ # Архитектура плагинов OpenCode:
│ # lifecycle, events, tools, skills, agents.
│
├── skills/ # Исполняемые навыки для агентов
│ ├── context7/ # Получение актуальной документации библиотек:
│ │ ├── SKILL.md # Инструкция по API Context7.
│ │ ├── README.md # Быстрый сценарий применения.
│ │ ├── library-registry.md # Поддерживаемые библиотеки и шаблоны запросов.
│ │ └── navigation.md # Навигация по skill.
│ └── task-management/ # Реальная CLI-реализация управления задачами:
│ ├── SKILL.md # Контракт skill и JSON-модель задач.
│ ├── router.sh # Bash-точка входа.
│ └── scripts/task-cli.ts # Команды status/next/parallel/deps/
│ # blocked/complete/validate.
│
├── tool/
│ └── env/index.ts # TypeScript-утилита безопасной загрузки
│ # переменных окружения из нескольких .env.
│
├── README.md # Позиционирование OAC, установка и сценарии работы.
├── node_modules/ # Установленные внешние зависимости; в презентацию
│ # обычно не включают.
└── env.example # Шаблон переменных Telegram/Gemini/MiniMax.
Подробная карта базы знаний начинается с context/navigation.md. Для задач по коду ключевой файл — context/core/standards/code-quality.md.
Контекст разрешается по принципу local-first:
- Сначала
ContextScoutищет.opencode/context/core/navigation.mdвнутри проекта. - Если локальной базы нет, для общих правил может использоваться глобальный путь
~/.config/opencode/context. project-intelligence/остаётся локальным: это знания именно вашего проекта.
Файл context/core/config/paths.json позволяет изменить эти пути.
- используемый стек и версии ключевых библиотек;
- пример API endpoint и формат обработки ошибок;
- пример UI-компонента;
- соглашения по именованию файлов, сущностей и веток;
- правила тестирования и требования безопасности;
- принятые архитектурные решения.
Чем точнее эти сведения, тем меньше агенту приходится делать предположений.
TaskManager сохраняет декомпозицию в .tmp/tasks/ целевого проекта. Встроенный CLI показывает прогресс, готовые к запуску подзадачи и блокировки:
# Запускать из корня целевого проекта
bash .opencode/skills/task-management/router.sh status
bash .opencode/skills/task-management/router.sh next
bash .opencode/skills/task-management/router.sh blocked
bash .opencode/skills/task-management/router.sh validateФормат файлов задач описан в context/core/task-management/standards/task-schema.md.
- Дополните
context/project-intelligence/правилами проекта. - При необходимости измените Markdown-промпты в
agent/. - Добавьте свои slash-команды в
command/. - Проверьте связи между компонентами через
/check-context-deps. - Закоммитьте
.opencode/вместе с кодом проекта.
Не храните секреты в контексте или в Git. Для ключей используйте .env; пример имён переменных находится в env.example.
Исходная основа OAC распространяется по лицензии MIT. Перед публикацией форка добавьте в репозиторий собственный файл LICENSE с выбранными условиями использования.