opencode-morph-fast-apply — плагин

Плагин для OpenCode подключает облачный сервис Morph и сливает частичные правки с файлом без точного поиска строк.

  • 170 ★ репозитория
  • Последний коммит
  • MIT
Плагин

Расширенный доступ

Почему такой уровень

  • Фрагменты кода отправляются во внешний сервис Morph, а ключ API лежит в окружении.
  • Плагин записывает изменения в файлы проекта.
Все причины и проверки

jredeker/opencode-morph-fast-apply

Установка

Работает в

Ручная установка

"plugins": ["github:JRedeker/opencode-morph-fast-apply#v1.12.0"]

Запись для `~/.config/opencode/opencode.json` под ключом `plugins` (V2). Для V1 с 1.18.29 ключ называется `plugin`.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Фрагменты кода отправляются во внешний сервис Morph, а ключ API лежит в окружении.
  • Плагин записывает изменения в файлы проекта.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Плагин регистрирует в OpenCode инструмент `morph_edit`. Агент передает фрагмент кода с маркерами `// ... existing code ...`, а Morph Fast Apply сливает его с файлом, и точное совпадение строк не требуется. Перед записью плагин проверяет, что маркеры на месте и файл не потеряет содержимое. Результат приходит как унифицированный дифф с контекстом, а при сбое API агента отсылают к встроенному инструменту `edit`. В интерфейсе OpenCode правка получает подпись с числом добавленных и удаленных строк и временем выполнения.

Для кого. Пользователи OpenCode, чьи агенты правят большие файлы и ошибаются на точном поиске строк для замены.

Подходит, если

  • Агент вносит разбросанные правки в длинный файл, и обычный `edit` часто промахивается.
  • В файле много пробельных отличий, из-за которых точное совпадение строки не находится.
  • Команда уже платит за Morph и хочет использовать его API внутри OpenCode.
  • Правки нужно просматривать диффом с номерами строк и временем в интерфейсе.

Не подходит, если

  • Код нельзя отправлять во внешний сервис: фрагменты уходят в API Morph.
  • Версия OpenCode старее 1.18.29: плагин на ней молча не загрузится.
  • Агент в профиле отключил `morph_edit`: модель не сможет выбрать инструмент.

Пример запроса к агенту

Добавь в `src/auth.ts` обработку пустого токена через `morph_edit`, остальной код не трогай.

Ограничения

Нужен ключ `MORPH_API_KEY` от Morph, а содержимое правок уходит на их сервер. Плагин работает с OpenCode V2 (ключ `plugins`) и V1 от 1.18.29 (ключ `plugin`); на старых V1 он молча не загружается. Для надежного выбора инструмента README советует подключить файл инструкций `morph-tools.md`. Цифры скорости и точности (10 500 токенов в секунду, 98 процентов) названы автором и относятся к сервису Morph. Официальный MCP-сервер Morph с поиском WarpGrep вынесен в отдельный пакет и этим плагином не заменяется.

Как отключить. Удалите запись плагина из `opencode.json` и перезапустите OpenCode. Ключ `MORPH_API_KEY` уберите из окружения.

Частые вопросы

Какой ключ конфигурации выбрать?

Для OpenCode V2 используйте `plugins`, для V1 начиная с 1.18.29 — `plugin`. Если ошибиться, плагин не загрузится и сообщения об ошибке не будет.

Где взять ключ?

В кабинете Morph, раздел API-ключей. Затем выполните `export MORPH_API_KEY="..."` в окружении, из которого стартует OpenCode.

Что делать, если API недоступен?

Плагин вернет ошибку и подскажет использовать встроенный `edit`. Файл при этом не меняется.

Что такое маркеры существующего кода?

Строки `// ... existing code ...` внутри `code_edit`. Они показывают, какие части файла остаются без изменений.

Заменяет ли плагин MCP-сервер Morph?

Нет. Официальный сервер с поиском WarpGrep живет в пакете `@morphllm/morphmcp`, а этот плагин оборачивает только Fast Apply.

Обсуждение

Вопросов и отзывов пока нет.

Плагины

Плагин для OpenCode Desktop на Windows задает границы правок, проверяет команды и сверяет итоги тестов с текущим кодом.

ПлагинРасширенный доступ113Звезды репозитория

Плагин OpenCode: хуки на вызовы инструментов и субагентов описываются в конфиге, вывод команд попадает в контекст.

ПлагинШирокий доступ64Звезды репозитория

Плагин для OpenCode ищет по истории разговоров во всех проектах: по словам, регуляркам, с опечатками и по файлам.

ПлагинМинимальный доступ132Звезды репозитория

Плагин для Claude Code с семью специализированными субагентами и гейтами одобрения: агент предлагает план и ждет подтверждения перед изменением кода

ПлагинРасширенный доступ5 тыс.Звезды репозитория

Плагин для OpenCode и Pi заменяет read, edit и grep структурными версиями, добавляет поиск по смыслу, фоновые задачи и PTY

ПлагинШирокий доступ340Звезды репозитория
Официальный

MCP-сервер ищет определения и смысловые фрагменты кода по локальному индексу, объединяя векторы и полнотекстовый поиск.

MCP-серверРасширенный доступ349Звезды репозитория

Коротко о README

README разбирает поддержку версий OpenCode, два способа подключить файл инструкций и пример вызова `morph_edit` с маркерами. Отдельно оговорено, что MCP-сервер Morph живет в другом пакете.

Бейдж для README

Сообщить о проблеме