Быстрый старт OpenCode: установка, настройка и использование терминального ИИ-агента для программирования
Как установить, настроить и использовать OpenCode
OpenCode — это агент искусственного интеллекта с открытым исходным кодом, который вы можете запускать в терминале (TUI + CLI), с возможностью использования десктопных интерфейсов и интеграции в IDE. Это Быстрый старт с OpenCode: установка, проверка, подключение модели/провайдера и выполнение реальных рабочих процессов (CLI + API).
Примечание о версии: OpenCode активно развивается. Команды «latest», приведённые здесь, стабильны, но вывод и значения по умолчанию могут меняться — всегда сверяйтесь с официальной документацией CLI и журналом изменений (ссылки ниже).
Эта статья является частью материала Инструменты ИИ для разработчиков: Полное руководство по разработке с помощью ИИ. Если вы также поддерживаете самохостингуемый ассистент, например Nous Hermes, то Шпаргалка по CLI агента Hermes описывает набор команд hermes наряду с этим быстрым стартом OpenCode.
Что такое OpenCode (и где он применяется)
OpenCode создан для терминально-ориентированного агентного написания кода, сохраняя при этом гибкость выбора провайдера/модели. На практике это слой рабочих процессов, который может:
- запускать пользовательский интерфейс терминала (TUI) при выполнении
opencode - выполнять неинтерактивные «одноразовые» запросы через
opencode run(сценарии/автоматизация) - предоставлять безголовый HTTP-сервер через
opencode serve(и веб-интерфейс черезopencode web) - управляться программно через официальный JS/TS SDK
@opencode-ai/sdk
Если вы хотите сравнить его с другим агентным ассистентом с открытым исходным кодом, способным выполнять многошаговые планы в песочнице, посмотрите Быстрый старт с CLI OpenHands.
Для терминально-ориентированного агента от Anthropic с такой же историей «локальная модель через HTTP» (Ollama или llama.cpp, разрешения, ценообразование) смотрите Установка и настройка Claude Code для Ollama, llama.cpp, ценообразование.
Для намеренно минималистичного подхода к той же идее терминального агента — четыре инструмента по умолчанию, без встроенной песочницы, всё остальное через расширения — смотрите Обзор агент Pi Coding Agent.

