基于 AI 的智能琴房视频监控分析系统。系统通过视觉大模型分析琴房监控视频,识别无人、练琴、物品遗留、桌椅归位等状态,并提供任务进度、分析报告和对话式查询能力。
RedChord AI(赤弦)是一套智能琴房监控分析解决方案,通过视觉大模型对监控视频进行智能分析,自动识别练琴、使用手机等行为,为琴房管理提供数据支撑。
.
├── apps/
│ ├── backend/ # FastAPI 后端服务
│ │ ├── main.py # API 入口
│ │ ├── src/ # 业务逻辑、任务调度、数据访问
│ │ ├── scripts/ # 数据导入导出和维护脚本
│ │ └── data/ # 本地运行数据,不纳入版本管理
│ └── frontend/ # React + Vite 前端
│ ├── src/ # 页面、组件、服务封装
│ └── vite.config.ts
├── docs/ # 技术文档、白皮书和发布说明
├── tools/ # 连接检查、部署验证等辅助脚本
├── start.sh # 本地一键启动
└── stop.sh # 本地停止服务
完整代码逻辑分析已整理到 docs/README.md。建议按以下顺序阅读:
./start.sh
启动脚本会自动检查 Node、Python、前端依赖和后端关键依赖,释放旧端口,并后台启动前后端服务。
停止服务:
./stop.sh
默认访问地址:
后端:
cd apps/backend
python3 -m pip install -r requirements.txt
python3 -m uvicorn main:app --host 0.0.0.0 --port 8000
前端:
cd apps/frontend
npm install
npm run dev -- --host 0.0.0.0 --port 5123
如需后端热重载:
RELOAD=1 ./start.sh
| 变量名 | 说明 | 位置 |
|---|---|---|
ARK_API_KEY | 火山引擎 API 密钥 | apps/backend/.env |
ARK_MODEL_ID | 模型端点 ID | apps/backend/.env |
MONGO_URI | MongoDB 连接串 | apps/backend/.env |
MONGO_DB_NAME | MongoDB 数据库名 | apps/backend/.env |
VITE_API_BASE_URL | 后端 API 地址,可为空并走 Vite 代理 | apps/frontend/.env |
当前本地配置连接 dev 命名空间的 MongoDB:
mongodb://root:<password>@114.55.61.32:31017/redchord?authSource=admin&directConnection=true
该地址来自 114.55.61.32 服务器上的 K8s dev/mongodb-service,NodePort 为 31017。本地实际连接串以 apps/backend/.env 为准。
后端提供 MongoDB 数据备份与恢复脚本:
# 导出当前 .env 指向数据库中的所有集合
python3 apps/backend/scripts/export_mongo_data.py
# 将导出的目录导入当前 .env 指向的数据库
python3 apps/backend/scripts/import_mongo_data.py apps/backend/data/exports/<export_dir>
默认导出目录位于 apps/backend/data/exports/,该目录属于运行数据,不建议提交。
curl http://127.0.0.1:8000/health
curl http://127.0.0.1:8000/api/cameras
curl 'http://127.0.0.1:8000/api/analyze/latest?camera_id=A215'
MIT License