Что такое DSH?

DSH - это DeepSeek Harness, среда выполнения агентов с открытым исходным кодом, выпущенная DeepSeek по лицензии MIT. Точка входа в CLI буквально называется dsh, откуда и пошло сокращенное название.

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

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

Почему именно слово harness

Сама по себе модель только отвечает на вопросы. У нее нет файловой системы, оболочки, памяти о вчерашнем дне и способа остановить саму себя. DSH обеспечивает все это. Название заимствовано из области тестирования ПО: это каркас, который помещает компонент в реальную среду и наблюдает за тем, что он делает.

Все является плагином

Это архитектурное решение, на котором строится весь проект. В большинстве фреймворков для агентов адаптер модели и таблица инструментов являются частью основного кода, а плагины находятся на периферии. В DSH нет привилегированного ядра. Модели, инструменты, навыки, сессии, песочницы, хранилища, цикл агента, планировщик и пользовательский интерфейс - все это плагины Cordis, зарегистрированные в одном и том же Context.

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

  • ctx.model

    Адаптеры моделей

    Заменяйте модель, не меняя цикл выполнения.

  • ctx.tools

    Таблица инструментов

    Добавляйте, удаляйте или оборачивайте любую вызываемую возможность.

  • ctx.sessions

    Сессии

    Логи только для добавления, позволяющие воспроизвести запуск.

  • ctx.sandbox

    Песочницы

    Выбирайте, где выполняется код, созданный агентом.

  • ctx.loop

    Цикл агента

    Заменяйте сам поток управления шагом.

  • ctx.ui

    Интерфейс

    Веб, терминал или ваш собственный фронтенд.

Все действия во время запуска записываются

Сессии работают только на добавление. Завершенный запуск представляет собой файл, который можно прочитать, сравнить с помощью diff и воспроизвести. Это делает замену плагина измеримым изменением, а не субъективным ощущением. Если агент ошибается на шаге 40, запись шагов с 1 по 39 сохраняется.

Чем DSH не является

  • Это не модель.

    DSH запускает модель. Какую именно - решать вам, и это является плагином.

  • Это не облачный продукт.

    Вы запускаете его на своей машине или своем сервере. Уровня аккаунтов не существует.

  • Он еще не стабилен.

    Проект находится на стадии предварительной версии для разработчиков, и API плагинов все еще меняется между релизами.

Часто задаваемые вопросы

Как расшифровывается DSH?

DeepSeek Harness. Исполняемый файл CLI называется dsh, и в экосистеме повсеместно используется краткая форма: dsh plugin, dsh web, топик dsh-plugin на GitHub.

Является ли DSH тем же самым, что и модель DeepSeek?

Нет. DeepSeek публикует языковые модели, а DSH представляет собой отдельный проект с открытым исходным кодом, который запускает модель внутри цикла агента. DSH может управлять моделями DeepSeek или моделями любого другого провайдера, для которого есть плагин-адаптер.

Как связаны DSH и Cordis?

Cordis - это ядро плагинов, на котором построен DSH. Оно предоставляет объект контекста, реестр служб, внедрение зависимостей через inject и систему обратимых эффектов, которая позволяет чисто выгружать плагин. DSH представляет собой слой для работы с агентами, написанный поверх него.

Нужно ли мне писать плагин, чтобы использовать DSH?

Нет. Предустановки по умолчанию поставляются с готовой таблицей инструментов и адаптером модели. Плагины нужны для того, чтобы изменить это, когда стандартные настройки перестанут подходить.

Под какой лицензией распространяется DSH?

MIT, с полной публикацией исходного кода на GitHub.

Как сделать так, чтобы мой плагин появился на этом сайте?

Добавьте топик dsh-plugin в свой репозиторий на GitHub или опубликуйте пакет в npm с ключевым словом dsh-plugin. Реестр обновляется ежедневно.