deepseek-harness-desktop README

The project's README from github.com/chokwinlee/deepseek-harness-desktop. As one markdown file: README.md.

DSH Desktop icon

DSH Desktop

A compact, self-contained DeepSeek Harness desktop host with native iPhone and Android Remote companions.

Download · Highlights · iPhone Remote · Android Remote · Development · Contributing

English · 简体中文

CI status Latest stable release MIT License

DSH Desktop

macOS downloads under 90 MB, with the complete Harness rc.8 runtime included.

DSH Desktop runs the official DeepSeek Harness Web UI and runtime in a desktop window. The repository also contains DSH Remote native companions for continuing the computer's projects, sessions, and running tasks from iPhone and Android. This build is aligned with @deepseek-ai/[email protected] and shows that bundled Harness version in the sidebar. The desktop app manages the local Harness process automatically, so users do not need to install Node.js or start dsh web themselves.

[!IMPORTANT] This is an independent community project, not an official DeepSeek AI product. DeepSeek Harness is a developer preview and may introduce breaking changes.

Highlights

Cost figures are estimates derived from local token logs and available public model prices. Unmatched models stay visibly unpriced rather than being counted as free.

Multimodal and usage insights

Multimodal session and usage insights

A real Harness rc.8 image-input session with live token and cost insights, using google/gemini-2.5-flash-lite through OpenRouter.

The compact title-bar summary stays visible while you work. Open it for input, output, cache, cost, and live-throughput details. Usage is calculated locally from Harness session history, with estimated costs based on available public model prices.

iPhone Remote (TestFlight beta)

[!IMPORTANT] DSH Remote is available as a public iPhone beta. Join with TestFlight.

DSH Remote same-Wi-Fi pairing in English DSH Remote projects and running sessions in English DSH Remote approval handling in English

Same-Wi-Fi pairing · Projects and running sessions · Approval handling

DSH Remote is a native SwiftUI companion for a DSH Desktop computer you own or manage. It does not run an agent, repository, terminal, or model provider on the phone. Work continues on the computer; the iPhone is a narrow control surface.

The iOS TestFlight beta follows the device's app-language setting and includes complete English and Simplified Chinese product copy, including setup, errors, notifications, approvals, models, Activity, and subagent flows.

Install with TestFlight

  1. Install Apple's TestFlight app on an iPhone running iOS 17 or later.
  2. Open the DSH Remote public invitation, choose View in TestFlight, then accept and install the beta.
  3. Install the current DSH Desktop release on the computer before pairing.

Build from source with Xcode

Developers can also install the source on their own iPhone with Xcode:

  1. Install Xcode 16 or later on a Mac and sign in under Xcode → Settings → Accounts.
  2. Clone this repository and open ios/DSHRemote/DSHRemote.xcodeproj.
  3. Select the DSHRemote target, choose your Team under Signing & Capabilities, and use a unique bundle identifier if automatic signing requests one.
  4. Connect an iPhone running iOS 17 or later, select it as the run destination, and choose Product → Run.

A free Apple Account can use an Xcode Personal Team for personal on-device testing, but the app must be re-provisioned periodically. Downloading an unsigned or unrelated IPA from GitHub will not work.

Pair and use Remote

  1. Install and open the latest DSH Desktop build.
  2. In Desktop, open Settings → General → Mobile Remote → Connect phone.
  3. On the same trusted Wi-Fi, start local pairing and scan the QR code in DSH Remote.
  4. For cellular or other remote networks, open the built-in Tailscale setup guide on Desktop or iPhone, enable anywhere access, and scan the HTTPS QR code.
  5. Open a project, create or continue a session, and keep all execution on the computer.

See the iOS TestFlight and source guide, Chinese Tailscale setup guide, privacy policy, support notes, and App Review notes.

Android Remote (GitHub release)

[!IMPORTANT] v0.4.0 is the first stable GitHub release with a signed Android APK. It requires Android 8.0 or later and the matching DSH Desktop build from that release. It is not yet available on Google Play.

DSH Remote Android onboarding in English DSH Remote Android approval and conversation controls in English

Local-first pairing and offline Demo · Conversation, queue, and approval control

Android uses the same local-first Remote v1 contract, QR format, Desktop LAN proxy, and Tailscale HTTPS flow as iOS. It includes encrypted multi-computer storage, projects and sessions, full conversation and Activity views, queue and steer controls, approvals and structured questions, images and references, models, Goal/Plan, nested subagents, local notifications, offline Demo, English, Simplified Chinese, dark appearance, and TalkBack semantics.

To install it:

  1. Open the v0.4.1 release and install its Desktop package on the computer.
  2. Download DSH-Remote-Android-v0.4.1.apk on an Android 8.0+ device. If asked, temporarily allow Install unknown apps for the browser or file manager that opened it.
  3. Compare the APK's SHA-256 with its entry in SHA256SUMS.txt from the same release.
  4. Open the offline Demo, or in Desktop choose Settings → General → Mobile Remote → Connect phone and scan its QR code.

Use direct same-Wi-Fi mode only on a trusted private network: it is authenticated but not encrypted. Use private Tailscale Serve HTTPS for cellular, remote, or untrusted networks, and never use Funnel. Camera and notification permissions are optional. QR images stay on-device, while the bundled Google ML Kit scanner sends Google the diagnostic and usage metrics described in the privacy policy.

The computer must remain online with Desktop and Harness running. Local notifications are best effort, and device-specific behavior remains documented in the Android guide. See the complete Android install and support guide, Simplified Chinese guide, support guide, and platform-neutral Remote contract.

Download

Download Desktop installers and the Android APK from the latest stable GitHub Release. Installable iOS builds are distributed through the public TestFlight beta.

Current stable release Architecture File
macOS Apple Silicon DSH-Desktop-0.4.1-mac-arm64.dmg
macOS Intel DSH-Desktop-0.4.1-mac-x64.dmg
Windows 10/11 x64 installer DSH-Desktop-0.4.1-win-x64.exe
Windows 10/11 x64 portable DSH-Desktop-0.4.1-win-x64.zip
Android 8.0+ universal APK DSH-Remote-Android-v0.4.1.apk
iPhone, iOS 17+ public beta TestFlight invitation

The release also includes macOS ZIP archives and SHA256SUMS.txt for integrity verification. GitHub does not publish a generic iOS IPA.

Desktop quick start

  1. Install and open DSH Desktop.
  2. Open Settings → Models and configure a provider and API key.
  3. Add or select a workspace.
  4. Start a Harness session.
  5. Paste or attach an image when the selected model supports image input.

Configuration, workspaces, and sessions live in the same DSH_HOME used by the official CLI (~/.dsh by default).

Plugins and recovery

On macOS, open Settings → Plugins → Install & manage. The installer accepts an npm package, github:owner/repo, a public GitHub HTTPS URL, or a full command such as:

dsh plugin --profile web add github:owner/repo

Desktop parses supported install commands without running pasted text through a shell, then checks that Harness restarts successfully. If startup fails, it restores the previous plugin configuration. Third-party plugins run code on the local machine, so review their source and publisher before installation.

Architecture

 iPhone Remote ── authenticated same-Wi-Fi / Tailnet HTTPS ──┐
Android Remote ── authenticated same-Wi-Fi / Tailnet HTTPS ──┤
                                                             ↓
Desktop shell ─────────────→ loopback-only dsh web → official Harness UI/runtime
       └─────────────────── shared DSH_HOME for settings, sessions, and plugins

The project does not fork or reimplement the Harness agent runtime. The shell owns desktop packaging, process lifecycle, navigation boundaries, recovery, native integration, and release verification.

Development

Node.js 22.19 or newer is required.

git clone https://github.com/chokwinlee/deepseek-harness-desktop.git
cd deepseek-harness-desktop
npm ci
npm test
npm start

