Перейти к основному содержимому

Плагин OpenCode

opencode-codegraph — поддерживаемый адаптер CodeGraph для OpenCode. Он добавляет графовый контекст к промптам, управляемые команды, инструменты явных.

Интеграции

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

Адаптер читает:

Входы runtime
Переменная Назначение
CODEGRAPH_API_URL Корень API CodeGraph; по умолчанию http://localhost:8000
CODEGRAPH_PROJECT Явная область проекта для API-вызовов плагина

API, MCP-сервер и жизненный цикл CPG остаются обязанностью runtime CodeGraph. Установка npm-пакета подключает клиентскую часть; запуск сервисов, авторизация клиента и свежесть графа проверяются отдельными операциями runtime.

Контракт хуков OpenCode

Поддерживаемый исходник регистрирует хуки:

Контракт хуков 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