Требования
Вам понадобятся:
- Современная эмуляция терминала (важно для опыта использования TUI).
- Доступ хотя бы к одной модели/провайдеру (API-ключи или подписка, в зависимости от провайдера). Локальные варианты, такие как Ollama или llama.cpp работают без API-ключей, если вы запускаете совместимый сервер локально.
Установка OpenCode (скопировать-вставить)
Официальный сценарий установки (Linux/macOS/WSL):
curl -fsSL https://opencode.ai/install | bash
Варианты с использованием пакетных менеджеров (официальные примеры):
# Глобальная установка Node.js
npm install -g opencode-ai
# Homebrew (рекомендуется OpenCode для большинства последних релизов)
brew install anomalyco/tap/opencode
# Arch Linux (стабильная версия)
sudo pacman -S opencode
# Arch Linux (последняя версия из AUR)
paru -S opencode-bin
Примечания для Windows (официальные рекомендации обычно советуют использовать WSL для лучшей совместимости). Альтернативы включают Scoop/Chocolatey или npm.
# chocolatey (Windows)
choco install opencode
# scoop (Windows)
scoop install opencode
Docker (полезно для быстрой пробы):
docker run -it --rm ghcr.io/anomalyco/opencode
Проверка установки
opencode --version
opencode --help
Ожидаемый вид вывода (может варьироваться в зависимости от версии):
# Пример:
# <выводит номер версии, например vX.Y.Z>
# <выводит справку с доступными командами/подкомандами>
Подключение провайдера (два практических пути)
Путь A: TUI /connect (интерактивно)
Запустите OpenCode:
opencode
Затем выполните:
/connect
Следуйте инструкциям в интерфейсе, чтобы выбрать провайдера и авторизоваться (некоторые сценарии открывают браузер/устройство для входа).
Путь B: CLI opencode auth login (ключи провайдера)
OpenCode поддерживает настройку провайдеров через:
opencode auth login
Примечания:
- Учётные данные хранятся в
~/.local/share/opencode/auth.json. - OpenCode также может загружать ключи из переменных окружения или из файла
.envв вашем проекте.
Локальное хостингование LLM (Ollama, llama.cpp)
OpenCode работает с любым API, совместимым с OpenAI. Для локальной разработки многие пользователи запускают Ollama и направляют на него OpenCode. Недавно у меня был очень хороший опыт настройки и запуска OpenCode с llama.cpp вместо этого — llama-server предоставляет конечные точки, совместимые с OpenAI, поэтому вы можете использовать GGUF-модели с тем же рабочим процессом. Если вы предпочитаете тонкий контроль над памятью и средой выполнения или хотите более лёгкий стек без Python (кстати, ollama реализован на Go), llama.cpp стоит попробовать. Я действительно наслаждался возможностью конфигурирования выгруженных слоёв, удобством использования моделей в формате GGUF и гораздо лучшей/быстрее реализованной совместимостью с новыми моделями, такими как Qwen3.5. Если вы хотите знать, какие модели действительно хорошо работают внутри OpenCode — по задачам программирования и точности структурированного вывода — смотрите мое практическое сравнение LLM для OpenCode.
Правильный запуск проекта (рекомендуемый первый запуск)
Из вашего репозитория:
cd /path/to/your/repo
opencode
Затем инициализируйте:
/init
Это анализирует ваш проект и создаёт файл AGENTS.md в корне проекта. Обычно стоит коммитить этот файл, чтобы OpenCode (и коллеги) имели единый контекст проекта.
Основные рабочие процессы CLI (примеры для копирования-вставки)
OpenCode поддерживает неинтерактивные запуски:
opencode run "Объясните, как работают замыкания в JavaScript"
Для шаблонов рабочего процесса командной строки — пайпинг вывода git, цели Makefile и CI, политики разрешений для автономных запусков — и ожидаемых режимов отказа, смотрите Практическое руководство по CLI OpenCode. Оно строится на основе этого быстрого старта, а не дублирует его.
Рабочий процесс: генерация кода (CLI)
Цель: генерация небольшой, тестируемой функции с минимальным контекстом.
opencode run "Напишите функцию Go ParsePort(envVar string, defaultPort int) (int, error). Она должна читать переменную окружения, парсить int, валидировать диапазон 1-65535 и возвращать defaultPort, если пусто. Включите 3 таблично-ориентированных теста."
Ожидаемый вывод:
- Объяснение и блоки кода (функция + тесты). Точный код варьируется в зависимости от модели/провайдера и промпта.
Рабочий процесс: безопасный рефакторинг файла (CLI + агент Plan)
Цель: подтвердить, что более ограничительный агент plan выполняется, прежде чем вы полагаться на него.
opencode run --agent plan --file ./src/auth.ts \
"Рефакторьте этот файл, чтобы снизить сложность. Выведите только короткий план. Не выполняйте команды."
Ожидаемый вывод: раздел с планом, без редактирования файлов, без выполнения команд.
Рабочий процесс: вопросы о репозитории (CLI)
Цель: подтвердить, что агент explore может локализовать детали реализации.
opencode run --agent explore \
"Где в этом репозитории валидируется аутентификация для API-запросов?"
Ожидаемый вывод: краткая карта путей файлов и описание потока.
Оба этих варианта — одноразовые смоук-тесты. Для ограниченной, производственной версии тех же задач — явный вывод рисков/краевых случаев, патчи в формате unified-diff, запросы для исследования с учётом разрешений и что делать, когда модель не подчиняется — смотрите раздел “Лучшие случаи использования CLI OpenCode” в Практическом руководстве по CLI OpenCode.
Рабочий процесс: ускорение повторяющихся запусков CLI с постоянным сервером
Если вы пишете скрипты или выполняете несколько вызовов opencode run, вы можете один раз запустить безголовый сервер:
Терминал 1:
opencode serve --port 4096 --hostname 127.0.0.1
Терминал 2:
opencode run --attach http://localhost:4096 "Резюмируйте структуру репозитория и основные точки входа."
opencode run --attach http://localhost:4096 "Теперь предложите 3 высокоэффективных рефакторинга и объясните почему."
Ожидаемый вывод:
- Тот же, что и у
opencode run, но обычно с меньшим накладным расходом на повторный запуск.
Программное использование (официальный JS/TS SDK)
OpenCode предоставляет HTTP-сервер (OpenAPI) и типобезопасный JS/TS-клиент.
Установка:
npm install @opencode-ai/sdk
Пример: запуск сервера + клиента, затем промпт
Создайте scripts/opencode-sdk-demo.mjs:
import { createOpencode } from "@opencode-ai/sdk";
const opencode = await createOpencode({
hostname: "127.0.0.1",
port: 4096,
config: {
// Формат строки модели — provider/model (только пример)
// model: "anthropic/claude-3-5-sonnet-20241022",
},
});
console.log(`Сервер запущен на: ${opencode.server.url}`);
// Базовая проверка состояния/версии
const health = await opencode.client.global.health();
console.log("Здоров:", health.data.healthy, "Версия:", health.data.version);
// Создайте сессию и отправьте промпт
const session = await opencode.client.session.create({ body: { title: "Демо быстрого старта SDK" } });
const result = await opencode.client.session.prompt({
path: { id: session.data.id },
body: {
parts: [{ type: "text", text: "Сгенерируйте небольшой раздел README, описывающий этот репозиторий." }],
},
});
console.log(result.data);
// Закройте сервер при завершении
opencode.server.close();
Запуск:
node scripts/opencode-sdk-demo.mjs
Ожидаемый вид вывода:
- «Сервер запущен на …»
- Ответ о состоянии, содержащий строку версии
- Объект ответа промпта сессии (точная структура зависит от
responseStyleи версии SDK)
Минимальная конфигурация OpenCode, которую можно скопировать
OpenCode поддерживает конфигурации JSON и JSONC. Это разумная отправная точка для локальной конфигурации проекта.
Создайте opencode.jsonc в корне вашего репозитория:
{
"$schema": "https://opencode.ai/config.json",
// Выберите модель по умолчанию (provider/model). Держите это в соответствии с тем, что показывает `opencode models`.
"model": "provider/model",
// Опционально: более дешёвая «маленькая модель» для лёгких задач (заголовки и т.д.)
"small_model": "provider/small-model",
// Опционально: значения по умолчанию сервера OpenCode (используются serve/web)
"server": {
"port": 4096,
"hostname": "127.0.0.1"
},
// Опциональная безопасность: требовать подтверждения перед правками/командами
"permission": {
"edit": "ask",
"bash": "ask"
}
}
Для более полной политики разрешений, нацеленной на автономные задания opencode run, смотрите Практическое руководство по CLI OpenCode.
Память проекта между сессиями — это отдельная установка. Hindsight Memory для OpenCode, Cursor и других агентов кодинга добавляет плагин в пользовательский файл ~/.config/opencode/opencode.json, отличный от проектного opencode.jsonc, приведённого выше.
Короткая шпаргалка (быстрая справка)
Команды, которые вы будете использовать ежедневно
opencode # запуск TUI
opencode run "..." # неинтерактивный запуск (автоматизация)
opencode run --file path "..." # прикрепление файлов к промпту
opencode models --refresh # обновление списка моделей
opencode auth login # настройка учётных данных провайдера
opencode serve # безголовый HTTP-сервер (OpenAPI)
opencode web # безголовый сервер + веб-интерфейс
opencode session list # список сессий
opencode stats # статистика токенов/стоимости
Команды TUI, которые стоит запомнить
/connect # подключение провайдера
/init # анализ репозитория, генерация AGENTS.md
/share # обмен сессией (если включено)
/undo # отмена изменения
/redo # повторное изменение
/help # справка/горячие клавиши
Концепция «руководящей клавиши» по умолчанию (TUI)
OpenCode использует настраиваемую «руководящую» клавишу (обычно ctrl+x), чтобы избежать конфликтов с терминалом. Многие горячие клавиши имеют вид «Leader + клавиша».
Одностраничная печатная таблица-шпаргалка по OpenCode
Эта версия намеренно плотная и «удобная для печати». (Вы можете вставить её в отдельную страницу /ai-devtools/opencode/cheatsheet/ позже.)
| Задача | Команда / горячая клавиша | Примечания |
|---|---|---|
| Запуск TUI | opencode |
Поведение по умолчанию — запуск терминального UI |
| Выполнение одноразового промпта | opencode run "..." |
Неинтерактивный режим для скриптов/автоматизации |
| Прикрепление файлов к промпту | opencode run --file path/to/file "..." |
Используйте несколько флагов --file для нескольких файлов |
| Выбор модели для запуска | opencode run --model provider/model "..." |
Строки моделей имеют вид provider/model |
| Выбор агента | opencode run --agent plan "..." |
Plan разработан для более безопасной работы «без изменений» (с ограничением разрешений) |
| Список моделей | opencode models [provider] |
Используйте --refresh для обновления кэшированного списка |
| Настройка учётных данных провайдера | opencode auth login |
Хранит учётные данные в ~/.local/share/opencode/auth.json |
| Список авторизованных провайдеров | opencode auth list / opencode auth ls |
Подтверждает, что видит OpenCode |
| Запуск безголового сервера | opencode serve --port 4096 --hostname 127.0.0.1 |
Спецификация OpenAPI по адресу http://host:port/doc |
| Привязка запусков к серверу | opencode run --attach http://localhost:4096 "..." |
Полезно для избежания повторных «холодных» запусков |
| Включение базовой аутентификации | OPENCODE_SERVER_PASSWORD=... opencode serve |
Имя пользователя по умолчанию opencode, если не переопределено |
| Режим веб-интерфейса | opencode web |
Запускает сервер + открывает браузер |
| Экспорт сессии | opencode export [sessionID] |
Полезно для архивирования или обмена контекстом |
| Импортирование сессии | opencode import session.json |
Можно также импортировать из URL общего доступа |
| Просмотр глобальных флагов CLI | opencode --help / opencode --version |
--print-logs + --log-level для отладки |
| Концепция руководящей клавиши TUI | руководящая клавиша по умолчанию часто ctrl+x |
Настраивается в tui.json |
Oh My Opencode — возьмите OpenCode за грань с многоагентной оркестрацией
Как только OpenCode запущен, естественным следующим шагом является Oh My Opencode — общинный плагин, который обёртывает OpenCode в многоагентную конструкцию. Основная идея: введите ultrawork (или ulw) в сессии, и оркестратор (Sisyphus) возьмёт управление на себя, делегируя подзадачи специализированным агентам, которые работают параллельно, каждый на семействе моделей, под которое настроены их промпты.
Три статьи подробно это покрывают:
-
Быстрый старт Oh My Opencode
Установка черезbunx oh-my-opencode install, настройка провайдеров и выполнение вашей первой задачи ultrawork менее чем за десять минут. -
Глубокое погружение в специализированные агенты
Все 11 агентов объяснены — Sisyphus, Hephaestus, Oracle, Prometheus, Librarian и другие — с маршрутизацией моделей, цепочками fallback и практическими рекомендациями для самохостингованных моделей. -
Опыт использования Oh My Opencode: Честные результаты и риски биллинга
Реальные бенчмарки, инцидент с бесконечным циклом Gemini стоимостью $350 и чёткий вердикт о том, когда OMO оправдывает свои накладные расходы.
OpenCode был одним из первых инструментов, пострадавших от политики Anthropic по блокировке стороннего доступа к подписке Claude — шаг, сделанный в январе 2026 года, за месяц до того, как то же ограничение ударило по OpenClaw. Хронология восхода и падения OpenClaw документирует оба события и более широкий паттерн, который они представляют для агентных инструментов, построенных на вычислительных мощностях по подписке.
Источники (сначала официальные)
Официальные:
- Документация OpenCode (Введение, CLI, Конфигурация, Сервер, SDK): https://opencode.ai/docs/
- Журнал изменений OpenCode: https://opencode.ai/changelog
- Официальный репозиторий GitHub: https://github.com/anomalyco/opencode
- Релизы: https://github.com/anomalyco/opencode/releases
Авторитетный справочник интеграций:
- GitHub Changelog (Copilot поддерживает OpenCode): https://github.blog/changelog/2026-01-16-github-copilot-now-supports-opencode/
Надёжные сравнения/туториалы:
- DataCamp: OpenCode против Claude Code (2026): https://www.datacamp.com/blog/opencode-vs-claude-code
- Builder.io: OpenCode против Claude Code (2026): https://www.builder.io/blog/opencode-vs-claude-code
- freeCodeCamp: Интеграция ИИ в ваш терминал с помощью OpenCode: https://www.freecodecamp.org/news/integrate-ai-into-your-terminal-using-opencode/