Windows 桌面 AI 助手,支持通过 OpenAI 兼容 API 接入多家 LLM 服务商。基于 pywebview (WebView2) + Python 后端构建。
中文 | English
- 多服务商支持 — 兼容任何 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_read、memory_write) - 自动注入 — 新对话开始时自动注入记忆摘要
- Git worktree 集成 — 每个对话可在独立 worktree 中操作
- 命令安全 — 确认对话框,支持智能通配符模式建议
- Worktree 面板 — 侧面板显示活跃 worktree、分支和绑定任务
- 多 Agent 团队 — 派生持久化团队成员,独立线程运行
- 消息总线 — 线程安全的收件箱/发件箱,Agent 间通信
- UI 通知 — 团队成员完成工作时实时回调
- 空闲自动认领 — 空闲成员自动从任务板认领未分配任务
- 持久化任务 — 跨对话存续的结构化任务
- 依赖图 — 任务间可设置阻塞关系(pending → in_progress → completed)
- Worktree 绑定 — 绑定的 worktree 移除时任务自动完成
- 批量子任务 — 最多并行派发 16 个独立提示到 deepseek-v4-flash
- 应用场景 — 批量翻译、代码审查、多文件分析、数据提取
- 自动选模型 — 自动从已配置模型列表中选择 flash 模型
- pywebview 桌面应用 — 原生窗口 + Web 聊天界面
- 对话管理 — 侧边栏拖拽排序、搜索(标题+内容)、重命名、删除
- 可折叠工具气泡 — 工具调用和结果以可折叠消息气泡展示
- 聊天导航 — 上/下一条消息按钮,平滑滚动
- Markdown & LaTeX — 完整渲染,使用 marked.js 和 KaTeX(本地离线,无 CDN)
- 主题支持 — 深色/浅色主题,可调字体大小
- 上下文进度条 — 实时显示 token 用量和上下文利用率,切换对话时自动刷新
- CSS 动画 — 丰富的过渡动画和交互反馈,不受系统"减少动画"设置影响
- 随机彩色边框 — 对话列表 active 项每次点击随机换色
┌─────────────────────────────────────────────────────────┐
│ 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.pypip install pyinstaller
pyinstaller main.spec生成的 dist/QuickModel/ 文件夹可直接分发。
- 启动后点击右上角 设置
- 在「模型配置」中填入 API Key 和 Base URL
- 可选:配置搜索引擎 Key(Tavily/Brave 等)
- 可选:配置云同步文件夹实现跨电脑同步
- 关闭设置,开始对话
- 思考模式:复杂推理任务开启 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
