Команда AI for Devs подготовила перевод статьи о том, как использовать OpenCode вместе с Docker Model Runner для локальной разработки с LLM. В центре внимания —Команда AI for Devs подготовила перевод статьи о том, как использовать OpenCode вместе с Docker Model Runner для локальной разработки с LLM. В центре внимания —

[Перевод] OpenCode + Docker Model Runner для локальной разработки с ИИ

Команда AI for Devs подготовила перевод статьи о том, как использовать OpenCode вместе с Docker Model Runner для локальной разработки с LLM. В центре внимания — контроль над кодом, данными и затратами: модели запускаются локально, контекст не уходит во внешние сервисы, а ИИ-ассистент становится частью вашей инфраструктуры, а не сторонним SaaS. Практический разбор для тех, кто хочет использовать ИИ в разработке без компромиссов по безопасности и стоимости.


ИИ-ассистенты для написания кода становятся неотъемлемой частью современных процессов разработки. Одновременно с этим многие команды всё больше беспокоятся о том, куда уходит их код, как он обрабатывается и кто имеет к нему доступ.

Комбинируя OpenCode с Docker Model Runner, вы можете создать мощную среду разработки с ИИ-поддержкой, сохранив при этом полный контроль над данными, инфраструктурой и затратами.

В этой статье показано, как настроить OpenCode для работы с Docker Model Runner, а также объясняется, почему такая конфигурация позволяет выстроить ориентированный на приватность и осознанные затраты подход к разработке с использованием ИИ.

Что такое OpenCode и Docker Model Runner

OpenCode — это open source ассистент для написания кода, разработанный для прямой интеграции в рабочие процессы разработчиков. Он поддерживает несколько провайдеров моделей и предоставляет гибкую систему конфигурации, позволяющую легко переключаться между ними.

Docker Model Runner (DMR) позволяет просто запускать и управлять большими языковыми моделями. Он предоставляет API, совместимый с OpenAI, благодаря чему его легко интегрировать с существующими инструментами, которые уже поддерживают эндпоинты в стиле OpenAI.

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

Изменение конфигурации OpenCode

OpenCode можно настраивать с помощью конфигурационного файла, который определяет, как описываются провайдеры и модели.

Задать конфигурацию можно в одном из двух мест:

  • Глобальная конфигурация: ~/.config/opencode/opencode.json

  • Конфигурация уровня проекта: opencode.json в корне проекта

Если присутствует конфигурация на уровне проекта, она имеет приоритет над глобальной.

Использование OpenCode с Docker Model Runner

Docker Model Runner (DMR) предоставляет API, совместимый с OpenAI, что делает его интеграцию с OpenCode максимально простой. Чтобы включить эту интеграцию, достаточно обновить файл opencode.json, указав адрес DMR-сервера и объявив локально доступные модели.

Предположим, что Docker Model Runner запущен по адресу: http://localhost:12434/v1

В этом случае конфигурация opencode.json может выглядеть следующим образом:

{ "$schema": "https://opencode.ai/config.json", "provider": { "dmr": { "npm": "@ai-sdk/openai-compatible", "name": "Docker Model Runner", "options": { "baseURL": "http://localhost:12434/v1", }, "models": { "qwen-coder3": { "name": "qwen-coder3" }, "devstral-small-2": { "name": "devstral-small-2" } } } } }

Эта конфигурация позволяет OpenCode использовать локально размещённые модели через DMR, обеспечивая мощного и при этом приватного ассистента для написания кода.

Примечание для пользователей Docker Desktop:

Если вы запускаете Docker Model Runner через Docker Desktop, убедитесь, что включён TCP-доступ. OpenCode подключается к Docker Model Runner по HTTP, поэтому TCP-порт должен быть открыт:

docker desktop enable model-runner --tcp

После этого Docker Model Runner будет доступен по адресу http://localhost:12434/v1.

Рисунок 1: Включение использования OpenCode локально размещённых моделей через Docker Model Runner
Рисунок 1: Включение использования OpenCode локально размещённых моделей через Docker Model Runner
Рисунок 2: Такие модели, как qwen3-coder, devstral-small-2 и gpt-oss, хорошо подходят для задач, связанных с написанием кода.
Рисунок 2: Такие модели, как qwen3-coder, devstral-small-2 и gpt-oss, хорошо подходят для задач, связанных с написанием кода.

Преимущества использования OpenCode с Model Runner

Приватность по умолчанию

Использование OpenCode вместе с Docker Model Runner позволяет выстроить ориентированный на приватность подход к разработке с ИИ, поскольку весь инференс моделей выполняется внутри инфраструктуры, которую вы полностью контролируете.

Docker Model Runner запускает модели за API-эндпоинтом, совместимым с OpenAI. OpenCode отправляет промпты, исходный код и контекст только на этот эндпоинт — и больше никуда.

