> ## 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.

# Development setup

> Prepare a local environment and run DeepSeek Harness Desktop from source.

Development requires both the JavaScript frontend toolchain and the Rust/Tauri platform
toolchain. The released app does not require these tools.

## Prerequisites

* Node.js 22; use `22.22.0` to match the managed environment.
* Rust `1.93+` with Cargo, required by the [patched notification dependency](https://github.com/dsh-tauri/deepseek-harness-desktop/blob/main/src-tauri/vendor/tauri-plugin-notifications/Cargo.toml).
* Corepack and the desktop repository's pinned pnpm `11.7.0`, not the separate documentation repository's version.
* Git and platform-specific Tauri dependencies.

**Windows**

Install Microsoft C++ Build Tools with the MSVC workload and WebView2.

Install and select Xcode `16+` with Swift `6`. The notification backend uses Swift 6 typed throws; older Command Line Tools alone are insufficient.

**Ubuntu / Debian**

WebKitGTK `4.1` and Tauri native build packages are required:

```bash theme={null}
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
```

## Run from source

**1. Clone the repository**

```bash theme={null}
git clone https://github.com/dsh-tauri/deepseek-harness-desktop.git
cd deepseek-harness-desktop
```

**2. Activate pinned pnpm**

```bash theme={null}
corepack enable
corepack install
```

**3. Install dependencies**

```bash theme={null}
pnpm install --frozen-lockfile
pnpm build:plugins
```

**4. Start Tauri development**

```bash theme={null}
pnpm tauri dev
```

* Vite development server: `http://localhost:1420`.
* Debug Harness: `127.0.0.1:3081` by default, with port fallback.
* Managed dependencies: `<AppData>/dev`; data: `~/.dsh.dev`, ignoring inherited `DSH_HOME`.
* See [Runtime and data](https://dshtauri.mintlify.site/en/architecture/runtime-and-data.md) for the complete paths.

> [!NOTE]
>
> `pnpm dev` starts only Vite; use `pnpm tauri dev` for native features. When editing `packages/`, run `pnpm dev:plugins` in another terminal, or use `pnpm dev:desktop` to start both the plugin watcher and desktop development mode.


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