Seedance 2.5 is live — 30-second cinematic video with native audio & real-person references
DeepSeek Harness и OpenAI-совместимый API: кэширование
2026/08/23

DeepSeek Harness и OpenAI-совместимый API: кэширование

Интеграция DeepSeek Harness с OpenAI-совместимым API: выбор Flash или Pro, проверка вызовов инструментов и расчёт стоимости кэшированных агентских циклов.

DeepSeek Harness может использовать OpenAI-совместимую конечную точку, когда плагину провайдера заданы четыре значения: базовый URL, API ключ, ID модели и путь Chat Completions. Для reAPI базовый URL — https://api.reapi.ai/v1, текущие ID моделей — deepseek-v4-flash и deepseek-v4-pro.[1][2]

Проект Harness всё ещё помечен как preview для разработчиков, поэтому названия команд и конфигурация могут измениться. Стабильная часть — контракт провайдера. Настроите её сначала, потом проверьте обычное сообщение и один вызов инструмента перед установкой дополнительных плагинов.

Четыре значения для маппинга

Параметр провайдера HarnessЗначение reAPI
Тип провайдераOpenAI-совместимый
Базовый URLhttps://api.reapi.ai/v1
API ключКлюч reAPI из переменной окружения
Модельdeepseek-v4-flash или deepseek-v4-pro

Не вставляйте ключ прямо в файл репозитория. Плагин провайдера должен читать его из переменной окружения или хранилища секретов, поддерживаемого текущим релизом Harness.

На уровне HTTP запрос должен разрешиться в:

POST https://api.reapi.ai/v1/chat/completions
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Этого минимального тела достаточно для проверки доступа к модели вне Harness перед отладкой поведения агента:

{
  "model": "deepseek-v4-flash",
  "messages": [
    { "role": "user", "content": "Reply with exactly: provider ok" }
  ],
  "stream": false,
  "max_tokens": 64
}

Если прямой запрос не работает, Harness — не причина. Сначала исправьте URL, ключ, ID модели, баланс или сетевой доступ.

Начните с Flash, сложные шаги переводите на Pro

Оба текущих варианта DeepSeek V4 предоставляют окно контекста в 1М токенов, до 384K выходных данных, использование инструментов, режим thinking, ввод изображений и кэширование контекста на маршруте reAPI.[2] Их цена и предназначенная нагрузка различаются кардинально.

МодельВход без кэша / 1MВход с кэшем / 1MВыход / 1MПервая работа Harness
DeepSeek V4 Flash$0.14$0.0028$0.28поиск по файлам, резюме, обычные правки
DeepSeek V4 Pro$1.74$0.0145$3.48архитектура, сложная отладка, длинные планы

Цикл агента повторяет инструкции, контекст репозитория и схемы инструментов. Это делает поведение кэша необычайно важным. Вход Flash с кэшем в 50 раз дешевле, чем без кэша; вход Pro с кэшем в 120 раз дешевле.

Используйте Flash по умолчанию при подключении агента. Направьте шаг на Pro только если требование к рассуждениям оправдывает примерно 12,4 раза большую ставку входа без кэша и выходных данных.

Сохраняйте стабильный префикс

Кэширование контекста наиболее полезно, когда начало последовательных запросов остаётся идентичным. В агенте кодирования этот префикс часто содержит:

  • системные инструкции;
  • политику репозитория;
  • определения инструментов и JSON схемы;
  • неизменный документ архитектуры;
  • предыдущий диалог перед новейшим результатом инструмента.

Переупорядочение инструментов, добавление временных меток в верхнюю часть или переформирование тех же инструкций с небольшими изменениями формулировок может предотвратить повторное использование префикса. Поместите изменяемое состояние после стабильного блока.

Например, цикл Pro с 200 000 стабильных входных токенов, 10 000 новых входных токенов и 8 000 выходных токенов стоит примерно:

200 000 кэшированных входных × $0.0145 / 1 000 000 = $0.0029
  10 000 новых входных       × $1.74   / 1 000 000 = $0.0174
   8 000 выходных            × $3.48   / 1 000 000 = $0.02784
                                                        -------
                                                        $0.04814

Без попадания кэша те же 210 000 входных токенов обходились бы в $0.3654 перед выходными данными. Макет контекста агента может иметь большее значение, чем обрезание нескольких сотен токенов из последнего сообщения.

Проверьте вызовы инструментов перед добавлением плагинов

Успешный ответ чата не доказывает, что агент может действовать. Запустите безобидный тест вызова инструмента дальше:

{
  "model": "deepseek-v4-flash",
  "messages": [
    { "role": "user", "content": "What files are in the current directory?" }
  ],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "list_files",
        "description": "List files in the current working directory",
        "parameters": { "type": "object", "properties": {} }
      }
    }
  ],
  "tool_choice": "auto"
}