Build the macOS Tauri release with npm run build:mac; build the Windows Electron release with npm run dist. Packaging changes should also pass the real packaged-runtime checks in the release workflow.

Open ios/DSHRemote/DSHRemote.xcodeproj in Xcode to build the iOS client. The iOS app has no third-party package dependency and requires iOS 17 or later.

Build the Android client with JDK 17 and Android SDK 37:

cd android
./gradlew testDebugUnitTest compileDebugAndroidTestKotlin lintDebug validateDebugScreenshotTest assembleDebug assembleRelease bundleRelease

Project

deepseek-harness-desktop (chokwinlee/deepseek-harness-desktop)

Searching Database…

Что это?DSH Desktop — компактное десктопное приложение, которое запускает официальный веб-интерфейс и рантайм кодинг-агента DeepSeek Harness (DSH) внутри нативного окна, а также поставляется с нативными сопутствующими приложениями «Remote» для iPhone и Android, чтобы просматривать и направлять те же сессии с телефона, пока всё исполнение остаётся на компьютере.
Это построено на Electron или на чём-то полегче?Сборка для macOS использует Tauri с системным WKWebView, чтобы весить меньше 90 МБ вместо комплектования Chromium, а релиз для Windows построен на Electron; приложение для iPhone — нативное SwiftUI, а для Android — Kotlin/Compose.
Как его запустить?Скачайте установщик для своей ОС из последнего стабильного GitHub-релиза (.dmg для macOS, .exe/.zip для Windows), откройте приложение, затем зайдите в Settings → Models, чтобы настроить провайдера и API-ключ, добавьте workspace и запустите сессию Harness.
Нужно ли самому устанавливать Node.js или Harness CLI?При обычном использовании — нет: приложение само управляет локальным процессом Harness. Node.js 22.19+ нужен только если вы собираете проект из исходников.
Пульт для iPhone или Android — это полноценный самостоятельный агент?Нет — на телефоне никогда не запускаются агент, репозиторий, терминал или провайдер моделей; это просто панель управления, пока всё исполнение остаётся на вашем компьютере. Приложение для iPhone — бета в TestFlight, а Android-APK — релиз только на GitHub, пока не в Google Play, требующий совпадающей версии Desktop.
Работает ли это и на Mac с Intel или только на Apple Silicon?И там и там — есть отдельные сборки .dmg для Mac на Apple Silicon (arm64) и Intel (x64), а также установщик и портативный zip для Windows 10/11 x64.
Куда уходят мой код и данные сопряжения?Всё остаётся на вашем собственном компьютере: релея от проекта нет, а телефоны подключаются либо через ваш доверенный локальный Wi-Fi, либо через вашу собственную сеть Tailscale.
Что такое DSH и это официальный продукт DeepSeek?DSH расшифровывается как DeepSeek Harness — рантайм кодинг-агента DeepSeek в режиме developer preview. Это десктопное приложение — независимый проект сообщества, а не официальный продукт DeepSeek AI.
Можно ли устанавливать сторонние плагины?Да, из Settings → Plugins → Install & manage можно установить npm-пакет, ссылку github:owner/repo, GitHub-URL или команду; приложение проверяет, что Harness успешно перезапускается, и автоматически откатывает изменения, если плагин ломает запуск.
Отслеживает ли приложение расход токенов и стоимость?На macOS в заголовке окна показываются суточные и недельные итоги по токенам, оценочная стоимость, число активных задач и текущая скорость — всё считается локально из логов сессий Harness по публичным ценам моделей.
Можно ли пользоваться Android-пультом, когда компьютер не в сети?Есть офлайн Demo-режим, чтобы изучить интерфейс, но реальные сессии требуют, чтобы сопряжённый компьютер оставался в сети с активно работающими Desktop и Harness.
Creator
chokwinlee
Size
18 MB
Stars
285
Age
2mo
Commits · 90 Days