Короткий ответ
DeepSeek Harness (dsh) — агентный харнесс с открытым кодом от DeepSeek AI: фреймворк для агентов с архитектурой «всё — плагин», построенный на Cordis и выпущенный под лицензией MIT. Сейчас он в статусе developer preview и быстро развивается, так что будьте готовы к изменениям, ломающим совместимость.
Для установки нужен только Node.js. Самый быстрый способ запуска:
npx @deepseek-ai/dsh web
Команда скачивает пакет и запускает Web UI — по умолчанию по адресу http://127.0.0.1:3080. Чтобы запустить его на DeepSeek V4 Pro / Flash — в том числе на бесплатном тарифе с 200 запросами в день, — укажите API-ключ и base URL от TeamoRouter. Подробности ниже.
Что такое DeepSeek Harness
Сначала — чем он является и чем нет. Индустрия сошлась на простой формуле:
Agent = Model + Harness
Модель — это мозг: веса, которые предсказывают токены. Харнесс — всё остальное: инструменты, которые агент может вызывать, файловая система и оболочка, к которым у него есть доступ, то, как субагенты передают друг другу информацию, как хранится и извлекается контекст, и — что критично — когда выполнение останавливается. Голая модель сама по себе плохо справляется с памятью, выполнением кода и вызовом инструментов; харнесс превращает чат-модель в работника, который действительно умеет править код и запускать команды.
Определяющая черта DeepSeek Harness — архитектура: всё — плагин. Файловая система, оболочка, адаптер модели, Web UI и субагенты — всё это заменяемые плагины Cordis. Это даёт две вещи: можно урезать набор возможностей агента (оставить ему только терминал и операции с файлами, без сети) и можно заменить одного провайдера (например, перевести модель с официального API на TeamoRouter), не трогая всё остальное.
Требования
- Node.js — любая свежая версия (для
npx). Для сборки из исходников дополнительно нужныpnpmиgit. - Рабочий бэкенд модели: API-ключ DeepSeek или ключ TeamoRouter (
sk-teamo-...), который даёт доступ кdeepseek-v4-pro-free/deepseek-v4-flash-free.
Способ 1: одна команда через npm (рекомендуется)
npx @deepseek-ai/dsh web
При первом запуске пакет скачивается, затем стартует Web UI. Откройте http://127.0.0.1:3080 — это консоль. Это самый простой путь на каждый день: без клонирования и без сборки.
Чтобы агент действительно что-то делал, настройте бэкенд модели. DeepSeek Harness читает конфигурацию модели из переменных окружения — важнее всего две:
export DEEPSEEK_API_KEY="sk-teamo-your-key"
export DEEPSEEK_BASE_URL="https://api.teamorouter.com/v1"
Добавьте их в профиль оболочки (~/.zshrc или ~/.bashrc) или экспортируйте перед запуском — и dsh будет отправлять запросы к модели на OpenAI-совместимый эндпоинт TeamoRouter, а не в официальный API DeepSeek. Полная инструкция по подключению — в статье Подключаем DeepSeek Harness к TeamoRouter.
Способ 2: сборка из исходников
Этот вариант подойдёт, если вы хотите вносить изменения, следить за самым свежим кодом или участвовать в развитии экосистемы плагинов:
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
pnpm dsh web и npx @deepseek-ai/dsh web — одна и та же команда: первая использует локальные исходники, вторая — опубликованную в npm сборку. На этапе developer preview сборка из исходников оправданна: main часто опережает релиз на несколько минорных версий.
После запуска: что есть в Web UI
http://127.0.0.1:3080 — локальная веб-консоль со следующими возможностями:
- Управление сессиями — создание, переключение и переименование сессий, параллельный запуск нескольких.
- Выбор модели — переключение между настроенными моделями (например,
deepseek-v4-proиdeepseek-v4-flash). - Панель инструментов — инструменты, которые агент реально может вызывать: bash, чтение и запись файлов, субагенты, веб-поиск и другие.
- Цели — разбивайте долгие задачи на цели с сохранением состояния, ставьте на паузу, возобновляйте, отмечайте выполненными.
Распространённое заблуждение — считать dsh «ещё одним окном чата». На деле это фронтенд среды выполнения агентов: вы задаёте цель, агент в цикле вызывает инструменты, пока не закончит, а интерфейс — ваше окно для наблюдения и вмешательства.
Минимальный рабочий пример
Задав DEEPSEEK_API_KEY / DEEPSEEK_BASE_URL, дайте агенту в Web UI такую задачу:
List the current directory, find the README, summarize its first paragraph in one sentence, and write it to /tmp/summary.txt
dsh последовательно вызывает bash (вывести список файлов, прочитать файл) и файловые инструменты, а затем отчитывается о результате. Это самая наглядная демонстрация того, как «харнесс превращает модель в работника».
FAQ
Привязан ли dsh к официальному API DeepSeek?
Нет. dsh не зависит от модели; DEEPSEEK_BASE_URL может указывать на любой OpenAI-совместимый эндпоинт. С TeamoRouter он работает с семейством DeepSeek V4 и может маршрутизировать Claude, GPT и Gemini по одному ключу.
Что значит «developer preview»?
Интерфейсы и конфигурация ещё будут меняться, так что не завязывайтесь в продакшене на конкретные детали API. Для разработчиков-одиночек, изучения архитектуры агентов и недорогих экспериментов с агентами он уже полностью пригоден.
Я всё установил, но агент не запускается или выдаёт ошибки авторизации
В девяти случаях из десяти переменные окружения просто не применились. Выполните echo $DEEPSEEK_API_KEY, чтобы убедиться, что ключ задан; проверьте, что DEEPSEEK_BASE_URL содержит /v1 (это нужно OpenAI SDK); и убедитесь, что ключ начинается с sk-teamo- и в нём нет случайных пробелов.
Как устроена бесплатная квота?
deepseek-v4-pro-free и deepseek-v4-flash-free в TeamoRouter дают по 200 запросов на аккаунт в день, и считаются запросы (один полный ход), а не токены. В агентном цикле каждый цикл вызова инструмента — это один запрос; подробнее — в статье deepseek-v4-pro-free: 200 запросов в день.
Чтобы недорого попробовать агентный цикл, зарегистрируйтесь в TeamoRouter, получите ключ, направьте на него DEEPSEEK_BASE_URL и запускайте DeepSeek V4 Pro в dsh бесплатно.