Track
DeepSeek Harness создан, чтобы выполнять задачу, а не просто отвечать на вопрос. Это открытый рантайм агента, который подключает модель к вашему репозиторию, терминалу, инструментам и истории сессии. Попросите его исправить баг — он сможет просматривать файлы, редактировать код, запускать тесты и реагировать на сбой команды. Один вызов модели сам по себе на это не способен.
Менее привычная часть скрывается под этим процессом. DeepSeek Harness представляет адаптер модели, инструменты, сессии, песочницу и даже цикл агента как плагины, которые координирует Cordis. Модель — это лишь часть агента, а не сам продукт.
Это не завершённое ПО. Harness всё ещё в статусе предварительного просмотра для разработчиков; его API могут ломаться между релизами, а в разделе о безопасности прямо сказано, что аудита не проводилось. Ниже рассмотрим эти ограничения вместе с архитектурой и отличиями от Claude Code, Codex и OpenCode.
Кратко
- Что это: DeepSeek Harness — открытый рантайм агента, а не модель. Он даёт модели инструменты, сессии, песочницу и агентный цикл.
- Основная идея: Cordis представляет адаптер модели, инструменты, хранилище сессий, песочницу и агентный цикл как взаимозаменяемые плагины.
- Сессии: Журнал событий только для дописывания поддерживает продолжение, ветвление, поиск, воспроизведение и представление Trajectory.
- Режимы: Standard, PTC, Minimal и Creator меняют, какие инструменты доступны агенту и как он к ним обращается.
- Главное отличие: DeepSeek Harness позволяет разработчикам заменять низкоуровневые компоненты рантайма, которые в Claude Code, Codex и OpenCode зафиксированы.
- Главное ограничение: Это по-прежнему предварительный просмотр для разработчиков без аудита безопасности; API могут меняться между релизами.
Что такое DeepSeek Harness?
DeepSeek Harness, сокращённо dsh, — это открытый harness агента от DeepSeek AI под лицензией MIT. Он располагается между языковой моделью и внешним миром, предоставляя инструменты, сессии, песочницу и цикл, который двигает задачу вперёд.
Собственная формулировка DeepSeek: «Agent = Model + Harness». Модель отвечает за рассуждение и генерацию. Harness — это всё, что позволяет этим рассуждениям действовать с реальной файловой системой и продолжать работу без постоянных повторов постановки задачи.
Он работает на Cordis — плагинном фреймворке, появившемся раньше DeepSeek Harness. Cordis позволяет заменять эти части независимо настройками. К цене этого выбора мы ещё вернёмся.
С таким контекстом — две распространённые ошибки восприятия.
DeepSeek Harness — это не AI‑модель
Как уже упоминалось, модель и рантайм — это разные слои. Такое разделение позволяет менять провайдера, не трогая инструменты или конфигурацию сессий. Один и тот же рантайм может использовать DeepSeek, Anthropic, OpenAI или совместимую с OpenAI конечную точку.
DeepSeek Harness — это больше, чем помощник по коду
Режим Standard создаёт впечатление кодового ассистента, но это лишь одна конфигурация. Как будет показано дальше, режимы Minimal и Creator меняют доступные агенту средства. Построение новой конфигурации по‑прежнему требует инженерной работы; у разработчиков есть доступ к компонентам.
Как Cordis организует плагины DeepSeek Harness
Как уже отмечалось, Cordis — это плагинный фреймворк под DeepSeek Harness. Он позволяет каждой части запрашивать сервис без привязки к коду одного провайдера.
Cordis вырос из экосистемы чат-ботов Koishi и был создан разработчиком под ником Shigma; DeepSeek поставляет и расширяет его. Авторы описали дизайн в статье A Programming Paradigm for Spatiotemporal Composability.
Эти основы приводят к главному слогану проекта и двум терминам Cordis. Названия звучат академично, но поведение довольно простое.
«Всё — это плагин»
В документации по архитектуре DeepSeek говорится, что вы расширяете dsh путём подключения плагина рядом с другими. Адаптеры модели, инструменты, сессии, песочницы, хранилища, планирование, цикл агента и интерфейс — всё это плагины.
Если понимать слоган буквально, он заходит слишком далеко. Под плагинами всё равно находится Cordis. Он загружает и удаляет их, проверяет их требования и запускает события, через которые они общаются. Cordis обязателен, это не ещё один опциональный модуль.
Пространственная композиционность управляет зависимостями плагинов
Плагин объявляет нужные ему сервисы без ручной процедуры запуска. Он активируется, когда эти сервисы доступны, и деактивируется, если обязательный сервис исчезает. Его зависимости определяют, когда он может работать.
DeepSeek называет это пространственной композиционностью. Зависимости подсказывают Cordis, где компоненту место, так что разработчикам не требуется вручную выстраивать порядок старта.
Временная композиционность сворачивает эффекты плагина
Cordis также отслеживает регистрации, такие как обработчики событий, секции подсказок и схемы инструментов. Удаление плагина удаляет и эти эффекты, не оставляя «осиротевших» обработчиков. Это не отменяет внешнее действие вроде команды оболочки; обратимость применима только к эффектам, которые отслеживает Cordis.
Архитектура DeepSeek Harness: как устроен рантайм
Запущенный экземпляр — это дерево плагинов, собранное из настроек, загружаемых в заданном порядке. Эти настройки определяют, какие части активны.

