Skip to content

SolitudeZY/Deepseek-GUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuickModel——Deepseek GUI

Windows 桌面 AI 助手,支持通过 OpenAI 兼容 API 接入多家 LLM 服务商。基于 pywebview (WebView2) + Python 后端构建。

Platform Python License

中文 | English

详细图文教程请参阅 使用说明 | 主流 LLM 模型的 API Base URL 汇总

功能特性

核心 Agent

  • 多服务商支持 — 兼容任何 OpenAI 格式 API:DeepSeek (V3/R1/V4 Pro/V4 Flash)、OpenAI、Qwen、Ollama 等
  • 多模型配置 — 设置中可配置多个模型后端,随时切换;每个模型可独立设置上下文长度和压缩阈值
  • 思考模式 (off / high / max) — 三级推理强度,工具栏按钮循环切换,跨会话持久化
  • 自动压缩 — 上下文超过阈值自动摘要压缩(默认 600K,可自定义);支持 /compact 手动压缩;前缀缓存感知压缩保留 DeepSeek 缓存命中
  • 图片理解 — 拖拽或粘贴图片即可分析,默认使用 Qwen-VL 视觉模型
  • 实时费用追踪 — 侧边栏显示每轮/每会话 token 用量及缓存命中率

内置工具

工具 说明
read_file 读取本地文件(txt, md, py, json, csv, pdf, docx, xlsx 等)
write_file 写入或覆盖文件
apply_patch 应用 unified diff 补丁精确修改指定行
list_directory 列出目录内容
run_command 执行 PowerShell 命令(带确认对话框)
web_search 多引擎网络搜索,自动降级
web_read 抓取并读取完整网页内容
rlm_query 并行派发 1-16 个子任务到低成本模型
compact 手动触发上下文压缩
todo_write 维护结构化任务清单
subagent 派生子 Agent 独立执行工具循环
glob_files 按模式匹配搜索文件
grep_files 按内容搜索文件
ask_user_question 向用户提问并等待回答
enter_plan_mode / exit_plan_mode 进入/退出计划模式

多引擎网络搜索

  • 6 种搜索后端 — Tavily、Brave Search、Firecrawl、Google Custom Search、SearXNG、DuckDuckGo
  • 自动降级 — 首选引擎失败时自动尝试下一个;DuckDuckGo(免费无需 Key)作为最终兜底
  • 并行抓取 — 搜索结果页面并发抓取全文(最多 5 线程),大幅减少等待时间
  • 软限制 — 单轮超过 5 次搜索后提示模型整合结果
  • 手动/自动模式 — Auto 由模型决定是否搜索;Manual 通过工具栏开关控制

云同步与导入导出

  • 一键全量同步 — 对话历史 + 配置文件一键上传到云盘文件夹(坚果云/OneDrive 等)
  • 一键全量导入 — 换电脑时一键导入所有对话和配置,无需手动迁移
  • 自动上传 — 对话完成后自动复制到同步文件夹
  • 启动检测 — 每次启动自动检测云端新对话,标题栏提示
  • 选择性导入 — 复选框界面,可自行选择要导入的对话
  • 配置同步 — API Key、模型配置、允许的命令列表等全部同步(本机同步路径不会被覆盖)
  • 导出为 Markdown — 仅导出用户和助手的对话内容,不含工具调用
  • 导入对话 — 支持从 .json(完整备份)或 .md(导出格式)文件导入历史对话

技能系统

  • 内置与自定义技能 — 保存并复用提示词模板
  • 导入 Claude 风格技能 — 从文件夹导入(自动识别 SKILL.md + 附属文件,支持批量导入)
  • 完整管理面板 — 创建、编辑、删除技能

