Реклама
Меморина
Меморина
Меморина

OpenCode: бесплатный ИИ-агент для Python прямо в терминале

OpenCode — open-source агент, который кодирует вместе с вами прямо в терминале. Поддерживает 75+ провайдеров, умеет рефакторить Python-проекты и не требует платной подписки, если подключить бесплатный Gemini.

Обложка: OpenCode: бесплатный ИИ-агент для Python прямо в терминале

Если вы проводите в терминале больше времени, чем в браузере, а Cursor и GitHub Copilot кажутся слишком тяжёлыми, есть альтернатива. OpenCode — это open-source ИИ-агент, который работает прямо в консоли, понимает контекст Python-проекта и умеет рефакторить код по запросу. При этом базовая версия обходится без подписки: достаточно бесплатного ключа Gemini от Google.

OpenCode запускается в терминале как текстовый интерфейс (TUI) и ведёт себя как собеседник, которого вы явно направляете. Попросите проанализировать функцию, объяснить баг, добавить типизацию или переписать модуль — и агент сделает это с учётом всего проекта, а не только вставленного фрагмента. Поддерживается более 75 провайдеров, включая Anthropic, OpenAI и Google Gemini.

В отличие от облачных IDE с ИИ, OpenCode не заставляет загружать код на чужие серверы: он общается с моделью из вашей локальной среды, а файлы остаются на вашей машине. Для командной работы есть файл AGENTS.md — аналог инструкции для агента, который загружается в начале каждой сессии.

Ключевые выводы
  • OpenCode — бесплатный open-source ИИ-агент для терминала с поддержкой 75+ моделей.
  • Устанавливается одной командой curl, через Homebrew или npm; для старта достаточно ключа Gemini.
  • Plan-режим предлагает план правок без изменения файлов, Build-режим сразу применяет их.
  • AGENTS.md задаёт правила проекта: стиль кода, архитектуру и команды запуска.
  • Встроенные LSP-серверы (Pyright для Python) и веб-интерфейс отличают OpenCode от конкурентов.

Установка и первый запуск

Самый быстрый способ — официальный скрипт. Он определяет платформу, скачивает бинарник и прописывает путь в PATH. Альтернативы — Homebrew для macOS/Linux и npm-пакет, если Node.js уже стоит.

			curl -fsSL https://opencode.ai/install | bash
		

Другие способы установки

			# Homebrew
brew install anomalyco/tap/opencode

# npm
npm install -g opencode-ai
		

После установки проверьте версию. На момент публикации гайда актуальна 1.14.20, но у вас может быть свежее:

			opencode --version
		

Если команда не найдена, перезагрузите конфигурацию shell:

			source ~/.bashrc   # или ~/.zshrc
opencode --version
		

Для Windows лучший опыт — WSL. Храните проекты внутри файловой системы WSL, а не на диске C:, иначе производительность упадёт.

Подключаем модель

Запустите opencode без аргументов — откроется TUI. Чтобы добавить провайдера, введите слэш-команду /connect и выберите Google. Ключ можно получить бесплатно в Google AI Studio: вход через Google-аккаунт, пара кликов — и ключ готов.

			/connect
		

После подключения выберите модель. Для повседневных задач подходит Gemini 3 Flash Preview — быстрая и дешевая (в данном случае бесплатная) модель. Переключить модель позже можно через /models.

Где хранятся ключи:
Токены сохраняются в ~/.local/share/opencode/auth.json. Скрипт запросит ключ повторно, только если вы захотите сменить провайдера.

Проверьте работу простым вопросом:

			В чём разница между list.append() и list.extend() в Python?
		

AGENTS.md — память проекта

Главная фишка OpenCode — понимание контекста. Каждый раз при запуске агент читает файл AGENTS.md из корня проекта. Там можно описать архитектуру, стиль кода, команды тестирования и форматирования, а также специфические требования к проекту.

Создать заготовку помогает команда /init. Она проанализирует структуру проекта — файлы, импорты, директории — и сгенерирует черновик. После этого файл стоит дополнить своими правилами.

			# Agent Instructions: MyProject

## Общие правила
- Python 3.11+, Ruff для линтинга, black для форматирования.
- Типизация: добавляй type hints ко всем новым функциям.
- Исключения: используй конкретные классы, избегай голых except.

## Команды
- Запуск: python -m myproject
- Тесты: pytest
- Линтер: ruff check .
		

Важно: после ручного изменения AGENTS.md перезапустите сессию или попросите агента перечитать файл. Также полезно периодически вызывать /init, чтобы документ актуализировался под текущее состояние кода.

Plan и Build: два режима работы

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

  • Plan — агент предлагает план изменений, но не трогает файлы. Это аналог предварительного просмотра diff.
  • Build — агент сразу вносит правки в проект. Используйте, когда уверены в задаче.

