Короткий ответ
DeepSeek Harness (dsh) по умолчанию отправляет запросы к моделям в официальный API DeepSeek. Чтобы переключить его на TeamoRouter — доступ без прокси, один ключ на несколько провайдеров и бесплатный тариф deepseek-v4-pro-free, — нужны всего две переменные окружения:
export DEEPSEEK_API_KEY="sk-teamo-your-key"
export DEEPSEEK_BASE_URL="https://api.teamorouter.com/v1"
При желании задайте модель по умолчанию:
export DEEPSEEK_DEFAULT_MODEL="deepseek-v4-pro-free"
Перезапустите dsh — и он работает через TeamoRouter. Ниже — каждый шаг, почему это работает и типичные ошибки.
Три переменные окружения, которые имеют значение
DeepSeek Harness берёт настройки бэкенда моделей из переменных окружения. Вас касаются только три:
| Переменная | Назначение | Пример |
|---|---|---|
DEEPSEEK_API_KEY |
Ключ авторизации | sk-teamo-xxxxxx |
DEEPSEEK_BASE_URL |
Эндпоинт моделей | https://api.teamorouter.com/v1 |
DEEPSEEK_DEFAULT_MODEL |
ID модели по умолчанию | deepseek-v4-pro-free |
DEEPSEEK_BASE_URL— самая важная строка. По умолчанию dsh обращается к публичному API DeepSeek; если указать здесь TeamoRouter, каждый запрос к модели пойдёт через OpenAI-совместимый эндпоинт TeamoRouter. Не убирайте/v1— он нужен OpenAI SDK, без него вы получите 404.DEEPSEEK_API_KEY— ваш ключ TeamoRouter (начинается сsk-teamo-). Никогда не прописывайте его прямо в репозитории — используйте переменные окружения или.env.DEEPSEEK_DEFAULT_MODELзадаёт модель по умолчанию для новых сессий.deepseek-v4-pro— платная Pro,deepseek-v4-pro-free— бесплатный тариф на 200 запросов в день,deepseek-v4-flash-free— аналогично.
Полная настройка по шагам
1. Получите ключ. Зарегистрируйтесь в TeamoRouter и создайте API-ключ (sk-teamo-...) в консоли.
2. Добавьте переменные в профиль оболочки. Отредактируйте ~/.zshrc (или ~/.bashrc):
# DeepSeek Harness → TeamoRouter
export DEEPSEEK_API_KEY="sk-teamo-your-key"
export DEEPSEEK_BASE_URL="https://api.teamorouter.com/v1"
export DEEPSEEK_DEFAULT_MODEL="deepseek-v4-pro-free"
Затем выполните source ~/.zshrc, чтобы применить изменения.
3. Перезапустите dsh и проверьте.
npx @deepseek-ai/dsh web
Откройте http://127.0.0.1:3080, начните сессию и дайте задание, по которому видно, какая модель отвечает:
Introduce yourself in one sentence and tell me your current model ID.
Если в ответе упоминается deepseek-v4-pro-free (или выбранная вами модель), маршрутизация работает.
Зачем направлять dsh на TeamoRouter
У стандартной настройки с официальным API есть несколько болевых точек, которые снимает TeamoRouter:
- Доступ без прокси — прямые подключения к официальному API DeepSeek из некоторых регионов часто обрываются по таймауту; TeamoRouter оптимизирован под такие случаи.
- Бесплатный тариф —
deepseek-v4-pro-free/deepseek-v4-flash-freeдают по 200 запросов в день каждый: этого хватает на целый день лёгкой агентной работы. - Один ключ — много моделей — переключайтесь между DeepSeek, Claude, GPT и Gemini прямо в dsh, не регистрируясь и не пополняя баланс на каждой платформе отдельно.
- Единая цена — платная
deepseek-v4-proстоит фиксированные $1.74/$3.48, без пиковых и внепиковых тарифов, которые вводит DeepSeek (см. Цены на DeepSeek V4 после 16 августа).
Типичные ошибки
dsh запускается, но я получаю 404 / ошибку соединения?
Проверьте, что в DEEPSEEK_BASE_URL есть /v1. OpenAI-совместимый эндпоинт TeamoRouter — https://api.teamorouter.com/v1; OpenAI SDK дописывает к нему /chat/completions, поэтому без /v1 получается неверный URL.
Ошибка авторизации 401?
Ключ не применился или скопирован не полностью. Выполните echo $DEEPSEEK_API_KEY и убедитесь, что он начинается с sk-teamo- и не содержит лишних пробелов, а также что ключ не удалён в консоли.
Можно ли менять модель в отдельной сессии, не трогая значение по умолчанию?
Да. DEEPSEEK_DEFAULT_MODEL — всего лишь значение по умолчанию; в Web UI есть выбор модели, который переключает deepseek-v4-pro, deepseek-v4-flash и другие для каждой сессии отдельно.
Как переходить между бесплатными и платными моделями?
Когда бесплатная квота исчерпана, замените ID модели deepseek-v4-pro-free на deepseek-v4-pro — у платной модели нет лимита запросов на уровне аккаунта. Вся миграция — замена одного слова.
Что важнее — переменные окружения или .env?
dsh принимает и .env в корне репозитория, и переменные окружения процесса. Приоритет у явно экспортированных переменных окружения; если используете .env, добавьте его в .gitignore, чтобы ключ никогда не попал в коммит.
После настройки запускайте DeepSeek V4 Pro в dsh: сначала израсходуйте 200 бесплатных запросов, а дальше платите по фиксированным ставкам. Для начала зарегистрируйтесь в TeamoRouter.