Files
meetnote/api/README.md
kang 3111c854c5 feat(api): A3 backend skeleton with FastAPI + SQLModel
- 3 tables: Meeting / TranscriptSegment / Summary (with state machine)
- Routes: /api/upload-url + /api/upload-complete + meetings CRUD
- MinIO presigned PUT for direct browser upload
- BackgroundTasks state-machine stub for A5 to flesh out
- SQLite for local dev, PostgreSQL+asyncpg for prod
- CORS configured for frontend on 4490

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 19:14:16 +08:00

38 lines
1.0 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.
# MeetNote API
FastAPI 后端,端口 4491。
## 启动
```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # 填 GROQ_API_KEY / POE_API_KEY
uvicorn app.main:app --reload --port 4491
```
## 路由
- `GET /health`
- `POST /api/upload-url` — 申请 presigned URL 创建会议
- `POST /api/upload-complete` — 通知后端上传完成,触发后台处理
- `GET /api/meetings` — 会议列表
- `GET /api/meetings/{id}` — 单个会议
- `GET /api/meetings/{id}/transcript`
- `GET /api/meetings/{id}/summary`
- `DELETE /api/meetings/{id}`
## 数据库
- 默认 `sqlite+aiosqlite:///./meetnote.db`(本地开发)
- 生产改 `DATABASE_URL=postgresql+asyncpg://...`
## 状态机
`pending → uploading → uploaded → splitting → transcribing → summarizing → done | failed`
## A3 vs A5
A3本提交只搭好骨架 + state-machine stub。A5 会接上:
- ffmpeg silencedetect 切片
- Groq Whisper 真实转写
- Poe Claude 真实总结