前言
上一章从实战角度介绍了如何将DeepSeek-Harness与本地大模型推理引擎llama.cpp进行整合。本章将在此基础上,进一步探讨如何将DeepSeek-Harness嵌入桌面端应用。参照开源开源项目(Enactivism/deepseek-harness: DeepSeek Harness: Everything is a Plugin.),并在本地Windows 11环境下完成部署与运行,同时对其中存在的问题进行修正。本章将从架构介绍、环境配置、实际使用三个方面进行介绍。本章涉及的完整代码已开源,地址为:https://gitee.com/mycaB/deepseek-harness.git。
目录
- 1 架构介绍
- 2 环境配置
- 3 本地运行
1 简介
整体架构使用了Qt提供的QtWEbEngine和QProcess的能力。通过QtWebEngine在Qt界面中直接渲染DSH的Web服务前端,从而复用其完整的交互界面;同时利用QProcess对DSH后端进程进行托管,实现服务的自动启动、状态监控与随应用退出而关闭。最这使Qt应用成为一个整合了Web前端与本地进程的"外壳"。
从具体实现来看,系统内部包含两个相互配合的轮询机制:其一,以500毫秒为间隔定时检测DSH服务是否就绪,最多尝试180次,一旦服务可用,立即将服务地址设置到QWebEngineView对象中并开始加载页面;其二,当页面首次加载失败时,以2000毫秒为间隔重复尝试加载,最多重试3次,以提高前端页面加载的容错性。
基于开源库分支Enactivism/deepseek-harness: DeepSeek Harness: Everything is a Plugin.进行修改,问题包含:1)启动服务成功后会自动打开浏览器;2)QtWebEngine对象载入服务失败等问题。问题1)通过再打开服务命令中添加--no-open参数即可;问题2)原因为QtWebEngine对象载入服务时,除地址和端口号外,还需设置Token。问题修改和整理后,新发布的开源地址如下:https://gitee.com/mycaB/deepseek-harness.git
2 环境配置
环境配置分为两步:DSH环境配置,qt-shell编译。
从 https://gitee.com/mycaB/deepseek-harness.git 下载完整源码,参照上一章配置好 DSH 环境,并在本机安装 pnpm 后,于源码根目录执行以下命令即可。
pnpm install
pnpm run build
接下来为qt-shell编译,进入到qt-shell文件夹作为源路径,使用CMake-gui编译即可,编译需带QtWebEngine模块的Qt6三方库。可从如下网盘中下载:百度网盘 请输入提取码。
依次点击Configure(配置)、Generate(生成)、Open Project(打开工程),并编译生成,可得到一个名为deepseek-harness-qt的qt可执行程序。CMake-gui配置如下所示:

3 本地运行
运行deepseek-harness-qt,会依次看到正在启动服务、正在载入服务页面的界面提示,最终运行效果如下图所示:
