Блог

DeepSeek Harness или OpenCode: какого open-source агента выбрать?

Короткий ответ

deepseek harness vs opencode — это столкновение двух совершенно разных open-source философий: dsh доводит до предела принцип «всё есть плагин», а OpenCode — принцип минимализма. Выбор сводится к тому, что вам нужно: фреймворк, который можно перестроить, или терминальный агент, который работает из коробки.

  • DeepSeek Harness (dsh): open-source агентский harness от DeepSeek (Что такое DeepSeek Harness). Всё есть плагин; 54 npm-пакета; адаптер модели, реестр инструментов, журнал сессии и агентский цикл заменяются через конфигурацию; работающий агент может даже на лету определить новый плагин и изменить самого себя.
  • OpenCode: open-source агент для программирования, написанный на Rust, ориентированный на терминал и поддерживающий множество моделей. Один файл opencode.json задаёт провайдера — и агент работает с любой моделью: установил и поехал.
  • Стоимость: оба не привязаны к конкретной модели. С DeepSeek V4 оба стартуют примерно от $0.14 / $0.28 (за миллион входных/выходных токенов), а один ключ TeamoRouter обслуживает оба.

Вердикт в одну строку: нужна глубокая кастомизация и хочется строить агента как фреймворк — берите dsh; нужен минималистичный лёгкий инструмент из коробки под полным вашим контролем — берите OpenCode. Сравнение четырёх агентов — в статье DeepSeek Harness vs Claude Code / Codex / OpenCode; здесь же — очное сравнение только этих двух.

Различия с первого взгляда

Параметр DeepSeek Harness (dsh) OpenCode
Позиционирование Open-source агентский фреймворк (harness) Open-source терминальный агент
Философия архитектуры Всё есть плагин (Cordis) Минималистичная модульность
Реализация TypeScript (~591K строк) Rust
Модель по умолчанию Семейство DeepSeek V4 Любая (мультимодельность)
Установка npx @deepseek-ai/dsh web Глобальная установка одной командой
Конфигурация Переменные окружения + плагины Провайдер в opencode.json
Кастомизация Предельная (заменяется любой стык) Высокая (провайдеры / инструменты)
Экосистема 54 пакета + Python SDK + ACP Мультимодельные провайдеры, активное сообщество
Порог входа Средний (рассчитан на разработчиков фреймворков) Низкий (установил и поехал)
Стоимость DeepSeek V4 от ~$0.14/$0.28 Зависит от модели; с V4 те же $0.14/$0.28
Статус Developer preview (интерфейсы меняются) Стабилен и пригоден к работе

Философия архитектуры: «всё есть плагин» против минималистичной модульности

Это самое глубокое расхождение между ними.

dsh: никакого привилегированного ядра, а агент может перестроить сам себя

В основе dsh лежит плагинный фреймворк, вендоренный из Cordis. Его самое контринтуитивное решение: здесь нет привилегированного ядра, которое нужно патчить — файловая система, shell, адаптер модели, журнал сессии и даже сам агентский цикл являются плагинами. Выгрузите один — и его побочные эффекты откатятся; любой сервис можно целиком заменить через конфигурацию.

Ещё смелее — его самореферентный набор инструментов: cordis_define / cordis_run / cordis_stop / cordis_undefine. Проще говоря, работающий агент может на лету определить новый плагин Cordis, внедрить его в живой рантайм, и зарегистрированные им инструменты сразу станут видны модели. Используешь фреймворк → определяешь фреймворк внутри фреймворка → меняешь собственный набор инструментов → продолжаешь работу. Почти ни один другой проект не открывает модели такой цикл метапрограммирования в полном объёме.

Добавьте к этому инвариант рантайма «журнал сессии — единственный источник истины»: fork / resume / сжатие контекста / replay — всё выводится из журнала, и всё, что видит модель, восстанавливается из него. Отсюда же технически растут утверждения о том, что «dsh экономит токены».

