> ## Documentation Index
> Fetch the complete documentation index at: https://dshtauri.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Architecture overview

> Understand how the Tauri shell, local Harness service, and embedded web UI work together.

DeepSeek Harness Desktop is a Tauri 2 application that manages a local Harness service
and displays its web interface inside a native window.

## Architecture diagram

This diagram shows the local runtime path: the desktop UI communicates with the Rust backend through Tauri commands. The backend manages a separate Harness service process, and the embedded client accesses it through a loopback address.

```text theme={null}
+---------------------------+      +---------------------------+
| Tauri window / WebView    |      | Native backend            |
| Desktop UI (React)        |<---->| Rust / Tauri 2            |
| Settings, profiles, etc.  | IPC  | Runtime & service manager |
|                           |      +-------------+-------------+
| +-----------------------+ |                    |
| | Embedded Harness UI   | |          launch / stop / health
| | (iframe)              | |                    |
| +-----------+-----------+ |                    v
+-------------|-------------+      +---------------------------+
              +------------------->| Local Harness service     |
                 127.0.0.1:<port>  | Node.js / dsh             |
                                   | Sessions, tools, plugins  |
                                   +-------------+-------------+
                                                 |
                                   +-------------+-------------+
                                   |                           |
                                   v                           v
                          +----------------+          +----------------+
                          | Local data &   |          | Model provider |
                          | workspace      |          | APIs           |
                          +----------------+          +----------------+
```

IPC represents commands and events between the desktop UI and native backend. Local data includes profiles and sessions. Component boundaries are not security sandboxes: tools and plugins can still execute local code.

## Main layers

| Layer | Technology | Responsibility |
| - | - | - |
| Desktop UI | React 19, TypeScript, Vite, Tailwind CSS 4 | Setup, settings, profiles, plugins, updates, and native window states |
| Native backend | Rust and Tauri 2 | Runtime discovery, downloads, service lifecycle, files, CLI integration, and OS APIs |
| Harness service | Managed or compatible local `dsh` core | Sessions, tools, profiles, plugins, and the local web application |
| Embedded client | Harness web UI at a loopback URL | The primary session experience inside the desktop window |

## Startup flow

**1. Resolve configuration**

Rust derives release or debug paths, the active profile, preferred core, and port.

**2. Prepare dependencies**

Reuse compatible local tools or prepare managed Node.js, pnpm, and the core. First startup downloads missing dependencies over the network.

**3. Ensure plugins**

Check and restore built-in plugins in the active profile before starting the service.

**4. Launch and probe Harness**

The selected Node launches the Harness entry with `--profile <id> --port <port> --no-open`, then the backend waits for health.

**5. Load the client**

Switch from setup or loading state to the local Harness UI. Default ports are `3080` for release and `3081` for debug; an occupied port can trigger fallback.

## Trust boundaries

The web client, Rust backend, Harness process, plugins, model providers, and opened workspace are separate components, not separate security sandboxes.
Tauri commands narrow native capabilities; Harness tools and plugins can still execute local code with the user's permissions. Profiles are not operating-system sandboxes.

Next, inspect [Runtime and data](https://dshtauri.mintlify.site/en/architecture/runtime-and-data.md) or the
[Plugin system](https://dshtauri.mintlify.site/en/architecture/plugin-system.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.