HuggingFaceModelDownloader

不装 Python,一条命令拉取 HuggingFace 模型和数据集

HuggingFaceModelDownloader 是一个用 Go 编写的轻量命令行工具,专门用于从 HuggingFace 平台下载模型和数据集。它解决的核心问题是:官方 huggingface-cli 依赖 Python 环境,在纯 Go 项目、CI 流水线或容器镜像中引入 Python 会带来额外体积和依赖管理成本。该工具提供单一静态二进制,无需 Python 运行时即可完成下载,支持通过仓库名、分支、指定文件路径等方式拉取模型权重和数据集,并可配置并发下载、断点续传与代理,适合在服务器、Docker 构建流程和自动化脚本中快速获取大模型文件。相比 Python 方案,它启动快、依赖少、部署简单,尤其适合把模型下载嵌入到 Go 服务或轻量容器中。项目本身不涉及模型推理,只专注下载这一环节,定位清晰。

开源 free 基础设施
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1185
维护状态 活跃
是否开源 是
定价模式 free

项目预览

项目数据

分类基础设施
开发团队bodaay
所属国家
官网地址
定价模式free
价格说明开源免费工具,无付费计划
访问状态
是否开源是
开源协议Apache-2.0
主要语言Go
技术栈/模型golang,huggingface,llm,transformers
GitHub 星标★ 1185
30天Star增速
HF 下载量
上线时间2023-06-22 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-04
浏览次数0

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:入门 约 10 分钟 部署方式:命令行工具 6 步

环境要求

  • Linux/macOS 等支持 bash 与 curl 的环境
  • 可访问 HuggingFace(国内网络可能需要配置代理)
  • 如使用容器方式,需要已安装 Docker
  • 无需 Python 运行时,工具为单一静态二进制

安装与启动步骤

  1. 1一键安装命令行工具

    README 提供的一键安装脚本,会把 hfdownloader 安装到 /usr/local/bin,可能需要输入 sudo 密码。

    bash <(curl -sSL https://g.bodaay.io/hfd) install /usr/local/bin
  2. 2下载模型文件

    按 仓库名:量化标签 的格式下载,文件会保存到 ~/.cache/huggingface/,中断后重新执行同一命令会自动续传。

    hfdownloader download TheBloke/Mistral-7B-Instruct-v0.2-GGUF:q4_k_m
  3. 3交互式挑选量化版本

    不确定下哪个 GGUF 量化时用 -i 进入交互模式,方向键浏览、空格选择,界面会给出质量星级与显存占用估算。

    hfdownloader analyze -i TheBloke/Mistral-7B-Instruct-v0.2-GGUF
  4. 4启动本地服务

    运行 serve 启动本地服务(README 提到配套 Web UI),带认证时用 --auth-user 与 --auth-pass 传入账号密码。

    hfdownloader serve --auth-user admin --auth-pass secret
  5. 5配置代理

    在 ~/.config/hfdownloader.yaml 写入代理地址、账号密码与 no_proxy 白名单,适合公司内网环境。

    mkdir -p ~/.config && vim ~/.config/hfdownloader.yaml
  6. 6Docker 方式运行

    已装 Docker 时可直接用官方镜像,注意把本地 ~/.cache/huggingface 挂载进容器以复用缓存。

    docker run --rm -v ~/.cache/huggingface:/home/hfdownloader/.cache/huggingface 
      ghcr.io/bodaay/huggingfacemodeldownloader download TheBloke/Mistral-7B-Instruct-v0.2-GGUF

关键配置

配置项必填说明示例
proxy.url否代理服务器地址,走代理下载模型时填写http://proxy.corp.com:8080
proxy.username否代理认证用户名,无认证可省略myuser
proxy.password否代理认证密码,无认证可省略mypassword
proxy.no_proxy否不走代理的地址白名单,逗号分隔localhost,.internal.com,10.0.0.0/8

如何确认成功

下载完成后 ~/.cache/huggingface/ 下出现模型文件;hfdownloader serve 启动无报错即为成功。

常见问题

Q:下载中断了怎么办?

A:直接重新执行同一条 download 命令即可,工具支持自动断点续传,无需手动清理临时文件。

Q:下载的文件放在哪里?

A:默认保存到 ~/.cache/huggingface/,这是 HuggingFace 标准缓存目录,Python 相关库能自动找到这些文件。

Q:不知道该下载哪个 GGUF 量化版本?

A:用 analyze -i 进入交互选择器,界面会显示质量星级、显存估算,并推荐综合最优的 Q4_K_M。

Q:公司内网需要走代理怎么设置?

A:在 ~/.config/hfdownloader.yaml 中配置 proxy.url、username、password 与 no_proxy 即可。

Q:相比官方 huggingface-cli 有什么优势?

A:不需要 Python 运行时,单一二进制启动快、体积小,支持每文件最多 16 并发、最多 8 文件同时下载。

注意事项

  • 安装脚本写入 /usr/local/bin 时可能提示输入 sudo 密码。
  • 工具无需 Python 环境,适合纯 Go 项目、CI 流水线和容器镜像。
  • Docker 方式运行时务必挂载 ~/.cache/huggingface,否则每次都会重新下载。
  • analyze 不加 -i 时输出文本或 JSON,方便脚本解析。

核心亮点

  • 纯 Go 静态二进制,无需 Python 环境即可下载模型和数据集
  • 支持指定仓库、分支和具体文件,可只拉取所需权重,节省带宽
  • 适合嵌入 CI/CD 和 Docker 构建流程,部署依赖极少

不足之处

  • 功能相对单一,缺少缓存管理、模型校验等高级能力
  • 相比官方 Python 工具,生态集成和文档丰富度有限

适用场景

  • 在 Go 服务或容器镜像中自动下载模型权重
  • CI/CD 流水线中拉取模型用于测试或构建
  • 无 Python 环境的服务器上快速获取 HuggingFace 数据集

替代项目

huggingface_hub、hf_transfer

项目介绍

HuggingFaceModelDownloader 是基础设施领域的开源项目,由 bodaay 开发,2023 年首次发布。

在全站 13,635 个收录项目中,它的 GitHub 星标数(1,185)位列前 30%,在基础设施分类中处于中上游。

项目目前处于活跃维护状态,最近一次代码更新于 2026-10-03。开源免费工具,无付费计划。

它主要面向的使用场景是:在Go服务或容器镜像中自动下载模型权重。同类可对比的替代方案包括 huggingface_hub、hf_transfer。

上一篇:WaLiAPI

下一篇:TensorFold

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

[DEPRECATED / UNMAINTAINED] No longer maintained.

★ 303 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 9093 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 442 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 182097 2026-08-09