OpenCode: минималистичная модульность, установил и поехал

OpenCode идёт противоположным путём: никакого тяжёлого слоя harness — просто «агент в терминале», сделанный аккуратно. На Rust, с приоритетом терминала, мультимодельный. Вся конфигурация — один файл opencode.json: задали провайдера, вписали base URL и ключ, перезапустили — и можно переключаться между моделями.

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

Одной фразой: dsh продаёт идею «фреймворк можно переписать», OpenCode — идею «инструмент достаточно прост».

Порог входа и установка

С OpenCode начать проще. Одна команда ставит его глобально; запустите и пишите инструкции на естественном языке прямо в терминале — агент читает репозиторий, правит файлы, выполняет команды. Чтобы подключить свою модель, добавьте OpenAI-совместимого провайдера в opencode.json. Кривой обучения по сути нет.

У dsh планка выше. Сама установка проста:

bash
npx @deepseek-ai/dsh web

Одна команда поднимает веб-интерфейс по адресу http://127.0.0.1:3080. Но чтобы по-настоящему раскрыть мощь подхода «всё есть плагин», нужно разобраться в плагинной модели Cordis, объявлениях зависимостей через inject и режимах диспетчеризации событий: он спроектирован для разработчиков, которые хотят построить собственного агента. Если вы просто хотите пользоваться инструментом из коробки, абстракции фреймворка dsh — лишний багаж.

Кастомизация

  • dsh: заменяется любой стык. Хотите, чтобы у агента были только терминал и файловые операции, без сети? Готово. Хотите целиком перенести Bash / PTY / LSP в удалённую песочницу? Измените одно объявление провайдера. Нужен инструмент, который вызывает API вашей внутренней системы? Смонтируйте плагин. Хотите заменить поведение всего агентского цикла? Журнал, контекст и реестр инструментов заменяются через конфигурацию. За такой глубиной OpenCode не угнаться.
  • OpenCode: кастомизация на уровне конфига. Смена провайдеров, добавление моделей и настройка поведения агента — всё делается в opencode.json. Для подавляющего большинства сценариев этого достаточно, но до уровня «внедрить плагин в живой рантайм, чтобы перестроить самого себя» вы не дотянетесь.

Экосистема

dsh опирается на инженерные вложения DeepSeek: 20K+ звёзд за первый час, 28K–31K к концу первого дня; 12 293 коммита, 54 npm-пакета, ~591K строк TypeScript, 1 386 заметок по разработке агентов. Каталог инструментов включает bash / run_code / terminal_* (PTY) / edit / read / write / glob / grep (со встроенным ripgrep) / subagent / goal / todo / schedule / job / skill / lsp / web_fetch / session_search / ask_user, а также Python SDK (deepseek_harness) и интерфейсы ACP / JSON-RPC — он не привязывает вас к собственному UI.

Экосистема OpenCode строится вокруг мультимодельности: один инструмент, который работает с любым провайдером, активное сообщество и конфигурация, которую достаточно просто подложить. Такого большого каталога плагинов, как у dsh, у него нет, зато он выигрывает простотой и нулевой зависимостью от вендора.

Стоимость

Оба не привязаны к модели, так что стоимость определяется моделью. Подключите оба к DeepSeek V4 Flash ($0.14/$0.28 за миллион токенов) — и они будут работать по одинаково низкой цене; подключите к флагманским Claude / GPT — и они обойдутся так же, как любой другой инструмент.

Разница — в настройках по умолчанию и в направлении оптимизации:

  • dsh относится к DeepSeek V4 как к модели первого класса и строит всю архитектуру вокруг экономии токенов (журнал сессии как единственный источник, хранилище spill, которое сбрасывает слишком объёмный вывод инструментов на диск и передаёт модели только указатель). Его стратегическая ставка: агентский фреймворк, достаточно дешёвый, чтобы реально работать в масштабе.
  • OpenCode не отдаёт предпочтения ни одной модели — стоимость целиком определяется выбранным провайдером.

