DeepSeek Harness
Меню глав

← К оглавлению

[позже] Безопасность и контроль (общий)

Глава 10. Безопасность, контроль и защита

В предыдущих главах вы настроили профиль, подключили GitHub и сервер, научились писать промпты и выбирать режимы. Теперь настало время поговорить о самом важном — как не наломать дров.

DeepSeek Harness — это экспериментальный инструмент (Developer Preview). Он не проходил полноценный аудит безопасности. Агент может выполнять команды на вашем компьютере и сервере, читать и изменять файлы, подключаться к интернету. Если не контролировать его действия, последствия могут быть серьёзными: от случайно удалённых файлов до взлома сервера.

Официально: предупреждение в репозитории — SAFETY.md и страница deepseek.com/harness. Блок «Система безопасности» в этом учебнике лучше прочитать до глав про GitHub и SSH.

Эта глава — ваш инструктаж по технике безопасности. Она разделена на три части:
1. Безопасность — как защитить свои данные и сервер.
2. Контроль расходов — как не потратить все деньги на токены.
3. Мониторинг и отладка — как понять, что делает агент, и что делать, если что-то пошло не так.


Часть 1. Безопасность

10.1. Главное правило: DSH — это не игрушка

DeepSeek Harness может навредить вашему компьютеру и серверу. Это написано чёрным по белому в официальной документации:

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

Что это значит для вас:
- Агент может случайно удалить важные файлы.
- Агент может перезаписать конфигурацию сервера.
- Злоумышленник может использовать агента для взлома вашего компьютера (например, подставив вредоносный промпт через веб-интерфейс).

Поэтому: никогда не запускайте DSH на боевом сервере или компьютере с важными данными, пока не поймёте, как он работает, и не настроите все ограничения.


10.2. Три режима доступа (Sandbox Mode)

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

Режим Английское название Что разрешено Когда использовать
Только чтение read-only Агент может читать файлы, но не может их изменять, создавать или удалять Когда вы даёте агенту задачу «проанализируй» или «посмотри»
Работа в папке workspace-write Агент может читать и изменять файлы только в вашей рабочей папке (workspace) Для большинства задач — создание сайтов, редактирование кода
Полный доступ danger-full-access Агент может читать и изменять любые файлы на вашем компьютере Только в крайних случаях, когда это действительно необходимо, и сразу выключайте

Как установить режим:

Через переменную окружения (рекомендуется):

# Запуск в режиме «только чтение»
DSH_PERMISSION_MODE=read-only dsh web

Или через профиль в cordis.patch.yml:

- patch:
    id: permission
    config:
      sandbox_mode: workspace-write

Правило для маркетолога:
- Для 90% задач используйте workspace-write.
- Для задач «посмотри, что там» — read-only.
- danger-full-access никогда не используйте, если вы не понимаете, зачем он нужен.


10.3. Режим подтверждения (Approval Policy)

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

Режим Английское название Что происходит
Спрашивать ask Агент останавливается и ждёт вашего подтверждения перед выполнением опасной команды
Разрешать allow Агент выполняет всё без вопросов (опасно!)
Запрещать deny Агент не может выполнять опасные команды

Как установить режим подтверждения:

В cordis.patch.yml:

- patch:
    id: permission
    config:
      approval_policy: ask   # спрашивать перед опасными действиями

Для маркетолога: всегда используйте режим ask. Да, это немного замедляет работу, но это спасает от случайных ошибок. Если вы доверились агенту и хотите пропустить подтверждение для конкретной сессии — можно временно переключить на allow, но не забудьте вернуть обратно.


10.4. Не выставляйте DSH в интернет

В DSH нет встроенной аутентификации. Это означает, что если вы откроете доступ к DSH из интернета (например, через --host 0.0.0.0), любой сможет подключиться к вашему агенту и давать ему задачи.

Официальная рекомендация разработчиков:

«На данном этапе не рекомендуется обходить ограничения на выставление --host 0.0.0.0 путём изменения исходного кода, настройки композиции, использования socat/обратного прокси или проброса портов контейнера.»

Правило: DSH должен работать только на вашем локальном компьютере (127.0.0.1). Не пытайтесь открыть к нему доступ извне — это опасно.

