Development & Runtime

deepseek-harness-kit

AlwaysSum/deepseek-harness-kit · ★ 1

AlwaysSum

让所有人可以更方便的使用DeepSeek harness

README body is shown in Chinese.

License
Unknown
Added
2026-08-17
Maintenance
active
Install kind
github
Manifest details
Manifest status
Not verified
Manifest path
-
Manifest checked
2026-08-19
Lifecycle scripts
None found

Static manifest checks report declarations only; they are not compatibility or security review.

安装

dsh plugin --profile web add github:AlwaysSum/deepseek-harness-kit

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: zh · Read Chinese README

Table of contents
  1. 界面效果图
  2. 启动与环境检测
  3. 技能广场与技能调用
  4. 插件市场与内置插件
  5. 主题换肤
  6. 功能
  7. 目录结构
  8. 本地开发
  9. 内置离线运行时(可选,推荐发布前执行)
  10. 部署流程说明
  11. 注意事项
  12. 更新与发布
  13. 国内网络构建提示(仅对源码构建者)
  14. 技术栈
  15. 相关链接
  16. Star History

一个基于 Tauri 2 的 Windows 桌面应用:一键部署并运行 DeepSeek Harness(GitCode 镜像仓库), 免去手动装环境、克隆、安装依赖、构建的繁琐步骤。

界面效果图

启动与环境检测

一键部署 / 启动时自动检测 Node.js 与 dsh 运行时,版本不符或缺失时自动下载便携版 Node,日志实时滚动:

一键启动和环境检测

服务就绪后,主界面左侧为控制台,中间直接内嵌 DeepSeek Harness Web UI:

启动后效果图

技能广场与技能调用

技能广场:浏览 / 搜索技能广场(skillhub.cn 数据源),一键安装技能与专家:

技能广场

在 Harness 对话中输入 / 呼出技能候选菜单,选择已安装技能后技能指令自动注入对话:

skills调用

插件市场与内置插件

插件市场:「本地插件 / 在线搜索 / 外部内置插件」三个 Tab,可启停内置插件、从 GitHub / npm 搜索安装新插件:

插件市场

文件列表插件:侧边栏工作区改「会话 / 文件」双 Tab,文件 Tab 以文件树浏览当前会话工作区,点击文件后中间变为「对话 | 文件A | 文件B …」多 Tab 编辑(代码高亮、JSON / MD / HTML 预览、图片视频等):

文件树和编辑插件

主题换肤

主题换肤:覆盖品牌色 / 底色 / 边框 / 文字等令牌色,并支持背景图(含 GIF / APNG / 动态 WebP)与背景视频(MP4 / WebM / OGG):

主题换肤支持背景图动态图和视频

背景图效果,以及动态背景图的实际演示:

背景图效果

背景图动态

功能

  • 侧边栏单一入口:点击侧边栏菜单在「控制台」与「Harness 页面」之间切换。
  • 一键部署:自动完成
    1. Node.js 检测(系统 Node 需 ^22.19 || >=24,不满足或缺失时自动下载便携版 Node);
    2. 通过 npx --yes @deepseek-ai/dsh web --help 获取官方发布的 DeepSeek Harness 运行时(预编译 npm 包,无需克隆源码、无需 pnpm、无需构建);
    3. (可选)自动启动服务。
  • 一键启动 / 一键停止:后台运行 npx --yes @deepseek-ai/dsh web --port <设置端口>,等待端口就绪;停止时结束整棵进程树。
  • 内嵌页面:服务运行中时,中间面板直接内嵌 DeepSeek Harness 的 Web UI;若系统已部署且正在运行,打开应用即直接进入页面。
  • 运行日志实时滚动显示;设置可配置镜像源(默认 npmmirror)、端口(会传递给 dsh web --port)、退出是否停止服务等。

目录结构

├── index.html              # 前端入口
├── src/                    # 前端(原生 JS + Vite)
│   ├── main.js
│   └── styles.css
├── src-tauri/              # Tauri / Rust 后端
│   ├── src/
│   │   ├── main.rs         # 入口
│   │   ├── lib.rs          # 应用装配、退出清理
│   │   ├── commands.rs     # Tauri 命令(get_status / deploy / start / stop …)
│   │   ├── deploy.rs       # 一键部署编排(Node + npx 运行时)
│   │   ├── service.rs      # 服务启停、端口探测
│   │   ├── process.rs      # 进程执行、日志流
│   │   ├── download.rs     # 下载与解压
│   │   └── state.rs        # 设置、路径、运行时检测
│   ├── tauri.conf.json
│   └── icons/              # 应用图标(scripts/gen-icons.ps1 生成)
└── scripts/gen-icons.ps1

本地开发

前置:Node.js ≥ 18(构建打包需要 Rust MSVC 工具链)、Windows 10/11(自带 WebView2)。

项目已内置 .npmrc(registry 指向 npmmirror),并同时提供 package-lock.json 与 pnpm-lock.yaml, npm 或 pnpm 均可直接安装:

