DSH Desktop — локальное десктопное приложение для DeepSeek Harness

· 1 мин чтения
deepseek ai-agents desktop-app agent-harness ppt
📂 Исходный код на GitHub

Local-first кросс-платформенное десктопное приложение для DeepSeek Harness: автозапуск рантайма, пресеты .dshpreset, провайдеры моделей, доступ с телефона через парный мост и генерация PPTX. macOS (подпись и нотаризация) и Windows x64, лицензия MIT.

DSH Desktop — локальное десктопное приложение для DeepSeek Harness

DSH Desktop — local-first кросс-платформенное десктопное приложение для DeepSeek Harness. Оно упаковывает локальный опыт Harness в установленное приложение: само запускает и останавливает рантайм, хранит профили, плагины, воркспейсы, настройки моделей и сессии вне каталога приложения и открывает полный Web UI Harness, как только локальный рантайм готов. Работает с официальными моделями DeepSeek и основными сторонними провайдерами, умеет импортировать и экспортировать переносимые пресеты агентов, продолжать сессии Harness со смартфона и превращать исходный материал в редактируемые PPTX-презентации.

Проект — ранний preview на базе быстро развивающегося @deepseek-ai/dsh@0.1.5-rc.2. macOS-сборки подписаны и нотаризованы Apple, установщики Windows x64 подписаны кодом. Лицензия MIT; приложение независимое и сообщественное, DeepSeek Harness и его зависимости остаются на собственных апстримных лицензиях и товарных знаках.

Что добавляет DSH Desktop к Harness

Harness уже даёт агентный рантайм и Web UI. DSH Desktop добавляет нативные хост-возможности, которых не хватает для нормального десктопного продукта:

  • запускает и останавливает Harness без отдельного CLI и отдельной вкладки браузера;
  • использует нативный системный выбор каталога для добавления и управления воркспейсами проектов;
  • поддерживает официальные модели DeepSeek и основные сторонние провайдеры моделей;
  • импортирует и экспортирует полные пользовательские пресеты агентов как переносимые пакеты .dshpreset — с проверкой конфликтов и предупреждением о доверии перед установкой;
  • превращает исходный материал в редактируемые PPTX-колоды во встроенном PPT-режиме;
  • сохраняет профили, плагины, воркспейсы, сессии и настройки моделей при обновлении приложения;
  • обнаруживает сбои запуска и фронтенд-плагинов, пишет диагностику в harness.log и предлагает пошаговое восстановление;
  • даёт не разрушающий Safe Mode, который временно блокирует сторонние плагины;
  • позволяет подключённому телефону продолжать сессии в локальной сети или через временный публичный туннель;
  • проверяет обновления десктопа и оставляет скачивание и установку под контролем пользователя;
  • адаптирует нативные меню, поведение titlebar, фокус окна, тему и брендинг под macOS и Windows.

Установка и обновления

На сайте есть stable-рекомендованные сборки для повседневного использования, на GitHub Releases — preview-версии с новейшими функциями. Preview-версии близко следуют за последними официальными версиями Harness, могут быть несовместимы с community-плагинами и не рекомендуются обычным пользователям: их сначала проверяют early adopters.

Установленные сборки проверяют обновления вскоре после запуска и далее каждые шесть часов. Когда выходит новая версия, DSH Desktop спрашивает перед скачиванием; установка начинается только после выбора Restart and install. Проверить вручную можно из меню приложения, а одну версию — пропустить, не скрывая будущие релизы.

Генерация презентаций

Включите кнопку PPT, выберите шаблон и опишите нужную колоду. Во встроенном каталоге — 16 шаблонов и 192 раскладки, на выходе редактируемый PPTX. Превью использует английский; сами колоды могут быть на английском или китайском, с соответствующей настройкой шрифтов. Язык превью не определяет язык результата.

PPT предустановлен, и его автоматические инструкции применяются только к сессиям, где включена кнопка PPT. Подробности про шаблоны, валидацию и упоминания источников — в гайде PPT-рантайма.

