Files
meetnote/RULES.md
kang 823e195395 docs: lock MVP plan and design decisions
- 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>
2026-04-13 18:30:28 +08:00

44 lines
1.4 KiB
Markdown
Raw 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 会议转写总结
手机录音 → 上传网页 → 云端 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 单次上限 25MBffmpeg `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`