Windows / macOS 桌面 AI 助手,支持通过 OpenAI 兼容 API 接入多家 LLM 服务商。基于 pywebview (WebView2 / WebKit) + Python 后端构建。
中文 | English
详细图文教程请参阅 使用说明 | 主流 LLM 模型的 API Base URL 汇总
/compact 手动压缩;前缀缓存感知压缩保留 DeepSeek 缓存命中analyze_image 工具做针对性分析(而非预生成通用描述);内置反幻觉约束,只报告图中实际可见内容、区分观察与推测。默认使用 Qwen-VL 视觉模型generate_image 工具,经 OpenAI 兼容接口(支持 New API、sub2api 等中转)生成并保存到本地,对话中直接显示缩略图(点击放大)| 工具 | 说明 |
|---|---|
read_file |
读取本地文件(txt, md, py, json, csv, pdf, docx, xlsx 等) |
write_file |
写入或覆盖文件 |
apply_patch |
精确字符串替换修改文件(原文片段 → 新内容),支持多处/多文件编辑;匹配不到或不唯一时报错而非写坏文件 |
list_directory |
列出目录内容 |
run_command |
执行命令(Windows 用 PowerShell,macOS/Linux 用 bash),带确认对话框与命令白名单,可记住允许的命令自动执行 |
analyze_image |
用视觉模型针对具体问题分析本地图片 |
generate_image |
用生图模型生成图片并保存到本地 |
edit_image |
在已有图片上按文字指令编辑(替换物体、增删元素、改文字等,基于 Qwen-Image-Edit) |
ocr_image |
本地离线 OCR(RapidOCR)识别图片中的文字 |
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 |
进入/退出计划模式 |
question 调用 analyze_image,获得有针对性的结果(人物表情、图表数值、代码截图文字、特定区域细节等),而非泛泛的全景描述generate_image 经 OpenAI 兼容 /v1/images/generations 生成图片,支持 New API / sub2api 等中转,保存到本地并在对话中显示缩略图卡片edit_image 在已有图片上按文字指令编辑(如「把图里的猫换成狗」、增删元素、改图中文字、风格迁移),基于阿里 Qwen-Image-Edit,复用图片生成的配置ocr_image 用本地 RapidOCR(ONNX) 引擎离线识别图片文字,速度快、不消耗视觉模型额度api_key / base_url / model,设置面板「图片工具」标签分子页配置SKILL.md + 附属文件,支持批量导入)memory_read、memory_write)┌─────────────────────────────────────────────────────────┐
│ 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 │ │ │ │
│ └──────┘ └────────┘ └──────┘ └─────┘ │
└─────────────────────────────────────────┘
git clone https://github.com/SolitudeZY/Deepseek-GUI.git
cd Deepseek-GUI
# Windows
pip install openai pywebview tavily-python duckduckgo-search firecrawl-py
# macOS(额外需要 pyobjc 提供 cocoa/WebKit 后端)
pip install -r requirements.txt
python main.py
pip install pyinstaller
# Windows
pyinstaller --onefile --windowed --name QuickModel --icon=icon.ico --add-data "app/static;app/static" --add-data "icon.ico;." main.py
# macOS(注意 --add-data 分隔符为 : 且产出 .app)
pyinstaller --windowed --name QuickModel --icon=icon.icns --add-data "app/static:app/static" --add-data "icon.png:." main.py
Windows 生成的 dist/QuickModel/ 文件夹(或单文件 exe)可直接分发;macOS 生成 dist/QuickModel.app。
详细图文教程请参阅 使用说明 | 主流 LLM 模型的 API Base URL 汇总
/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%)
MIT
$ claude mcp add Deepseek-GUI \
-- python -m otcore.mcp_server <graph>