ИИ-агент 18 августа 2026 г. ~12 мин DeepSeek Harness macOS

Развёртывание DeepSeek Harness на Mac в 2026

Руководство для разработчиков, которым нужно установить DeepSeek Harness на Mac, проверить модель и рабочую область, а затем перенести запуск на удалённый Mac. Мы разделяем локальное тестирование и непрерывную эксплуатацию, показываем контрольные сигналы каждого этапа и добавляем таблицы для выбора среды.

Развёртывание DeepSeek Harness на Mac в 2026

Руководство для разработчиков, которым нужно установить DeepSeek Harness на Mac, проверить модель и рабочую область, а затем перенести запуск на удалённый Mac. Мы разделяем локальное тестирование и непрерывную эксплуатацию, показываем контрольные сигналы каждого этапа и добавляем таблицы для выбора среды.

Официальный README запускает Web UI командой npx @deepseek-ai/dsh web, а интерфейс по умолчанию доступен на http://127.0.0.1:3080 — это означает, что DeepSeek Harness можно быстро проверить локально, но для длительного удалённого запуска лучше сразу выделить отдельный Mac. Такой выбор связан не с необходимостью мощного GPU: Harness в основном обращается к внешнему API модели, поэтому важнее стабильность процесса, рабочая область, права, хранение сессий и возможность восстановиться после перезапуска. Официальный репозиторий и README

Эта статья предназначена для трёх групп:

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

Последнее обновление: 18 августа 2026 года. Команды и ограничения сверены с официальным репозиторием DeepSeek Harness, пользовательским руководством, руководством разработчика, страницей загрузки Node.js и документацией Apple по Remote Login.

01

Развёртывание DeepSeek Harness на Mac начинается с определения результата

Установка пакета — только первый контрольный пункт. Для локального эксперимента достаточно запустить Web UI, подключить API Key, выбрать тестовый каталог и выполнить безопасную задачу на чтение. Для удалённой эксплуатации результат должен быть шире: процесс переживает закрытие терминала, Mac остаётся доступен по SSH, рабочая папка не смешивается с личными файлами, а после перезапуска можно восстановить запуск и проверить настройки.

До установки мы фиксируем четыре условия:

  1. Источник модели. Нужен действующий DeepSeek API Key. Ключ не следует помещать в репозиторий, README или общий файл с исходным кодом.
  2. Рабочая область. Для первого запуска создаём отдельный тестовый каталог без production-секретов, SSH-ключей и домашнего архива пользователя.
  3. Права инструментов. Чтение, редактирование файлов и выполнение команд проверяем раздельно; не считаем доступ к Web UI доказательством безопасной конфигурации.
  4. Критерий остановки. Если модель не отвечает, рабочая область не выбирается или команда получает неожиданные права, возвращаемся к изолированному тестовому каталогу, а не расширяем разрешения вслепую.

Официальный проект находится в статусе developer preview и прямо предупреждает о возможных несовместимых изменениях. Поэтому на 18 августа 2026 года его разумно рассматривать как инструмент для контролируемого тестирования и разработки, а не как автоматически готовую production-систему. Статус developer preview и предупреждение о breaking changes

02

Локальная установка через npm остаётся самым коротким маршрутом

Можно ли установить DeepSeek Harness непосредственно на Mac? Да. Для обычной проверки не требуется клонировать исходный код: официальный путь — установить Node.js и запустить опубликованную команду через npx. Сборка из исходников нужна отдельной категории пользователей — тем, кто разрабатывает плагины, меняет сам Harness или хочет проверять изменения внутри репозитория.

Шаг 1. Проверяем архитектуру и Node.js

В терминале сначала проверяем, не используется ли старый или случайно выбранный runtime:

node --version
npm --version
uname -m

Для разработки официальный guide указывает поддержку Node.js 22.19+ и ветки 24+; в CI также покрывается Node.js 26. Для обычного запуска мы выбираем поддерживаемую LTS-ветку, а не экспериментальную версию, если конкретный релиз проекта не требует иного. Официальное руководство по разработке DeepSeek Harness

На странице загрузки Node.js доступна LTS-ветка 24, а официальные сборки выпускаются отдельно для Apple Silicon и Intel macOS. Это не доказывает наличие конкретного порога по оперативной памяти или GPU: официальные материалы DeepSeek Harness такого Mac-порога не устанавливают. Официальная страница загрузки Node.js

Если node --version показывает неподдерживаемую ветку, исправляем runtime до следующего шага. Если Node.js уже поддерживается, не меняем окружение без необходимости: лишняя замена runtime усложнит поиск причины ошибки.

Шаг 2. Создаём чистую рабочую папку

mkdir -p ~/dsh-test-workspace
cd ~/dsh-test-workspace
pwd

Команда pwd нужна не для красоты: пользовательское руководство указывает, что процесс dsh использует вызывающий каталог как расположение файловой системы по умолчанию. При этом новый Web UI ещё не имеет выбранной рабочей области, поэтому каталог нужно будет явно добавить через интерфейс. Руководство по использованию Web UI

