HF Space Manager 是一个用于管理 Hugging Face Spaces 的 Web 应用程序。它提供了直观的界面和API 接口,让你能够方便地查看和管理多个账号下的所有 Spaces。
2024-12-20 space 信息修改为访问 dashboard 时才会后台自动更新
- 🚀 支持多个 HuggingFace 账号管理
- 📊 实时显示 Spaces 状态
- 🔄 支持重启和重建操作
- 🔑 安全的登录认证
- 🎯 简洁的用户界面
- 📱 响应式设计,支持移动端
- 🔌 RESTful API 支持
- 💾 数据缓存机制
- Python 3.9+
- Docker (可选)
- 克隆仓库
git clone https://github.com/ssfun/hf-space-manager.git
cd hf-space-manager- 安装依赖
pip install Flask python-dotenv huggingface_hub requests gunicorn- 配置环境变量
创建
.env文件:
USERNAME=your_admin_username
PASSWORD=your_admin_password
HF_TOKENS=token1,token2,token3
API_KEY=your_api_key直接运行:
python app.py使用 Docker:
docker run -d \
--name hfspace-manager \
-p 5000:5000 \
-e USERNAME=your_username \
-e PASSWORD=your_password \
-e HF_TOKENS=token1,token2,token3 \
-e API_KEY=your_api_key \
sfun/hfspace:latest所有 API 请求都需要在 header 中包含 API key:
Authorization: Bearer your_api_key
curl -X GET "http://localhost:5000/api/v1/info/hf_token_here" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer API_KEY"curl -X GET "http://localhost:5000/api/v1/info/hf_token_here/username/space-name" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer API_KEY"curl -X POST "http://localhost:5000/api/v1/action/hf_token_here/username/space-name/restart" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer API_KEY"curl -X POST "http://localhost:5000/api/v1/action/hf_token_here/username/space-name/rebuild" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer API_KEY"curl -X POST "http://localhost:5000/api/v1/action/hf_token_here/username/space-name/delete" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer API_KEY"| 变量名 | 说明 | 必填 |
|---|---|---|
| USERNAME | 管理员用户名 | 是 |
| PASSWORD | 管理员密码 | 是 |
| HF_TOKENS | HuggingFace tokens(逗号分隔) | 是 |
| API_KEY | API访问密钥 | 是 |
- 访问 dashboard 时后台自动更新
本项目设置了GitHub Actions自动化工作流程,可以自动构建Docker镜像并推送到GitHub Container Registry (ghcr.io)。
-
GitHub Actions自动使用仓库的权限推送镜像到ghcr.io,无需额外设置密钥。
-
确保仓库设置中已启用了GitHub Actions和包的读写权限。
-
触发构建的方式:
- 向
main或master分支推送代码 - 创建以
v开头的标签(如v1.0.0) - 创建Pull Request到
main或master分支 - 手动在GitHub Actions页面触发工作流
- 向
自动构建的Docker镜像将使用以下标签策略:
- 分支推送:
ghcr.io/{username}/hf-space-manager:{分支名} - 标签推送:
ghcr.io/{username}/hf-space-manager:{版本号},ghcr.io/{username}/hf-space-manager:{主版本号}.{次版本号} - 主分支推送:额外添加
ghcr.io/{username}/hf-space-manager:latest标签 - 所有推送:添加
ghcr.io/{username}/hf-space-manager:sha-{提交哈希值}标签
docker run -d \
--name hfspace-manager \
-p 5000:5000 \
-e USERNAME=your_username \
-e PASSWORD=your_password \
-e HF_TOKENS=token1,token2,token3 \
-e API_KEY=your_api_key \
ghcr.io/{username}/hf-space-manager:latest请将{username}替换为您的GitHub用户名。
# 安装开发依赖
pip install Flask python-dotenv huggingface_hub requests gunicorn
# 运行开发服务器
python app.py欢迎 Star 和 Fork 后自行修改!
本项目采用 MIT 许可证。
- Hugging Face - 提供优秀的 API 和服务
- Flask - Web 框架支持

