Spaces:
Sleeping
Sleeping
| # 推送到 Hugging Face Space(claudqunwang/ClareVoice) | |
| ## 之前「整库 force 推送」和「只换 UI」的区别 | |
| | | 之前的做法(整库 force 推送) | 只换 UI(推荐) | | |
| |---|---|---| | |
| | **操作** | `git push huggingface main --force`,把本地整份项目推上去 | 先 clone HF 上现有 Space,只**新增** web 前端 + 后端 api,改 Dockerfile,再普通 push | | |
| | **结果** | HF 上所有内容被本地项目**完全覆盖**,你在 HF 上改过的 app.py、config、Dockerfile、README 等都会变成本地版本 | HF 上现有文件**全部保留**,只多出 `web/`、`api/` 和一个新的 Dockerfile,运行时改用 React UI | | |
| | **你的改动** | 会丢失 | 会保留(原有文件仍在仓库里) | | |
| 所以:**不想覆盖在 HF 上的改动、只想换成 React UI 时**,不要用 force 推送整库,而是按下面「只换 UI」的步骤做。 | |
| --- | |
| ## 做法一:只换 UI(保留你在 HF 上的所有改动) | |
| 在**本机**执行(需已安装 git、node、python): | |
| ```bash | |
| # 1. 克隆 HF 上当前的 Space(保留你的历史与改动) | |
| git clone https://huggingface.co/spaces/claudqunwang/ClareVoice | |
| cd ClareVoice | |
| # 2. 从本地 Clare 项目复制「仅 UI 相关」内容(不覆盖你已有的文件) | |
| # 把下面的 /path/to/AI_Agent_Clare-main 改成你本机项目路径 | |
| PROJECT=/Users/qunwang/AI_Agent_Clare-main | |
| cp -r "$PROJECT/web" . | |
| cp -r "$PROJECT/api" . | |
| # 3. 用「产品版」Dockerfile 替换当前的(改为构建 web + 跑 FastAPI 提供 React UI) | |
| cp "$PROJECT/Dockerfile" . | |
| # 4. 为 FastAPI 增加依赖(Space 原 requirements 可能没有) | |
| echo "fastapi>=0.111.0" >> requirements.txt | |
| echo "uvicorn[standard]>=0.30.0" >> requirements.txt | |
| echo "python-multipart>=0.0.9" >> requirements.txt | |
| # 5. 提交并推送(普通 push,不 force) | |
| git add web/ api/ Dockerfile requirements.txt | |
| git status # 确认只多了 web、api 和 Dockerfile | |
| git commit -m "Switch to React product UI (web + api), keep existing files" | |
| git push | |
| ``` | |
| 这样 HF 上会多出 `web/`、`api/` 和新的 `Dockerfile`,**原有 app.py、config.py、clare_core.py 等都不会被覆盖**;之后 Space 会用新 Dockerfile 构建并显示 React UI。 | |
| **注意**:新 Dockerfile 的启动命令是 `uvicorn api.server:app`,即运行时用的是 **api/** 里的后端(api/config.py、api/clare_core.py 等)。若你之前在 HF 上只改了**根目录**的 config、clare_core,那些修改不会自动出现在新 UI 的后端里;若需要沿用,可以把根目录的配置或逻辑同步到 api/ 下,或再改 Dockerfile 的 working directory 让 api 使用根目录模块(需自行改 import 路径)。 | |
| --- | |
| ## 做法二:整库覆盖(不保留 HF 上的改动) | |
| 仅当你确定要**用本地项目完全替换** Space 内容时再用: | |
| ```bash | |
| cd /Users/qunwang/AI_Agent_Clare-main | |
| git push -u huggingface main --force | |
| ``` | |
| 这会用本地整份项目(含 GENAI COURSES、当前 README、.gitignore 等)覆盖 HF 上的 ClareVoice,你在 HF 上做过的任何修改都会丢失。 | |