Шаг 3. Запускаем Web UI

npx @deepseek-ai/dsh web

Успешный сигнал — процесс не завершается с ошибкой, а в терминале появляется адрес локального интерфейса. Открываем:

http://127.0.0.1:3080

Если адрес не открывается, сначала проверяем, продолжает ли работать терминальный процесс. Затем смотрим, не занят ли порт другим приложением, и только после этого повторяем запуск. Не следует сразу открывать порт в интернет: значение 127.0.0.1 указывает на локальный доступ, а публичная публикация Web UI добавляет отдельную задачу аутентификации и сетевой защиты.

Важно: успешное открытие Web UI означает только то, что сервер стартовал. Это ещё не подтверждает подключение модели, правильный каталог или корректную политику выполнения команд.

Шаг 4. Отдельно решаем, нужен ли исходный код

Если требуется разработка плагина или изменение самого фреймворка, используем официальный сценарий:

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
corepack enable
pnpm install
pnpm run build
pnpm dsh web

В руководстве разработки указаны Git 2.26 или новее, Corepack-enabled pnpm и закреплённая в package.json версия pnpm@11.7.0. После чистого клонирования базовая проверка выполняется командой:

pnpm run typecheck

Если проверка не проходит, не смешиваем проблему сборки с проблемой API Key или прав рабочей области. Для первичного знакомства возвращаемся к npm-сценарию, а исходную сборку оставляем отдельной веткой диагностики. Настройка среды разработчика и требования к репозиторию

03

Настройка модели и рабочей области должна идти в фиксированном порядке

Как настроить API Key и рабочую область в DeepSeek Harness? Сначала добавляем модель, затем выбираем каталог, после этого запускаем только чтение. Такой порядок позволяет понять, где именно возник сбой.

Шаг 5. Добавляем API Key

В Web UI открываем настройки моделей, вводим DeepSeek API Key и сохраняем конфигурацию. Согласно пользовательскому руководству, маршрут модели становится доступен без перезапуска сервера. Инструкция по настройке моделей

Для сценария из исходного репозитория можно использовать gitignored-файл .env или переменную окружения:

export DEEPSEEK_API_KEY='ваш-ключ'

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

Если после сохранения ключа модель не отвечает, сначала проверяем сам ключ и сетевой доступ к API. Не расширяем права файловой системы: ошибка модели не исправляется доступом к домашнему каталогу.

Шаг 6. Выбираем тестовую рабочую область

Нажимаем Choose workspace, добавляем ~/dsh-test-workspace и выбираем его. До выбора каталога композитор сессии может оставаться недоступным — это ожидаемая часть модели безопасности Web UI.

На первом запуске не выбираем:

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

Шаг 7. Выполняем только задачу чтения

В первой сессии используем запрос с ограниченным эффектом, например:

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

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

Шаг 8. Проверяем операции по одной

После чтения переходим к четырём отдельным тестам:

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

Успешный сигнал — каждое действие соответствует ожидаемой политике. Если агент сразу получает больше прав, чем планировалось, прерываем сессию, удаляем тестовую рабочую область и пересматриваем активный профиль инструментов. Не используем первый запуск для проверки на настоящем репозитории.

04

Переход к удалённому Mac меняет не только адрес доступа

Может ли DeepSeek Harness постоянно работать на удалённом Mac? Да, но удалённая доступность не появляется автоматически после локального запуска. Нужно заново определить пользователя, рабочий каталог, способ подключения, режим сна, запуск процесса и восстановление после перезагрузки.

Шаг 9. Создаём отдельную учётную запись

Для удалённой среды используем отдельную macOS-учётную запись без административных прав, если рабочий процесс этого не требует. Рабочий каталог ограничиваем отдельным проектом или группой проектов. API Key и ключи доступа к репозиториям управляются отдельно от системной учётной записи.

Apple позволяет включить Remote Login в System Settings → General → Sharing, выбрать конкретных пользователей и подключаться по SSH. Включение полного доступа к диску для удалённых пользователей не должно быть стандартным шагом: его включают только при доказанной необходимости и после оценки риска. Документация Apple по Remote Login и SSH

Шаг 10. Подключаемся по SSH и запускаем из заданной папки

С удалённого компьютера проверяем:

ssh username@hostname

На удалённом Mac:

mkdir -p ~/dsh-workspace
cd ~/dsh-workspace
npx @deepseek-ai/dsh web

Для долгой работы не оставляем процесс в обычном окне терминала без контроля. Выбираем менеджер процесса или утверждённый командой способ запуска, фиксируем рабочий каталог и проверяем, что после входа по SSH процесс действительно виден. Конкретный менеджер не следует объявлять официально обязательным для DeepSeek Harness: репозиторий описывает запуск Web UI, но не устанавливает универсальный production-сервис для всех macOS-сред.

Публично открывать порт Web UI напрямую — плохая настройка по умолчанию. Безопаснее оставить интерфейс на локальном адресе удалённого Mac и организовать доступ через защищённый административный канал, VPN или контролируемое туннелирование. SSH нужен для управления, а не для выдачи агенту неограниченного доступа ко всей системе.

