50d83539f6a0a0d7360918d8fd6a6da1ee5b7c65
- Oracle 依赖安装: flask/gunicorn/requests/PyYAML/opencv/numpy 全部成功 - FAM-Edge 全部 8 个模块导入验证 PASS - llava-phi3 基准测试: 冷启动 109s, 预热无限制 13.35s, 预热+num_predict=30 仅 4.34s PASS - OllamaAdapter 新增 num_predict 可配置参数 (默认 500) - config.yaml.example 新增 num_predict 配置项 - 创建 PROGRESS.md 进度追踪文档
Sentinel Home AI - 家庭多模态智能监控系统
多模型并行 + 交互式命名 + AI 对话的家庭监控系统。
架构概览
| 节点 | 角色 | 服务 |
|---|---|---|
| Synology NAS | FAM-Core + FAM-UI + 数据库 | Flask (8000), Streamlit (8501), MariaDB (3306) |
| Oracle Cloud | FAM-Edge | Flask (5000), Ollama (11434), FFmpeg |
| 家庭网络 | 用户入口 | 浏览器访问 FAM-UI |
目录结构
sentinel-home-ai/
├── fam-core/ # NAS 端 - 任务调度/事件接收/对话/成员管理/视频服务
├── fam-edge/ # Oracle 端 - 视频预处理/AI编排/模型适配器
├── fam-ui/ # NAS 端 - Streamlit 前端
├── scripts/ # 数据库初始化/部署脚本
├── tests/ # 单元测试与集成测试
└── docs/ # 设计文档
技术栈
- 后端: Python 3.10+, Flask, Gunicorn
- 数据库: MariaDB (MySQL 兼容)
- AI 模型: Ollama (llava-phi3), Gemini 1.5 Flash
- 视频处理: FFmpeg, OpenCV
- 前端: Streamlit
快速开始
- 数据库初始化:
python scripts/init_db.py - 启动 FAM-Core:
cd fam-core && gunicorn -w 1 -b 0.0.0.0:8000 src.app:app - 启动 FAM-Edge:
cd fam-edge && gunicorn -w 1 -b 0.0.0.0:5000 src.app:app - 启动 FAM-UI:
cd fam-ui && streamlit run src/app.py
服务器访问信息
Synology NAS (FAM-Core + FAM-UI + MariaDB)
| 项目 | 值 |
|---|---|
| IP | 192.168.50.64 |
| SSH 端口 | 2222 |
| SSH 用户 | ericwyuan |
| SSH 密码 | iLoveJava5 |
| 系统 | x86_64, Synology DSM |
| 登录命令 | ssh -p 2222 ericwyuan@192.168.50.64 |
Oracle Cloud (FAM-Edge + Ollama + FFmpeg)
| 项目 | 值 |
|---|---|
| 公网 IP | 129.146.203.203 |
| SSH 端口 | 22 |
| SSH 用户 | ubuntu |
| 认证方式 | RSA 私钥 |
| 私钥文件 | ~/.ssh/oracle_sentinel |
| 系统 | aarch64 (ARM Ampere A1), Ubuntu 20.04 LTS |
| 登录命令 | ssh -i ~/.ssh/oracle_sentinel ubuntu@129.146.203.203 |
Gitea 代码仓库
| 项目 | 值 |
|---|---|
| URL | http://192.168.50.64:3000/ericwyuan/sentinel-home-ai |
| 账号 | ericwyuan |
| 密码 | iLoveJava5 |
代码仓库
- Gitea:
http://192.168.50.64:3000/ericwyuan/sentinel-home-ai
Description
Languages
Python
86%
Vue
11%
JavaScript
1.4%
Shell
1.2%
CSS
0.3%