Перейти к содержимому

Руководство по установке и развертыванию DeepSeek Harness (dsh)

Требования к окружению (Prerequisites)

DeepSeek Harness (dsh) — это локальная среда выполнения и оркестратор ИИ-агентов. В отличие от обычных интерфейсов чата, dsh запускается на вашей машине, имеет прямой доступ к указанной рабочей директории и может выполнять системные команды для написания, редактирования и тестирования кода.

Перед выбором метода установки убедитесь, что ваша система соответствует следующим требованиям:

Среда выполнения Node.js

Для запуска основного CLI-интерфейса и веб-интерфейса (Web UI) требуется Node.js.

  • Поддерживаемые версии: строго ^22.19.0 или >=24.0.0 (рекомендуются LTS-релизы, например, Node.js 24 LTS).

  • Важное предупреждение: промежуточные нечётные версии Node.js (например, v23) или устаревшие версии (например, v18 в дистрибутивах Ubuntu 24.04 по умолчанию) не поддерживаются и вызовут синтаксические ошибки во время работы.

  • Проверка версии:

    node -v
    

Изолированное рабочее пространство (Isolated Workspace)

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

  • Рекомендация: никогда не запускайте dsh и не инициализируйте сессию в корневом домашнем каталоге пользователя, системных папках или каталогах с важными коммерческими данными.
  • Безопасный подход: создайте отдельную пустую папку (песочницу) специально для тестов ИИ-агента. dsh по умолчанию использует директорию своего вызова в качестве домашней папки для работы с файлами, поэтому запускайте команду CLI строго из созданной тестовой папки.

API-ключи и учётные записи (Credentials)

Для совершения логических шагов dsh должен обращаться к языковым моделям.

  • DeepSeek API Key: получите официальный ключ на платформе platform.deepseek.com. Ключ необходим для доступа к флагманским моделям deepseek-v4-pro и deepseek-v4-flash.
  • Альтернативные провайдеры: dsh полностью независим от вендора. Вы можете использовать API-ключи OpenAI, Anthropic, AWS Bedrock, Google Vertex, Azure или собственные провайдеры.
  • Безопасное хранение: все API-ключи хранятся локально на вашей машине в защищённом файле $DSH_HOME/.credentials.yaml. Основной файл настроек settings.yaml содержит только несекретные ссылки на эти переменные.
Раздел Settings → Models в Web UI dsh: список провайдеров DeepSeek и opencode-go с кнопками Edit и Delete, ниже — кнопки добавления провайдера
Settings → Models: ключи вводятся здесь и уходят в $DSH_HOME/.credentials.yaml. Кроме готовых провайдеров можно добавить любой OpenAI-совместимый endpoint.

Метод 1: Быстрый запуск Web UI через npx (Рекомендуемый)

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

  1. Убедитесь, что Node.js соответствует требованиям.

  2. Перейдите в вашу изолированную тестовую папку и выполните команду:

    npx @deepseek-ai/dsh web
    
  3. Утилита загрузит актуальную сборку из реестра npm и запустит локальный веб-сервер.

  4. Откройте в браузере адрес: http://127.0.0.1:3080.

  5. Примечание по безопасности: сервер по умолчанию биндится строго к loopback-интерфейсу (127.0.0.1). Не открывайте этот порт (3080) во внешнюю сеть без предварительной настройки реверс-прокси с авторизацией, так как любой получивший к нему доступ сможет выполнять команды на вашем ПК.

Метод 2: Установка и сборка из исходников (Source Installation)

Рекомендуется для разработчиков плагинов, контрибьюторов и тех, кто хочет настраивать конфигурацию Cordis на уровне исходного кода.

  • Дополнительные требования: Git версии >=2.26 и менеджер пакетов pnpm (репозиторий жёстко пингует версию pnpm@11.7.0).

Инструкция по сборке:

# 1. Клонируйте официальный репозиторий
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness

# 2. Установите зависимости проекта
pnpm install

# 3. Скомпилируйте TypeScript-проекты и соберите артефакты
pnpm run build

# 4. Запустите локальный Web-профиль
pnpm dsh web

После компиляции вы можете использовать команду pnpm dsh для вызова любых режимов работы. Например, для запуска headless-задачи в терминале:

pnpm dsh --profile headless "Напиши юнит-тесты для файлов в папке src"

Метод 3: Десктопные приложения (Desktop Apps)