Если вам нужно, чтобы агент работал на сервере, используйте headless-режим через SSH, а не веб-интерфейс, открытый в интернет.


10.5. Плагины — проверяйте перед установкой

Плагины — это код, который выполняется на вашем компьютере. Они могут делать всё, что угодно: читать ваши файлы, отправлять данные в интернет, использовать ваши API-ключи.

Правила безопасности для плагинов:

  1. Устанавливайте плагины только из проверенных источников — официальный маркетплейс или плагины с большим количеством звёзд на GitHub.
  2. Проверяйте, что делает плагин — прочитайте README на GitHub перед установкой.
  3. Используйте плагины для проверки плагинов — например, @guojin-ai/dsh-plugin-guard делает статический анализ кода плагина и показывает уровень риска (зелёный/жёлтый/красный).
  4. Тестируйте новые плагины в отдельном профиле — создайте профиль test и устанавливайте туда всё новое.

10.6. Специализированные плагины безопасности

Сообщество создало несколько плагинов, которые помогают контролировать безопасность:

Плагин Что делает
dsh-guardwall Проверяет плагины перед установкой, блокирует опасные вызовы инструментов, аудитирует утечки данных
dsh-ironbound-policy Блокирует опасные shell-команды до того, как они достигнут инструмента
dsh-prompt-firewall Фильтрует промпты по чёрному/белому списку, может работать в режиме аудита
auditrail Записывает каждое обращение к инструментам — кто, что, какие файлы, статус, длительность

Установка (например, dsh-guardwall):

dsh plugin --profile web add github:iiiweiii/dsh-guardwall

Часть 2. Контроль расходов

10.7. Почему расходы могут быть высокими

Вы платите за токены — каждое сообщение модели стоит денег. В DSH расходы могут быть выше, чем в обычном чате, потому что:

  • «Входной билет» — каждый раз, когда агент начинает задачу, он передаёт модели описание всех доступных инструментов. Это может съедать тысячи токенов ещё до того, как агент начнёт работать.
  • Много шагов — агент может делать десятки шагов для одной задачи, каждый шаг — это отдельный вызов модели.
  • Дорогие модели — если вы используете GPT-4 или DeepSeek-V4-Pro, цена за токен выше.

Поэтому: контролировать расходы так же важно, как контролировать безопасность.


10.8. Лимиты в профиле

Самый простой способ контролировать расходы — установить лимиты в профиле.

В cordis.patch.yml:

- patch:
    id: agent
    config:
      max_steps: 20        # максимум шагов за одну задачу
      max_tokens: 50000    # максимум токенов за одну задачу

Что это даёт:
- max_steps: 20 — агент остановится после 20 шагов, даже если задача не завершена. Это защищает от бесконечных циклов.
- max_tokens: 50000 — агент остановится, если потратит больше 50 000 токенов за задачу.

Для маркетолога: начните с max_steps: 10 и max_tokens: 20000 для простых задач. Для сложных можно увеличить, но следите за расходом.


10.9. Плагины для контроля расходов

Сообщество создало несколько плагинов, которые показывают, сколько вы тратите в реальном времени:

Плагин Что делает
dsh-budget Лимиты на сессию/день/месяц, предупреждения при превышении порога, три политики при перерасходе
dsh-usage-plugin Записывает каждый вызов модели — сколько токенов, стоимость, баланс, календарь расходов, экспорт в CSV/JSON/PNG
dsh-deepseek-monitor Показывает баланс DeepSeek, дневной/месячный расход токенов и стоимость прямо в интерфейсе
dsh-cost-meter Стоимость за сессию, дневные итоги, бюджет с настройками периода

Установка (например, dsh-budget):

dsh plugin --profile web add dsh-budget

После установки в настройках появится вкладка Budget, где можно:
- Установить лимит на сессию (например, $1)
- Установить дневной лимит (например, $5)
- Установить месячный лимит (например, $50)
- Настроить предупреждение при достижении определённого процента лимита


10.10. Как экономить на токенах

  1. Начинайте со стандартного режима (standard) — для коротких задач он предсказуемее; PTC включайте на длинных пайплайнах (глава 8).
  2. Используйте дешёвые модели — DeepSeek-V4-Flash дешевле, чем DeepSeek-V4-Pro или GPT-4.
  3. Давайте короткие, точные промпты — чем короче промпт, тем меньше токенов.
  4. Используйте лимитыmax_steps и max_tokens в профиле.
  5. Не давайте агенту сложные задачи в рабочее время — если можете подождать до вечера, используйте ночные тарифы (у некоторых моделей есть пиковые и непиковые цены).

