DeepSeek-Harness-Qt将浏览器端Agent装入桌面应用

前言

上一章从实战角度介绍了如何将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,会依次看到正在启动服务、正在载入服务页面的界面提示,最终运行效果如下图所示:

​

相关推荐
w_zero_one1 小时前
递归算法(一)
java·开发语言·算法
Julien20042 小时前
管理机密(一)
运维·服务器·开发语言·学习方法
Chen_harmony2 小时前
七、STL与string类
开发语言·c++
沐晓时光2 小时前
C语言入门,字符串和字符串函数知识讲解
c语言·开发语言
xxxiugou1233 小时前
C++命名空间与引用全解析
开发语言·c++
BroNekoX3 小时前
我将基于 QtQuick 框架开发的音乐播放器性能做到顶级
qt
yangmu32034 小时前
编程语言发展简史:从机器指令到智能协作
开发语言
Pniubi7 小时前
Java为什么要分堆和栈
java·开发语言
小小晓.7 小时前
Qt 对话框、QLineEdit 与布局管理实战详解
开发语言·qt
炸薯条!8 小时前
博客系统测试报告
开发语言·lua