Ошибка OpenCode: одна проблема, одна правка, потом проверка

Опубликовано 09.11.20267 мин чтенияСредний
Артемий Миллер в кепке с логотипом OpenCode рядом с надписью «1 ПРОБЛЕМА 1 ПРАВКА ПРОВЕРКА» и логотипами OpenCode.
Что узнаешь
  • Как отделить сбой приложения от отказа модели или расширения
  • Что сохранить перед изменением настроек
  • Как проверить исправление на исходной рабочей задаче
Средний
2просмотров

Если OpenCode выдаёт ошибку, не удаляйте проект и данные. По полному сообщению отделите сбой приложения от ошибки модели, доступа или плагина. Выберите 1 проверку, внесите 1 правку и повторите задачу.

В Desktop скопируйте сведения с экрана ошибки. Видите только Connection Error или зависшее окно - откройте журнал. Ключи и конфиги пока не трогайте.

Что именно не работает: окно, модель, расширение или задача?

Откройте журнал: Windows - Win+R → %USERPROFILE%\.local\share\opencode\log; macOS - Finder → Cmd+Shift+G → ~/.local/share/opencode/log/; Linux - этот же путь в файловом менеджере. Найдите ошибку по времени в имени файла.

Для подробностей запустите из терминала и повторите действие:

bash
opencode --log-level DEBUG

Если OpenCode не запускается, получите сообщения в терминале:

bash
opencode --print-logs

Сохраните текст ошибки и время, не весь журнал. Первую проверку выберите ниже по сообщению.

Для отдельной проверки модели откройте новую сессию с той же моделью: «Ответь одним словом: готов». Не давайте ей менять файлы проекта.

Что видитеПервая проверкаЧто дальше
Connection Error в DesktopСверьте URL сервераАдрес верный - сохраните сообщение из журнала; неверный - исправьте адрес
Запрос модели отклонёнДайте запрос «Ответь одним словом: готов»Не прошёл - выберите проверку по сообщению ниже; прошёл - проверьте рабочую задачу
Сбой после изменения плагинаСохраните состояние, временно отключите локальный плагинПомогло - возвращайте по одному; нет - верните каталог
«Готов» есть, задача падаетЗапишите последний успешный шаг и первый сбойПовторите этот шаг; затем проверьте целый сценарий

Ответ «готов» не проверяет работу с файлами и инструментами. Если расширение не показывает квоту, отдельно проверьте запрос к модели.

Если OpenCode ещё не запускался и дело в установке, начните с инструкции в отдельной статье.

Какая ошибка повторяется у вашего агента? Продолжим разговор в канале:

Что сохраняем, прежде чем что-то менять?

Сначала решите, как отменить правку. Не знаете, как вернуться к исходному состоянию, - соберите данные для помощи, ничего не меняя.

Что меняетеЧто сохранитьКак вернуться / когда не трогать
Рабочие файлыКопию файлов, которые меняете, входные данные и состояние задачиОтменяйте только свои изменения, не затирая чужую работу
КонфигИсходный файл и его расположениеПосле неудачи верните изменённое значение. Не заменяйте весь конфиг примером
Сеансы и авторизацияДо вмешательства - копию и проверенный способ восстановления для вашей версииПри первой проверке каталог не трогайте. Копия не гарантирует восстановления входа
КешСодержимое, если нужен возврат; сначала закройте DesktopПересборка кеша не восстановит историю
Состояние DesktopВыбранный URL сервераПосле неудачи верните адрес. Файлы состояния не удаляйте

По инструкции OpenCode, в ~/.local/share/opencode/ лежат auth.json с данными доступа и данные сеансов с сообщениями. В Windows это %USERPROFILE%\.local\share\opencode. При удалении всего каталога удалятся и эти данные.

Кеш расположен отдельно: ~/.cache/opencode, в Windows - %USERPROFILE%\.cache\opencode. Файлы opencode.settings.dat, opencode.global.dat, opencode.workspace.*.dat хранят состояние Desktop. Их сброс в инструкции OpenCode оставлен последним средством.

Запрос модели падает: где проверить конфиг, доступ и лимит?

По сообщению выберите 1 проверку, не весь список:

  • Connection Error в Desktop: сверьте URL сервера, как описано ниже. Ключ модели пока не трогайте.
  • ProviderModelNotFoundError: выполните команду и сравните выбранную модель с полным ID providerId/modelId в списке:
bash
opencode models
  • Ошибка авторизации: проверьте статус ключа в кабинете API-сервиса. Повторный вход - /connect в терминальном интерфейсе OpenCode. Сначала убедитесь, что сможете войти.
  • Сообщение о лимите: проверьте расход, баланс и условия в кабинете ответившего сервиса.
  • ProviderInitError, ошибка конфига: проверьте указанный файл или поле. Глобальный - ~/.config/opencode/opencode.json(c), проектный - opencode.json(c) или .opencode/opencode.json(c). Настройки объединяются; управляемые могут перекрыть правку.
  • AI_APICallError: ищите причину в пояснении. Её нет - заполните шаблон помощи, ничего не меняя.

Неизвестное поле найдите в текущей схеме. В старой версии не переименовывайте plugin/provider наугад: передайте версию, поле и ошибку для помощи.

Если ключ задан как {env:VARIABLE_NAME}, без переменной OpenCode получит пустую строку. В командах замените VARIABLE_NAME именем из конфига. Значение ключа не выводится.

macOS/Linux:

bash
if [ -n "${VARIABLE_NAME:-}" ]; then printf 'Задана\n'; else printf 'Пусто или не задана\n'; fi

Windows PowerShell:

powershell
if ($env:VARIABLE_NAME) { 'Задана' } else { 'Пусто или не задана' }

Проверка относится к запуску из этого терминала. Запускаете Desktop значком - уточните настройку у того, кто её делал. Передавайте имя переменной, не ключ.

Не меняйте ключ из-за одного слова Forbidden: сохраните полное сообщение, ID модели и ответивший сервис. Адрес API сверяйте с документацией сервиса, не с URL Desktop.

Подробнее о файлах и переменных - в документации конфигурации.

Что меняем: сервер, локальный плагин или кеш?

Не выполняйте всё по списку. Выберите 1 проверку по своей ошибке.

Если не работает конкретный инструмент MCP, проверяйте его подключение отдельно от запроса модели. О первом подключении MCP в OpenCode - в отдельной статье.

Сервер Desktop. Нажмите имя сервера с точкой состояния, сверьте URL. Для пробы встроенного сервера запишите адрес и нажмите «Очистить» в разделе «Сервер по умолчанию». Не помогло - верните адрес.

Не знаете, где заданы server в opencode.json(c) или OPENCODE_PORT, - заполните шаблон помощи. Не удаляйте раздел из первого найденного конфига.

Локальный плагин. Закройте приложение, запишите путь и имя каталога, временно переименуйте его. Каталоги: ~/.config/opencode/plugins/ и .opencode/plugins/ в проекте.

Перезапустите приложение. Не помогло - закройте его и верните имя каталога. Помогло - возвращайте плагины по одному с проверкой. Плагины, подключённые другим способом, при такой проверке останутся подключёнными.

Кеш. При ошибке пакета провайдера откройте в инструкции OpenCode раздел «AI_APICallError и проблемы с пакетом провайдера»: закрыть Desktop, очистить кеш, перезапустить. Данные приложения не удаляйте. Нужен гарантированный возврат - передайте ошибку по шаблону помощи без очистки.

Как проверить: стало лучше или ошибка просто исчезла с экрана?

Допустим, сбой начался после изменения плагина. Проверим ту же задачу без него.

  1. Запишите задачу, входные данные, версию OpenCode, модель, настройки и место ошибки. Определите, какой результат нужен и как его проверите. Сохраните начальное состояние для повтора.
  2. Сформулируйте гипотезу: без выбранного локального плагина задача пройдёт шаг, на котором была ошибка. Запишите, как вернёте плагин.
  3. Внесите 1 правку. Не меняйте заодно модель, сервер и ключ.
  4. Сохраните результаты неудачного запуска отдельно. Повторите задачу на исходной копии файлов, с той же моделью и данными, изменив только плагин. Нет исходной копии - остановитесь. При проверке ID модели только он будет отличием.
  5. Проверьте результат и целый сценарий. Отдельно проверьте новое задание, которое не использовали при выборе исправления.
  6. Запишите, прошла ли задача и что доделали руками. Время и расходы не измеряли - отметьте «не измерял». Дополнительное задание тоже прошло - оставьте правку. Иначе верните плагин и запишите итог.

Кстати, я снял полный гайд про связку для первого агента Hermes Agent, обязательно посмотрите.

Видео загрузится при скролле
Полный гайд - Связка для первого агента Hermes Agent

В нём показываю проверку на разных моделях, бортовой журнал и улучшение навыка с напарником. Посмотрите, как проверять работу агента в Hermes; ошибки OpenCode в этом видео не разбираю.

Заведите бортовой журнал всех запусков, включая неудачный:

Задача:
Исходное состояние, версия, модель и настройки:
Гипотеза:
Единственная правка и способ возврата:
Результат той же задачи:
Результат дополнительного задания:
Качество:
Время:
Деньги:
Ручные исправления:
Решение - оставить или вернуть:

Если открылось только окно, исходную задачу всё равно нужно проверить.

Когда агент уже выдаёт код, проверьте сам код по отдельной инструкции.

Собираете свой проект с ИИ-агентами? Посмотрите программу практикума СмыслоКода.

Практикум по вайб-кодингу
+Твой второй мозг
3 вечера - инструменты, метод, первый проект
Старт 17–19 ноября  ·  2 000 ₽
Записаться →

Проверка не помогла: что передать разработчикам?

Сначала найдите похожее обращение в списке ошибок OpenCode. Сверьте версию, модель и сообщение.

В обращении о лимите участник проекта просит версию, ОС, модель и точное сообщение. Данные аккаунта публиковать запрещает. Добавьте результаты своих проверок:

Версия OpenCode:
ОС:
Интерфейс CLI/Desktop:
Время ошибки:
Провайдер и полный ID модели:
На каком шаге и что ожидали:
Точное сообщение без секретов:
Результат нейтральной проверки:
Исходная рабочая задача и результат повтора:
Единственное изменение:
Вернули ли изменение и что после возврата:
Дополнительное задание и результат:

Опишите действие и входные данные без закрытой информации, чтобы ошибку можно было повторить.

Не прикладывайте ключи, auth.json, весь конфиг и полный DEBUG-журнал. Вручную перепишите нужное сообщение, уберите секреты, адрес почты и данные аккаунта.

Закрытие обращения как дубликата не подтверждает, что ошибку исправили.

На каком шаге у вас не работает OpenCode и что показал повтор той же задачи после правки? Напишите в комментариях в канале, без ключей и данных аккаунта.

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

Источники

Практикум по вайб-кодингу
+Твой второй мозг
3 вечера - инструменты, метод, первый проект
Старт 17–19 ноября  ·  2 000 ₽
Записаться →

Новые материалы - дайджестом, без спама

Гайды выходят регулярно. Подпишись, чтобы не пропускать: пришлю подборку в Telegram или на email. Раз в неделю или каждый день - выбираешь сам.

Была инструкция полезна?
Артемий Миллер
Автор
Артемий Миллер
Предприниматель и вайб-кодер

Артемий Миллер - предприниматель и вайб-кодер. Бывший программист, собирает продукты исключительно вместе с ИИ-агентами, без найма разработчиков.

Связанные инструкции

GitHub MCP: как дать агенту доступ к репозиторию без лишних прав

GitHub MCP даёт агенту доступ к репозиторию в пределах выданных разрешений. Начните с отдельного токена для выбранного проекта и режима только чтения.

8 мин

Codex MCP: подключи нужное и проверь, какие права дал агенту

MCP подключается к Codex через команду codex mcp add или config.toml. Запись в списке серверов подтверждает настройку; работу проверяют через активное подключение и вызов инструмента с результатом.

7 мин

OpenCode Skills: не ставь лишнего - добавь навык и проверь

Положите SKILL.md в проектную папку .opencode/skills/check-readme/ и вызовите навык через @check-readme. Подтвердите загрузку нужной инструкции и проверьте созданный отчёт по её требованиям.

8 мин

Playwright MCP: запускаешь проверку своего сайта

Playwright MCP позволяет агенту открыть ваш сайт, нажать кнопки и заполнить формы. Для проверки задайте разрешённые страницы, ожидаемый результат и предел повторов.

4 мин