opencode-codegraph — поддерживаемый адаптер CodeGraph для OpenCode. Он добавляет графовый контекст
к промптам, управляемые команды, инструменты явных контекстных сессий, ревью и подсказки после
команд. Порядок запуска описан в Быстром старте, а здесь —
поведение и границы адаптера.
Установка и регистрация
Текущий package manifest задаёт установку:
npm install opencode-codegraph@0.1.38
Зарегистрируйте пакет в конфигурации OpenCode:
{
"plugin": ["opencode-codegraph"]
}
В исходном checkout CodeGraph предпочтителен репозиторный launcher: он согласованно готовит MCP, LSP, пакет, проект и API:
python scripts/run_opencode_codegraph.py --project <project-name>
Текущая модель launcher по умолчанию — openai/gpt-5.4; меняйте её только через документированный
параметр launcher или CODEGRAPH_OPENCODE_MODEL. В этой ревизии серверный каталог содержит 95
инструментов в full profile. Число привязано к ревизии: проверяйте его по
src/mcp/surface_catalog.py, а не считайте стабильным контрактом плагина.
Не компенсируйте сбой определения проекта сырыми параметрами базы. Исправьте регистрацию проекта или конфигурацию launcher.
Входы runtime
Адаптер читает:
| Переменная | Назначение |
|---|---|
CODEGRAPH_API_URL |
Корень API CodeGraph; по умолчанию http://localhost:8000 |
CODEGRAPH_PROJECT |
Явная область проекта для API-вызовов плагина |
API, MCP-сервер и жизненный цикл CPG остаются обязанностью runtime CodeGraph. Установка npm-пакета подключает клиентскую часть; запуск сервисов, авторизация клиента и свежесть графа проверяются отдельными операциями runtime.
Контракт хуков OpenCode
Поддерживаемый исходник регистрирует хуки:
| Хук | Текущая роль |
|---|---|
experimental.chat.system.transform |
Добавить проектный и workflow-контекст в system prompt |
command.execute.before |
Подготовить контекст управляемой slash-команды |
chat.message |
Обогатить намерение по файлу, правке или workflow |
tool.execute.after |
Реагировать на тесты, Git-команды и коммиты |
Плагин также получает lifecycle events OpenCode для памяти дочерних сессий. Вывод хука — рекомендательный контекст, а не одобрение Git, CI, ревью, безопасности или релиза.
Команды и инструменты
Поддерживаются файлы из текущего .opencode/commands: /audit, /continue, /explain, /next,
/onboard, /review, /status и /update. Если команды нет в каталоге, старое упоминание не
делает её поддерживаемой.
Адаптер предоставляет небольшой набор собственных графовых и review-инструментов, а также явные инструменты контекстных сессий. Полный каталог MCP обнаруживается на сервере и меняется отдельно, поэтому здесь намеренно нет фиксированного количества. Массивы и объекты MCP передаются нативно.
Контекст и продолжение
Плагин различает полный контекст, ожидание синхронизации и graph-only fallback. Ухудшенный режим помечается явно и не должен выдаваться за полный семантический контекст. Открытие, read-only share и handoff явной сессии выполняются только через соответствующий серверный контракт.
Лёгкое состояние в .opencode/state связывает локальный сеанс OpenCode с CodeGraph. История
диалога хранится в авторитетной сессии сервера. Новые мутации выполняются в активной сессии;
закрытые и архивные сессии сохраняются для чтения.
Поведение после коммита
После распознанного Git-коммита tool.execute.after может запросить локальное инкрементальное
обновление через авторизованный runtime CodeGraph и показать pending либо completed guidance.
Приём запроса асинхронный: завершение CPG, контекстной синхронизации и ревью отслеживайте по
соответствующим статусам.
Проверка и откат
Для удалённого MCP OpenCode использует собственную конфигурацию и OAuth-адаптер, а не загружает
универсальный пакет Agent Plugins. Команды opencode mcp auth codegraph, logout, привязка проекта
и восстановление описаны в руководстве по удалённой авторизации MCP.
python scripts/run_opencode_codegraph.py --project <project-name> --run "/status"
Проверьте проект, API endpoint, версию plugin, режим контекста и freshness. Затем выполните один
ограниченный /explain или /review и сверяйте ссылки на исходники. Для отката установите
предыдущую одобренную версию и удалите только тестируемую регистрацию; не меняйте файлы
репозитория заказчика и не возвращайте снятые псевдонимы MCP.
Источник истины
- Пакет и версия:
integrations/opencode/opencode-codegraph/package.json - Адаптер:
integrations/opencode/opencode-codegraph/src/index.ts - API-клиент:
integrations/opencode/opencode-codegraph/src/api.ts - Launcher:
scripts/run_opencode_codegraph.py