- Define architecture: PWA upload + FastAPI backend + Groq Whisper + Poe Claude - Skip browser recording (use phone native), skip real-time, skip calendar (v2) - Use MinIO S3 multipart direct upload with ffmpeg silencedetect chunking - Target: $1/month personal use, 4-5 day MVP Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
# MeetNote 会议转写总结
|
||
|
||
手机录音 → 上传网页 → 云端 Groq Whisper 转写 → Poe Claude 总结。中英混说精准,零订阅成本。
|
||
|
||
## 启动
|
||
- 前端(Next.js 15):`cd web && pnpm dev` → http://localhost:4490
|
||
- 后端(FastAPI):`cd api && uv run uvicorn main:app --reload --port 4491` → http://localhost:4491
|
||
|
||
## 端口
|
||
- 前端:**4490**
|
||
- API:**4491**
|
||
|
||
## 部署
|
||
- 平台:Coolify
|
||
- 域名:
|
||
- 前端 `meetnote.kang-kang.com`
|
||
- API `meetnote-api.kang-kang.com`
|
||
- 复用资产:
|
||
- PostgreSQL `/opt/postgres/` 新建 `meetnote` 库
|
||
- MinIO `/opt/minio/` 新建 `meetnote` bucket
|
||
|
||
## 环境变量
|
||
```
|
||
DATABASE_URL=postgresql://...@127.0.0.1:5432/meetnote
|
||
MINIO_ENDPOINT=127.0.0.1:9000
|
||
MINIO_BUCKET=meetnote
|
||
MINIO_ACCESS_KEY=
|
||
MINIO_SECRET_KEY=
|
||
GROQ_API_KEY=
|
||
POE_API_KEY=
|
||
```
|
||
|
||
## 规则
|
||
- **长音频必须切片**:Groq Whisper 单次上限 25MB,ffmpeg `silencedetect` 按静音点切
|
||
- **上传走直传**:前端 `@aws-sdk/client-s3` 分片直传 MinIO,不经后端
|
||
- **设计风格**:对接 `~/Projects/research/20260305-网页风格库/` 11 Dark Dev SaaS
|
||
- **状态机**:`pending → uploading → uploaded → splitting → transcribing(x/y) → summarizing → done`
|
||
|
||
## 注意事项
|
||
- MinIO 必须配 CORS 允许 `meetnote.kang-kang.com` 直传
|
||
- 长会议总结走 map-reduce(先分段再合成)
|
||
- MVP 不做:浏览器录音、日历集成、说话人分离、实时流式
|
||
- 详情见 `.memory/status.md`
|