Модель должна вернуть структурированный вызов инструмента. Harness выполняет локальную функцию и предоставляет результат в следующий ход. Если модель печатает «я бы перечислил файлы» как прозу, проверьте, передал ли плагин провайдера tools и вернул ли поля вызова инструмента помощника нетронутыми.

Пять точек отказа, выглядящих как проблемы модели

СимптомПроверьте сначала
Ответ 401Ключ отсутствует или Harness не унаследовал переменную окружения
Ответ 404Базовый URL или путь /v1/chat/completions был дублирован/пропущен
Модель не найденаИспользуйте точный ID deepseek-v4-flash или deepseek-v4-pro
Агент говорит но не действуетАдаптер провайдера потерял определения инструментов или выходные данные вызова
Ответ обрывается до концаThinking использовал бюджет выходных; увеличьте max_tokens

Thinking включён по умолчанию на текущем маршруте DeepSeek V4. Токены рассуждений учитываются в использовании выходных данных, поэтому малый лимит выходных может завершить план инструмента перед видимым для пользователя ответом.[2]

Протестируйте полный цикл агента с помощью одноразового репозитория

После прохождения проб сообщения и вызова инструмента дайте Harness небольшой репозиторий, созданный для тестирования интеграции. Он должен содержать читаемый файл, неудачный тест, один защищённый путь и безобидную команду. Попросите агента диагностировать тест, предложить исправление, запустить узкую проверку и остановиться перед любым коммитом или внешним действием.

Это выявляет четыре отказа интеграции, которые тест JSON вызова инструмента не может:

  • относительные пути разрешаются вне предполагаемого рабочего каталога;
  • выходные данные команды усекаются перед тем, как модель увидит ошибку;
  • инструмент патча изменяет окончания строк или кодировку файла;
  • граница утверждения применяется в интерфейсе, но не в плагине.

Повторите ту же задачу после перезагрузки Harness. Восстановление сеанса имеет значение в агенте кодирования, потому что долгие прогоны терпят неудачу в обычных границах: спящий ноутбук, перезагрузка процесса, тайм-аут провайдера или неправильный результат инструмента. Работающий первый ход — недостаточно.

Логируйте достаточно, чтобы отделить отказы времени выполнения и модели

Как минимум сохраняйте ID запроса, выбранную модель, использование токенов, токены попадания кэша, причину завершения, имя инструмента, длительность инструмента и очищенную ошибку. Не логируйте API ключи или неограниченное содержимое файлов.

Когда агент останавливается, эти поля отвечают на разные вопросы:

НаблюдениеВероятный уровень
HTTP 401/404 перед любыми выходными данными моделиКонфигурация провайдера
finish_reason: lengthБюджет выходных
Действительный вызов инструмента, но нет выполненияRuntime Harness/плагина
Инструмент выполнен, результат никогда не достигает моделиСериализация цикла
Повторённый полный вход с нулевыми попаданиями кэшаКонструкция контекста
Модель выбирает рискованную команду несмотря на правильную схемуМодель/промпт/политика утверждения

Без этого разделения команды часто переключают модели для исправления отсутствующей переменной окружения или переписывают промпты для исправления потерянного результата инструмента.

Не передавайте скрытые рассуждения как историю диалога

Ответ DeepSeek V4 может содержать содержимое рассуждений отдельно от финального ответа. Документация API рекомендует удалять предыдущее содержимое рассуждений перед следующим ходом.[2] Сохраняйте то, что необходимо для выставления счёта и отладки в соответствии с политикой продукта, но не добавляйте скрытые рассуждения к следующей истории пользователя/помощника, как если бы это было обычным содержимым.

Диалог должен сохранять видимый ответ помощника, структурированные вызовы инструментов и результаты инструментов, требуемые протоколом. Это сохраняет следующий запрос действительным и предотвращает рост контекста с материалом, который конечная точка не ожидает получить обратно.

Безопасность плагина принадлежит настройке, а не её следствиям

Предпросмотр Harness поддерживает плагины, что означает, что код третьих сторон может получать промпты, файлы, выходные данные инструментов или доступ в сеть. Перед включением:

  1. прочитайте исходный код плагина и поверхность разрешений;
  2. запустите Harness в одноразовом репозитории или песочнице;
  3. начните с инструментов файловой системы только для чтения;
  4. заблокируйте файлы секретов и родительские каталоги;
  5. потребуйте подтверждения для shell, установки пакетов, git push и внешних сообщений.

Конечная точка модели не может исправить чрезмерно разрешённый локальный плагин. Эта граница принадлежит агентному runtime.

Текущий контракт модели и примеры SDK находятся в документации API DeepSeek V4, с текущими ценами на странице модели DeepSeek V4.

References

  1. DeepSeek, "deepseek-harness" official repository, developer preview, accessed August 23, 2026.
  2. reAPI DeepSeek V4 API documentation, accessed August 23, 2026.
  3. DeepSeek Harness official product page, accessed August 23, 2026.