Files
tps-dashboard/docs/dual_machine_sync.md
simonkoson 1ccb37f0c7 docs: 添加双机同步开发指南
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-03 21:27:10 +08:00

135 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 双机同步开发指南
> 单位 4090D(主力开发机) ↔ 家里电脑,通过 Gitea 云端仓库同步。
> 仓库地址:`http://101.42.29.217:3000/simonkoson/tps-dashboard.git`
---
## 到家后第一次(克隆 + 环境搭建)
如果家里电脑还没有这个项目,先克隆:
```powershell
git clone http://101.42.29.217:3000/simonkoson/tps-dashboard.git
cd tps-dashboard
```
然后搭建环境:
```powershell
# 1. 创建 Python 虚拟环境
python -m venv .venv
.\.venv\Scripts\Activate.ps1
# 2. 安装后端依赖
pip install fastapi uvicorn sqlmodel python-dotenv psycopg2-binary bcrypt==4.0.1 itsdangerous==2.2.0 python-multipart==0.0.9 openai python-docx
# 3. 安装前端依赖
cd frontend
npm install
cd ..
```
配置环境变量(**两个 .env 文件,都不在 git 里,需要手动创建**):
```powershell
# backend/.env — 从单位机器上复制内容,包含:
# DATABASE_URL=postgresql://...
# SECRET_KEY=...
# MINIMAX_EMBED_API_KEY=...
# MINIMAX_GROUP_ID=...
# DEEPSEEK_API_KEY=...
# ai-labeling/.env — 包含:
# MIMO_API_KEY=...
```
**注意**:数据库连接指向腾讯云 PostgreSQL,两台机器连的是同一个数据库,不需要本地装 PostgreSQL。
---
## 每次开工(不管在哪台机器)
```powershell
cd E:\tps-dashboard # 或者家里对应的路径
git pull origin main # 拉取对方机器推送的最新代码
```
如果有新的前端依赖(别人装了新 npm 包),还需要:
```powershell
cd frontend && npm install && cd ..
```
如果有新的 Python 依赖,激活虚拟环境后 pip install。
---
## 启动开发服务器
开两个 PowerShell 窗口:
**窗口 1 — 后端**
```powershell
cd E:\tps-dashboard
.\.venv\Scripts\Activate.ps1
cd backend
python -m uvicorn app.main:app --reload --port 8000
```
**窗口 2 — 前端**
```powershell
cd E:\tps-dashboard\frontend
npm run dev
```
浏览器访问 `http://localhost:5173`(或 5174)。
---
## 收工推送(每次下班前必做)
```powershell
cd E:\tps-dashboard
git add -A
git status # 检查一眼,确认没有不该提交的文件(.env 等)
git commit -m "你的提交信息"
git push origin main
```
---
## 常见问题
### pull 时报冲突
说明两台机器改了同一个文件。先看冲突内容:
```powershell
git diff
```
手动解决冲突后:
```powershell
git add .
git commit -m "resolve merge conflict"
git push origin main
```
### 忘记 push 就换了机器
在另一台机器上 `git pull` 会发现没有新内容。回到原来的机器先 push,再回来 pull。
### .env 文件丢失
.env 不进 git,换机器需要手动复制。建议用安全的方式(如加密 U 盘或密码管理器)在两台机器间同步 .env 内容。
---
## 给 Claude Code 的指令
如果你在家里用 Claude Code 开新 session,让它先执行:
```
请先阅读 CLAUDE.md 和 docs/dual_machine_sync.md,了解项目背景和双机开发环境。
然后阅读 docs/git_workflow.md 第 7 章了解 git 工作流。
我现在在家里的电脑上,代码已经 pull 到最新。请帮我启动开发环境并确认一切正常。
```