Cordis соединяет все взаимозаменяемые плагины рантайма. Изображение автора.
Сервисы Cordis позволяют плагинам находить друг друга
Cordis предоставляет общее хранилище сервисов. Плагины используют стабильные ключи, такие как ctx.tools, ctx.llm и ctx.sessions вместо импорта кода конкретного провайдера. Инструмент, вызывающий ctx.llm, не обязан знать, какой адаптер модели стоит за ним.
Пресеты агента и профили рантайма управляют разными слоями
Если всё взаимозаменяемо, всё равно кто‑то должен решить, что будет подключено при конкретном запуске. DeepSeek Harness отвечает на это на двух уровнях, которые легко спутать.
Коротко: профиль управляет тем, как запускается программа, а пресет — что может делать агент. Если вы пользуетесь только веб‑приложением, можно пропустить следующие два подраздела.
Профили рантайма
Профиль рантайма (web, headless, sdk, sdk-minimal и acp поставляются как шаблоны) определяет, как запускается приложение и какие наборы плагинов Cordis подключаются при старте. Большинство читателей столкнётся с этим уровнем лишь при запуске dsh web или похожей команды.
Пресеты агента
Пресет агента (Standard, PTC, Minimal или Creator) определяет, что доступно активной сессии. Патч‑файл может сменить пресет без правки исходников Harness.
Агентный цикл координирует ходы, шаги и вызовы инструментов
DeepSeek различает шаг и ход. Шаг — это один запрос к модели плюс его вызовы инструментов. Ход — это ноль или больше шагов: он открывается, когда принимается первый ввод, и закрывается, когда ничего не остаётся «в долгу». В большинстве ходов выполняется несколько шагов, прежде чем агент ответит, но отклонённый ввод закрывает ход, который не израсходовал ни одного шага.

Один ход может содержать несколько шагов. Изображение автора.
Сессии используют журнал событий только для дописывания
Это, по моему мнению, самый важный элемент. Сессия — это журнал типизированных событий только для дописывания, а не массив чат‑сообщений. Harness собирает историю модели из этого журнала, и в документации по сессиям требуется, чтобы всё, что отправляется модели, можно было восстановить из него.
Продолжение, форк, поиск, воспроизведение и представление Trajectory опираются на этот поток событий.
Повторное выводение истории — это не детерминированный перезапуск. Вывод модели и внешнее состояние могут отличаться, но журнал по‑прежнему даёт проверяемую запись того, что произошло.

История сессии — это журнал только для дописывания. Изображение автора.
Как DeepSeek Harness управляет инструментами и песочницами
Модель может запросить инструмент по имени, но запустить его напрямую не может. Между запросом и изменением файловой системы стоят два независимых контура управления.
Конвейер выполнения инструмента
Вызов проходит через проверку политики, исполнение и обработку результата. Модель выбирает инструмент; рантайм решает, будет ли и как он выполнен.

Рантайм решает, как выполнять инструменты. Изображение автора.
Песочницы и подтверждения
- Подтверждение отвечает на вопрос, нужно ли пользователю одобрить действие.
- Песочница ограничивает место и способ выполнения.
DeepSeek держит их раздельно, хотя пресеты разрешений объединяют оба механизма, подобно тому как рантайм контейнеров разделяет разрешения процесса и границы выполнения.
Важно отметить уже сейчас, так как это вернётся в разделе ограничений: указание модели в системном промпте «только читать файлы» — это рекомендация, которой она может последовать, а не жёсткая граница, как ограничение на уровне ОС в песочнице.
Режимы DeepSeek Harness: Standard, PTC, Minimal и Creator
DeepSeek Harness предлагает четыре разных режима. Ни один из них не «старше» остальных. Это четыре ответа на вопрос «какую часть рантайма следует открыть для этой сессии», и правильный выбор зависит от задачи. Как показал раздел об архитектуре, каждый режим меняет набор инструментов, доступных агенту.