Шаг 11. Проверяем сон, обрыв связи и перезапуск

Для удалённой среды выполняем отдельные проверки:

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

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

05

Длительная работа требует журнала запуска и плана отката

Вместо единственного наблюдения «страница открывается» мы ведём короткий эксплуатационный журнал:

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

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

Следует различать три типа данных:

  1. Секреты — API Key и ключи репозиториев; их не включаем в резервную копию без шифрования и отдельного контроля доступа.
  2. Конфигурация — настройки модели, рабочая область и политика инструментов; её сохраняем так, чтобы можно было восстановить окружение.
  3. Сессии и логи — данные для диагностики и продолжения работы; их границы определяем отдельно, потому что они могут содержать исходный код и чувствительный контекст.
06

Таблицы выбора: какой сценарий действительно подходит

Ниже мы разделяем запуск по назначению. Таблица не заменяет проверку конкретной модели Mac, потому что официального минимального порога производительности для DeepSeek Harness не заявлено.

Сценарий Где запускать Что критично Главный риск Оценка пригодности
Одноразовая проверка API и Web UI Личный Mac Node.js, сеть, тестовый каталог Сон или закрытие терминала 9/10
Работа над небольшим проектом несколько часов Личный Mac Изоляция каталога, ручные подтверждения Конфликт с личной работой 7/10
Ночной или длительный Agent-процесс Отдельный удалённый Mac Автозапуск, SSH, логи, восстановление Потеря сессии после перезапуска 8/10
Несколько независимых проектов Отдельный Mac с разделёнными аккаунтами или средами Права, рабочие области, аудит Пересечение секретов 6/10
Production-критичный процесс без ручного контроля Не считать Harness готовым без отдельного аудита Откат, журналирование, sandbox, политика команд Developer preview и breaking changes 4/10

Для запуска на Mac не нужно заранее покупать конфигурацию только из-за названия AI Agent. Если модель вызывается через внешний API, производительность определяется не только чипом: на практике ограничения могут появиться из-за нескольких параллельных задач, размера рабочего дерева, диска, сетевых задержек и устойчивости удалённого доступа.

Компонент решения Локальное тестирование Удалённый Mac для длительной работы Что проверяем перед выбором
Node.js Поддерживаемая ветка Та же ветка, закреплённая в журнале node --version и совместимость проекта
Модель API Key в Web UI Раздельное хранение секрета Ответ модели без расширения прав
Рабочая область Новый тестовый каталог Отдельный каталог и пользователь Чтение, редактирование, откат
Доступ 127.0.0.1 SSH или контролируемый защищённый канал Повторное подключение
Процесс Терминальная сессия Менеджер процесса или утверждённый автозапуск Перезапуск после выхода и reboot
Обновления Можно переустановить вручную Нужны копия и план отката Повторный smoke-тест плагинов
Проверка Условие приёмки Действие при провале
Web UI Адрес открывается после запуска Проверить Node.js, команду и занятый порт
Модель Тестовый запрос получает ответ Проверить API Key и сеть, не расширять права
Рабочая область Выбран только тестовый каталог Удалить выбор и добавить изолированную папку
Файлы Чтение работает, редактирование контролируется Остановить сессию и пересмотреть политику
Команды Опасные действия требуют подтверждения Не переходить к production-репозиторию
SSH Повторный вход возможен только разрешённым пользователем Ограничить список Remote Login
Восстановление После выхода и перезапуска процесс поднимается предсказуемо Зафиксировать команду и подготовить откат
Конфигурация Секреты не лежат в Git и общих файлах Отозвать ключ, если он уже раскрыт
07

Финальная приёмка определяет, пора ли уходить с личного Mac

Для личной короткой задачи достаточно пройти базовый набор: модель отвечает, выбран правильный каталог, чтение и редактирование контролируются, команда запрашивает подтверждение. Для долгого Agent-процесса добавляем проверку обрыва SSH, перезапуска Mac, недоступности API, повторного запуска и возврата к предыдущей конфигурации.

Если текущая схема — личный Mac — регулярно уходит в сон, конкурирует за ресурсы с основной работой, хранит рядом личные файлы и требует ручного запуска после каждой перезагрузки, она плохо подходит для непрерывной эксплуатации. Облачная VM без macOS также может оказаться неудобной, если проекту нужны именно инструменты и окружение Apple. В такой ситуации отдельный Mac, который не зависит от режима работы личного компьютера, обычно даёт более предсказуемую границу доступа и восстановления.

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

В итоге локальный Mac остаётся лучшим стартом для короткого теста DeepSeek Harness: его можно быстро запустить через npm и проверить без сложной инфраструктуры. Но если агент должен работать часами или днями, нужен удалённый доступ, несколько рабочих областей либо защита личного компьютера от чужих прав, отдельный Mac становится более рациональной средой. VNCMac имеет смысл рассматривать именно в этом сценарии — как временную или выделенную macOS-среду, которую проще отделить от личного устройства и проверить по тем же критериям: запуск, доступ, разрешения, восстановление и откат.