DeepSeek Harness: как я собрал свой интерфейс для ИИ-агентов без программирования
Открываю DeepSeek Harness, и слева у меня два пункта, которых нет в стандартной сборке: «Картинки» и «Лимиты OpenCode Go». Справа открывается панель «Артефакты», в профиле включён командный режим агентов.
Интерфейс на русском, лента чата компактная, шрифт крупнее обычного. В списке моделей рядом стоят DeepSeek, GLM, Kimi, Qwen и GPT.
Я не программист. Код этих панелей писал агент, а я ставил задачи, проверял результат и говорил, что поправить.
Первые панели агент собрал за 17 и 31 минуту, панель артефактов - за 29 минут.
DeepSeek Harness - открытая оболочка для ИИ-агентов. Её можно перестроить под свою работу: поменять модели, подключить свои подписки и переделать сам интерфейс.
Ниже расскажу, что это такое, как начать, как подключить подписку OpenCode Go и что именно я поменял у себя. Все цены и версии проверены 6 ноября 2026 года, условия сервисов могут меняться.
Что такое harness и почему он важнее модели
Модель - это то, что отвечает на твой запрос. Harness - оболочка вокруг неё: чат, инструменты, правила проекта, работа с файлами, история сессии.
Через неё ты ставишь агенту задачи и проверяешь, что он сделал.
Раньше оболочка шла в комплекте с инструментом. Claude Code - это терминал и правила Claude. Codex - приложение и правила ChatGPT. Ты выбирал инструмент и жил по его правилам.
DeepSeek Harness устроен наоборот. Его собрали в DeepSeek и выложили в открытый доступ по лицензии MIT.
В документации описана архитектура «everything is a plugin»: плагином может быть всё - инструмент, агентный цикл, песочница, журнал сессии и сам интерфейс. Каждую часть можно заменить конфигом.
Формулировка из документации: «Every part of the product is a plugin, including the model adapter, the tool registry, the session log, and the agent loop itself, so each is replaceable from configuration».
Звучит технически, но смысл простой. Ты получаешь конструктор, в котором даже окно чата можно переделать под себя.
Проект выстрелил в августе. Репозиторий создали 13 августа 2026 года, к 6 ноября у него 274 тысячи звёзд на GitHub.
Двести тысяч звёзд он набрал за 15 дней - это рекорд GitHub по данным star-history. Для сравнения: у зрелого OpenCode на ту же дату 225 тысяч звёзд, но он собирал их полтора года.
Категория harness растёт не на пустом месте. К июлю 2026 года, по разбору на Хабре, в живых числилось около 35 CLI-агентов, и свои оболочки появились у xAI, Moonshot, Z.ai, Meta и DeepSeek.
Почему это важнее выбора модели? Потому что модели меняются каждую неделю.
Разработчик Philipp Schmid сформулировал это так: чтобы пережить гонку моделей, инфраструктура должна быть лёгкой, потому что каждая новая модель требует своей структуры агента.
Среда, в которой вчерашнюю логику можно поменять, переживёт смену трёх моделей. Приложение, прибитое к одной модели, - нет.
Второй аргумент - Creator mode. В официальном режиме описываешь плагин словами в чате, а агент сам пишет код, ставит плагин и проверяет, что тот работает.
В демо на официальном сайте агент собрал плагин-таймер за 5 минут 24 секунды и написал 638 строк интерфейсного кода.
Это и есть главная мысль статьи: интерфейс ИИ-агента больше не обязан быть чужим. Его можно подогнать под свою работу, даже если ты не умеешь программировать.
Одна оговорка на берегу: DSH находится в developer preview. В README прямо написано, что совместимость будет ломаться.
Это инструмент для тех, кто готов к обновлениям, а не замена стабильному приложению на каждый день.
Что я поменял в своём интерфейсе
Покажу список, а потом разберу, как это устроено. Стандартное окно DSH - это чат, список сессий, панель файлов и настройки. У меня к нему добавилось вот что.
Русский язык
Я поставил DSH 1 ноября, и в тот же вечер интерфейс стал русским: агент нашёл сторонний плагин локализации и поставил его за 11 минут. Помню свою первую реакцию: «вау, круто! теперь все на русском».
Он переводит и ядро, и популярные плагины: больше 13 тысяч ключей интерфейса, покрытие 100%. Официально русский появился только в версии 0.2.2-rc.1 от 4 ноября, после того как я всё уже сделал.
Промпт, с которого это началось, можно повторять у себя:
В моём случае агент нашёл плагин, поставил его, поправил сломанный манифест и проверил интерфейс по живому серверу.
Лимиты OpenCode Go
Своя панель в левом меню показывает, сколько лимитов осталось по каждой модели: за пять часов, неделю и месяц. Раньше я ходил за этим в консоль OpenCode и держал в голове.
Теперь цифры перед глазами, а ключ на страницу не попадает - панель сама читает его из хранилища. Первая версия заняла 17 минут.
Картинки
Второй свой пункт в меню. Четыре локальные модели - MOSS, Z-Image, Qwen и FLUX 3 Klein - с промпт-мастером, который переводит мою русскую идею на язык модели.
Картинки складываются в папку на ноутбуке, история и повтор варианта встроены. Работает без облака и без ключей.
Первую версию собрали за 31 минуту, первую картинку получил в тот же день.
Артефакты
Панель, где открываются интерактивные HTML-страницы: макеты, варианты иконок, мини-прототипы, дашборды. Агент пишет страницу, я в ней кликаю и выбираю вариант, выбор возвращается в чат сообщением.
У каждой страницы версии, скачивание HTML и галерея всех работ. Первая версия - за 29 минут, первый живой кейс - пять вариантов иконки для приложения Sova, выбрал «Рассвет».
Командный режим
В DSH есть экспериментальный пакет agent teams: несколько агентов с ролями, доской задач и обменом сообщениями. В базовой сборке он выключен.
Я включил и пользуюсь, когда задача делится на независимые части.
Стартовый экран
Там, где стандартная сборка предлагает отправиться «навстречу неизведанному», у меня написано «Привет, Александр!». Мелочь, но приложение теперь здоровается со мной по имени. На это ушло 6 минут.
Модели и подключения
Подписка OpenCode Go подключена, в одном списке 21 модель: DeepSeek, GLM, Kimi, Qwen и другие.
Плюс прописаны MCP-серверы для поиска и Hugging Face, а также папки скиллов из Claude и Codex: DSH читает инструкции, которые я уже написал для других инструментов. В моём каталоге набралось 182 скилла.
Один эксперимент я откатил. Попробовал магазин плагинов, но после установки сбилась русская локализация, и я его убрал.
Это нормальная история для ранней версии: что-то ставится, что-то ломается, что-то возвращается назад.
Если собрать в одну картину: было стандартное окно разработчика, стало рабочее место под мои ежедневные задачи. Контент, картинки, проверка лимитов и командная работа - всё в одном окне.
Код этих панелей я не писал руками. Агент писал, я ставил задачу и проверял глазами.
Что у меня сейчас подключено
Список на 6 ноября. Это пакеты в профиле и внешние подключения, которые видно в интерфейсе.
- @deepseek-ai/dsh-base и dsh-web-app - базовая сборка оболочки и веб-интерфейс.
- @goodandready/dsh-russian-lang 0.4.22 - русский язык: больше 13 тысяч ключей, перевод популярных плагинов, типографика и восстановление «ё».
- @local/dsh-opencode-go-usage - моя панель «Лимиты OpenCode Go»: остаток подписки по моделям и автообновление раз в минуту.
- @local/dsh-image-studio - «Картинки»: локальные MOSS, Z-Image, Qwen и FLUX 3 Klein, промпт-мастер и история.
- @local/dsh-artifacts - «Артефакты»: HTML-страницы в правой панели, выбор вариантов кликом, версии и галерея.
- @deepseek-ai/dsh-experimental-agent-team-profile - команда агентов: роли, общая доска задач и переписка между агентами. В базовой сборке выключена, я включил.
- MCP-серверы exa, tavily и huggingface - поиск и работа с моделями Hugging Face. Прописаны, но в списке инструментов пока не появились.
- Скиллы - 182 штуки из папок Claude и Codex, DSH читает их через customSkillDirs.
Всего в профиле семь бандлов. Три моих плагина лежат локально симлинками, локализация - обычным пакетом из npm.
Как это выглядит сейчас
Покажу мой экран на 6 ноября. Скриншоты сделаны на этом Mac.
Слева пункты «Плагины», «Задачи автоматизации», «OpenCode Go», «Картинки» и «Артефакты». По центру - приветствие по имени, внизу - модель DeepSeek V4.1 Flash с максимальным уровнем рассуждений.
Лимиты подписки в реальном времени: 0% за 5 часов, 10% за неделю, 5% за месяц. Ключ панель берёт из хранилища DSH, на страницу он не попадает.
Студия картинок: слева промпт и выбор модели, справа результат и кнопки «Скачать», «Ещё вариант», «В Finder». Эту панель агент собрал за 31 минуту.
Артефакты: все страницы, которые сделал агент, с живыми превью. Первый настоящий кейс - пять вариантов иконки для Sova.
В настройках видно, что я включил: «Команды агентов» - переключатель в положении «вкл». Рядом голосовой ввод, индексы плагинов и другие экспериментальные режимы, которые я не трогал.
Четыре установленных плагина: «Артефакты», «Студия картинок», «Лимиты OpenCode Go» и @goodandready/dsh-russian-lang. Все включены.
Как начать: установка и первый запуск
Есть два пути. Быстрый - через npm: ставишь Node.js версии 24.9 или новее и запускаешь npx @deepseek-ai/dsh web.
Интерфейс поднимается на 127.0.0.1:3080 и открывается в браузере.
Второй - десктопное приложение. Скачиваешь с официального сайта сборку для macOS на Apple Silicon или для Windows 64-bit, ставишь и открываешь как обычную программу.
Для Linux десктопа нет, только запуск через npm или сборка из исходников.
Я поставил десктоп: внутри тот же движок, но с нативным окном, и мне так удобнее. Первый запуск у меня был 1 ноября на версии 0.2.1-rc.5, потом приложение обновилось само до 0.2.2-rc.1.
Дальше первый запуск.
- Открой Settings → Models и добавь ключ модели. Без провайдера агент не сможет отвечать, а без рабочей папки не активируется поле ввода. Можно начать с ключа DeepSeek, можно сразу подключить свою подписку - об этом ниже.
- Выбери рабочую папку. Это папка проекта, в которой агент будет читать и менять файлы.
- Отправь первую задачу. Начни с чтения: «посмотри проект, объясни, что здесь к чему, ничего не меняй».
Перед опасными операциями DSH спрашивает разрешение, как и другие агенты. Режимы разрешений и песочницу можно настроить в профиле.
Мои правила проекта лежат в файле AGENTS.md - обычный текстовый файл с инструкциями. DSH их читает, и отдельно я подключил папки скиллов из Claude и Codex, чтобы не переписывать наработанное.
Профиль со всеми настройками живёт в ~/.dsh. Перед экспериментами с плагинами сделай копию этой папки: вернуться к рабочему состоянию будет намного проще.
Как подключить подписку OpenCode Go
Тут легко запутаться, поэтому сначала разведу три вещи.
OpenCode - бесплатный открытый агент: терминал, десктоп, расширение для редактора. Это отдельная программа.
OpenCode Go - подписка на модели. Платишь фиксированную сумму в месяц, получаешь ключ oc_sk_... и доступ к набору моделей через шлюз OpenCode.
Подписка необязательна: без неё OpenCode работает, просто модели будешь подключать сам. Условия Go.
OpenCode Zen - оплата по факту: кладёшь кредиты и тратишь по мере запросов. Это отдельный сервис, не тариф Go.
Тарифы Go на 6 ноября:
- Go за $10 в месяц
- Go Plus за $40 с повышенными лимитами
- Go Teams за $20 с участника
Лимиты считаются в долларах на каждую модель. Пять часов - это 20% месячного лимита модели, неделя - 50%, месяц - 100%.
У DeepSeek V4.1 Flash в тарифе Go месячный лимит $100, у Go Plus - $200; в консоли сейчас висит временная акция с увеличенными лимитами, срок её не указан.
В подписке можно выбрать модель под задачу:
- DeepSeek V4.1 Flash
- GLM-5.3-Flash
- Kimi K3
- Qwen3.8 Flash
- GPT 6 Luna
- Grok 4.7 и другие
Список меняется, актуальный в консоли OpenCode. В моём профиле DSH прописана 21 модель, а по умолчанию стоит DeepSeek V4.1 Flash с максимальным уровнем рассуждений.
Как подключить к DSH:
- Зайди в консоль OpenCode, создай аккаунт и оформи подписку Go.
- В разделе Account создай личный API-ключ. Он показывается один раз, сохрани его в хранилище ключей.
- В DSH открой Settings → Models → Add model provider и добавь кастомного провайдера: base URL https://opencode.ai/inference/go, протокол OpenAI Chat Completions, путь /openai/v1/chat/completions, ключ из консоли.
- Нажми «получить список моделей» или добавь ID вручную: deepseek-v4.1-flash, glm-5.3-flash, kimi-k3, qwen3.8-flash.
- Выбери модель и дай первую задачу. Расход смотри в консоли OpenCode или в моей панели, о которой писал выше.
Для DeepSeek V4.1 Flash нужно один раз разрешить обработку в регионе Global: Settings → Privacy → Regions. По умолчанию платные эндпоинты, которые обучаются на запросах, ограничены регионами Европы и США.
Есть минус. DSH числится в официальном списке «известных проблемных клиентов» OpenCode Go.
Формально к запросам нужен заголовок сессии x-opencode-session, а DSH отдаёт его на части модельных путей. На практике подписка работает, но официальной гарантии нет: провайдер может поменять правила, и связку придётся чинить.
У меня это не единственный маршрут. Если в подписке кончился лимит одной модели, я переключаюсь на другую в том же окне, не меняя проект.
Как собрать свои плагины словами
Теперь к главному. Плагин в DSH добавляет что угодно: панель, маршрут на сервере, инструмент для агента, перевод или целую модель поведения.
Устроен плагин как обычный пакет: папка с манифестом, серверной частью, интерфейсной частью, переводами и иконкой. Интерфейсная часть рисует то, что ты видишь в панели, серверная - то, что она умеет делать.
Подключается пакет через менеджер плагинов профиля.
Creator mode упрощает вход. Ты описываешь в чате, чего хочешь, агент читает инструкцию по разработке плагинов, пишет код, ставит плагин и проверяет, что тот появился в интерфейсе.
Официальный сайт показывает это на демо с таймером.
Свои панели я собирал так же - словами в чате. Creator mode для этого не понадобился: агент умеет писать плагины и так, если объяснить, что нужно.
Как это выглядело у меня
DSH я поставил 1 ноября, и в тот же вечер агент сделал русский интерфейс.
2 ноября спросил, как подключить подписку OpenCode Go, но сессия оборвалась: закончился баланс DeepSeek API. Подписку подключил 5 ноября утром.
В тот же день за вечер появились первые две панели: лимиты и студия картинок. 6 ноября собрал артефакты: сначала агент изучил, как эта функция сделана в Claude Code, потом написал модули, прогнал тест и отдельное код-ревью.
Дальше разберу три панели и одну мелочь.
Лимиты OpenCode Go
Я сказал, что хочу видеть остаток подписки в боковой панели, а не ходить в консоль. Агент сделал панель, которая ходит в консоль OpenCode с моим ключом и раскладывает лимиты по моделям.
Ключ при этом остаётся в хранилище: страница получает только цифры.
Картинки
Задача была сложнее: подключить локальные модели, сделать промпт-мастер и историю. Агент собрал серверную часть с запуском моделей, интерфейс с галереей и переводы на три языка.
Я проверял на своих картинках и говорил, что не так.
Артефакты
Панель, в которой агент показывает HTML-страницы, а я кликаю варианты. Самое интересное здесь - мост: выбор на странице возвращается в чат обычным сообщением, и агент продолжает работу с этим выбором.
Стартовый экран
Отдельный маленький пример, что менять можно всё: я попросил заменить приветствие на «Привет, Александр!». Агент нашёл нужный текст и поправил его за пару минут.
Что пришлось чинить по ходу
После обновления установленного плагина DSH нужно полностью перезапустить, обновление страницы не помогает.
Сторонний плагин русской локализации пришёл со сломанным манифестом, и его пришлось править скриптом. Иногда после горячей перезагрузки остаётся старая панель, пока не перезапустишь приложение.
Это нормальная цена ранней версии. Главное: ни одной строки кода я не писал.
Писал задачи, проверял результат, формулировал правки. Та же работа, что я делаю с агентом в любом проекте, просто в итоге получается мой интерфейс.
Что работает неидеально
Чтобы не вышло рекламы, назову ограничения.
Версии DSH - все 37 релизов на GitHub помечены как pre-release. README предупреждает о ломающих изменениях: часть плагинов после обновления придётся чинить.
Обновления ломают плагины
5 ноября приложение само обновилось до версии 0.2.2-rc.1, и на следующий день сторонний плагин для Codex перестал быть совместимым: его пришлось удалить. Это нормальная плата за экспериментальный статус, но разбираться придётся.
Безопасность
В сентябре 2026 года нашли уязвимость CVE-2026-82533 с рейтингом 9.4 из 10: агент в песочнице мог одной командой отключить собственные ограничения.
Её закрыли с версии 0.1.2, но в самом файле SAFETY.md до сих пор написано, что продукт не проходил аудит безопасности и не годится для продакшена.
Когда я собирал плагин артефактов, независимое ревью нашло в первой версии дыру: страница могла отправить в чат «выбор» без настоящего клика. Нашли и закрыли в тот же день.
Практический вывод: плагин получает доступ к твоим файлам и ключам. Ставь только те, чей код понимаешь или кому доверяешь, а ключи держи в хранилище, а не в текстовых файлах.
Телеметрия
По сообщениям пользователей на Hacker News, в десктопной сборке она включена по умолчанию, а в веб-версии отправляется только при явной отправке отзыва. Отключается в конфиге профиля, если для тебя это важно.
Стык с OpenCode Go официально не гарантирован, я писал об этом выше. MCP-серверы у меня прописаны и отвечают на подключение, но в списке инструментов пока не появились - разбираюсь.
Документация местами неполная, часть ответов приходится искать в коде и обсуждениях. Linux-десктопа нет.
По отзывам на Hacker News, в простое приложение занимает около 500 мегабайт памяти.
Если нужен стабильный агент для ежедневной работы прямо сейчас, я бы подождал или держал DSH вторым инструментом.
DSH или OpenCode: кому что
Сравнивать их в лоб некорректно, это разные категории.
OpenCode - зрелый ежедневный агент: терминал, десктоп, веб, расширение для редактора, стабильные релизы. Ты открываешь его в папке проекта и работаешь.
Для кода и рутины это надёжный выбор, на нём работает много разработчиков.
DSH - среда, которую можно переделать. Графический интерфейс, панели, плагины, несколько подписок и моделей в одном окне. Он моложе и нестабильнее. Его надо настраивать.
Зато даёт то, чего у терминального агента нет по определению: своё окно под свою работу.
В обзорах похожая формулировка. xCloud пишет: OpenCode - более безопасный инструмент на каждый день, а DeepSeek Harness - архитектура с большими последствиями.
AtlasCloud добавляет: гибкость помогает, если ты строишь инфраструктуру для агентов, и добавляет риск, если нужен инструмент на эту неделю.
Я бы сформулировал так. OpenCode - если тебе нужно сегодня работать и ты не хочешь возиться с интерфейсом.
DSH - если тебе тесно в чужом интерфейсе и ты готов потратить вечера на своё рабочее место. Можно держать оба: они решают разные задачи.
Почему за этим будущее
Первая причина - цена ошибки в выборе модели. Год назад ставка на один инструмент означала ставку на одну модель.
Сейчас выигрывает тот, у кого оболочка не привязана к модели и подписке. Сегодня DeepSeek, завтра GLM, послезавтра Claude - среда остаётся.
Вторая - категория harness консолидируется. Свои оболочки уже сделали DeepSeek, xAI, Moonshot, Z.ai и Meta.
Это признак зрелости: инструменты перестают быть монолитами и становятся слоями, которые можно собирать под задачу.
Третья - кастомизация перестала быть делом программистов. Creator mode и плагины дают человеку без кода собрать панель, виджет или целый рабочий раздел.
Через год я ожидаю, что интерфейс агента будет таким же личным, как рабочий стол: под себя, под свои задачи, без оглядки на чужой дизайн.
Что сделать на этой неделе:
- Поставь DSH и подключи одну подписку или ключ. Хватит DeepSeek API или OpenCode Go.
- Открой свой текущий проект и дай агенту прочитать его, ничего не меняя.
- Найди в интерфейсе одну вещь, которая раздражает, и попроси агента её поменять. Начни с малого: шрифт, панель, перевод, счётчик.
Дальше решай по опыту: если за неделю настроил своё окно и не хочешь возвращаться в терминал - это твой инструмент. Если раздражают баги и обновления - держи DSH для экспериментов и продолжай работать в OpenCode или Codex.
Частые вопросы
DSH бесплатный?
Сама среда бесплатная, лицензия MIT. Оплачиваются токены моделей: через подписку OpenCode Go или напрямую по ключу DeepSeek.
Работает на Windows?
Да, есть десктопная сборка для Windows 64-bit. Для Linux - только npm, CLI или сборка из исходников.
Можно ли пользоваться из России?
Среда ставится и работает. У подписки OpenCode Go и DeepSeek API свои условия: проверяй оплату и регионы до покупки.
Чем это отличается от Claude Code и Codex?
Это другой слой. Claude Code и Codex - готовые агенты, DSH - среда, в которую ты подключаешь модели и перестраиваешь интерфейс.
В DSH собираешь своё окно для нескольких моделей сразу, а готовые агенты работают рядом.
Что будет с моими настройками после обновления?
Профиль живёт в ~/.dsh, но плагины приходится обновлять вручную, а часть может сломаться из-за ломающих изменений. Делай копию профиля перед крупными обновлениями.
Источники и что почитать
- Официальный сайт DeepSeek Harness - режимы, Creator mode, ссылки на загрузку.
- Репозиторий на GitHub - README, SAFETY.md, релизы.
- Документация - архитектура, провайдеры, скиллы, слоты интерфейса.
- OpenCode Go: планы, модели, лимиты - официальные условия подписки.
- Подключение к сторонним клиентам - ключ, base URL, заголовки.
- Моя прошлая статья: Чем заменить Claude Code в России: Codex и OpenCode Go.
Проверено 6 ноября 2026 года. DSH в developer preview, поэтому часть инструкций и цен может устареть через месяц.
Если хочешь следить за тем, как я собираю такие инструменты, - заходи в Telegram-канал.