Для команд, у которых агенты работают весь день, dsh + DeepSeek V4 Flash обычно самая дешёвая связка; OpenCode, направленный на тот же V4, выходит на ту же цену.

Как выбрать — в зависимости от того, кто вы

  • Нужна глубокая кастомизация и свой агентский фреймворк: выбирайте dsh. Можно урезать поверхность возможностей, менять провайдеров, писать плагины и даже позволить агенту перестраивать себя — ценой кривой обучения и статуса developer preview.
  • Нужен минималистичный лёгкий инструмент из коробки под полным контролем: выбирайте OpenCode. Установил и поехал, чистый конфиг, никаких абстракций фреймворка.
  • Важна стоимость, агенты используются часто: подойдёт любой — направьте на DeepSeek V4 Flash; dsh агрессивнее экономит токены.
  • Важна долгосрочная стабильность: OpenCode — более надёжный выбор; dsh прямо заявлен как developer preview, интерфейсы будут меняться, и строить на нём продакшен-зависимости мы бы не стали.

Один ключ на оба инструмента

Оба работают по OpenAI-совместимому протоколу, поэтому один ключ TeamoRouter обслуживает оба — единый биллинг, никаких отдельных регистраций и пополнений:

bash
# dsh: environment variables
export DEEPSEEK_BASE_URL="https://api.teamorouter.cn/v1"
export DEEPSEEK_API_KEY="sk-teamo-your-key"

# OpenCode: provider in opencode.json
# {
#   "provider": {
#     "teamorouter": {
#       "options": {
#         "baseURL": "https://api.teamorouter.cn/v1",
#         "apiKey": "sk-teamo-your-key"
#       },
#       "models": {
#         "deepseek-v4-flash": { "name": "DeepSeek V4 Flash" },
#         "deepseek-v4-pro": { "name": "DeepSeek V4 Pro" }
#       }
#     }
#   }
# }

Так можно делать повседневную быструю работу в OpenCode, а тяжёлые задачи с глубокой кастомизацией отдавать dsh — с одним и тем же ключом sk-teamo- и одним счётом. Полная настройка dsh — в статье Подключение DeepSeek Harness к TeamoRouter; отдельное знакомство с OpenCode — Что такое OpenCode.

FAQ

dsh и OpenCode — конкуренты?

Их позиционирование пересекается, но друг другу они не мешают. OpenCode — это «минималистичный терминальный агент», dsh — «агентский фреймворк, где всё есть плагин». Можно жить в OpenCode изо дня в день, можно взять dsh как фреймворк и построить своего агента — а можно поставить оба и выбирать под задачу.

Можно ли кастомизировать OpenCode так же, как dsh?

На уровне конфига — да: провайдеры, модели, инструменты. На глубине «внедрить плагин в живой рантайм» — нет. Если вам нужен агент, способный перестроить себя на лету, это умеет только dsh.

Готов ли dsh к продакшену?

Пока это developer preview — интерфейсы будут меняться. Подходит для личной разработки, изучения архитектуры агентов и дешёвых запусков агентов, но строить продакшен, зависящий от конкретных деталей API, мы бы не стали.

Оба направлены на DeepSeek V4 — кто экономит больше токенов?

Журнал сессии как единственный источник плюс выгрузка на диск через spill дают dsh больше экономии в длинных сессиях и при слишком объёмном выводе инструментов. OpenCode такой оптимизацией не занимается. При одинаковой цене ($0.14/$0.28) то, кто сэкономит токены, зависит от характера ваших задач.

Чтобы недорого сравнить оба open-source агента на практике, получите ключ в TeamoRouter, подключите и dsh, и OpenCode — и сравнивайте в процессе работы.

Готовы подключиться?Войдите в консоль, пополните баланс и создайте API-ключ.
DeepSeek Harness или OpenCode: какого open-source агента выбрать? · TeamoRouter