Четыре режима используют общую базу рантайма. Изображение автора.
Режим Standard
Базовый режим общего назначения:
- Редактирование файлов
- Доступ к оболочке
- Поиск по файлам и в интернете
- Навыки
- Планирование
- Цели
- Субагенты
- Рабочие процессы
Для обычной работы с репозиторием я бы начал отсюда.
Режим PTC
Режим PTC сохраняет почти весь набор инструментов Standard, но меняет способ доступа модели к ним. (Начиная с версии 0.1.2, Web PTC по умолчанию больше не открывает универсальный инструмент workflow.)
Вместо запроса отдельных инструментов через несколько шагов модель пишет программу против сгенерированного SDK. Эта программа может вызывать несколько инструментов через run_code. Каждый вызов всё равно проходит те же проверки политики, так что PTC меняет способ формулирования плана, а не перечень разрешённых действий.
На странице продукта всё ещё используется название «Code mode», но в более новом официальном релизе его переименовали в PTC при сохранении читаемости старых разговоров. В дальнейшем используется термин PTC; в ЧаВо мы вернёмся к возможной расшифровке аббревиатуры.
Режим Minimal
Режим Minimal сводит окружение к двум инструментам: постоянной оболочке и файловому редактору с заменой строк. DeepSeek использует его для бенчмарков моделей, поскольку результаты тестов зависят частично от harness, а не только от весов модели.
Режим Creator
Режим Creator позволяет разработчикам исследовать рантайм и тестировать плагины Cordis в памяти. Он предназначен для создания пресетов, и я бы не называл его самоулучшающимся в каком‑то более глубоком смысле.
Чем DeepSeek Harness отличается от других фреймворков агентов?
DeepSeek Harness отличается от многих фреймворков агентов тем, что делает нижние части рантайма взаимозаменяемыми. Я почти включил это в раздел об архитектуре, но различие легко упустить. Cordis управляет этими изменениями через единую плагинную систему.
Можно менять способ работы агента, а не только набор вызываемых инструментов. Журнал событий также даёт прогон, который разработчики могут исследовать, а не только читать как чат‑расшифровку. Режимы Minimal и Creator позволяют тестировать рантайм с двух противоположных сторон.
DeepSeek Harness против Claude Code, Codex и OpenCode
Список функций упустил бы суть. У каждого конкурента есть расширения; важный вопрос — какие части разработчики могут менять. Различие звучит несущественно, но это не так. В подробном сравнении Harness и Claude Code используется одна и та же модель и разбираются настройка, логи и стоимость.
DeepSeek Harness vs. Claude Code
Claude Code поддерживает проектные инструкции, навыки, хуки, MCP, субагентов и Agent SDK, но при этом фиксирует встроенный цикл. DeepSeek Harness позволяет разработчикам заменять цикл, адаптер модели и слой хранилища настройками.
DeepSeek Harness vs. Codex
Codex требует более тщательного сравнения, поскольку его CLI и App Server тоже открыты. Он предоставляет harness агента, который разработчики расширяют через документированные точки входа. DeepSeek Harness изначально ориентирован на изменение самого рантайма. Уровень контроля различается.
DeepSeek Harness vs. OpenCode
OpenCode уже открыт, работает с несколькими провайдерами моделей и использует клиент‑серверную архитектуру. Можно настраивать его инструменты, разрешения, сессии и провайдеров. Его плагины расширяют фиксированное серверное ядро, тогда как в DeepSeek также можно заменить цикл и хранилище сессий.
Когда стоит использовать DeepSeek Harness
Замена частей рантайма сама по себе бесполезна. Дополнительный контроль важен лишь тогда, когда он решает уже существующую у вас задачу.
- Когда сам рантайм — часть проекта. Если вы модифицируете адаптеры модели, агентный цикл, хранилище или поведение сессий, а не просто строите поверх агента, это более прямое попадание.
- Когда вы сравниваете модели в контролируемой среде. Использование одного рантайма фиксирует больше параметров теста при замене модели, хотя модели могут отличаться использованием инструментов и стилем рассуждения.
- Когда важно отладить сложный прогон. Журнал событий сессии и представление Trajectory упрощают восстановление того, что видела модель и какие инструменты запускались.
- Когда вы тестируете внутренности агента. Режим Creator и Cordis предназначены для разработчиков, изучающих состав агентов, а не только для тех, кому нужен готовый прикладной код.
Для простых вызовов модели или команд, которым нужен готовый кодовый агент без вмешательства во внутреннее устройство, это может быть излишним. Замена большего числа частей окупается лишь тогда, когда контроль реально решает задачу.
Ограничения DeepSeek Harness: статус превью и риски безопасности
Без ясного понимания текущих слабых мест вышесказанная архитектура мало что значит.
Это всё ещё предварительный просмотр
В репозитории DeepSeek прямо сказано, что будут несовместимые изменения. Это уже произошло: переименование Code в PTC сопровождалось изменениями API сессий и удалением опционального хранилища SQLite. Фиксируйте версии. Пропустить этот шаг и надеяться на стабильность настройки — не план.
Больше контроля — больше сложности
Чем больше частей рантайма можно заменить, тем больше разработчикам предстоит изучить: зависимости плагинов, настройки, отличия провайдеров и совместимость версий. Это обычный компромисс между удобством и контролем.
Локальный ли DeepSeek Harness?
DeepSeek Harness по умолчанию хранит содержимое сессий, записи об инструментах и настройки локально, согласно его заявлению об обработке данных. Можно отключить анонимные отчёты о настройках и списках проектов.
Но внешний провайдер модели, веб‑инструмент, сервер MCP или плагин всё ещё могут отправлять данные за пределы вашей машины по своей политике. «Local‑first» не покрывает каждую подключаемую службу.
Запуск агентов несёт риски безопасности
Рантайм, который может редактировать файлы, выполнять команды и загружать сторонние плагины, способен нанести реальный ущерб. В уведомлении о безопасности DeepSeek говорится, что аудит не проводился. Песочницы, подтверждения и контроль разрешений снижают риск, но не гарантируют изоляцию.
Запуск ПО на собственной машине не устраняет риск. Используйте ограниченные права и одноразовую среду для недоверенного кода и будьте осторожны с контентом, который может содержать скрытые инструкции.
Почему поведение агента зависит не только от модели
Поведение агента зависит и от рантайма, и от модели. Это возвращает нас к формуле «Agent = Model + Harness», и то же разделение применимо к агентам LLM не только в DeepSeek.
На то, что может сгенерировать модель, влияют её веса. На то, что делает агент, — какие контексты доходят до модели, какие действия разрешены и насколько жёстко ограничено выполнение. Ничего из этого не живёт в весах.
DeepSeek Harness визуализирует этот окружающий слой, разбивая его на именованные части, которые разработчики могут заменять. Режим Minimal показывает, почему это важно за пределами DeepSeek: результат бенчмарка частично отражает использованный harness, а не только модель. Harness не делает модель умнее. Он меняет среду, в которой модель работает.
Заключение
Главная мысль из вступления стоит того, чтобы её запомнить: модель рассуждает, но рантайм решает, к чему эти рассуждения получат доступ и что смогут сделать. DeepSeek Harness делает этот рантайм редактируемым — от адаптера модели и инструментов до хранилища сессий и агентного цикла.
Этот контроль имеет цену. Чем больше частей рантайма вы заменяете, тем больше берёте на себя в настройке, изменениях версий и границах безопасности. Предварительный просмотр для разработчиков с доступом к оболочке — это не то, что можно установить и забыть.
Моя позиция проста: используйте DeepSeek Harness, когда сам рантайм — часть вашей работы. Если вам нужны только правки в репозитории, готовый кодовый агент потребует от вас меньшего.
В нашем туториале по DeepSeek Harness разобрана установка. В гайде Альтернативы Claude Code сравниваются другие кодовые агенты, а Введение в AI‑агентов покрывает базу, на которую опирается эта статья.
Вопросы и ответы по DeepSeek Harness
Является ли DeepSeek Harness тем же самым, что и модель DeepSeek?
Нет, модель и рантайм — это разные вещи. Harness не включает веса модели и не выполняет инференс сам; он отправляет запросы в DeepSeek, Anthropic, OpenAI или на локальную модель.
Бесплатен ли DeepSeek Harness?
Само ПО распространяется по лицензии MIT и бесплатно. Платными будут услуги провайдера модели, к которому вы подключаетесь, поскольку инференс тарифицируется отдельно тем, кто запускает модель, плюс возможные инфраструктурные расходы на песочницы или внешние сервисы, которые вы добавите сверху.
Что на самом деле означает аббревиатура PTC?
В собственных релиз‑нотах DeepSeek используется «режим PTC» без утверждённой расшифровки, хотя по поведению он соответствует «программируемым вызовам инструментов» (programmatic tool calling). Я бы относился к этому как к рабочему определению, а не подтверждённой аббревиатуре, пока DeepSeek явно не прояснит её.
Можно ли доверить DeepSeek Harness важный для меня репозиторий?
Ограничения всё же есть. Для важного репозитория работайте на копии или отдельной ветке, держите продакшн‑учётные данные вне среды и проверяйте каждый плагин перед загрузкой.
Означает ли «всё — это плагин», что я могу превратить его в любой агент по своему желанию?
Не без реальной инженерной работы. Замена адаптера модели или агентного цикла всё ещё требует плагина, который соблюдает нужный контракт сервисов. Плагинная система даёт доступ к большему числу частей; она не делает работу магически исчезающей.