npm install        # 或 pnpm install
npm run tauri dev  # 开发模式
npm run tauri build  # 打包:Windows 输出 NSIS(bundle/nsis/);Linux 输出 deb(bundle/deb/,麒麟/UOS/Ubuntu 可装);macOS 输出 dmg(bundle/dmg/)

内置离线运行时(可选,推荐发布前执行)

正式安装包可把 Node 便携包 + @deepseek-ai/dsh 完整依赖树 打进应用资源(src-tauri/resources/runtime/), 用户一键部署时本地解压、全程无需联网,彻底规避弱网/代理环境下载报错:

npm run prepare-runtime       # 产物已存在会跳过;加 --force 强制重新生成
  • 发布前由 publish-release.ps1 -Build 与 CI(release.yml)自动执行;跳过该步骤也能打包, 只是安装包退回「部署时在线下载」模式。
  • 产物不入库(.gitignore),安装包体积约增加 100MB(Node ~34MB + 依赖树压缩包)。
  • 「重新部署」按钮仍为在线强制 @latest,用于把运行时升级到比内置更新的版本。

部署流程说明

  • 数据目录:%LOCALAPPDATA%\DSHDesktop\
    • node/ — 便携版 Node.js
    • runtime/ — dsh 运行时(内置资源解压 / npm 安装落点,优先于 npx 缓存)
    • downloads/ — 下载缓存
    • settings.json — 应用设置
    • dsh.installed / dsh.version — 部署标记
  • 运行时来源(按优先级):
    1. 已就绪的本地运行时(runtime/node_modules/@deepseek-ai/dsh,部署幂等离线);
    2. 随包内置资源 dsh-runtime.zip 离线解压(推荐,免联网);
    3. npm 在线安装兜底(npm install --prefix,弱网自动重试;旧版本的 npx 缓存仍可直接启动)。
  • 服务地址:http://127.0.0.1:<设置端口>(默认 3080,可在设置中修改并传递给 --port)
  • 二进制下载源:npmmirror(registry.npmmirror.com/-/binary),Node 失败时回退 nodejs.org, 下载带 3 次重试与完整性校验。

注意事项

  • 未内置运行时的安装包,部署首次耗时较长(下载 ~75MB 工具 + 安装数百个 npm 包),请耐心等待日志完成。
  • 首次进入 Harness 页面后,需在页面内完成模型 API Key 等配置(与直接使用 DeepSeek Harness 相同)。
  • 应用退出时默认自动停止服务(可在设置中关闭,以便服务保持后台运行)。

更新与发布

  • 侧边栏底部「检查更新」按钮:通过 GitHub Releases(AlwaysSum/deepseek-harness-kit)检测新版本, 发现新版本后可直接下载安装包并运行安装程序;自动使用系统代理(FlClash 等)与国内加速镜像。
  • 发布新版本(两种方式任选):
    • 本地脚本(推荐):scripts/publish-release.ps1,token 放环境变量,一键打 tag + 发布到 GitHub 与 GitCode:
      $env:GITHUB_TOKEN = "github_pat_xxx"     # 可选,缺省则跳过 GitHub
      $env:GITCODE_TOKEN = "xxx"               # 可选,缺省则跳过 GitCode
      .\scripts\publish-release.ps1 -Build -TagAndPush
      # 常用参数:-Version 0.2.0(默认读 tauri.conf.json)/-SkipGitHub /-SkipGitCode /-Proxy http://127.0.0.1:7890
      
    • GitHub Actions 自动发布:打 tag v0.1.0 后自动构建 Windows(NSIS)、Linux(deb,麒麟 / UOS / Ubuntu 可装)与 macOS(dmg,Apple Silicon,未签名)安装包并发布到 GitHub;若在仓库 Settings -> Secrets 配置了 GITCODE_TOKEN,则同步发布到 GitCode。
  • 版本号三处保持一致:package.json、src-tauri/Cargo.toml、src-tauri/tauri.conf.json。

国内网络构建提示(仅对源码构建者)

  • crates.io 直连较慢:建议在 %USERPROFILE%\.cargo\config.toml 配置 rsproxy 稀疏镜像 (sparse+https://rsproxy.cn/index/)。
  • Tauri 打包 NSIS 时会从 GitHub 下载 NSIS 工具链,国内会超时;可提前将 nsis-3.11.zip 与 nsis_tauri_utils.dll 放入 %LOCALAPPDATA%\tauri\NSIS\(SHA1 校验, 需保持官方文件一致),打包器检测到文件齐全后会自动跳过下载。
  • 仓库依赖全部来自 npm registry(无 GitHub 依赖),部署时使用 npmmirror 镜像即可。

技术栈

层 技术
桌面框架 Tauri 2(Rust + WebView2)
前端 原生 JS + Vite 6
后端 Rust:ureq 下载(支持系统代理)、zip 解压、进程树管理
运行时 官方 @deepseek-ai/dsh npm 包(npx 直接调用,无需源码构建)
打包 Windows:NSIS 安装包(currentUser,无需管理员权限);Linux:deb(麒麟 / UOS / Ubuntu);macOS:dmg(Apple Silicon,未签名,首次打开需放行 Gatekeeper)

相关链接

Star History