记忆系统

  • 持久化键值存储 — Agent 可跨对话保存和回忆信息(memory_readmemory_write
  • 自动注入 — 新对话开始时自动注入记忆摘要

Worktree 隔离

  • Git worktree 集成 — 每个对话可在独立 worktree 中操作
  • 命令安全 — 确认对话框,支持智能通配符模式建议
  • Worktree 面板 — 侧面板显示活跃 worktree、分支和绑定任务

多 Agent 协作

  • 多 Agent 团队 — 派生持久化团队成员,独立线程运行
  • 消息总线 — 线程安全的收件箱/发件箱,Agent 间通信
  • UI 通知 — 团队成员完成工作时实时回调
  • 空闲自动认领 — 空闲成员自动从任务板认领未分配任务

任务管理

  • 持久化任务 — 跨对话存续的结构化任务
  • 依赖图 — 任务间可设置阻塞关系(pending → in_progress → completed)
  • Worktree 绑定 — 绑定的 worktree 移除时任务自动完成

RLM 并行处理

  • 批量子任务 — 最多并行派发 16 个独立提示到 deepseek-v4-flash
  • 应用场景 — 批量翻译、代码审查、多文件分析、数据提取
  • 自动选模型 — 自动从已配置模型列表中选择 flash 模型

界面

  • pywebview 桌面应用 — 原生窗口 + Web 聊天界面
  • 对话管理 — 侧边栏拖拽排序、搜索(标题+内容)、重命名、删除
  • 可折叠工具气泡 — 工具调用和结果以可折叠消息气泡展示
  • 聊天导航 — 上/下一条消息按钮,平滑滚动
  • Markdown & LaTeX — 完整渲染,使用 marked.js 和 KaTeX(本地离线,无 CDN)
  • 主题支持 — 深色/浅色主题,可调字体大小
  • 上下文进度条 — 实时显示 token 用量和上下文利用率,切换对话时自动刷新
  • CSS 动画 — 丰富的过渡动画和交互反馈,不受系统"减少动画"设置影响
  • 随机彩色边框 — 对话列表 active 项每次点击随机换色

截图

QQ20260524-122750-HD

架构

┌─────────────────────────────────────────────────────────┐
│  pywebview (WebView2)                                   │
│  ┌───────────────┐    JS ↔ Python API    ┌───────────┐  │
│  │  Frontend     │◄─────────────────────►│  Backend  │  │
│  │  HTML/CSS/JS  │                       │  Python   │  │
│  └───────────────┘                       └─────┬─────┘  │
└────────────────────────────────────────────────┼────────┘
                                                 │
         ┌───────────────────────────────────────┼──────┐
         │              Agent Loop               │      │
         │  ┌─────────┐  ┌──────────┐    ┌───────┴───┐  │
         │  │ Stream & │  │ Tool    │    │ Context   │  │
         │  │ Parse    │  │ Registry│    │ Manager   │  │
         │  └─────────┘  └──────────┘    └───────────┘  │
         └──────────────────────────────────────────────┘
                          │
         ┌────────────────┼────────────────────────┐
         │                ▼                        │
         │  ┌──────┐ ┌────────┐ ┌──────┐ ┌─────┐   │
         │  │ File │ │ Search │ │ Team │ │ ... │   │
         │  │ I/O  │ │ (6 eng)│ │ Bus  │ │     │   │
         │  └──────┘ └────────┘ └──────┘ └─────┘   │
         └─────────────────────────────────────────┘

环境要求

  • Windows 10/11,需安装 WebView2 Runtime(Win11 通常已预装)
  • Python 3.10+
  • 至少一家 LLM 服务商的 API Key

安装

从源码运行

git clone https://github.com/SolitudeZY/Deepseek-GUI.git
cd Deepseek-GUI

pip install openai pywebview tavily-python duckduckgo-search firecrawl-py

python main.py

打包为 EXE

pip install pyinstaller
pyinstaller main.spec

生成的 dist/QuickModel/ 文件夹可直接分发。

快速开始

详细图文教程请参阅 使用说明 | 主流 LLM 模型的 API Base URL 汇总

  1. 启动后点击右上角 设置
  2. 在「模型配置」中填入 API Key 和 Base URL
  3. 可选:配置搜索引擎 Key(Tavily/Brave 等)
  4. 可选:配置云同步文件夹实现跨电脑同步
  5. 关闭设置,开始对话

使用技巧

  • 思考模式:复杂推理任务开启 high/max;简单问答用 off 节省 token
  • 联网搜索:研究任务用 auto 模式;想控制搜索用量时切换到 manual
  • RLM:让 Agent 批量处理任务(如"翻译这 10 段"),会自动使用并行子任务
  • Compact:对话过长时使用 /compact 或等待自动压缩
  • 云同步:设置同步文件夹后,点「一键上传全部」即可备份;新电脑点「一键导入全部」恢复
  • 技能:常用提示词保存为技能,下次直接调用

项目结构

quick_model/
├── main.py              # 入口
├── app/
│   ├── agent.py         # 核心 Agent 循环(拆分为流式解析/工具执行/上下文管理)
│   ├── tools.py         # 内置工具实现(文件、搜索、命令)
│   ├── advanced_tools.py # 子 Agent、任务、后台任务、Todo 管理
│   ├── skills.py        # 技能 CRUD、导入、记忆持久化
│   ├── team.py          # 多 Agent 团队、消息总线(线程安全)、Worktree
│   ├── sync.py          # 云同步模块(对话+配置 上传/检测/导入)
│   ├── webview_app.py   # pywebview API 桥接(Python ↔ JavaScript)
│   ├── config.py        # 配置加载/保存
│   ├── conversation.py  # 对话 CRUD、导入导出、排序
│   ├── compact.py       # 上下文压缩与摘要
│   ├── vision.py        # 图片描述(Vision API)
│   └── static/          # HTML/CSS/JS 前端
│       ├── index.html   # 主界面布局
│       ├── app.js       # 前端逻辑与事件处理
│       ├── style.css    # 深色/浅色主题样式
│       └── animations.css # 动画与过渡效果
└── conversations/       # 对话历史(自动创建于 %APPDATA%)

技术栈

  • 前端:pywebview (WebView2)、HTML/CSS/JS
  • 后端:Python 3.10+、OpenAI SDK
  • 渲染:marked.js、KaTeX、highlight.js(全部本地离线)
  • 并发:threading + ThreadPoolExecutor(搜索并行抓取、多 Agent 团队)
  • 打包:PyInstaller

许可证

MIT

About

Windows 桌面 AI 助手,多模型 LLM 接入,内置搜索、文件读写、代码编辑等 Agent 工具集,基于 pywebview + Python 构建。

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors