DeepSeek Harness на Windows

DSH написан под Node.js и на Windows работает нативно: без WSL, без виртуалок, без Docker. Нужен установщик Node.js и одна команда в PowerShell. Ниже всё по шагам, а в конце что делать, если вместо запуска терминал показывает ошибку.

Шаг 1. Установите Node.js

Зайдите на nodejs.org и скачайте LTS-версию для Windows, это установщик .msi. Мастер проходите с настройками по умолчанию, только проследите, чтобы пункт «Add to PATH» остался включённым: без него дальше ничего не заработает. Вместе с Node.js приходят npm и команда npx, именно она запускает DSH. В репозитории проекта для разработки заявлен node ^22.19.0 || >=24.0.0, актуальная LTS подходит.

После установки закройте терминал и откройте заново: окна, открытые до установки, про новый PATH не знают. Проверьте:

node -v
npm -v

Обе должны напечатать версию. Если вместо этого «не является командой», смотрите ошибки ниже.

Шаг 2. Запустите DSH из PowerShell

Откройте Терминал Windows или PowerShell (в меню «Пуск» наберите «PowerShell»). Перейдите в папку проекта, она и станет рабочей папкой агента:

cd C:\Users\ИМЯ\Projects\my-project

И запустите веб-интерфейс:

powershell · npx $ npx @deepseek-ai/dsh web

При первом запуске npx может спросить разрешение скачать пакет (Ok to proceed? (y)), ответьте y. Пакет качается не мгновенно. Потом в терминале появится строка dsh web: с адресом вида http://127.0.0.1:3080/…, и браузер по умолчанию откроет его сам. В адресе одноразовый токен, поэтому если браузер не открылся, копируйте всю строку целиком, а не просто 127.0.0.1:3080.

Окно PowerShell не закрывайте, в нём работает сервер. Остановить его можно через Ctrl+C.

Полезные флаги

npx @deepseek-ai/dsh web --no-open      # не открывать браузер, только напечатать адрес
npx @deepseek-ai/dsh web --port 8080    # если порт 3080 занят

Флаги относятся к веб-приложению и ставятся после web. А вот открыть сервер всей сети через --host 0.0.0.0 не выйдет: CLI отказывает намеренно, из соображений безопасности, так что интерфейс доступен только с этого компьютера.

Шаг 3. Модель и рабочая папка

  1. Ключ модели В интерфейсе откройте Settings → Models, вставьте ключ DeepSeek API в карточку DeepSeek и сохраните. Другие провайдеры и локальные модели добавляются там же.
  2. Рабочая папка Нажмите Choose workspace, добавьте папку проекта и выберите её. Без этого поле ввода задачи неактивно.
  3. Первая задача Для начала что-нибудь безобидное, например «опиши структуру проекта и его основные модули». Что дальше, рассказывает быстрый старт.

Какой терминал использует агент

На Windows агент выполняет команды через PowerShell, а не через bash: в составе DSH есть инструмент pwsh, аналог инструмента bash для Windows. Ищет он сначала PowerShell 7 (pwsh) в стандартных местах установки и в PATH, а если не находит, берёт встроенный Windows PowerShell 5.1. Работает и так и так, но я бы поставил PowerShell 7: он по умолчанию использует UTF-8, а у 5.1 кириллица во вводе может превратиться в кракозябры. Ставится PowerShell 7 с GitHub или командой winget install Microsoft.PowerShell.

Команды агент пишет в диалекте PowerShell, с путями вида C:\… и переменными $env:NAME. Права по умолчанию workspace-write: писать можно только в рабочую папку и временные каталоги. На Windows за это отвечает песочница на ACL и ограниченном токене, и авторы сами называют её частичной (partial). Я бы не полагался на неё как на единственную защиту.

Типовые ошибки

«node» не является внутренней или внешней командой

Node.js не попал в PATH, или терминал открыт раньше, чем вы поставили Node.js. Закройте все окна терминала и откройте заново. Не помогло? Запустите установщик Node.js ещё раз и проверьте, что пункт «Add to PATH» включён.

npx.ps1 cannot be loaded because running scripts is disabled

PowerShell по умолчанию запрещает запуск скриптов, а npx в нём как раз скрипт, npx.ps1. Разрешите локальные и подписанные скрипты для своего пользователя. Это стандартная рекомендация для Node.js на Windows, права администратора не нужны:

Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

Подтвердите Y и повторите запуск. Можно и не трогать политику, а запускать из cmd.exe, где работает npx.cmd, но тогда и всё остальное придётся писать в нём.

Порт 3080 занят

Другая программа (или второй экземпляр DSH) уже слушает порт. Запустите с --port 8080 или любым другим свободным.

Скачивание пакета обрывается

npx тянет пакет из реестра npm. Если сеть нестабильна или ходит через прокси, задайте переменные HTTP_PROXY/HTTPS_PROXY: их читает и npm, и сам DSH, когда ходит к модели. Подробнее в руководстве по прокси (англ.).

Нужен ли WSL

Нет. WSL, подсистема Linux внутри Windows, для DSH не нужна: Node.js и PowerShell есть в самой Windows. Смысл в WSL появляется, только если ваши проекты и так живут в Linux-окружении (Docker, Linux-сборки). Под этот случай в каталоге есть отдельная категория плагинов WSL и Windows: рабочие пространства внутри WSL, открытие Linux-путей в проводнике, диагностика сети между двумя системами.

Дальше