Часть 3. Мониторинг и отладка

10.11. Trajectory — главный инструмент отладки

Trajectory (траектория) — это полный лог всех действий агента. Каждый шаг, каждый вызов инструмента, каждый промпт — всё записывается.

Что вы видите в Trajectory:
- Какие промпты агент отправлял модели
- Какие инструменты вызывал
- Какие ошибки возникали
- Сколько токенов потрачено на каждом шаге

Как открыть Trajectory:
1. В веб-интерфейсе откройте историю сессии.
2. Найдите кнопку или вкладку «Trajectory».
3. Вы увидите пошаговый лог.

Для маркетолога: если агент сделал не то, что вы просили, или потратил слишком много токенов — первым делом откройте Trajectory. Там вы увидите, где агент «сбился с пути».


10.12. Плагины для мониторинга

Плагин Что делает
dsh-trajectory Экспортирует Trajectory в HTML-документ, которым можно поделиться
token-tracing Показывает, куда ушли токены — пользовательский ввод, системный промпт, каждый вызов модели
dsh-error-audit Ловит ошибки и предупреждения в реальном времени, записывает в лог с контекстом (время, код ошибки, сессия, промпт пользователя, действие агента)
tencentcloud-agentobs-sdk-dsh Отправляет данные о работе агента в облачную систему мониторинга

10.13. Что делать, если агент «завис» или ушёл в цикл

Иногда агент может застрять — повторять одно и то же, бесконечно вызывать инструменты или просто долго думать.

Что делать:

  1. Остановите сессию — в веб-интерфейсе есть кнопка «Stop» или «Cancel».
  2. Откройте Trajectory — посмотрите, на каком шаге агент застрял.
  3. Уточните промпт — возможно, задача была слишком расплывчатой.
  4. Перезапустите с лимитами — установите max_steps: 10 в профиле, чтобы агент не мог уйти в бесконечный цикл.
  5. Если не помогает — перезапустите DSH (Ctrl+C в терминале и заново dsh web).

10.14. Итоговый чек-лист безопасности

Перед каждым запуском проверяйте:

  • [ ] Использую ли я режим workspace-write (или read-only), а не danger-full-access?
  • [ ] Включён ли режим подтверждения ask для опасных команд?
  • [ ] DSH запущен только на 127.0.0.1 (локальный доступ), а не открыт в интернет?
  • [ ] Установлены ли лимиты max_steps и max_tokens в профиле?
  • [ ] Все ли плагины установлены из проверенных источников?
  • [ ] Есть ли у меня возможность посмотреть Trajectory, если что-то пойдёт не так?

10.15. Финальное предупреждение

DeepSeek Harness — мощный, но сырой инструмент. Он даёт вам суперспособности, но требует ответственности.

«DeepSeek Harness является экспериментальным программным обеспечением для разработчиков. Оно не проходило проверку безопасности и не должно рассматриваться как безопасное или готовое к использованию в производственной среде.»

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

Если вы будете следовать правилам из этой главы, DSH станет вашим надёжным помощником, а не источником проблем.


Квиз по главе 10 вопросов · нажмите, чтобы открыть

Ответьте на все вопросы и сдайте квиз — сразу будет оценка и отсылки к тексту, где доучить ошибки.

Вопрос 1 из 10

Какое главное правило звучит в начале главы 10?

Вопрос 2 из 10

Что такое sandbox mode в этой главе?

Вопрос 3 из 10

Зачем Approval Policy?

Вопрос 4 из 10

Почему нельзя выставлять DSH «голым» в интернет?

Вопрос 5 из 10

Что делать перед установкой плагина с точки зрения безопасности?

Вопрос 6 из 10

Зачем лимиты в профиле?

Вопрос 7 из 10

Что такое Trajectory?

Вопрос 8 из 10

Что делать, если агент завис или ушёл в цикл?

Вопрос 9 из 10

Почему расходы могут быть высокими?

Вопрос 10 из 10

Итог главы 10?