Кейсы · Руководство 12
Руководство по DeepSeek Harness: безопасный запуск вашего первого кодирующего агента
Установите DeepSeek Harness, подключите модель, выберите рабочее пространство, выполните одну контролируемую кодирующую задачу и проверьте каждое изменение перед изучением его системы плагинов.

0 из 14 завершено
Проверено и протестировано по источнику: 17 августа 2026 года. Этот учебник был проверен с использованием DeepSeek Harness 0.1.0-rc.6, официального репозитория и руководств пользователя, а также локального запуска веб-интерфейса, который вернул HTTP 200. DeepSeek обозначает проект как предварительный просмотр для разработчиков и явно предупреждает, что возможны ломающее изменения.
DeepSeek Harness — это слой, который превращает языковую модель в агента, способного исследовать репозиторий, редактировать файлы, выполнять команды оболочки, вести план, делегировать работу и записывать происходящее. Модель предоставляет рассуждения и код. Харнесс предоставляет рабочее пространство, инструменты, разрешения, историю сессии и цикл агента.
Вирусный пост описывал выпуск как убийство индустрии кодирующих агентов. Это заголовок, а не доказанный результат. Более важная новость более практична: DeepSeek выпустила серьёзный агентский каркас с лицензией MIT, чьи адаптеры моделей, инструменты, системы сессий, пресеты и даже агентский цикл собраны в виде плагинов.
Код является открытым. Работа не является автоматически бесплатной. Вам всё ещё нужен совместимый конечный узел модели, и платные API могут взимать плату за токены, которые использует агент.
К концу этого руководства у вас будет запущен локальный веб-интерфейс, подключена модель, выбран временный Git-рабочий каталог и одно изменение, созданное агентом, которое вы самостоятельно проверили и протестировали.
Что вам понадобится
- macOS, Linux или Windows.
- Git.
- Node.js
22.19.0или новее в линейке Node 22, или Node.js 24 и новее. - Ключ API DeepSeek или учетные данные для другого поддерживаемого провайдера.
- Временный учебный каталог. Не запускайте вашего первого агента в важном репозитории.
Сначала проверьте два локальных инструмента:
node --version
git --version
Команды ниже используют релиз-кандидат, протестированный для этого урока. Закрепление версии важно во время предварительного просмотра для разработчиков, потому что незаполненная версия npx @deepseek-ai/dsh web запуска может получить новую сборку с измененным поведением.
1. Создайте репозиторий для безопасной практики
Создайте небольшой репозиторий, содержание которого вы можете позволить себе заменить:
mkdir deepseek-harness-practice
cd deepseek-harness-practice
git инициализация
npm инициализация -y
git добавить package.json
git коммит -m "Создать базовую практику"
Если Git запросит ваше имя или электронную почту, настройте их перед созданием базового коммита. Коммит дает вам чистую точку сравнения и простой способ восстановления.
Подтвердите исходное состояние:
git статус — короткий
Команда не должна ничего выводить. Если она показывает файлы, которых вы не ожидали, разберитесь с ними перед запуском агента.
2. Запустите веб-интерфейс
Запустите инструмент из практического репозитория:
npx @deepseek-ai/dsh@0.1.0-rc.6 веб
Первый запуск загружает большой граф зависимостей и может занять несколько минут. Дождитесь завершения этого процесса. Запуск второго npx запуска с использованием того же кэша может вызвать конфликт блокировки.
Когда запуск проходит успешно, терминал выводит локальный адрес:
dsh web: http://127.0.0.1:3080
Откройте этот URL в браузере. Держите терминал открытым; нажатие Ctrl-C остановит сервер.
Если порт 3080 уже занят, выберите другой локальный порт:
npx @deepseek-ai/dsh@0.1.0-rc.6 веб --порт 3081
Адрес привязки по умолчанию 127.0.0.1. Держите его локальным. Агент программирования может раскрывать содержимое репозитория и выполнять инструменты, поэтому этот Web UI не следует рассматривать как общедоступный сайт.
3. Подключите модель
В Web UI откройте Настройки → Модели. Введите ваш ключ API DeepSeek в карточке DeepSeek и сохраните его.
Ключ является только для записи в интерфейсе. Официальное руководство говорит, что буквальный секрет хранится в $DSH_HOME/.credentials.yaml; браузер получает скрытый дескриптор после сохранения. Изменения модели применяются к следующему запросу без перезапуска сервера.
Вы также можете добавить поставщиков каталогов, таких как Anthropic или OpenAI, либо определить собственный совместимый с OpenAI эндпоинт. Начните с одного поставщика. Настройка с несколькими поставщиками создаёт больше возможностей выбрать неправильную модель или учетные данные до того, как вы проверите базовый цикл.
4. Выберите рабочее пространство и самый безопасный полезный пресет
Щелкнуть Выбрать рабочее пространство, добавьте deepseek-harness-practice каталог и выберите его. Новый Web UI не активирует конструктор сессий, пока не выбран рабочий пространство.
Создайте новую сессию с этими параметрами:
- Предустановка агента: Стандартный.
- Предустановка разрешений:
workspace-write, которая объединяет песочницу с правами записи в рабочее пространство с политикой одобрения «спросить перед эскалацией». - Модель: модель DeepSeek, которую вы настроили.
Выбор разрешений закрепляется за сессией. Изменение значения по умолчанию позже влияет на новые сессии, но не на уже открытую.
Не выбирайте danger-full-access для этого упражнения. Эта предустановка снимает ограничение записи файлов и объединяет его с политикой одобрения «никогда не спрашивать».
5. Начните с ориентационной задачи только для чтения
Отправьте это сначала:
Просмотрите этот репозиторий, не изменяя никаких файлов.
Объясните, что здесь находится, перечислите команды, которые вы использовали бы для проверки,
и предложите одну небольшую задачу по кодированию, подходящую для smoke-теста каркаса.
Это проверяет четыре вещи без запроса на изменение:
- маршрут модели работает;
- агент видит выбранное рабочее пространство;
- инструменты оболочки и чтения файлов работают;
- агент может объяснить план перед выполнением.
Репозиторий содержит только package.json, поэтому ответ должен быть коротким. Если агент утверждает, что видит более крупное приложение, остановитесь и проверьте, какое рабочее пространство вы выбрали.
6. Выполните одну контролируемую задачу по кодированию
Теперь дайте агенту узкую задачу с тестируемой целью:
Создайте src/sum.js, экспортирующий функцию sum(a, b).
Добавьте test/sum.test.js, используя встроенный тестовый запускатор Node.
Обновите package.json так, чтобы npm test запускал тест.
Не устанавливайте зависимости.
Запустите тест, затем сообщите об изменённых файлах и точный результат теста.
Утверждайте только операции, соответствующие этому соглашению. Запрос на запись вне директории practice, установку пакета, чтение не связанных с этим секретов или выполнение необъяснённой сетевой команды выходит за пределы требований.
Полезная единица здесь — это не ответ в чате. Это комбинация:
- небольшого diff;
- проходящего теста;
- отсутствия неожиданных файлов;
- и объяснения, которое соответствует фактическому репозиторию.
7. Проверьте вне разговора с агентом
Вернитесь в отдельный терминал в том же репозитории practice и выполните:
git статус — короткий
git diff --проверить
git diff
npm тест
Проверяйте код вместо того, чтобы доверять сводке агента. git diff --check обнаруживает ошибки с пробелами; npm test доказывает, что команда теста работает из вашей собственной оболочки; git diff показывает, остались ли изменения в рамках задачи.
Если все правильно, создайте контрольную точку:
git добавить package.json src/sum.js test/sum.test.js
git коммит -m "Сначала проверьте задачу DeepSeek Harness"
Если это неверно, не просите агента скрывать доказательства. Опишите неудачную команду и ожидаемое поведение, позвольте агенту попытаться внести целенаправленное исправление и повторно выполните те же проверки сами.
8. Дайте агенту долговременные инструкции для проекта
DeepSeek Harness загружает применимые AGENTS.md или CLAUDE.md файлы для каждого профиля. Добавьте небольшой AGENTS.md файл в корень репозитория, когда те же правила должны применяться к будущим сессиям:
# Инструкции для проекта
- Не устанавливайте зависимости без одобрения.
- Сохраняйте изменения только внутри этого репозитория.
- Запуск `npm test` перед сообщением о завершении.
- Сообщайте о изменённых файлах, результатах тестов и оставшихся рисках.
Закоммитьте эти инструкции, чтобы рецензенты видели, когда и почему изменились правила работы агента. Делайте их конкретными. Большой манифест потребляет контекст, но всё ещё может не сказать агенту, какая команда доказывает выполнение задачи.
Для чего нужны четыре предустановки агента
Веб-интерфейс поставляется с четырьмя композициями. Они используют один и тот же сервер, но открывают разные возможности модели.
| Набор | Что он открывает | Используйте его, когда |
|---|---|---|
| Стандартный | Редактирование файлов, shell, поиск по файлам и в интернете, Навыки, планы, цели, субагенты и рабочие процессы | Вы хотите обычный опыт работы с агентом кодирования |
| PTC / режим кода | Стандартные возможности, представленные через SDK режима кода, чтобы модель могла создавать многоэтапные операции на TypeScript | Накладные расходы на вызов инструментов становятся узким местом, и вы можете проверять сгенерированную программу |
| Минимальный | Постоянный Bash и str_replace_editor только | Вы тестируете модель с намеренно маленькой средой или воспроизводите конфигурацию бенчмарка |
| Режим создания / Cordis | Стандартные возможности плюс инспекция во время выполнения, эксперименты с плагинами и руководство по созданию пресетов | Вы готовы создавать или изменять композиции среды |
Начните с Standard. Minimal полезен для контролируемых сравнений, а не потому, что меньшее количество инструментов автоматически делает агента лучше в повседневном использовании. Режим Create предназначен для разработки расширений; он позволяет агенту исследовать и экспериментировать с деревом плагинов, поэтому используйте его только в временной среде.
Просматривать архитектуру плагина без внесения изменений
Фраза «всё является плагином» имеет структурный смысл, а не только брендовый. Веб-приложение, адаптеры модели, инструменты, учетные данные, сохранение сессий, политика песочницы, процесс одобрения и предустановки собираются через конфигурацию Cordis.
Вы можете просмотреть поставляемый профиль Web, не запуская его:
npx @deepseek-ai/dsh@0.1.0-rc.6 веб --вывести-конфиг-по-умолчанию
Сделайте это перед установкой плагинов сообщества. Плагин — это исполняемый код, загружаемый в процесс harness. Просмотрите его репозиторий, владельца пакета, версию, установочные скрипты и внесённую конфигурацию перед добавлением.
CLI может устанавливать наборы плагинов в указанный профиль:
npx @deepseek-ai/dsh@0.1.0-rc.6 \
плагин --профиль <имя-профиляe> добавить <пакет-или-git-адресc>
Это механизм расширения, а не шаг начальной настройки для новичков. Стандартный пресет уже содержит достаточно возможностей, чтобы безопасно изучать цикл агента.
По желанию: выполните одну задачу без интерфейса
После того как веб-настройка работает, тот же пакет может выполнить одну сохранённую задачу без открытия браузера:
npx @deepseek-ai/dsh@0.1.0-rc.6 \
--профиль безголовый \
«Проверьте этот репозиторий, запустите npm test и сообщите, проходит ли он проверку. Не редактируйте файлы.»
Безголовый профиль выводит окончательный ответ и завершает работу. Завершившийся шаг выходит с кодом 0; другие окончательные причины выхода имеют код 1. Это полезно для контролируемых скриптов, но автоматически безопасной CI это не делает. Задача всё ещё имеет стоимость модели, доступ к файловой системе, видимость сети и вывод сессии, который может содержать детали репозитория.
Для программной интеграции DeepSeek также публикует deepseek-harness-sdk для Python 3.10 или новее. Его официальным минимальным примером используется danger-full-access и явно рекомендуется использовать временный checkout или контейнер, так что относитесь к этому пути как к продвинутой интеграции, а не как к следующему шагу в этом руководстве.
Устранение неполадок
npx кажется, зависает при первом запуске
Первоначальная установка пакета большая. Оставьте один процесс работающим и ждите. Не запускайте дубликаты npx устанавливается в тот же кэш. Если процесс в итоге сообщает об ошибке реестра или блокировки, остановите любые дублирующие установки и повторите попытку один раз из чистого терминала.
Узел сообщает о неподдерживаемом движке
Текущее хранилище требует Node ^22.19.0 || >=24.0.0. Обновите Node, откройте новый терминал и подтвердите node --version перед повторной попыткой.
Браузер не может подключиться
Читайте URL, напечатанный процессом, вместо того чтобы предполагать порт 3080. При необходимости запустите снова с --port 3081. Поддерживайте процесс терминала активным во время использования интерфейса.
Композитор отключен
Выберите и модель, и рабочее пространство. Новый интерфейс намеренно запускается без активного рабочего пространства.
MISSING_CREDENTIAL или HTTP 401
Сохраните ключ провайдера снова в Настройки → Модели. Для пользовательского провайдера подтвердите базовый URL, протокол и учетные данные. Пользовательская конечная точка, совместимая с OpenAI, может не поддерживать обнаружение моделей, поэтому введите ее идентификатор модели вручную, если GET /models не удается.
Агент может читать больше, чем ожидалось
workspace-write является границей изменения файла, а не полным приватным песочницей. Остановите сеанс и перенесите задачу в контейнер или виртуальную машину, где доступны только необходимые файлы и учетные данные.
Честный вердикт
DeepSeek Harness — это больше, чем тонкий API-обертка. Он уже предоставляет используемый локальный веб-интерфейс, несколько композиций агентов, настройку провайдеров моделей, утверждения, рабочие пространства, долговечные сеансы, подагентов, рабочие процессы, безголовый запуск и доступ к SDK. Его композиция Cordis также предоставляет разработчикам надежный способ заменить или перенастроить основные части агента.
Пока это не является достаточной причиной для отмены каждого зрелого продукта с кодирующим агентом. Выпуск является предварительной версией для разработчиков, его интерфейсы могут ломаться, первая установка достаточно объемная, а граница безопасности по-прежнему зависит от выбранного рабочего пространства, предустановленных разрешений, локальной машины, установленных плагинов и поведения модели. Поэтому правильный первый тест должен быть маленьким и скучным: один одноразовый репозиторий, одно ограниченное изменение, один независимый проход проверки.