Это означает:

  • Отсутствие сторонних ИИ-провайдеров

  • Отсутствие передачи данных вовне и хранения данных на стороне вендоров

  • Отсутствие обучения внешних сервисов на вашем коде

С точки зрения OpenCode провайдер — это просто API-эндпоинт. Где именно он запущен — на машине разработчика, на внутреннем сервере или в приватном облаке — полностью решаете вы.

Контроль затрат

Помимо приватности, запуск моделей через Docker Model Runner даёт заметное преимущество по затратам по сравнению с облачными ИИ-API.

Облачные ассистенты для написания кода могут очень быстро становиться дорогими, особенно когда:

  • Работа ведётся с большими репозиториями

  • Передаётся длинный диалоговый или кодовый контекст

  • Во время разработки часто выполняются итеративные запросы

При использовании Docker Model Runner инференс выполняется на вашем собственном оборудовании. После загрузки модели отсутствуют платежи за токены, тарификация за запросы и неожиданные счета. Команды могут свободно масштабировать использование, не беспокоясь о росте затрат на API.

Рекомендуемые модели для написания кода

При использовании OpenCode с Docker Model Runner выбор модели напрямую влияет как на качество, так и на удобство работы разработчиков. Хотя многие универсальные модели показывают приемлемые результаты, модели, ориентированные на код, оптимизированы под длинные контекстные окна и понимание структуры кода, что особенно важно для реальных репозиториев.

Следующие модели хорошо подходят для использования с OpenCode и Docker Model Runner:

  • qwen3-coder

  • devstral-small-2

  • gpt-oss

Каждая из этих моделей может быть запущена через Docker Model Runner и доступна через его API, совместимый с OpenAI.

Загрузить эти модели можно, просто выполнив команду:

docker model pull qwen3-coder

Загрузка моделей из Docker Hub и Hugging Face

Docker Model Runner умеет загружать модели не только из Docker Hub, но и напрямую из Hugging Face, автоматически преобразуя их в OCI-артефакты, которые можно запускать и распространять так же, как любые другие Docker-модели.

Например, модель можно загрузить напрямую из Hugging Face с помощью команды:

docker model pull huggingface.co/unsloth/Ministral-3-14B-Instruct-2512-GGUF

Это даёт командам доступ к более широкой экосистеме открытых моделей без потери единообразия и удобства эксплуатации.

Длина контекста имеет значение

Для задач, связанных с написанием кода, длина контекста зачастую важнее, чем «сырая» величина параметров модели. Большие репозитории, рефакторинг нескольких файлов и длинная история диалогов выигрывают от возможности передавать модели больше контекста.

По умолчанию:

  • qwen3-coder → контекст 128K

  • devstral-small-2 → контекст 128K

  • gpt-oss → 4 096 токенов

Разница обусловлена назначением моделей.

qwen3-coder и devstral-small-2 — это модели, ориентированные на код. Они спроектированы для обработки больших объёмов исходного кода, структуры проекта и связанного контекста в рамках одного запроса. Для таких сценариев большой размер контекстного окна критически важен.

gpt-oss, напротив, является моделью общего назначения. Размер её контекста по умолчанию отражает более универсальные цели оптимизации, где сверхдлинные входные данные менее важны, чем в кодо-ориентированных рабочих процессах.

Увеличение размера контекста для GPT-OSS

Если вы хотите использовать gpt-oss для задач написания кода, которым требуется более длинное контекстное окно, Docker Model Runner позволяет легко перепаковать модель с увеличенным размером контекста.

Например, чтобы создать версию gpt-oss с контекстным окном 128K, выполните:

docker model pull gpt-oss # In case it's not pulled docker model package --from gpt-oss --context-size 128000 gpt-oss:128K

В результате будет создан новый артефакт модели с расширенной длиной контекста, который Docker Model Runner сможет обслуживать так же, как и любую другую модель.

После упаковки вы можете сослаться на эту модель в конфигурации opencode.json:

{ "$schema": "https://opencode.ai/config.json", "provider": { "dmr": { "npm": "@ai-sdk/openai-compatible", "name": "Docker Model Runner", "options": { "baseURL": "http://localhost:12434/v1" }, "models": { "gpt-oss:128K": { "name": "gpt-oss (128K)" } } } } }

Распространение моделей внутри команды

Упаковка моделей в виде OCI-артефактов даёт дополнительное преимущество: получившуюся модель можно отправить в Docker Hub или приватный реестр.

Это позволяет командам:

  • Стандартизироваться на конкретных вариантах моделей (включая размер контекста)

  • Делиться моделями между разработчиками без локальной перенастройки

  • Обеспечивать единообразное поведение в разных окружениях

  • Явно версионировать изменения моделей и выполнять откаты

Вместо того чтобы каждый разработчик настраивал модели по-своему, команды могут относиться к моделям как к артефактам первого класса: собирать их один раз и использовать повсеместно.

Собираем всё вместе: использование модели из CLI

