|
# HF Space Manager |
|
|
|
HF Space Manager 是一个用于管理 Hugging Face Spaces 的 Web 应用程序。它提供了直观的界面和API 接口,让你能够方便地查看和管理多个账号下的所有 Spaces。 |
|
|
|
## 最近更新 |
|
|
|
2024-12-20 space 信息修改为访问 dashboard 时才会后台自动更新 |
|
|
|
## 功能特点 |
|
|
|
- 🚀 支持多个 HuggingFace 账号管理 |
|
- 📊 实时显示 Spaces 状态 |
|
- 🔄 支持重启和重建操作 |
|
- 🔑 安全的登录认证 |
|
- 🎯 简洁的用户界面 |
|
- 📱 响应式设计,支持移动端 |
|
- 🔌 RESTful API 支持 |
|
- 💾 数据缓存机制 |
|
|
|
## 界面预览 |
|
 |
|
|
|
 |
|
|
|
## 快速开始 |
|
|
|
### 环境要求 |
|
|
|
- Python 3.9+ |
|
- Docker (可选) |
|
|
|
### 安装 |
|
|
|
1. 克隆仓库 |
|
```bash |
|
git clone https://github.com/ssfun/hf-space-manager.git |
|
cd hf-space-manager |
|
``` |
|
|
|
2. 安装依赖 |
|
```bash |
|
pip install Flask python-dotenv huggingface_hub requests gunicorn |
|
``` |
|
|
|
3. 配置环境变量 |
|
创建 `.env` 文件: |
|
```env |
|
USERNAME=your_admin_username |
|
PASSWORD=your_admin_password |
|
HF_TOKENS=token1,token2,token3 |
|
API_KEY=your_api_key |
|
``` |
|
|
|
### 运行 |
|
|
|
**直接运行:** |
|
```bash |
|
python app.py |
|
``` |
|
|
|
**使用 Docker:** |
|
```bash |
|
docker run -d \ |
|
--name hfspace-manager \ |
|
-p 7860:7860 \ |
|
-e USERNAME=your_username \ |
|
-e PASSWORD=your_password \ |
|
-e HF_TOKENS=token1,token2,token3 \ |
|
-e API_KEY=your_api_key \ |
|
sfun/hfspace:latest |
|
``` |
|
|
|
## API 文档 |
|
|
|
### 认证 |
|
所有 API 请求都需要在 header 中包含 API key: |
|
``` |
|
Authorization: Bearer your_api_key |
|
``` |
|
|
|
### 端点 |
|
|
|
#### 1. 获取所有 Spaces |
|
```bash |
|
curl -X GET "http://localhost:7860/api/v1/info/hf_token_here" \ |
|
-H "Content-Type: application/json" \ |
|
-H "Authorization: Bearer API_KEY" |
|
``` |
|
|
|
#### 2. 获取特定 Space 信息 |
|
```bash |
|
curl -X GET "http://localhost:7860/api/v1/info/hf_token_here/username/space-name" \ |
|
-H "Content-Type: application/json" \ |
|
-H "Authorization: Bearer API_KEY" |
|
``` |
|
|
|
#### 3. 重启 Space |
|
```bash |
|
curl -X POST "http://localhost:7860/api/v1/action/hf_token_here/username/space-name/restart" \ |
|
-H "Content-Type: application/json" \ |
|
-H "Authorization: Bearer API_KEY" |
|
``` |
|
|
|
#### 4. 重建 Space |
|
```bash |
|
curl -X POST "http://localhost:7860/api/v1/action/hf_token_here/username/space-name/restart" \ |
|
-H "Content-Type: application/json" \ |
|
-H "Authorization: Bearer API_KEY" |
|
``` |
|
|
|
## 配置说明 |
|
|
|
### 环境变量 |
|
|
|
| 变量名 | 说明 | 必填 | |
|
|--------|------|------| |
|
| USERNAME | 管理员用户名 | 是 | |
|
| PASSWORD | 管理员密码 | 是 | |
|
| HF_TOKENS | HuggingFace tokens(逗号分隔) | 是 | |
|
| API_KEY | API访问密钥 | 是 | |
|
|
|
### 缓存配置 |
|
|
|
- 访问 dashboard 时后台自动更新 |
|
|
|
## 开发 |
|
|
|
### 本地开发 |
|
```bash |
|
# 安装开发依赖 |
|
pip install Flask python-dotenv huggingface_hub requests gunicorn |
|
|
|
# 运行开发服务器 |
|
python app.py |
|
``` |
|
|
|
## 贡献 |
|
|
|
欢迎 Star 和 Fork 后自行修改! |
|
|
|
## 许可证 |
|
|
|
本项目采用 [MIT 许可证](https://opensource.org/license/mit)。 |
|
|
|
## 作者 |
|
|
|
[ssfun](https://github.com/ssfun) |
|
|
|
## 致谢 |
|
|
|
- [Hugging Face](https://huggingface.co/) - 提供优秀的 API 和服务 |
|
- [Flask](https://flask.palletsprojects.com/) - Web 框架支持 |
|
|