- Add database migrations (006-028) for face recognition, identity, file_uuid - Add test scripts for ASR, face, search, processing - Add portal frontend (Tauri) - Add config, benchmark, and monitoring utilities - Add model checkpoints and pretrained model references
3.6 KiB
3.6 KiB
Momentry Portal
基於 Tauri + Vue 3 的影片搜尋與身份管理桌面應用程式。
功能
- 影片搜尋: 智能搜尋影片內容
- 身份管理: 管理全域身份、區域人物
- 臉部管理: 查看和下載人物臉部截圖
環境需求
- Node.js 18+
- Rust 1.70+
- npm 或 yarn
安裝與執行
# 進入專案目錄
cd portal
# 安裝前端依賴
npm install
# 開發模式 (同時啟動 Vue 和 Tauri)
npm run tauri dev
# 或分別啟動
npm run dev # 啟動 Vue dev server (port 1420)
npm run tauri dev # 啟動 Tauri desktop app
專案結構
portal/
├── src-tauri/ # Rust 後端
│ ├── src/
│ │ ├── main.rs # Tauri 入口
│ │ ├── config.rs # 組態管理
│ │ └── api/ # API 處理常式
│ │ ├── search.rs # 搜尋 API
│ │ ├── identity.rs # 身份管理 API
│ │ ├── video.rs # 影片 API
│ │ └── person.rs # 人物/臉部 API
│ ├── Cargo.toml
│ └── tauri.conf.json
├── src/ # Vue 前端
│ ├── main.ts
│ ├── App.vue
│ ├── router.ts
│ ├── views/
│ │ ├── HomeView.vue
│ │ ├── SearchView.vue
│ │ ├── IdentitiesView.vue
│ │ └── VideoDetailView.vue
│ └── assets/
├── package.json
├── vite.config.ts
└── tailwind.config.js
API 環境
Portal 連接到 Momentry Core API Server,支援兩種環境:
環境配置
| 環境 | API URL | Port | Redis Prefix | Schema | 用途 |
|---|---|---|---|---|---|
| 生產環境 | http://127.0.0.1:3002 |
3002 | momentry: |
public |
正式數據 |
| 開發環境 | http://127.0.0.1:3003 |
3003 | momentry_dev: |
dev |
測試數據 |
啟動 API Server
# 生產環境 (port 3002, schema=public)
cargo run --bin momentry -- server
# 開發環境 (port 3003, schema=dev)
DATABASE_SCHEMA=dev cargo run --bin momentry_playground -- server
Portal 配置
Portal 預設連接開發環境 (3003),可透過環境變數切換:
# 切換到生產環境
export MOMENTRY_API_URL="http://127.0.0.1:3002"
# 啟動 Portal
cd portal && npm run tauri dev
API Key
API Key 用於認證 Portal 與 API Server 的通訊:
export MOMENTRY_API_KEY="muser_68600856036340bcafc01930eb4bd839_1774418104_97221b69"
注意: 開發環境 (dev schema) 的 API Key hash 必須與 dev.api_keys 表中的資料一致。
檢查 API 連接
# 檢查 API Server 狀態
curl http://localhost:3003/api/v1/videos -H "X-API-Key: $MOMENTRY_API_KEY"
# 檢查 Schema
psql -U accusys -d momentry -c "SELECT table_name FROM information_schema.tables WHERE table_schema = 'dev';"
環境變數
可在 src-tauri/src/config.rs 中修改,或設定環境變數:
export MOMENTRY_API_URL="http://127.0.0.1:3002"
export MOMENTRY_API_KEY="your-api-key"
API 對應
| 前端功能 | Tauri Command | 對應 Momentry API |
|---|---|---|
| 搜尋 | search_videos |
POST /api/v1/n8n/search |
| 身份列表 | list_identities |
POST /api/v1/identities/search |
| 註冊身份 | register_identity |
POST /api/v1/person/:id/register |
| 影片列表 | list_videos |
GET /api/v1/videos |
| 影片臉部 | get_video_faces |
GET /api/v1/videos/:uuid/faces |
| 下載截圖 | get_person_thumbnail |
GET /api/v1/person/:id/thumbnail |