hf-cli: Enabling Agents to Interact with the Hugging Face Hub the Official Way

前言

在 Hugging Face 上拉模型、推 checkpoint、管缓存或部署 Inference Endpoint,日常多半靠 hf(原 huggingface-cli)或 Python huggingface_hub。把同样的事交给 coding Agent 时,常见问题不是「不会写脚本」,而是子命令、参数和认证路径被记错——例如仍用已弃用的 huggingface-cli,或把 whoami 当成顶层命令。

下面介绍 Hugging Face 官方仓库里的 hf-cli Skill:把 Hub CLI 的用法写进 Agent 可遵循的说明,覆盖下载、上传、缓存、认证以及 buckets、jobs、endpoints 等扩展能力,减少幻觉命令。

这是什么

hf-cli 是 Hugging Face skills 仓库 中的一个 Agent Skill,面向终端工具 hf(Hugging Face Hub CLI)。资料写明:hf 用于在 Hub 上下载、上传和管理模型、数据集、Spaces、buckets、仓库、论文、jobs 等;并替代已弃用的 huggingface-cli。

Skill 的触发范围较宽:用户提到 hf、huggingface、Hugging Face、huggingface-cli、或要做 Hub / ML 生态相关操作(含训练 checkpoint、数据管道、云存储同步)时,应优先启用;即用户未明确要求「给一条 CLI」也适用。说明内容由 huggingface_hub v2.2.0 生成,可用 hf skills add --force 重新生成。

核心功能

Skill 内嵌的是 hf 命令体系,而非单独的可执行程序。按资料可核对的能力包括:

  1. 仓库与文件:hf download、hf upload、hf cp;支持 --type(model / dataset / space / kernel)、revision、include / exclude、本地目录与缓存目录等。
  2. 认证:统一在 hf auth 下,例如 hf auth login、hf auth whoami、hf auth list、hf auth switch、hf auth logout。
  3. 本地缓存:hf cache list、hf cache prune、hf cache rm、hf cache verify。
  4. Buckets 与同步:hf buckets 子命令(create、list、cp、sync 等)及顶层 hf sync(本地目录与 bucket 同步)。
  5. Hub 资源浏览与管理:hf datasets、hf collections 等(Skill 文档中含 datasets card / info / leaderboard / list 等;资料在 datasets 段有截断,其余子命令以 Skill 内 Commands 列表为准)。
  6. 环境与维护:hf env、hf version、hf update。
  7. 输出格式:多数命令支持 --format [auto|human|agent|json|quiet],便于 Agent 解析结果。

officialskills.sh 上的说明 补充概括:hf 在单一二进制中覆盖 Hub 生命周期的一部分场景——下载、上传、缓存、Inference Endpoints、jobs、webhooks 等,减少在网页、Python 与多套工具之间切换。具体子命令仍以 GitHub Skill 文档为准。

安装与启用

分两层:本机安装 hf CLI,以及在 Agent 环境中安装 Skill。

安装 hf CLI

官方安装命令:

curl -LsSf https://hf.co/cli/install.sh | bash -s

安装后可用 hf --help 查看子命令;认证相关均在 hf auth 下。

将 hf-cli Skill 加入 Agent

officialskills.sh 给出的方式为:

npx skills add https://github.com/huggingface/skills --skill hf-cli

也可在对话中提供 Skill 目录链接,由 coding assistant 按项目约定安装:
https://github.com/huggingface/skills/tree/main/skills/hf-cli

资料未区分 Cursor、Codex CLI、Claude Code 的安装差异时,以上述 npx skills add 与仓库路径为准。

典型用法

以下示例均来自 Skill 文档中的命令定义,可按需替换 REPO_ID、路径与 token。

确认环境与登录身份

hf env
hf auth whoami

首次或换账号时,在浏览器或 token 登录(token 可在 huggingface.co/settings/tokens 创建):

hf auth login

下载指定模型到本地目录

hf download REPO_ID --type model --local-dir ./my-model --revision main

需要只看计划、不真正下载时,可使用文档中的 --dry-run;大仓库可配合 --max-workers 等参数(见 hf download --help)。

上传文件夹到 Hub

hf upload REPO_ID ./output-folder --type model --commit-message "Add checkpoint"

私有仓库可加 --private;若希望通过 PR 合入,文档提供 --create-pr。

查看并清理缓存

hf cache list --sort size:desc
hf cache prune --dry-run

本地训练目录与 bucket 同步

hf buckets sync --dry-run
hf sync --dry-run

实际执行前建议先用 --dry-run 核对将变更的文件;hf sync 与 hf buckets sync 在文档中均支持 include / exclude、delete 等选项。

更新 CLI 本身

hf update

适用场景与注意

适合谁

  • 经常在 Hub 上下载固定 revision、上传大体积权重或数据集的 ML 工程师。
  • 希望 Agent 代为写命令、查参数,且要求与当前 hf 行为一致(含弃用 huggingface-cli 后的迁移)的团队。
  • 需要顺带处理 buckets 同步、缓存校验、collections / datasets 查询等 Hub 周边操作的场景。

注意

  • Skill 描述强调:凡 Hub 生态相关任务应启用本 Skill,避免 Agent 编造不存在的子命令或旧版 huggingface-cli 接口。
  • 认证与 token 管理涉及安全:hf auth token 会把当前 token 打到 stdout,在共享日志或 Agent transcript 中需自行脱敏。
  • 文档由 huggingface_hub 版本生成;Hub 新增子命令后,可运行 hf skills add --force 与本地 hf update 保持说明与二进制一致。
  • 已抓取资料对 hf datasets 之后的长命令列表有截断,遇到未在文中列出的能力时,应以 hf <子命令> --help 及 官方 Skill 目录 中的完整 Commands 段为准。

结尾

hf-cli 的价值在于:把 Hugging Face 官方 Hub CLI(hf)的边界写进 Agent 工作流——下载、上传、缓存、认证及 buckets 等操作有据可查,并明确替代已弃用的 huggingface-cli。安装 CLI 与 Skill 后,让 Agent 在涉及 hf 或 Hugging Face Hub 时默认走这套说明即可。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye