Nora / HUGGINGFACE_DEPLOY.md
GitHub Action
Deploy clean version of Nora
59bd45e
# 🚀 Hugging Face Spaces 部署指南
## ✅ 部署前检查清单
### 1. 根目录必需文件
确保以下文件在**根目录**(不是子目录):
-`Dockerfile` - Docker 构建配置
-`start.py` - 应用启动脚本
-`requirements.txt` - Python 依赖
-`README_HF.md` - Hugging Face 专用 README(带 frontmatter)
### 2. 前端构建文件
确保前端已构建:
```bash
cd frontend
npm install
npm run build
```
检查 `frontend/dist/` 目录是否存在且包含:
-`index.html`
-`assets/` 目录(包含 JS 和 CSS 文件)
### 3. 环境变量配置
在 Hugging Face Space 的 **Settings → Variables and secrets** 中配置:
**必需:**
- `ZHIPU_API_KEY` - 智谱 AI API 密钥
**可选:**
- `MINIMAX_API_KEY` - MiniMax API 密钥
- `MINIMAX_GROUP_ID` - MiniMax Group ID
### 4. README 配置
确保 `README_HF.md` 包含正确的 frontmatter:
```yaml
---
title: Nora - 治愈系记录助手
emoji: 🌟
colorFrom: purple
colorTo: pink
sdk: docker
pinned: false
license: mit
---
```
## 🔧 部署步骤
### 方法 1:通过 GitHub 同步(推荐)
1. **提交所有更改到 GitHub**:
```bash
git add .
git commit -m "Fix: Add required files to root directory for HF deployment"
git push origin main
```
2. **在 Hugging Face Space 中同步**:
- 进入你的 Space:https://huggingface.co/spaces/kernel14/Nora
- 点击 **Settings**
- 找到 **Sync from GitHub** 部分
- 点击 **Sync now**
3. **等待构建完成**:
- 查看 **Logs** 标签页
- 等待 Docker 构建完成(可能需要 5-10 分钟)
### 方法 2:直接上传文件
1. **在 Hugging Face Space 中上传文件**:
- 进入 **Files** 标签页
- 上传以下文件到根目录:
- `Dockerfile`
- `start.py`
- `requirements.txt`
- `README_HF.md`(重命名为 `README.md`)
2. **上传应用代码**:
- 上传 `app/` 目录
- 上传 `data/` 目录
- 上传 `frontend/dist/` 目录
3. **触发重新构建**:
- 点击 **Factory reboot**
## 🐛 常见问题
### 问题 1:Space 显示 "Missing app file"
**原因**:根目录缺少 `Dockerfile` 或 `start.py`
**解决方案**:
1. 确认根目录有 `Dockerfile` 和 `start.py`
2. 如果使用 GitHub 同步,确保这些文件已提交并推送
3. Factory reboot 重启 Space
### 问题 2:Docker 构建失败
**原因**:依赖安装失败或文件路径错误
**解决方案**:
1. 查看 **Logs** 标签页的详细错误信息
2. 检查 `requirements.txt` 是否正确
3. 检查 `Dockerfile` 中的路径是否正确
### 问题 3:前端无法加载
**原因**:`frontend/dist/` 目录不存在或未包含在 Docker 镜像中
**解决方案**:
1. 本地运行 `cd frontend && npm run build`
2. 确认 `frontend/dist/` 目录存在
3. 提交并推送到 GitHub
4. 重新同步 Space
### 问题 4:API 调用失败
**原因**:未配置环境变量
**解决方案**:
1. 在 Space Settings 中配置 `ZHIPU_API_KEY`
2. Factory reboot 重启 Space
3. 检查 Logs 确认环境变量已加载
## 📊 验证部署
部署成功后,访问你的 Space URL,应该能看到:
1. ✅ 前端页面正常加载
2. ✅ AI 角色形象显示
3. ✅ 可以进行文本输入
4. ✅ 可以查看心情、灵感、待办数据
测试 API 端点:
- `https://你的space.hf.space/health` - 应该返回健康状态
- `https://你的space.hf.space/docs` - 应该显示 API 文档
## 🔄 更新部署
当你更新代码后:
1. **提交到 GitHub**:
```bash
git add .
git commit -m "Update: 描述你的更改"
git push origin main
```
2. **同步到 Hugging Face**:
- 在 Space Settings 中点击 **Sync now**
- 或者等待自动同步(如果已配置)
3. **重启 Space**(如果需要):
- 点击 **Factory reboot**
## 📚 相关文档
- [Hugging Face Spaces 文档](https://huggingface.co/docs/hub/spaces)
- [Docker SDK 文档](https://huggingface.co/docs/hub/spaces-sdks-docker)
- [项目完整文档](README.md)
## 🆘 需要帮助?
如果遇到问题:
1. 查看 Space 的 **Logs** 标签页
2. 检查 **Community** 标签页的讨论
3. 在 GitHub 仓库提 Issue