Ещё есть варианты модели: default, low и high. Режим default автоматически регулирует глубину рассуждений под сложность задачи, что экономит токены на простых вопросах и не даёт ошибиться на сложных. Переключать вручную можно через Ctrl + T.

Контекст одним символом

Чтобы добавить файл в контекст, используйте символ @. Начните печатать имя файла — откроется fuzzy-поиск. А если сообщение начинается с восклицательного знака !, OpenCode выполнит shell-команду и включит её вывод в беседу.

Рефакторим Python-проект

Разберём реальный сценарий: у нас есть скрипт обработки CSV, который «работает, но стыдно показать». Попросим OpenCode привести его в порядок.

Сначала переключитесь в Plan-режим и задайте запрос с контекстом файла:

			@data_processor.py

Проанализируй файл: найди проблемы со стилем, обработкой ошибок и типизацией. Предложи план рефакторинга.
		

OpenCode, опираясь на AGENTS.md, найдёт типичные проблемы: отсутствие if __name__ == "__main__":, нет type hints, магические числа, неинформативные сообщения об ошибках. В конце он предложит план — например, выделить main(), добавить аннотации, заменить SystemExit на ValueError и ввести константы.

Если план устраивает, переключитесь в Build и подтвердите — агент применит изменения. После этого останется запустить тесты:

			pytest
python -m data_processor
		

Если что-то пошло не так, команда /undo откатывает последнее изменение. Можно вызывать её несколько раз, чтобы вернуться к нужному состоянию.

Что отличает OpenCode от конкурентов

Переключение моделей на лету

Claude Code и Cursor привязаны к своим моделям. В OpenCode можно подключить сразу несколько провайдеров и переключаться между ними через /models без перезапуска. Это удобно, когда одна модель лучше справляется с архитектурой, а другая — с мелкими правками.

Встроенные LSP-диагностики

OpenCode использует Language Server Protocol и поставляется с более чем 30 встроенными языковыми серверами. Для Python по умолчанию работает Pyright, который подсвечивает ошибки типов, неопределённые имена и проблемы с импортами. Эти диагностики передаются модели, поэтому агент видит то же, что и ваш редактор.

Веб-интерфейс

Если терминал кажется тесным для длинных ответов, запустите opencode web в отдельной вкладке. Поднимется локальный сервер на 127.0.0.1, откроется браузер, и вы получите ту же беседу в графическом виде. Терминал и веб-интерфейс работают одновременно и делят одно состояние сессии.

Практические советы

  • Начинайте каждую сессию с проверки AGENTS.md — это экономит токены и повышает качество ответов.
  • Сложные правки сначала прогоняйте в Plan-режиме: так проще поймать неверные предположения агента.
  • Для российских разработчиков бесплатный Gemini — самый доступный вариант: не требует иностранной карты и работает из РФ с ограничениями.
  • Не забывайте про /compact: длинные сессии занимают контекст, и свёртка истории ускоряет работу.
  • Коммитьте AGENTS.md в Git: так вся команда получает единые инструкции для ИИ-помощника.
Часто задаваемые вопросы
1
OpenCode действительно бесплатный?

Да, сам инструмент open-source и бесплатен. Можно подключить бесплатный тариф Gemini и кодировать без подписки. Платные провайдеры вроде Anthropic или OpenAI подключаются по желанию.

2
Нужен ли Python 3.11 именно для OpenCode?

Нет, Python 3.11 требовался только для учебного проекта в оригинальном гайде. Сам OpenCode — это Node.js/бинарное приложение, которое запускается независимо от версии Python.

3
Как OpenCode относится к приватности кода?

Код остаётся на вашей машине. OpenCode передаёт в модель только то, что вы явно включили в контекст: содержимое @-файлов, вывод !-команд и текст запроса.

4
Можно ли использовать OpenCode вместо Claude Code?

Для терминальной разработки на Python — да. OpenCode не умеет всё то же, что Claude Code, но бесплатен, поддерживает больше провайдеров и даёт контроль через AGENTS.md. Выбор зависит от задачи и бюджета.

Выводы

OpenCode — удобный вариант для разработчиков, которые хотят ИИ-помощника в терминале без привязки к платным подпискам. Особенно он выигрывает там, где важен контекст проекта: благодаря AGENTS.md и режимам Plan/Build агент не превращается в слепого исполнителя, а работает как внимательный напарник.

Инструменты вроде OpenCode меняют не то, чтобы мы писали меньше кода, а то, как мы думаем о правках. Планирование перед изменением файлов — привычка, которую стоит перенести и в обычную разработку.
Леоданис Позо Рамосавтор гайда на Real Python

Если вы ещё не пробовали терминальных ИИ-агентов, OpenCode — хорошая точка входа. Установка занимает минуту, первый ключ Gemini бесплатный, а дальше можно решать: оставить его как основной инструмент или использовать в связке с привычным редактором.

Источники: