Настройка DeepSeek Harness
DeepSeek Harness (команда dsh) — это официальный agent harness DeepSeek с открытым исходным кодом, построенный на архитектуре «всё является плагином»: модели, инструменты, навыки, сессии, песочницы и интерфейс — всё это заменяемые плагины. По умолчанию он обращается к официальному API DeepSeek; направьте его плагин моделей на OfoxAI — и тот же самый harness получит доступ к 100+ моделям.
dsh находится в стадии developer preview, и его сопровождающие предупреждают, что ломающие изменения ожидаемы. Это руководство написано для @deepseek-ai/dsh 0.1.2-rc.1.
Шаги настройки
1. Установка dsh
Сначала установите Node.js. dsh распространяется через npm под именем @deepseek-ai/dsh и после установки предоставляет команду dsh.
macOS
npm install -g pnpm # пропустите, если уже установлен
pnpm add -g @deepseek-ai/dsh
dsh --versionГлобальный каталог bin у pnpm должен быть в PATH; узнать его путь можно командой pnpm bin -g.
Во время установки pnpm может показать предупреждение Ignored build scripts: node-pty, koffi …. Его можно игнорировать — оба пакета поставляются с готовыми бинарниками для всех платформ и не требуют локальной компиляции.
Чтобы попробовать без глобальной установки:
npx @deepseek-ai/dsh web2. Настройка провайдера OfoxAI
dsh хранит свою конфигурацию в $DSH_HOME: на macOS и Linux это ~/.dsh, на Windows — %USERPROFILE%\.dsh. Выберите любой из двух вариантов ниже.
Выбирайте Base URL под свою сеть: в международных сетях используйте api.ofox.ai, а из материкового Китая — api.ofox.io. Это зеркало одного и того же сервиса: один и тот же API Key работает в обоих, а путь в обоих случаях — /v1.
Web UI (рекомендуется)
dsh webТерминал выведет URL с токеном (по умолчанию http://127.0.0.1:3080) и откроет браузер. Нажмите Settings в левом нижнем углу:

Перейдите к разделу Models в левой навигации:

Встроенная запись deepseek-official обращается к DeepSeek напрямую, поэтому для работы через OfoxAI нужно добавить пользовательского провайдера — нажмите Add a custom provider:

Заполните поля по таблице ниже, затем нажмите Fetch available models:
| Поле | Значение |
|---|---|
| Provider ID | ofox |
| Display name | ofox |
| Base URL | https://api.ofox.ai/v1 |
| API protocol | openai-completions |
| API key | Ваш API Key OfoxAI |

На скриншоте API protocol имеет значение openai-responses — это значение по умолчанию в форме, и его принимают только модели DeepSeek. Выберите openai-completions, чтобы работал весь каталог моделей.
Отметьте нужные модели, нажмите Add selected, а затем — Create provider в форме:

Вернувшись к сессии, при первом запуске нужно выбрать рабочее пространство — каталог проекта, который dsh разрешено читать и изменять. После этого все модели группы ofox доступны в селекторе моделей справа внизу поля ввода:

Ключ записывается в $DSH_HOME/.credentials.yaml (доступен для чтения только вашему пользователю ОС), а конфигурация провайдера — в $DSH_HOME/settings.yaml. Оба файла вступают в силу сразу, без перезапуска.
ID модели должен содержать префикс вендора — anthropic/claude-sonnet-5, а не просто claude-sonnet-5: такой вариант будет отклонён. Полный каталог смотрите в Маркетплейсе моделей .
3. Настройка API Key
В apiKeyEnv указывается имя учётных данных, а не сам ключ. dsh разрешает его в фиксированном порядке: окружение, в котором был запущен dsh, затем $DSH_HOME/.credentials.yaml, затем .env вашего проекта, затем .env в домашнем каталоге. Если вы настраивали через Web UI, ключ уже сохранён и этот шаг можно пропустить.
macOS
export OFOX_API_KEY=<ваш OFOXAI_API_KEY>4. Проверка
dsh --profile headless "Ответь строго: OK. Не вызывай никакие инструменты."Ответ OK означает, что слой моделей успешно доходит до OfoxAI. Для повседневной работы запускайте веб-интерфейс командой dsh web или выполняйте разовую задачу с выходом: dsh --profile headless "run the tests".
Различия между платформами
Содержимое файла конфигурации одинаково на всех трёх платформах — различаются только пути и синтаксис переменных окружения.
| macOS | Linux | Windows | |
|---|---|---|---|
Корень конфигурации $DSH_HOME | ~/.dsh | ~/.dsh | %USERPROFILE%\.dsh |
| Сохранение API Key | ~/.zshrc | ~/.bashrc | setx |
| Песочница shell-инструмента | Bash | Bash | PowerShell (песочница Bash отключается автоматически) |
Устранение неполадок
TIMEOUT: Request timed out. — dsh это Node-приложение, и оно не читает http_proxy / all_proxy, поэтому работающий системный прокси не означает, что dsh сможет подключиться. Если домен из baseURL недоступен в вашей сети, пользователям из материкового Китая следует переключиться на зеркало https://api.ofox.io/v1.
MISSING_CREDENTIAL — учётные данные, указанные в apiKeyEnv, не разрешились ни во что. Убедитесь, что переменная окружения действительно задана в том терминале, из которого был запущен dsh, либо что ключ сохранён в $DSH_HOME/.credentials.yaml. Другая причина — неверно выбранная модель: встроенный маршрут deepseek-official показывает свои модели в селекторе даже без настроенного ключа, причём под названиями, похожими на названия из вашего пользовательского маршрута.
Ответ пустой, и никакой ошибки нет — самая частая ловушка: сочетание api: openai-responses с моделью Anthropic завершает запрос штатно (finish reason: stop), но содержимое приходит пустым. Перенесите такую модель в маршрут openai-completions либо в маршрут anthropic-messages, указывающий на https://api.ofox.ai/anthropic.
INVALID_REQUEST / HTTP 400 endpoint_not_supported — в теле ответа написано Model '…' does not support the /v1/responses endpoint on this platform. Please use /v1/chat/completions instead. Так ведут себя модели Google и Qwen под openai-responses. Здесь тоже нужно поменять api на openai-completions.
Загрузка плагина падает с ошибкой дублирования маршрута — одно и то же имя маршрута зарегистрировано дважды. Проверьте, не определён ли ofox одновременно в $DSH_HOME/cordis.patch.yml и в settings.yaml.
Продвинутый вариант: настройка через слой patch
settings.yaml содержит пользовательские настройки времени выполнения и применяется со следующего запроса. Чтобы изменить саму сборку плагинов — заменить или отключить плагин — используйте слой patch в $DSH_HOME/cordis.patch.yml:
- id: llm-pi-ai
config:
providers:
ofox:
apiKeyEnv: OFOX_API_KEY
api: openai-completions
baseURL: https://api.ofox.ai/v1
- id: agent-default-model
config:
provider: ofox
model: deepseek/deepseek-v4-pro-0813Команда dsh web --dump-config выводит собранное дерево плагинов — так можно убедиться, что ваша конфигурация применилась.
Рекомендуемые модели
Рекомендуемые модели см. в Маркетплейсе моделей .
dsh быстро развивается, и поля его конфигурации могут меняться от версии к версии. Сверяйтесь с официальным репозиторием DeepSeek Harness .