⌘ IDE и клиенты

DeepSeek Harness (dsh)

DeepSeek Harness через TKBK: Settings → Models → Custom model API с протоколом Anthropic Messages (https://api.tkbk.online) или OpenAI Chat Completions (https://api.tkbk.online/openai/v1), ключ cr_… в TKBK_API_KEY, готовый cordis.patch.yml.

Обновлено ⏱ 5 мин
#deepseek harness#dsh#agent harness#custom model api#anthropic messages#openai-compatible

DeepSeek Harness (dsh) — открытый агентный харнес DeepSeek: веб-интерфейс, рабочие пространства, инструменты и плагины. Модели в нём подключаются как провайдеры; свой шлюз добавляется через Custom model API — с ключом TKBK работают Claude, GPT, Grok, DeepSeek и GLM.

✓
Что получится
Claude Sonnet 5, Opus 5.5, GPT-6.1 Sol и DeepSeek V4 Pro в сессиях dsh по одному ключу — оплата по токенам.

#Установка

terminal
npx @deepseek-ai/dsh web
# откроется http://127.0.0.1:3080

#Вариант A — в окне Settings → Models

  1. 1
    Добавьте провайдера

    Settings → Models → Add model provider, переключите карточку на Custom model API.

  2. 2
    Claude

    Provider ID — tkbk, Base URL — https://api.tkbk.online, API protocol — Anthropic Messages, API key — cr_ваш_ключ.

  3. 3
    Модели

    Fetch available models подтянет каталог TKBK; или добавьте ID вручную: claude-sonnet-5, claude-opus-5-5, claude-fable-5-1.

  4. 4
    Остальные модели

    Второй провайдер tkbk-openai: Base URL — https://api.tkbk.online/openai/v1, протокол OpenAI Chat Completions, тот же ключ, модели gpt-6.1-sol, grok-4.7, deepseek-v4-pro, glm-5.3. Один провайдер говорит на одном протоколе, поэтому их два.

  5. 5
    Выберите модель

    В пикере моделей появятся оба провайдера; выбранная модель становится моделью по умолчанию для новых сессий.

#Вариант B — файл cordis.patch.yml

То же самое одним файлом. Ключ берётся из переменной TKBK_API_KEY — задайте её в системе (macOS / Linux: export TKBK_API_KEY=cr_… в ~/.zshrc; Windows: setx TKBK_API_KEY cr_…, затем новый терминал). dsh перечитывает файл на следующем запросе, перезапуск не нужен.

~/.dsh/profiles/web/cordis.patch.yml
- id: llm-pi-ai
  config:
    providers:
      tkbk:
        displayName: TKBK Claude
        apiKeyEnv: TKBK_API_KEY
        api: anthropic-messages
        baseURL: https://api.tkbk.online
        models:
          - id: claude-sonnet-5
          - id: claude-opus-5-5
          - id: claude-fable-5-1
      tkbk-openai:
        displayName: TKBK
        apiKeyEnv: TKBK_API_KEY
        api: openai-completions
        baseURL: https://api.tkbk.online/openai/v1
        compat:
          supportsDeveloperRole: false
          maxTokensField: max_tokens
        models:
          - id: gpt-6.1-sol
          - id: grok-4.7
          - id: glm-5.3
          - id: deepseek-v4-pro
            compat:
              thinkingFormat: deepseek
⚠
Грабли
Если в файле уже есть блок llm-pi-ai, добавьте провайдеров внутрь него — override заменяет блок целиком. supportsDeveloperRole: false и maxTokensField: max_tokens нужны большинству шлюзов: без них dsh шлёт системный промпт ролью developer и лимит ответа как max_completion_tokens. Для DeepSeek V4 thinkingFormat: deepseek включает выключение размышлений уровнем off.

#Частые ошибки

СимптомПричинаРешение
MISSING_CREDENTIALключ не сохранён и переменная не заданавведите ключ в карточке провайдера или задайте TKBK_API_KEY и перезапустите dsh
404 на Claudeлишний /v1 в Base URLдля Anthropic Messages — ровно https://api.tkbk.online
шлюз отвечает ошибкой на каждый запросроль developer или max_completion_tokensдобавьте compat из примера на маршрут
Fetch available models пустойформат списка не распознанвпишите ID моделей руками — они работают так же

Проверка: в новой сессии попросите «опиши структуру этого репозитория» — расход появится в кабинете.

Не помогло?

Напишите в Telegram — поможем с настройкой и подберём тариф. Или вернитесь ко всем разделам документации.