Доступ с телефона

Выберите Connect Phone… в меню Harness и отсканируйте код пары.

  • В Wi-Fi сканирование подключает сразу.
  • Через интернет-туннель телефон вводит 6-значный пароль, который показывается только на компьютере. По умолчанию пароль временный (5 минут, только в памяти); постоянный создаётся только после явного согласия в окне Connect Phone.

Сам Harness продолжает слушать на случайном порту 127.0.0.1. Доступ с телефона идёт через отдельный парный мост. Основной долгоживущий удалённый путь — Cloudflare Quick Tunnel; бесплатный Pinggy служит фолбэком, когда Cloudflare недоступен (например, в материковом Китае), и истекает примерно через 60 минут. Отключение телефона от десктопа делает мобильную сессию недействительной.

Если ссылка Cloudflare не открывается на телефоне, выберите Can't open? Try another link — приложение переключит на Pinggy.

Safe Mode и восстановление

Если сторонний плагин мешает запуску или отрисовке, DSH Desktop определяет виновника по данным рантайма и фронтенда и открывает пошаговое восстановление.

Restart as Safe Mode… в меню Harness поднимает изолированный профиль только с официальными core-бандлами: Agent, сессии, настройки моделей и воркспейсы остаются доступны, а сторонние плагины нормального профиля блокируются. Из баннера Safe Mode можно удалить выбранные плагины или вернуться к обычному запуску.

Экраны восстановления проверяют совместимые обновления плагинов: затронутый плагин можно обновить, доступен и пакетный апгрейд. Если обычный интерфейс недоступен, запускайте приложение с флагом --safe-mode. На macOS:

open -a "DSH Desktop" --args --safe-mode

Локальные данные и безопасность

  • Web UI Harness отдаётся только на случайном loopback-порту.
  • Рендерер не имеет привилегий Node.js, работает с context isolation и песочницей.
  • Webview, ненадёжная внутренняя навигация и неожиданные запросы разрешений блокируются.
  • Внешние веб-ссылки открываются в системном браузере.
  • Профили и сессии пользователя живут в каталоге данных Electron для текущего пользователя, а не внутри установленного приложения.
  • Доступ с телефона требует короткоживущего токена пары: в Wi-Fi достаточно сканирования, через интернет-туннель — ещё и пароль с компьютера.

Поддержка платформ

Платформа Дистрибутив Статус
macOS Apple Silicon Подписанный и нотаризованный DMG/ZIP Поддерживается
macOS Intel Подписанный и нотаризованный DMG/ZIP Поддерживается
Windows x64 Подписанный NSIS-установщик Поддерживается
Windows ARM64 Пока не поддерживается
Linux Пока не поддерживается

Harness включает target-native зависимости, поэтому каждый артефакт релиза собирается на соответствующей ОС и архитектуре.

Разработка и архитектура

Приветствуются вклады. Начать стоит с публичной инженерной документации:

  • Гайд разработки — сетап, валидация, поддержка патчей, target-native упаковка;
  • Архитектура — поток рантайма, персистентные данные, границы безопасности, восстановление, мобильный доступ, обновления;
  • Release runbook — контроль подписи и публикации;
  • Формат пакетов пресетов — контракт переносимых пресетов агентов.

Перед отправкой изменения прогоните npm test, npm run typecheck и npm run build, затем проверьте затронутый реальный сценарий приложения. Никогда не включайте настоящие API-ключи в issues, логи, скриншоты и тестовые данные.

Сообщество и друзья

Сообщество собирается в WeChat-группе (QR-код на странице репозитория) и на Discord. Друзья проекта — dsh-market, community-маркет плагинов для DeepSeek Harness: поиск плагинов, превью скриншотов, установка и обновление пакетов, включение и выключение плагинов, переключение тем прямо из интерфейса Harness.

Лицензия — MIT.

Источник: https://github.com/dataelement/dsh-desktop