Для пользователей, которые хотят избежать работы с терминалом, Node.js и Git, сообщество разработало нативные графические клиенты-оболочки.

Существует три основных активно развивающихся проекта:

  1. DSH Desktop (на базе Electron) от разработчика qufei1993. Он поставляется как нативный установщик для Windows (x64) и macOS (Apple Silicon / Intel). Приложение уже содержит внутри себя встроенный Node.js 24 LTS и изолированный pnpm. Оно оснащено графическим «Менеджером версий» (Version Manager), позволяющим загружать и переключать официальные релизы @deepseek-ai/dsh в один клик.
  2. dsh-desktop (на базе Tauri) от dataelement или Antony-Jia. Лёгковесный клиент, который автоматически создаёт изолированную директорию запуска при старте и управляет дочерним процессом dsh.
  3. Специальная сборка для Windows («DeepSeek-Harness-Setup小白专用» в Microsoft Store). Предназначена для упрощённой установки на Windows 10/11 и автоматически использует быстрые зеркала для загрузки компонентов, решая проблемы с региональной сетевой задержкой.

Метод 4: Docker / Контейнеризация

Идеально подходит для запуска dsh на удалённых серверах (VPS) или в изолированном контейнере, полностью исключающем доступ агента к хост-системе.

Шаблон развёртывания:

# Клонируйте репозиторий с контейнерной конфигурацией
git clone <docker-repo-for-dsh>
cd dsh-docker

# Скопируйте и настройте переменные окружения (укажите ваш API Key и порт)
cp .env.example .env

# Соберите образ и запустите контейнер в фоновом режиме
docker compose up -d --build

Внутри контейнера веб-интерфейс dsh обычно проксируется через Nginx с возможностью настройки SSL-сертификатов для безопасного удалённого подключения.

Метод 5: Python SDK (Headless Use)

Предназначен для интеграции ИИ-агента dsh напрямую в ваши Python-скрипты, автоматические конвейеры тестирования (CI/CD) или аналитические пайплайны.

  • Ограничения платформ: официально поддерживается на Linux (x64, arm64) и macOS версии 14+ (на чипах Apple Silicon). На Windows для аналогичных задач рекомендуется использовать вызовы CLI dsh --profile headless.
  • Преимущество: SDK поставляется с собственным скомпилированным бинарным рантаймом. Ему не требуется установленный в системе Node.js.

Установка и использование:

# Создайте виртуальное окружение Python (требуется Python >= 3.10)
python -m venv .venv
source .venv/bin/activate

# Установите официальный пакет SDK
pip install deepseek-harness-sdk

Пример интеграции в код:

import os
from deepseek_harness import DeepSeekHarness

# Установка API-ключа
os.environ["DEEPSEEK_API_KEY"] = "sk-your-official-key"

# Инициализация и запуск сессии в конкретной рабочей папке (cwd)
with DeepSeekHarness(
    provider="deepseek-official",
    model="deepseek-v4-flash",
    cwd="/path/to/your/sandbox/project",
    session_root="/path/to/save/sessions"
) as harness:

    result = harness.run("Проверь проект на наличие синтаксических ошибок в коде.")
    print("Ответ агента:", result.final_response)

Метод 6: Интеграция с Ollama (Локальный запуск моделей)

Если вы хотите полностью исключить отправку вашего кода в облачные API и запускать модели (например, дистиллированные версии DeepSeek-R1 или Qwen) локально на своём GPU, вы можете использовать интеграцию с Ollama.

У Ollama есть специальный встроенный лаунчер для dsh:

  1. Установите Ollama с официального сайта ollama.com.

  2. Запустите dsh одной командой:

    ollama launch dsh
    

    Если dsh ещё не установлен на вашем компьютере, Ollama автоматически загрузит и настроит @deepseek-ai/dsh во временный рантайм.

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

    ollama launch dsh --model deepseek-v4-flash:cloud
    
  4. Управление настройками: Ollama изолирует свои файлы конфигурации и хранит их по пути ~/.ollama/launch/dsh/settings.yaml. Запуски через Ollama не перезаписывают ваши глобальные настройки в оригинальной папке ~/.dsh/settings.yaml.

  5. Веб-поиск: при локальном запуске dsh через Ollama функция веб-поиска по-прежнему может работать автоматически, но для этого требуется авторизация в облаке Ollama Cloud (ollama signin) и модель, поддерживающая вызовы инструментов (Tool Calling).