DSH Desktop — локальное десктопное приложение для DeepSeek Harness
📂 Исходный код на GitHubLocal-first кросс-платформенное десктопное приложение для DeepSeek Harness: автозапуск рантайма, пресеты .dshpreset, провайдеры моделей, доступ с телефона через парный мост и генерация PPTX. macOS (подпись и нотаризация) и Windows x64, лицензия MIT.
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.