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,会依次看到正在启动服务、正在载入服务页面的界面提示,最终运行效果如下图所示:

​

相关推荐
Wang's Blog2 分钟前
Java 项目实战: 交友项目 - 登录发送验证码的测试验证与经验复盘
java·开发语言·交友
马优晨27 分钟前
Java中的dto是什么
java·开发语言·java中的dto是什么·java的dto是什么·dto在java中是什么
itmigrate39 分钟前
PHP 导出大 CSV 时内存溢出的一次排查
android·开发语言·php
YSL0701241 小时前
一文通关-----栈和队列
开发语言·数据结构
维克兜率天1 小时前
【维克】统计套利建模:从因子到信号的完整流程
android·开发语言·python·算法·kotlin
Pin_Qing1 小时前
同一天,谷歌半价卖旗舰,阶跃翻倍收缓存
大数据·开发语言·人工智能·程序人生·缓存
2501_930707781 小时前
使用C#代码在 Word 文档中添加、插入或删除页面
开发语言·c#·word
没有梦想的咸鱼185-1037-16631 小时前
从通量数据到SCI论文——AI-R语言生态系统碳水热通量及其机制分析与论文
开发语言·人工智能·数据分析·r语言
weixin_461769401 小时前
conda create 创建容器 Failed to resolve ‘repo.anaconda.com‘问题
开发语言·python·conda·repo·网络问题·无法创建
Want5952 小时前
Python生日蛋糕
开发语言·python