Skip to content
text
# Related Code
main.py              - 应用入口点
src/ui.py            - GUI 主窗口
src/unified_downloader.py - 统一下载引擎
pyproject.toml       - 项目配置和依赖

项目概述

HF Model Downloader 是一个跨平台的 GUI 应用,用于从 HuggingFace 和 ModelScope 下载模型和数据集。

设计目标

面向非技术用户:无需配置 Python 环境、无需命令行操作,双击即可运行。

为什么是 GUI 而非 CLI?

维度GUI 优势
用户群体产品经理、设计师等非技术人员也能使用
学习成本零配置,无需记忆命令
状态可见性实时进度条、日志输出
错误处理友好的错误提示对话框

核心特性

1. 双平台支持

通过 PLATFORM_CONFIGS 配置字典实现平台抽象,新增平台只需添加配置项。

2. 多进程下载

下载操作在独立进程中执行,避免阻塞 UI 线程:

3. 跨平台打包

目录结构

hf-model-downloader/
├── main.py                 # 入口点:多进程初始化、图标加载
├── src/
│   ├── ui.py               # MainWindow 类
│   ├── unified_downloader.py # 统一下载引擎 (核心)
│   ├── downloader.py       # HuggingFace 下载器 (已废弃)
│   ├── modelscope_downloader.py # ModelScope 下载器 (已废弃)
│   ├── resource_utils.py   # 资源路径处理
│   └── utils.py            # 清理工具
├── assets/                 # 图标和 Logo
├── build.py                # PyInstaller 构建脚本
├── Makefile                # 构建命令
└── .github/workflows/      # CI/CD 流程

依赖关系

技术债务

问题严重程度说明
遗留下载器downloader.pymodelscope_downloader.py 已被 unified_downloader.py 取代但未删除
Python 版本限制要求 Python ≥3.13 可能限制用户群
无自动更新需手动下载新版本