Table of Contents

OpenCode CLI и Desktop являются клиентами одного продукта с агентом программирования. Терминальный интерфейс подходит для работы с клавиатурой и скриптами. Настольное приложение предоставляет графическое рабочее пространство. Важное сравнение включает сервер, проект, провайдера и конфигурацию каждого клиента.

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

Основные выводы

  • Используйте CLI для работы в терминале и неинтерактивных команд.
  • Используйте Desktop для графического пространства, проверив выбранный сервер.
  • Настройка провайдера определяет инференс, независимо от интерфейса.
  • Одинаковая идентичность продукта не гарантирует одинаковое состояние сеанса на разных серверах или версиях.

Область и дата: Официальная документация проверена 6 октября 2026 года. Руководство сравнивает интерфейсы, а не качество моделей. Нужны репозиторий, рабочее подключение к провайдеру и базовые навыки работы с терминалом. Выделите на испытание 45-60 минут.

Клиент и сервер

OpenCode отделяет интерфейс от сервера. Документация сервера описывает терминальный UI как клиент, а opencode serve как автономный сервер. Такая архитектура поддерживает разные способы взаимодействия с агентом.

Desktop по умолчанию запускает локальный сервер. Руководство по устранению неполадок указывает на sidecar opencode-cli и возможность подключиться к настроенному URL сервера. Если клиенты ведут себя по-разному, проверьте это подключение до изменения промпта.

Уровень Вопрос
Клиент Терминальный UI, настольное приложение или неинтерактивная команда?
Сервер агента Какой процесс получает запрос?
Репозиторий К какому каталогу обращается сервер?
Провайдер модели Какой сервис предоставляет инференс?
Сеанс Существующий разговор или новая задача?

Расположение сервера не является расположением инференса. Сервер агента на вашем компьютере всё равно отправляет запросы настроенной размещённой модели. Совместимая локальная служба инференса, напротив, является отдельным процессом со своей моделью и требованиями к ресурсам.

Официальная справка сервера указывает 127.0.0.1 как имя хоста по умолчанию для opencode serve. Во время локального испытания оставьте службу на loopback:

opencode serve --hostname 127.0.0.1

Используйте более широкий адрес привязки только после определения аутентификации, правил firewall и путей репозитория, доступных серверу.

Терминальный и настольный клиенты, подключённые к серверу агента, файлам репозитория и отдельной службе инференса

Проверяйте сервер агента и провайдер инференса отдельно

Работа в терминале и автоматизация

opencode

Команда по умолчанию открывает терминальный UI. В справочнике CLI также описаны программные команды. Начните в нужном репозитории и подтвердите выбранные агента и модель до запроса изменений.

opencode run "Identify this project's test command. Do not modify files."

Используйте opencode run для ограниченного неинтерактивного запроса. Политику разрешений задавайте отдельно. Запрос ничего не менять задаёт направление, но не обеспечивает изоляцию файловой системы.

Выбирайте этот процесс, когда важна композиция команд shell. Повторяемая оболочка должна сохранять запрос, код выхода, существенный вывод и изменённые файлы. Обработку ошибок делайте явной. Пустой diff и сообщение об успехе требуют иной оценки, чем проверленное исправление.

Настройка и совместимость Desktop

Используйте официальную страницу загрузки для нужного выпуска. На странице загрузки OpenCode перечислены терминальные и настольные пакеты. На момент проверки страница рекламирует терминальные пакеты v2, а общая документация также содержит старые примеры установки. Запишите точные версии клиента и серверной части. Не смешивайте инструкции разных веток выпуска.

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

Испытание Desktop Ожидаемое свидетельство
Выбор проекта Агент определяет нужный репозиторий
Выбор модели Провайдер и модель совпадают с записью испытания
Выполнение команд Доступны нужные runtime и тесты
Проверка изменений Полный patch легко найти и проверить
Перезапуск Нужные проект и сеанс остаются распознаваемыми

Конфигурация и доступ к модели

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

Доступ к провайдеру относится к среде выполнения. Руководство провайдеров описывает поддерживаемые службы и совместимые endpoints. Важны учётные данные, доступность endpoint и поддержка инструментов моделью. Сервер в другом месте должен иметь собственный действительный доступ к провайдеру и репозиторию.

Клиент не определяет общую стоимость инференса. Сравнивайте оплаченный расход на одинаковых моделях и задачах. Учитывайте повторные запуски из-за ошибок конфигурации. При локальном инференсе записывайте память системы, формат модели, размер контекста и настройки runtime. Не представляйте загрузку Desktop бесплатной заменой размещённых вычислений.

Сеансы и безопасное переключение

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

Избегайте одновременных изменений в одном checkout. Два разговора с разными планами используют общие файлы, если обращаются к одному каталогу. Для независимых экспериментов используйте отдельные worktree или checkout. Перед объединением проверьте изменения.

Handover record
Goal:
Current branch and working directory:
Files changed:
Checks already completed:
Known failures:
Next approved action:

Эта запись делает передачу проверяемой. Она также помогает отличить проблему интерфейса от отсутствующей инструкции или несовместимой среды. Не включайте учётные данные в запись.

Доступ к серверу и разрешения

Относитесь к серверу агента как к службе выполнения. Документация сервера описывает необязательную аутентификацию через OPENCODE_SERVER_PASSWORD. Намеренно настройте доступ до подключения машин. Доступный сервер агента не равен безвредному статическому сайту.

Проверяйте разрешения инструментов отдельно. Руководство разрешений определяет поведение allow, ask и deny. Применяйте ту же политику во время проверки интерфейса. Не считайте клиент с меньшим числом запросов более безопасным или способным без проверки действующих правил.

Начните с безопасной проверки политики. В одноразовом проекте запросите разрешённую проверку файла и запрещённое изменение. Проверьте наблюдаемое поведение, затем переходите к ограниченной реализации. Так предположение о разрешениях становится проверяемым.

Устранение неполадок и выбор

Симптом Первая проверка
Ошибка подключения Desktop Выбранный сервер и состояние локального sidecar
Модель отсутствует в одном клиенте Версия сервера, доступ к провайдеру и конфигурация
Другой результат теста Каталог проекта и среда выполнения
Разговор отсутствует Идентичность сервера и сеанса
Работает до загрузки плагина Конфигурация плагина и совместимость выпуска

Выбирайте терминал, если скриптовые запросы и контекст shell упрощают работу. Выбирайте Desktop, если графическая навигация по проекту улучшает контроль. Решения о провайдере и политике держите отдельно от этого предпочтения.

Следующие шаги: Сравните терминальные альтернативы в обзоре CLI . Требования локального инференса описаны в руководстве OpenCode и Strata . Для графических альтернатив используйте обзор GUI .