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

# Installation

> Choose a version and install DeepSeek Harness Desktop on Windows, macOS, or Linux.

export const ReleaseDownloads = ({lang = "zh-CN"}) => {
  const RELEASES_PAGE = "https://github.com/dsh-tauri/deepseek-harness-desktop/releases";
  const PLATFORM_ORDER = ["windows", "macos", "linux", "other"];
  const SNAPSHOT = [{
    "tag": "v0.17.0",
    "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/tag/v0.17.0",
    "published": "2026-09-23T17:31:51Z",
    "prerelease": false,
    "assets": [{
      "name": "Deepseek.Harness.Desktop_0.17.0_aarch64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.17.0/Deepseek.Harness.Desktop_0.17.0_aarch64.dmg",
      "size": "10.7 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.17.0_amd64.AppImage",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.17.0/Deepseek.Harness.Desktop_0.17.0_amd64.AppImage",
      "size": "90.1 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.17.0_amd64.deb",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.17.0/Deepseek.Harness.Desktop_0.17.0_amd64.deb",
      "size": "14 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.17.0_x64-setup.exe",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.17.0/Deepseek.Harness.Desktop_0.17.0_x64-setup.exe",
      "size": "7.37 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.17.0_x64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.17.0/Deepseek.Harness.Desktop_0.17.0_x64.dmg",
      "size": "11.6 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.17.0_x64_en-US.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.17.0/Deepseek.Harness.Desktop_0.17.0_x64_en-US.msi",
      "size": "10.9 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.17.0_x64_zh-CN.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.17.0/Deepseek.Harness.Desktop_0.17.0_x64_zh-CN.msi",
      "size": "10.9 MB"
    }]
  }, {
    "tag": "v0.16.0",
    "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/tag/v0.16.0",
    "published": "2026-09-23T12:45:50Z",
    "prerelease": false,
    "assets": [{
      "name": "Deepseek.Harness.Desktop_0.16.0_aarch64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0/Deepseek.Harness.Desktop_0.16.0_aarch64.dmg",
      "size": "10.7 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0_amd64.AppImage",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0/Deepseek.Harness.Desktop_0.16.0_amd64.AppImage",
      "size": "90 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0_amd64.deb",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0/Deepseek.Harness.Desktop_0.16.0_amd64.deb",
      "size": "13.9 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0_x64-setup.exe",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0/Deepseek.Harness.Desktop_0.16.0_x64-setup.exe",
      "size": "7.33 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0_x64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0/Deepseek.Harness.Desktop_0.16.0_x64.dmg",
      "size": "11.5 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0_x64_en-US.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0/Deepseek.Harness.Desktop_0.16.0_x64_en-US.msi",
      "size": "10.9 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0_x64_zh-CN.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0/Deepseek.Harness.Desktop_0.16.0_x64_zh-CN.msi",
      "size": "10.9 MB"
    }]
  }, {
    "tag": "v0.16.0-beta.3",
    "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/tag/v0.16.0-beta.3",
    "published": "2026-09-23T07:02:26Z",
    "prerelease": true,
    "assets": [{
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.3_aarch64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.3/Deepseek.Harness.Desktop_0.16.0-beta.3_aarch64.dmg",
      "size": "10.7 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.3_amd64.AppImage",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.3/Deepseek.Harness.Desktop_0.16.0-beta.3_amd64.AppImage",
      "size": "90 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.3_amd64.deb",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.3/Deepseek.Harness.Desktop_0.16.0-beta.3_amd64.deb",
      "size": "13.9 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.3_x64-setup.exe",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.3/Deepseek.Harness.Desktop_0.16.0-beta.3_x64-setup.exe",
      "size": "7.32 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.3_x64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.3/Deepseek.Harness.Desktop_0.16.0-beta.3_x64.dmg",
      "size": "11.5 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.3_x64_en-US.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.3/Deepseek.Harness.Desktop_0.16.0-beta.3_x64_en-US.msi",
      "size": "10.9 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.3_x64_zh-CN.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.3/Deepseek.Harness.Desktop_0.16.0-beta.3_x64_zh-CN.msi",
      "size": "10.9 MB"
    }]
  }, {
    "tag": "v0.16.0-beta.2",
    "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/tag/v0.16.0-beta.2",
    "published": "2026-09-22T14:05:24Z",
    "prerelease": true,
    "assets": [{
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.2_aarch64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.2/Deepseek.Harness.Desktop_0.16.0-beta.2_aarch64.dmg",
      "size": "10.7 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.2_amd64.AppImage",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.2/Deepseek.Harness.Desktop_0.16.0-beta.2_amd64.AppImage",
      "size": "90 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.2_amd64.deb",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.2/Deepseek.Harness.Desktop_0.16.0-beta.2_amd64.deb",
      "size": "13.9 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.2_x64-setup.exe",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.2/Deepseek.Harness.Desktop_0.16.0-beta.2_x64-setup.exe",
      "size": "7.31 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.2_x64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.2/Deepseek.Harness.Desktop_0.16.0-beta.2_x64.dmg",
      "size": "11.5 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.2_x64_en-US.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.2/Deepseek.Harness.Desktop_0.16.0-beta.2_x64_en-US.msi",
      "size": "10.9 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.2_x64_zh-CN.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.2/Deepseek.Harness.Desktop_0.16.0-beta.2_x64_zh-CN.msi",
      "size": "10.9 MB"
    }]
  }, {
    "tag": "v0.15.9",
    "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/tag/v0.15.9",
    "published": "2026-09-22T16:47:03Z",
    "prerelease": false,
    "assets": [{
      "name": "Deepseek.Harness.Desktop_0.15.9_aarch64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.9/Deepseek.Harness.Desktop_0.15.9_aarch64.dmg",
      "size": "10.7 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.9_amd64.AppImage",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.9/Deepseek.Harness.Desktop_0.15.9_amd64.AppImage",
      "size": "90 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.9_amd64.deb",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.9/Deepseek.Harness.Desktop_0.15.9_amd64.deb",
      "size": "13.9 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.9_x64-setup.exe",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.9/Deepseek.Harness.Desktop_0.15.9_x64-setup.exe",
      "size": "7.31 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.9_x64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.9/Deepseek.Harness.Desktop_0.15.9_x64.dmg",
      "size": "11.5 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.9_x64_en-US.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.9/Deepseek.Harness.Desktop_0.15.9_x64_en-US.msi",
      "size": "10.9 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.9_x64_zh-CN.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.9/Deepseek.Harness.Desktop_0.15.9_x64_zh-CN.msi",
      "size": "10.9 MB"
    }]
  }, {
    "tag": "v0.16.0-beta.1",
    "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/tag/v0.16.0-beta.1",
    "published": "2026-09-21T16:59:26Z",
    "prerelease": true,
    "assets": [{
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.1_aarch64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.1/Deepseek.Harness.Desktop_0.16.0-beta.1_aarch64.dmg",
      "size": "10.7 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.1_amd64.AppImage",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.1/Deepseek.Harness.Desktop_0.16.0-beta.1_amd64.AppImage",
      "size": "90 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.1_amd64.deb",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.1/Deepseek.Harness.Desktop_0.16.0-beta.1_amd64.deb",
      "size": "13.8 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.1_x64-setup.exe",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.1/Deepseek.Harness.Desktop_0.16.0-beta.1_x64-setup.exe",
      "size": "7.33 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.1_x64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.1/Deepseek.Harness.Desktop_0.16.0-beta.1_x64.dmg",
      "size": "11.5 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.1_x64_en-US.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.1/Deepseek.Harness.Desktop_0.16.0-beta.1_x64_en-US.msi",
      "size": "10.9 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.16.0-beta.1_x64_zh-CN.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.16.0-beta.1/Deepseek.Harness.Desktop_0.16.0-beta.1_x64_zh-CN.msi",
      "size": "10.9 MB"
    }]
  }, {
    "tag": "v0.15.8",
    "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/tag/v0.15.8",
    "published": "2026-09-20T14:30:28Z",
    "prerelease": false,
    "assets": [{
      "name": "Deepseek.Harness.Desktop_0.15.8_aarch64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.8/Deepseek.Harness.Desktop_0.15.8_aarch64.dmg",
      "size": "10.7 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.8_amd64.AppImage",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.8/Deepseek.Harness.Desktop_0.15.8_amd64.AppImage",
      "size": "90 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.8_amd64.deb",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.8/Deepseek.Harness.Desktop_0.15.8_amd64.deb",
      "size": "13.9 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.8_x64-setup.exe",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.8/Deepseek.Harness.Desktop_0.15.8_x64-setup.exe",
      "size": "7.33 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.8_x64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.8/Deepseek.Harness.Desktop_0.15.8_x64.dmg",
      "size": "11.5 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.8_x64_en-US.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.8/Deepseek.Harness.Desktop_0.15.8_x64_en-US.msi",
      "size": "10.9 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.8_x64_zh-CN.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.8/Deepseek.Harness.Desktop_0.15.8_x64_zh-CN.msi",
      "size": "10.9 MB"
    }]
  }, {
    "tag": "v0.15.7",
    "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/tag/v0.15.7",
    "published": "2026-09-19T18:47:01Z",
    "prerelease": false,
    "assets": [{
      "name": "Deepseek.Harness.Desktop_0.15.7_aarch64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.7/Deepseek.Harness.Desktop_0.15.7_aarch64.dmg",
      "size": "9.89 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.7_amd64.AppImage",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.7/Deepseek.Harness.Desktop_0.15.7_amd64.AppImage",
      "size": "87.6 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.7_amd64.deb",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.7/Deepseek.Harness.Desktop_0.15.7_amd64.deb",
      "size": "12.9 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.7_x64-setup.exe",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.7/Deepseek.Harness.Desktop_0.15.7_x64-setup.exe",
      "size": "6.77 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.7_x64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.7/Deepseek.Harness.Desktop_0.15.7_x64.dmg",
      "size": "10.6 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.7_x64_en-US.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.7/Deepseek.Harness.Desktop_0.15.7_x64_en-US.msi",
      "size": "10 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.7_x64_zh-CN.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.7/Deepseek.Harness.Desktop_0.15.7_x64_zh-CN.msi",
      "size": "10 MB"
    }]
  }, {
    "tag": "v0.15.6",
    "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/tag/v0.15.6",
    "published": "2026-09-19T13:25:23Z",
    "prerelease": false,
    "assets": [{
      "name": "Deepseek.Harness.Desktop_0.15.6_aarch64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.6/Deepseek.Harness.Desktop_0.15.6_aarch64.dmg",
      "size": "9.89 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.6_amd64.AppImage",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.6/Deepseek.Harness.Desktop_0.15.6_amd64.AppImage",
      "size": "87.6 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.6_amd64.deb",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.6/Deepseek.Harness.Desktop_0.15.6_amd64.deb",
      "size": "12.9 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.6_x64-setup.exe",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.6/Deepseek.Harness.Desktop_0.15.6_x64-setup.exe",
      "size": "6.77 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.6_x64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.6/Deepseek.Harness.Desktop_0.15.6_x64.dmg",
      "size": "10.6 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.6_x64_en-US.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.6/Deepseek.Harness.Desktop_0.15.6_x64_en-US.msi",
      "size": "10 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.6_x64_zh-CN.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.6/Deepseek.Harness.Desktop_0.15.6_x64_zh-CN.msi",
      "size": "10 MB"
    }]
  }, {
    "tag": "v0.15.5",
    "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/tag/v0.15.5",
    "published": "2026-09-18T12:59:16Z",
    "prerelease": false,
    "assets": [{
      "name": "Deepseek.Harness.Desktop_0.15.5_aarch64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.5/Deepseek.Harness.Desktop_0.15.5_aarch64.dmg",
      "size": "9.88 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.5_amd64.AppImage",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.5/Deepseek.Harness.Desktop_0.15.5_amd64.AppImage",
      "size": "87.6 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.5_amd64.deb",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.5/Deepseek.Harness.Desktop_0.15.5_amd64.deb",
      "size": "12.9 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.5_x64-setup.exe",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.5/Deepseek.Harness.Desktop_0.15.5_x64-setup.exe",
      "size": "6.76 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.5_x64.dmg",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.5/Deepseek.Harness.Desktop_0.15.5_x64.dmg",
      "size": "10.6 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.5_x64_en-US.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.5/Deepseek.Harness.Desktop_0.15.5_x64_en-US.msi",
      "size": "10 MB"
    }, {
      "name": "Deepseek.Harness.Desktop_0.15.5_x64_zh-CN.msi",
      "url": "https://github.com/dsh-tauri/deepseek-harness-desktop/releases/download/v0.15.5/Deepseek.Harness.Desktop_0.15.5_x64_zh-CN.msi",
      "size": "10 MB"
    }]
  }];
  const TEXT = {
    "zh-CN": {
      version: "版本",
      previewTag: "预览版",
      published: "发布于",
      noAssets: "该版本没有可下载的安装包。",
      releaseNotes: "查看该版本的发布说明",
      allReleases: "全部版本",
      platforms: {
        windows: "Windows",
        macos: "macOS",
        linux: "Linux",
        other: "其他文件"
      },
      kinds: {
        winSetup: "安装程序（.exe）",
        winMsiZh: "MSI（简体中文）",
        winMsiEn: "MSI（英文）",
        winMsi: "MSI 安装包",
        macArm: "Apple Silicon（.dmg）",
        macIntel: "Intel 芯片（.dmg）",
        macDmg: "macOS（.dmg）",
        linuxDeb: "Debian / Ubuntu（.deb）",
        linuxAppImage: "AppImage",
        other: "其他文件"
      }
    },
    en: {
      version: "Version",
      previewTag: "pre-release",
      published: "Published",
      noAssets: "This release has no downloadable installers.",
      releaseNotes: "Read the release notes",
      allReleases: "All releases",
      platforms: {
        windows: "Windows",
        macos: "macOS",
        linux: "Linux",
        other: "Other files"
      },
      kinds: {
        winSetup: "Installer (.exe)",
        winMsiZh: "MSI (Simplified Chinese)",
        winMsiEn: "MSI (English)",
        winMsi: "MSI package",
        macArm: "Apple Silicon (.dmg)",
        macIntel: "Intel (.dmg)",
        macDmg: "macOS (.dmg)",
        linuxDeb: "Debian / Ubuntu (.deb)",
        linuxAppImage: "AppImage",
        other: "Other file"
      }
    }
  };
  const copy = TEXT[lang] ?? TEXT["zh-CN"];
  const classifyAsset = name => {
    const lower = name.toLowerCase();
    if (lower.endsWith("-setup.exe")) return {
      platform: "windows",
      kind: "winSetup",
      rank: 0
    };
    if (lower.endsWith("_zh-cn.msi")) return {
      platform: "windows",
      kind: "winMsiZh",
      rank: 1
    };
    if (lower.endsWith("_en-us.msi")) return {
      platform: "windows",
      kind: "winMsiEn",
      rank: 2
    };
    if (lower.endsWith(".msi")) return {
      platform: "windows",
      kind: "winMsi",
      rank: 3
    };
    if (lower.endsWith("aarch64.dmg") || lower.endsWith("arm64.dmg")) return {
      platform: "macos",
      kind: "macArm",
      rank: 0
    };
    if (lower.endsWith("x64.dmg") || lower.endsWith("x86_64.dmg")) return {
      platform: "macos",
      kind: "macIntel",
      rank: 1
    };
    if (lower.endsWith(".dmg")) return {
      platform: "macos",
      kind: "macDmg",
      rank: 2
    };
    if (lower.endsWith(".deb")) return {
      platform: "linux",
      kind: "linuxDeb",
      rank: 0
    };
    if (lower.endsWith(".appimage")) return {
      platform: "linux",
      kind: "linuxAppImage",
      rank: 1
    };
    return {
      platform: "other",
      kind: "other",
      rank: 9
    };
  };
  const formatDate = value => {
    if (!value) return null;
    try {
      return new Date(value).toLocaleDateString(lang === "zh-CN" ? "zh-CN" : "en-US", {
        year: "numeric",
        month: "short",
        day: "numeric"
      });
    } catch {
      return null;
    }
  };
  const groupAssets = assets => {
    const buckets = {
      windows: [],
      macos: [],
      linux: [],
      other: []
    };
    for (const asset of assets ?? []) {
      const meta = classifyAsset(asset.name ?? "");
      buckets[meta.platform].push({
        key: `${meta.platform}:${asset.name}`,
        label: copy.kinds[meta.kind],
        name: asset.name,
        url: asset.url,
        size: asset.size,
        rank: meta.rank
      });
    }
    return PLATFORM_ORDER.filter(platform => buckets[platform].length > 0).map(platform => ({
      platform,
      label: copy.platforms[platform],
      items: buckets[platform].sort((a, b) => a.rank - b.rank)
    }));
  };
  const releases = [...SNAPSHOT].sort((a, b) => (b.published ?? "").localeCompare(a.published ?? ""));
  const [selected, setSelected] = useState((releases.find(item => !item.prerelease) ?? releases[0])?.tag ?? null);
  const release = releases.find(item => item.tag === selected) ?? releases[0];
  if (release === undefined) {
    return <div className="not-prose rounded-2xl border border-zinc-950/10 dark:border-white/10 px-4 py-5 text-sm text-zinc-950/60 dark:text-white/60">
        {copy.noAssets}
      </div>;
  }
  const groups = groupAssets(release.assets);
  const published = formatDate(release.published);
  return <div className="not-prose">
      <div className="flex flex-wrap items-center gap-x-3 gap-y-2">
        <label className="text-sm text-zinc-950/70 dark:text-white/70" htmlFor={`dsh-release-${lang}`}>
          {copy.version}
        </label>
        <select id={`dsh-release-${lang}`} className="rounded-lg border border-zinc-950/15 dark:border-white/20 bg-transparent px-2.5 py-1.5 text-sm font-medium text-zinc-950 dark:text-white" value={release.tag} onChange={event => setSelected(event.target.value)}>
          {releases.map(item => <option key={item.tag} value={item.tag}>
              {item.tag}
              {item.prerelease ? ` · ${copy.previewTag}` : ""}
            </option>)}
        </select>
        {published ? <span className="text-sm text-zinc-950/60 dark:text-white/60">{`${copy.published} ${published}`}</span> : null}
        <a className="text-sm text-zinc-950/60 dark:text-white/60 underline decoration-zinc-950/20 dark:decoration-white/20 underline-offset-2" href={release.url} target="_blank" rel="noreferrer">
          {copy.releaseNotes}
        </a>
        <a className="text-sm text-zinc-950/60 dark:text-white/60 underline decoration-zinc-950/20 dark:decoration-white/20 underline-offset-2" href={RELEASES_PAGE} target="_blank" rel="noreferrer">
          {copy.allReleases}
        </a>
      </div>

      {groups.length === 0 ? <p className="mt-4 text-sm text-zinc-950/60 dark:text-white/60">{copy.noAssets}</p> : groups.map(group => <div key={group.platform} className="mt-6">
              <p className="text-sm font-medium text-zinc-950 dark:text-white">{group.label}</p>
              <div className="mt-2 flex flex-wrap gap-2">
                {group.items.map(item => <a key={item.key} className="inline-flex items-baseline gap-2 rounded-lg border border-zinc-950/15 dark:border-white/20 px-3 py-2 text-sm font-medium text-zinc-950 dark:text-white hover:border-zinc-950/30 dark:hover:border-white/40" href={item.url} title={item.name}>
                    <span>{item.label}</span>
                    {item.size ? <span className="text-xs font-normal text-zinc-950/50 dark:text-white/50">{item.size}</span> : null}
                  </a>)}
              </div>
            </div>)}
    </div>;
};

The desktop installer stays lightweight: on first launch the app downloads a compatible Node.js runtime and a prebuilt Harness core itself.

## Choose a version and download

<ReleaseDownloads lang="en" />

<Note>
  Installers come directly from GitHub Releases; this page neither mirrors nor caches files. A scheduled workflow in this repository syncs the version list from the release page, so it can lag by up to an hour; treat the [release page](https://github.com/dsh-tauri/deepseek-harness-desktop/releases) as the source of truth.
</Note>

## Installer types

| Platform | Installer                            | When to use it                                                           |
| -------- | ------------------------------------ | ------------------------------------------------------------------------ |
| Windows  | `*-setup.exe`                        | Default choice, NSIS installer                                           |
| Windows  | `*_x64_en-US.msi`, `*_x64_zh-CN.msi` | When MSI distribution is required, such as enterprise deployment         |
| macOS    | `*_aarch64.dmg`                      | Apple Silicon (M-series)                                                 |
| macOS    | `*_x64.dmg`                          | Intel                                                                    |
| Linux    | `*_amd64.deb`                        | Debian, Ubuntu, and similar distributions with fuller system integration |
| Linux    | `*_amd64.AppImage`                   | No installation required, runs as a single file                          |

You can also install on macOS with Homebrew:

```bash theme={null}
brew install dsh-tauri/desktop/deepseek-harness
```

## System requirements

| Platform | Requirement                |
| -------- | -------------------------- |
| Windows  | Windows 10 or later        |
| macOS    | macOS 10.15 or later       |
| Linux    | Modern 64-bit distribution |

The first launch requires a network connection. After setup, normal work remains local unless a model provider, plugin, or update needs network access. Built-in plugins require Harness core **0.1.5-rc.2** or later.

## Install and launch

Run the installer you downloaded, then open **DeepSeek Harness Desktop** from your application menu.

## Platform notes

<AccordionGroup>
  <Accordion title="Windows security prompt">
    Confirm that the installer came from the official GitHub Release. The application
    uses WebView2, which is included with supported Windows versions.
  </Accordion>

  <Accordion title="macOS blocks the first launch">
    Verify the download source, then allow the application from
    **System Settings → Privacy & Security**.
  </Accordion>

  <Accordion title="Black window on Linux Wayland">
    Prefer `.deb`. If the AppImage still shows a black window, try:

    ```bash theme={null}
    WEBKIT_DISABLE_COMPOSITING_MODE=1 WEBKIT_DISABLE_DMABUF_RENDERER=1 GDK_BACKEND=x11 ./Deepseek*.AppImage
    ```
  </Accordion>
</AccordionGroup>

<Note>
  Released users do not need to install Node.js, pnpm, or Docker. These tools are only
  required when developing the desktop application from source.
</Note>

Continue with [First run](./getting-started/first-run).
