Блог

Headless-режим DeepSeek Harness: фоновый агент для кода через переменные окружения

Краткий ответ

DeepSeek Harness (dsh) — это не только Web UI по адресу http://127.0.0.1:3080. Он поддерживает и headless-агента для кода: без браузера, только DEEPSEEK_API_KEY в переменных окружения или в .env — и агент в фоне сам читает файлы, выполняет команды и правит код.

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

Что нужно для headless-режима

Headless-режиму нужен только работающий бэкенд с моделью. Минимальная конфигурация:

bash
export DEEPSEEK_API_KEY="sk-teamo-your-key"
export DEEPSEEK_BASE_URL="https://api.teamorouter.com/v1"

Либо в файле .env в корне репозитория (добавьте его в .gitignore):

bash
DEEPSEEK_API_KEY=sk-teamo-your-key
DEEPSEEK_BASE_URL=https://api.teamorouter.com/v1
DEEPSEEK_DEFAULT_MODEL=deepseek-v4-pro-free

После настройки headless-агент вызывает инструменты точно так же, как агент в Web UI, — только без визуального интерфейса, а результат возвращает через stdout или файл отчёта.

Разовый запуск: задача, которая выполняется и завершается

Самый распространённый вариант headless-режима — разовый запуск: вы даёте задачу, агент отрабатывает её до конца (или до лимита бюджета) и завершается:

bash
# пример: передаём задачу headless-агенту
dsh run "Fix the N+1 query in src/services/reporting.py and make the related tests pass"

Агент читает файлы → разбирается → правит → запускает тесты → исправляет по результатам — и так до готовности. Такая модель «выполнить до конца» идеально ложится на шаги CI: поручите ему детерминированные задачи вроде «исправить ошибки линтера» или «добавить тесты» — и это будет быстрее, чем делать их вручную.

Сервер автоматизации ACP: постоянные headless-сессии

Более продвинутый путь — сервер автоматизации ACP: он отдаёт новые агентные сессии по JSON-RPC через stdio и тоже требует DEEPSEEK_API_KEY. Это подходит для повторяющихся, скриптовых вызовов агента, когда не хочется каждый раз порождать новый процесс.

Как выбрать между двумя вариантами:

Форма Для чего подходит Особенность
Разовый запуск CI, задачи по расписанию Выполнение до конца, простота
Сервер ACP Долгоживущая интеграция, скриптовые вызовы Постоянная работа, переиспользование сессий

Запуск headless-агента на бесплатном тарифе

Headless-агенты хорошо сочетаются с бесплатным тарифом, потому что у задач с выполнением до конца предсказуемое число запросов:

bash
export DEEPSEEK_DEFAULT_MODEL="deepseek-v4-pro-free"   # 200/day

Одна задача «исправить баг + прогнать тесты» сжигает примерно 10–20 запросов (чтение файлов, правки, запуск тестов, итерации исправлений). При 200 запросах в день это 5–10 таких задач — достаточно для личной автоматизации. Для больших объёмов переключитесь на платную deepseek-v4-pro (без лимита на аккаунт, фиксированная цена $1.74/$3.48).

Типичные проблемы

Headless-агент не запускается или сообщает, что нет API-ключа?

Убедитесь, что DEEPSEEK_API_KEY экспортирован в той же оболочке, либо что .env лежит в корне репозитория и загружается. Сначала проверьте командой echo $DEEPSEEK_API_KEY.

Как понять, что headless-задача завершилась?

Следите за кодом возврата и stdout. Разовые запуски завершаются по окончании работы; сессии ACP выдают явное событие завершения сессии.

Может ли фоновый запуск выйти из-под контроля?

Да — если границы задачи размыты. В headless-режиме нет интерфейса, чтобы прервать агента на лету, поэтому: задавайте чёткие границы задачи, ограничивайте рабочий каталог и по возможности ставьте лимит бюджета. Не позволяйте агенту свободно бродить по большому репозиторию.

Использует ли headless-режим те же инструменты, что и Web UI?

Да. Инструменты берутся из тех же плагинов и пресетов; разница только в визуальном интерфейсе. Результат в headless-режиме возвращается через stdout или отчёт.

Можно ли запускать его по расписанию?

Да. Оберните headless-команду в cron / launchd / CI с настроенным .env — и получите постоянную автоматизацию вроде «автоисправление линтера каждую ночь» или «еженедельный рефакторинг».

Чтобы развернуть фонового агента для кода, получите ключ в TeamoRouter, настройте переменные окружения и встройте headless-команду dsh в свои скрипты или CI.

Готовы подключиться?Войдите в консоль, пополните баланс и создайте API-ключ.
Headless-режим DeepSeek Harness: фоновый агент для кода через переменные окружения · TeamoRouter