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

# DSH Tauri

> Understand the message bridge between native desktop navigation and the embedded Harness client.

`dsh-tauri` connects the native desktop shell, Harness host, and embedded client. Desktop navigation, browser-based account authorization, and native calls from other plugins depend on this bridge.

## Use Harness from desktop menus

| Entry | Result |
| - | - |
| Top-bar sidebar toggle | Expands or collapses the Harness sidebar and reports its state; hides the duplicate client control. |
| File → New Chat | Uses the Harness session entry point. |
| File → Open Folder | Selects a directory, creates a workspace, and opens a session there. |
| Show Keyboard Shortcuts | Opens the official shortcut overlay. When the core provides a shortcut catalog, menu hints follow customized bindings. |
| `Ctrl` / `Cmd` + `+`, `-`, `0` | Sends zoom actions to the native window even when the iframe has focus. |
| Account sign-in | Opens the `http` / `https` authorization URL in the system default browser when the account service is available. |

## Interfaces for plugins

| Import | Capabilities |
| - | - |
| `dsh-tauri` | Host runtime, `defineRoutes`, `defineService`, and process, filesystem, and system-opening utilities. The host half is not an empty implementation. |
| `dsh-tauri/client` | Layout and session adapters, parent-window messages, Tauri `invoke` / `listen`, and panel registration. |

Register panels with `definePanel(ctx, entry)`. A `PanelEntry` contains `id`, `label`, `icon`, and `render`, with optional `order` and `locale`. The entry uses `sidebar.panellist`; its content uses `main`. The returned `PanelHandle` exposes `select()`, `close()`, and `dispose()`.

The current [`dsh-tauri-extension`](./dsh-tauri-extension) and [`dsh-tauri-scheduler`](./dsh-tauri-scheduler) use this entry point. The retired `dsh-tauri-panel` package's `panel.protocol` and `sidebar.panel.action` have no compatibility path.

## Compatibility and security boundaries

* The desktop currently recommends Harness **0.2.0-rc.2** and accepts **0.1.5-rc.1** as its minimum. Acceptance does not guarantee every API; adapters probe actual services and capabilities.
* Embedded-carrier authentication applies only when the desktop injects `DSH_TAURI_EMBEDDED=1`. Independently launched `dsh web` retains browser-session authentication.
* Tauri calls pass through parent-window messages. The desktop shell verifies the iframe source and origin and executes only allowlisted commands. Without the host bridge, calls fail rather than gaining other native permissions.
* The client bridge runs only in an embedded environment. If it is missing or fails to initialize, dependent desktop navigation and native calls have no general fallback.

> [!WARNING]
>
> Message validation is not an execution sandbox. Harness and plugins can execute local code; profiles are not operating-system sandboxes.

[View source](https://github.com/dsh-tauri/deepseek-harness-desktop/tree/main/packages/dsh-tauri)


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