# AI VideoAssistant Backend

Python 后端 API，配合前端 `ai-videoassistant-frontend` 使用。

## 快速开始

### 1. 安装依赖

```bash
cd ~/Code/ai-videoassistant-backend
pip install -r requirements.txt
```

### 2. 初始化数据库

```bash
python init_db.py
```

这会：
- 创建 `data/app.db` SQLite 数据库
- 初始化默认声音数据

### 3. 启动服务

```bash
# 开发模式 (热重载)
python -m uvicorn main:app --reload --host 0.0.0.0 --port 8000
```

### 4. 测试 API

```bash
# 健康检查
curl http://localhost:8000/health

# 获取助手列表
curl http://localhost:8000/api/assistants

# 获取声音列表
curl http://localhost:8000/api/voices

# 获取通话历史
curl http://localhost:8000/api/history
```

## API 文档

| 端点 | 方法 | 说明 |
|------|------|------|
| `/api/assistants` | GET | 助手列表 |
| `/api/assistants` | POST | 创建助手 |
| `/api/assistants/{id}` | GET | 助手详情 |
| `/api/assistants/{id}` | PUT | 更新助手 |
| `/api/assistants/{id}` | DELETE | 删除助手 |
| `/api/voices` | GET | 声音库列表 |
| `/api/history` | GET | 通话历史列表 |
| `/api/history/{id}` | GET | 通话详情 |
| `/api/history/{id}/transcripts` | POST | 添加转写 |
| `/api/history/{id}/audio/{turn}` | GET | 获取音频 |

## 使用 Docker 启动

```bash
cd ~/Code/ai-videoassistant-backend

# 启动所有服务
docker-compose up -d

# 查看日志
docker-compose logs -f backend
```

## 目录结构

```
backend/
├── app/
│   ├── __init__.py
│   ├── main.py           # FastAPI 入口
│   ├── db.py             # SQLite 连接
│   ├── models.py         # 数据模型
│   ├── schemas.py        # Pydantic 模型
│   ├── storage.py        # MinIO 存储
│   └── routers/
│       ├── __init__.py
│       ├── assistants.py # 助手 API
│       └── history.py    # 通话记录 API
├── data/                 # 数据库文件
├── requirements.txt
├── .env
└── docker-compose.yml
```

## 环境变量

| 变量 | 默认值 | 说明 |
|------|--------|------|
| `DATABASE_URL` | `sqlite:///./data/app.db` | 数据库连接 |
| `MINIO_ENDPOINT` | `localhost:9000` | MinIO 地址 |
| `MINIO_ACCESS_KEY` | `admin` | MinIO 密钥 |
| `MINIO_SECRET_KEY` | `password123` | MinIO 密码 |
| `MINIO_BUCKET` | `ai-audio` | 存储桶名称 |