После настройки Docker Model Runner и упаковки модели gpt-oss:128K вы можете сразу начать использовать её в OpenCode.

В этом разделе показано, как выбрать модель и применить её для генерации файла agents.md прямо внутри проекта Docker Model.

Шаг 1: убедитесь, что модель доступна

Сначала проверьте, что упакованная модель доступна локально:

docker model ls

В списке доступных моделей должна присутствовать gpt-oss:128K. Если её нет, убедитесь, что этап упаковки был успешно завершён.

Шаг 2: настройте OpenCode для использования модели

Убедитесь, что в opencode.json вашего проекта указана упакованная модель:

{ "$schema": "https://opencode.ai/config.json", "provider": { "dmr": { "npm": "@ai-sdk/openai-compatible", "name": "Docker Model Runner", "options": { "baseURL": "http://localhost:12434/v1" }, "models": { "gpt-oss": { "name": "gpt-oss:128K" } } } } }

Это делает модель доступной для OpenCode в рамках провайдера dmr.

Шаг 3: запустите OpenCode в проекте

Из корня проекта Docker Model запустите OpenCode:

opencode

Затем выберите модель из списка, выполнив команду:

/modelsРисунок 3: выбор модели gpt-oss, работающей через Docker Model Runner, в OpenCode

Рисунок 3: выбор модели gpt-oss, работающей через Docker Model Runner, в OpenCode

Шаг 4: попросите OpenCode сгенерировать agents.md

После запуска OpenCode задайте модели запрос на генерацию файла agents.md, используя репозиторий в качестве контекста:

Generate an agents.md file in the project root following the agents.md specification and examples. Use this repository as context and include sections that help an AI agent work effectively with this project, including: - Project overview - Build and test commands - Code style guidelines - Testing instructions - Security considerations Base the content on the actual structure, tooling, and conventions used in this repository. Keep the file concise, practical, and actionable for an AI agent contributing to the project.

Поскольку OpenCode подключён к Docker Model Runner, он может безопасно передавать структуру репозитория и релевантные файлы модели, не отправляя данные за пределы вашей инфраструктуры.

Расширенное контекстное окно в 128K позволяет модели анализировать значительно большую часть проекта, что приводит к более точному и полезному файлу agents.md.

Рисунок 4: итоговый файл agents.md
Рисунок 4: итоговый файл agents.md

Шаг 5: проверьте файл и внесите вклад в Docker Model Runner

После генерации файла:

cat agents.md

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

git add agents.md git commit -m "Add agents documentation"

На этом этапе вы готовы открыть свой первый pull request в Docker Model Runner.

Использование OpenCode вместе с Docker Model Runner упрощает создание качественной документации и проектных артефактов, при этом весь инференс моделей и контекст репозитория остаются внутри инфраструктуры, находящейся под вашим контролем.

Узнать больше

  • Ознакомьтесь с анонсом выхода Docker Model Runner в статусе General Availability

  • Посетите наш GitHub-репозиторий Model Runner. Docker Model Runner — open source проект, и мы приветствуем сотрудничество и вклад со стороны сообщества

  • Начните работу с Docker Model Runner на простом примере hello GenAI приложения

Русскоязычное сообщество про AI в разработке

e49d91116e8021878350d6d9209007d2.png

Друзья! Эту статью подготовила команда ТГК «AI for Devs» — канала, где мы рассказываем про AI-ассистентов, плагины для IDE, делимся практическими кейсами и свежими новостями из мира ИИ. Подписывайтесь, чтобы быть в курсе и ничего не упустить!

Источник

Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу service@support.mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.

Вам также может быть интересно

Что является противоположностью пассивного дохода?

Что является противоположностью пассивного дохода?

Многие люди считают, что ответ очевиден: противоположность пассивному доходу — это активный доход. Но это простое различие скрывает нюансы. Это руководство разбирает заработанный
Поделиться
Coinstats2026/01/26 00:12
Трамп теряет поддержку нескольких консерваторов после последней стрельбы в Миннесоте

Трамп теряет поддержку нескольких консерваторов после последней стрельбы в Миннесоте

После последней стрельбы по протестующему в Миннеаполисе кампания президента Дональда Трампа по депортации иммигрантов быстро теряет поддержку со стороны законодателей-республиканцев
Поделиться
Alternet2026/01/26 00:07
Действующая сеть конфиденциальности ZKP Crypto делает DOGE и Hyperliquid устаревшими! Это лучшая криптовалюта для покупки в этом месяце?

Действующая сеть конфиденциальности ZKP Crypto делает DOGE и Hyperliquid устаревшими! Это лучшая криптовалюта для покупки в этом месяце?

Криптоинвесторы всегда сравнивают то, что шумно, с тем, что выглядит долгосрочным. Прогноз цены Dogecoin доминирует в розничных лентах, движимый настроениями и мемами
Поделиться
Techbullion2026/01/26 00:00