release: Momentry Studio v0.1.0 Production Release
发布内容:
- Tauri Desktop App (.app bundle + DMG)
- Core API Binary (momentry-core)
- Proxy Binary (momentry-proxy)
- 完整文档(README, RELEASE_NOTES, 安装指南, 部署指南)
新功能:
- 批量 Deep Scan(并发控制 + 队列显示)
- 批量 Unregister
- Face Filter 自动保存(500ms 防抖)
- Registered 卡片 Checkbox 修复
- MarkBase Engine 健康检查修复
- FS Name 唯一性修复
发布包:
- 文件名: momentry-studio-v0.1.0-macos-aarch64.tar.gz
- 大小: 37MB
- SHA256: 154ef0e02a6199278ea6bc6a5073d11c631527f2825ba78ceeafcb5f486cf969
平台: macOS (Apple Silicon)
构建日期: 2026-10-08
Git Commit: 8e71996
This commit is contained in:
1
momentry-studio-v0.1.0-macos-aarch64.tar.gz.sha256
Normal file
1
momentry-studio-v0.1.0-macos-aarch64.tar.gz.sha256
Normal file
@@ -0,0 +1 @@
|
|||||||
|
154ef0e02a6199278ea6bc6a5073d11c631527f2825ba78ceeafcb5f486cf969 momentry-studio-v0.1.0-macos-aarch64.tar.gz
|
||||||
345
release/ADMIN_DEPLOYMENT_GUIDE.md
Normal file
345
release/ADMIN_DEPLOYMENT_GUIDE.md
Normal file
@@ -0,0 +1,345 @@
|
|||||||
|
# Momentry Studio v0.1.0 - Admin Team 部署指南
|
||||||
|
|
||||||
|
**发布日期:** 2026-10-08
|
||||||
|
**构建版本:** 8e71996
|
||||||
|
**目标环境:** 生产环境
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 发布包信息
|
||||||
|
|
||||||
|
**文件名:** `momentry-studio-v0.1.0-macos-aarch64.tar.gz`
|
||||||
|
**文件大小:** 37MB
|
||||||
|
**SHA256:**
|
||||||
|
```
|
||||||
|
154ef0e02a6199278ea6bc6a5073d11c631527f2825ba78ceeafcb5f486cf969
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔐 验证发布包
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 下载发布包后验证校验和
|
||||||
|
shasum -a 256 -c momentry-studio-v0.1.0-macos-aarch64.tar.gz.sha256
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 部署前检查清单
|
||||||
|
|
||||||
|
### 1. 系统要求
|
||||||
|
- [ ] macOS 12.0+ (Monterey 或更高版本)
|
||||||
|
- [ ] Apple Silicon (M1/M2/M3)
|
||||||
|
- [ ] 4GB RAM minimum (推荐 8GB)
|
||||||
|
- [ ] 1GB 可用磁盘空间
|
||||||
|
|
||||||
|
### 2. 依赖服务
|
||||||
|
- [ ] PostgreSQL 14+ 已安装并运行
|
||||||
|
- [ ] Qdrant 1.7+ 已安装并运行
|
||||||
|
- [ ] MarkBase Core API 2.3+ 已配置
|
||||||
|
- [ ] MarkBase Engine 1.0+ 已配置
|
||||||
|
|
||||||
|
### 3. 网络配置
|
||||||
|
- [ ] 端口 3002 可用(Core API)
|
||||||
|
- [ ] 端口 8888 可用(Proxy)
|
||||||
|
- [ ] 端口 5432 可用(PostgreSQL)
|
||||||
|
- [ ] 端口 6333 可用(Qdrant)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 部署步骤
|
||||||
|
|
||||||
|
### 步骤 1: 准备发布包
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. 解压发布包
|
||||||
|
tar -xzf momentry-studio-v0.1.0-macos-aarch64.tar.gz
|
||||||
|
|
||||||
|
# 2. 验证内容
|
||||||
|
ls -l
|
||||||
|
# 应该看到:
|
||||||
|
# - Momentry Studio.app
|
||||||
|
# - Momentry Studio_0.1.0_aarch64.dmg
|
||||||
|
# - momentry-core
|
||||||
|
# - momentry-proxy
|
||||||
|
# - install.sh
|
||||||
|
# - README.md
|
||||||
|
# - RELEASE_NOTES.md
|
||||||
|
# - VERSION.json
|
||||||
|
```
|
||||||
|
|
||||||
|
### 步骤 2: 部署 Studio App
|
||||||
|
|
||||||
|
**选项 A: 使用 DMG(推荐)**
|
||||||
|
```bash
|
||||||
|
# 打开 DMG 文件
|
||||||
|
open "Momentry Studio_0.1.0_aarch64.dmg"
|
||||||
|
|
||||||
|
# 在 Finder 中拖拽到 Applications
|
||||||
|
# 或使用命令行:
|
||||||
|
cp -r "/Volumes/Momentry Studio/Momentry Studio.app" /Applications/
|
||||||
|
```
|
||||||
|
|
||||||
|
**选项 B: 使用 .app**
|
||||||
|
```bash
|
||||||
|
# 直接复制到 Applications
|
||||||
|
cp -r "Momentry Studio.app" /Applications/
|
||||||
|
|
||||||
|
# 如果需要,授权运行
|
||||||
|
xattr -d com.apple.quarantine "/Applications/Momentry Studio.app"
|
||||||
|
```
|
||||||
|
|
||||||
|
**选项 C: 使用安装脚本**
|
||||||
|
```bash
|
||||||
|
# 运行安装脚本
|
||||||
|
./install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### 步骤 3: 部署 Backend Services
|
||||||
|
|
||||||
|
**安装 binaries:**
|
||||||
|
```bash
|
||||||
|
# 复制到系统 bin 目录
|
||||||
|
sudo cp momentry-core /usr/local/bin/
|
||||||
|
sudo cp momentry-proxy /usr/local/bin/
|
||||||
|
|
||||||
|
# 设置权限
|
||||||
|
sudo chmod +x /usr/local/bin/momentry-core
|
||||||
|
sudo chmod +x /usr/local/bin/momentry-proxy
|
||||||
|
```
|
||||||
|
|
||||||
|
### 步骤 4: 配置服务
|
||||||
|
|
||||||
|
**创建配置文件:**
|
||||||
|
```bash
|
||||||
|
# 创建配置目录
|
||||||
|
mkdir -p /opt/momentry/config
|
||||||
|
|
||||||
|
# 创建配置文件
|
||||||
|
cat > /opt/momentry/config/momentry.toml << 'TOML'
|
||||||
|
[server]
|
||||||
|
host = "0.0.0.0"
|
||||||
|
port = 3002
|
||||||
|
|
||||||
|
[database]
|
||||||
|
url = "postgres://momentry:password@localhost:5432/momentry"
|
||||||
|
|
||||||
|
[face_settings]
|
||||||
|
min_confidence = 0.5
|
||||||
|
min_bbox_size = 80
|
||||||
|
TOML
|
||||||
|
```
|
||||||
|
|
||||||
|
**设置环境变量:**
|
||||||
|
```bash
|
||||||
|
# 在 ~/.zshrc 或 ~/.bash_profile 中添加
|
||||||
|
export MOMENTRY_API_KEY="your_production_api_key"
|
||||||
|
export MOMENTRY_DATA_DIR="/opt/momentry/data"
|
||||||
|
export MOMENTRY_CONFIG="/opt/momentry/config/momentry.toml"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 步骤 5: 启动服务
|
||||||
|
|
||||||
|
**手动启动:**
|
||||||
|
```bash
|
||||||
|
# 1. 启动 Core API
|
||||||
|
momentry-core server --config /opt/momentry/config/momentry.toml
|
||||||
|
|
||||||
|
# 2. 在另一个终端启动 Studio
|
||||||
|
open "/Applications/Momentry Studio.app"
|
||||||
|
```
|
||||||
|
|
||||||
|
**创建 launchd 服务(可选):**
|
||||||
|
```bash
|
||||||
|
# 创建 Core API 服务
|
||||||
|
sudo cat > /Library/LaunchDaemons/com.momentry.core.plist << 'PLIST'
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>Label</key>
|
||||||
|
<string>com.momentry.core</string>
|
||||||
|
<key>ProgramArguments</key>
|
||||||
|
<array>
|
||||||
|
<string>/usr/local/bin/momentry-core</string>
|
||||||
|
<string>server</string>
|
||||||
|
<string>--config</string>
|
||||||
|
<string>/opt/momentry/config/momentry.toml</string>
|
||||||
|
</array>
|
||||||
|
<key>RunAtLoad</key>
|
||||||
|
<true/>
|
||||||
|
<key>KeepAlive</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
|
PLIST
|
||||||
|
|
||||||
|
# 加载服务
|
||||||
|
sudo launchctl load /Library/LaunchDaemons/com.momentry.core.plist
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ 验证部署
|
||||||
|
|
||||||
|
### 1. 验证 Core API
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 检查服务状态
|
||||||
|
curl http://localhost:3002/api/v1/health
|
||||||
|
|
||||||
|
# 预期响应:
|
||||||
|
# {"status":"ok","version":"1.0.0",...}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 验证 Proxy
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 检查 proxy 状态
|
||||||
|
curl http://localhost:8888/health
|
||||||
|
|
||||||
|
# 预期响应:
|
||||||
|
# ok
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 验证 Studio App
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 打开应用
|
||||||
|
open "/Applications/Momentry Studio.app"
|
||||||
|
|
||||||
|
# 检查进程
|
||||||
|
ps aux | grep "Momentry Studio"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. 功能测试
|
||||||
|
|
||||||
|
在 Studio 中测试以下功能:
|
||||||
|
|
||||||
|
- [ ] 登录功能
|
||||||
|
- [ ] Library 文件浏览
|
||||||
|
- [ ] Search 功能
|
||||||
|
- [ ] People 页面
|
||||||
|
- [ ] Admin 设置页面
|
||||||
|
- [ ] MarkBase Engine 状态显示为 `online`
|
||||||
|
- [ ] 批量 Deep Scan 功能
|
||||||
|
- [ ] 批量 Unregister 功能
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔄 更新流程
|
||||||
|
|
||||||
|
### 从旧版本升级
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. 停止旧服务
|
||||||
|
sudo launchctl unload /Library/LaunchDaemons/com.momentry.core.plist 2>/dev/null || true
|
||||||
|
pkill -f momentry-core
|
||||||
|
pkill -f "Momentry Studio"
|
||||||
|
|
||||||
|
# 2. 备份数据(重要!)
|
||||||
|
pg_dump momentry > momentry_backup_$(date +%Y%m%d).sql
|
||||||
|
|
||||||
|
# 3. 安装新版本
|
||||||
|
# (按照上面的部署步骤)
|
||||||
|
|
||||||
|
# 4. 启动新服务
|
||||||
|
sudo launchctl load /Library/LaunchDaemons/com.momentry.core.plist
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🐛 故障排查
|
||||||
|
|
||||||
|
### 问题 1: 应用无法启动
|
||||||
|
|
||||||
|
**症状:** 双击 .app 后无反应
|
||||||
|
|
||||||
|
**解决方案:**
|
||||||
|
```bash
|
||||||
|
# 移除隔离属性
|
||||||
|
xattr -d com.apple.quarantine "/Applications/Momentry Studio.app"
|
||||||
|
|
||||||
|
# 检查控制台日志
|
||||||
|
log stream --predicate 'process == "momentry-studio"' --level debug
|
||||||
|
```
|
||||||
|
|
||||||
|
### 问题 2: 无法连接到 Core API
|
||||||
|
|
||||||
|
**症状:** Studio 显示连接错误
|
||||||
|
|
||||||
|
**解决方案:**
|
||||||
|
```bash
|
||||||
|
# 检查 Core API 是否运行
|
||||||
|
ps aux | grep momentry-core
|
||||||
|
|
||||||
|
# 检查端口是否监听
|
||||||
|
lsof -i :3002
|
||||||
|
|
||||||
|
# 检查防火墙
|
||||||
|
# 确保端口 3002 和 8888 已开放
|
||||||
|
```
|
||||||
|
|
||||||
|
### 问题 3: MarkBase Engine 显示 offline
|
||||||
|
|
||||||
|
**症状:** Admin 页面显示 MarkBase Engine 为 offline
|
||||||
|
|
||||||
|
**解决方案:**
|
||||||
|
```bash
|
||||||
|
# 检查 MarkBase Engine 是否运行
|
||||||
|
curl http://localhost:8080/health
|
||||||
|
|
||||||
|
# 如果正常返回 {"status":"ok"},但 Studio 仍显示 offline
|
||||||
|
# 确认使用的是最新版本的 Studio(v0.1.0+)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 监控和日志
|
||||||
|
|
||||||
|
### 日志位置
|
||||||
|
|
||||||
|
- **Core API:** `/opt/momentry/logs/core.log`
|
||||||
|
- **Proxy:** `/opt/momentry/logs/proxy.log`
|
||||||
|
- **Studio:** `~/Library/Logs/Momentry Studio/`
|
||||||
|
|
||||||
|
### 性能监控
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 检查资源使用
|
||||||
|
top -pid $(pgrep momentry-core)
|
||||||
|
|
||||||
|
# 检查内存使用
|
||||||
|
ps aux | grep momentry-core | awk '{print $6/1024 "MB"}'
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📞 支持联系
|
||||||
|
|
||||||
|
**技术支持:**
|
||||||
|
- Email: tech@momentry.ai
|
||||||
|
- Slack: #momentry-support
|
||||||
|
|
||||||
|
**紧急联系:**
|
||||||
|
- On-call: +886-xxx-xxx-xxx
|
||||||
|
|
||||||
|
**文档:**
|
||||||
|
- 详细发布说明: RELEASE_NOTES.md
|
||||||
|
- 用户手册: https://docs.momentry.ai
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 部署记录
|
||||||
|
|
||||||
|
**部署日期:** _________
|
||||||
|
**部署人员:** _________
|
||||||
|
**部署环境:** _________
|
||||||
|
**验证结果:** [ ] 通过 [ ] 失败
|
||||||
|
**备注:** _________
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**部署完成后,请将此文档归档并通知开发团队。**
|
||||||
|
|
||||||
69
release/README.md
Normal file
69
release/README.md
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
# Momentry Studio v0.1.0
|
||||||
|
|
||||||
|
## 快速开始
|
||||||
|
|
||||||
|
### 安装
|
||||||
|
|
||||||
|
**方法 1: DMG 安装(推荐)**
|
||||||
|
```bash
|
||||||
|
# 打开 DMG 文件
|
||||||
|
open "Momentry Studio_0.1.0_aarch64.dmg"
|
||||||
|
# 拖拽到 Applications 文件夹
|
||||||
|
```
|
||||||
|
|
||||||
|
**方法 2: 使用安装脚本**
|
||||||
|
```bash
|
||||||
|
./install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
**方法 3: 手动安装**
|
||||||
|
```bash
|
||||||
|
cp -r "Momentry Studio.app" /Applications/
|
||||||
|
```
|
||||||
|
|
||||||
|
### 启动服务
|
||||||
|
|
||||||
|
1. **启动 Core API:**
|
||||||
|
```bash
|
||||||
|
export MOMENTRY_API_KEY=your_api_key
|
||||||
|
./momentry-core server --host 0.0.0.0 --port 3002
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **启动 Studio:**
|
||||||
|
```bash
|
||||||
|
open "/Applications/Momentry Studio.app"
|
||||||
|
```
|
||||||
|
|
||||||
|
## 包含内容
|
||||||
|
|
||||||
|
- `Momentry Studio.app` - macOS 桌面应用
|
||||||
|
- `Momentry Studio_0.1.0_aarch64.dmg` - DMG 安装包
|
||||||
|
- `momentry-core` - Core API server
|
||||||
|
- `momentry-proxy` - HTTP proxy server
|
||||||
|
- `install.sh` - 安装脚本
|
||||||
|
- `RELEASE_NOTES.md` - 详细发布说明
|
||||||
|
|
||||||
|
## 系统要求
|
||||||
|
|
||||||
|
- macOS 12.0+ (Apple Silicon)
|
||||||
|
- PostgreSQL 14+
|
||||||
|
- 4GB RAM minimum
|
||||||
|
|
||||||
|
## 新功能
|
||||||
|
|
||||||
|
- ✅ 批量 Deep Scan(并发控制)
|
||||||
|
- ✅ 批量 Unregister
|
||||||
|
- ✅ Face Filter 自动保存
|
||||||
|
- ✅ MarkBase Engine 健康检查修复
|
||||||
|
- ✅ FS Name 唯一性修复
|
||||||
|
|
||||||
|
## 文档
|
||||||
|
|
||||||
|
- 详细发布说明:`RELEASE_NOTES.md`
|
||||||
|
- 配置示例:运行 `install.sh` 后创建在 `~/.momentry/momentry.toml`
|
||||||
|
|
||||||
|
## 支持
|
||||||
|
|
||||||
|
- 技术支持:tech@momentry.ai
|
||||||
|
- Bug 报告:https://github.com/momentry/studio/issues
|
||||||
|
|
||||||
250
release/RELEASE_NOTES.md
Normal file
250
release/RELEASE_NOTES.md
Normal file
@@ -0,0 +1,250 @@
|
|||||||
|
# Momentry Studio v0.1.0 Release Notes
|
||||||
|
|
||||||
|
**发布日期:** 2026-10-08
|
||||||
|
**构建类型:** Production Release
|
||||||
|
**平台:** macOS (Apple Silicon)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 发布包内容
|
||||||
|
|
||||||
|
### 1. Tauri Desktop Application
|
||||||
|
- **Momentry Studio.app** - macOS 原生桌面应用
|
||||||
|
- **Momentry Studio_0.1.0_aarch64.dmg** - DMG 安装包
|
||||||
|
|
||||||
|
### 2. Backend Services
|
||||||
|
- **momentry-core** - Core API server binary
|
||||||
|
- **momentry-proxy** - HTTP proxy server binary
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✨ 新功能
|
||||||
|
|
||||||
|
### 1. 批量操作增强
|
||||||
|
|
||||||
|
**批量 Deep Scan:**
|
||||||
|
- 在 Registered 和 Completed section 添加批量 Deep Scan 按钮
|
||||||
|
- 使用 p-limit 控制并发(maxConcurrent = 2)
|
||||||
|
- 超过并发的文件自动排队
|
||||||
|
- 实时显示队列状态:`Processing 1/5 (3 queuing, 2 active)...`
|
||||||
|
|
||||||
|
**批量 Unregister:**
|
||||||
|
- 在 Registered 和 Completed section 添加批量 Unregister 按钮
|
||||||
|
- 支持确认对话框
|
||||||
|
- 显示成功/失败统计
|
||||||
|
|
||||||
|
### 2. Face Filter 自动保存
|
||||||
|
|
||||||
|
**实时自动保存(500ms 防抖):**
|
||||||
|
- 修改后自动保存到后端数据库
|
||||||
|
- 离开页面时自动保存未保存的修改
|
||||||
|
- 组件卸载时清理定时器
|
||||||
|
- 显示自动保存状态:`✓ Auto-saved` 或 `⏳ Saving...`
|
||||||
|
|
||||||
|
### 3. Registered 卡片 Checkbox 修复
|
||||||
|
|
||||||
|
**修复问题:**
|
||||||
|
- toggleSelect 函数使用正确的 key(file_uuid)
|
||||||
|
- 修复 HTML 缩进问题
|
||||||
|
- 确保勾选功能正常工作
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🐛 Bug 修复
|
||||||
|
|
||||||
|
### 1. MarkBase Engine 健康检查修复
|
||||||
|
|
||||||
|
**问题:**
|
||||||
|
- Admin 页面显示 MarkBase Engine 为 `offline`
|
||||||
|
- 实际服务正在运行
|
||||||
|
|
||||||
|
**修复:**
|
||||||
|
- 支持 JSON 和纯文本格式的健康检查响应
|
||||||
|
- 根据 Content-Type 判断响应格式
|
||||||
|
- 从 JSON 提取 version 和 uptime 信息
|
||||||
|
|
||||||
|
### 2. FS Name 唯一性问题修复
|
||||||
|
|
||||||
|
**问题:**
|
||||||
|
- 两个自动命名源导致名称混乱
|
||||||
|
- Person_X 和 Face Trace X 格式并存
|
||||||
|
|
||||||
|
**修复:**
|
||||||
|
- 移除所有自动命名逻辑
|
||||||
|
- 新 traces 默认为 "Unassigned"
|
||||||
|
- 统一 trace_profiles.name 为唯一名称来源
|
||||||
|
|
||||||
|
### 3. 性能优化
|
||||||
|
|
||||||
|
**并发控制:**
|
||||||
|
- thumbnail 并发数从 32 降到 10
|
||||||
|
- search_agents API timeout 提升到 90s
|
||||||
|
|
||||||
|
**排序优化:**
|
||||||
|
- scanning/preparing 文件优先显示
|
||||||
|
- 改进用户体验
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 系统要求
|
||||||
|
|
||||||
|
### macOS
|
||||||
|
- macOS 12.0 (Monterey) 或更高版本
|
||||||
|
- Apple Silicon (M1/M2/M3) 或 Intel (需单独构建)
|
||||||
|
- 4GB RAM minimum, 8GB recommended
|
||||||
|
- 1GB 可用磁盘空间
|
||||||
|
|
||||||
|
### 依赖服务
|
||||||
|
- PostgreSQL 14+
|
||||||
|
- Qdrant (v1.7+)
|
||||||
|
- MarkBase Core API (v2.3+)
|
||||||
|
- MarkBase Engine (v1.0+)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 安装指南
|
||||||
|
|
||||||
|
### 方法 1: DMG 安装(推荐)
|
||||||
|
|
||||||
|
1. 下载 `Momentry Studio_0.1.0_aarch64.dmg`
|
||||||
|
2. 双击打开 DMG 文件
|
||||||
|
3. 拖拽 "Momentry Studio.app" 到 Applications 文件夹
|
||||||
|
4. 从 Applications 启动应用
|
||||||
|
|
||||||
|
### 方法 2: 直接使用 .app
|
||||||
|
|
||||||
|
1. 复制 "Momentry Studio.app" 到 Applications 文件夹
|
||||||
|
2. 首次运行可能需要在"系统偏好设置 > 安全性与隐私"中允许运行
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚙️ 配置
|
||||||
|
|
||||||
|
### 环境变量
|
||||||
|
|
||||||
|
**Momentry Core API:**
|
||||||
|
```bash
|
||||||
|
export MOMENTRY_API_KEY=your_api_key_here
|
||||||
|
export DATABASE_URL=postgres://user:password@localhost:5432/momentry
|
||||||
|
```
|
||||||
|
|
||||||
|
**Momentry Proxy:**
|
||||||
|
```bash
|
||||||
|
export MOMENTRY_API_KEY=your_api_key_here
|
||||||
|
export MOMENTRY_DATA_DIR=/path/to/data/users
|
||||||
|
```
|
||||||
|
|
||||||
|
### 配置文件
|
||||||
|
|
||||||
|
**momentry.toml (Core API):**
|
||||||
|
```toml
|
||||||
|
[server]
|
||||||
|
host = "0.0.0.0"
|
||||||
|
port = 3002
|
||||||
|
|
||||||
|
[database]
|
||||||
|
url = "postgres://user:password@localhost:5432/momentry"
|
||||||
|
|
||||||
|
[face_settings]
|
||||||
|
min_confidence = 0.5
|
||||||
|
min_bbox_size = 80
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔧 部署指南
|
||||||
|
|
||||||
|
### 1. 启动 Core API
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./momentry-core server --host 0.0.0.0 --port 3002
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 启动 Proxy(如果需要独立部署)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./momentry-proxy
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 启动 Tauri 应用
|
||||||
|
|
||||||
|
- 双击 "Momentry Studio.app" 启动
|
||||||
|
- 或从终端运行:`open "Momentry Studio.app"`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 服务架构
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────────────────────────────┐
|
||||||
|
│ Momentry Studio (Tauri App) │
|
||||||
|
│ ┌─────────────┐ ┌────────────────┐ │
|
||||||
|
│ │ Frontend │───▶│ Proxy (Rust) │ │
|
||||||
|
│ │ (Vue 3) │ │ Port 8888 │ │
|
||||||
|
│ └─────────────┘ └────────────────┘ │
|
||||||
|
└─────────────────────────────────────────┘
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
┌───────────────────────────┐
|
||||||
|
│ Momentry Core API │
|
||||||
|
│ Port 3002 │
|
||||||
|
│ - Files │
|
||||||
|
│ - Faces │
|
||||||
|
│ - Search │
|
||||||
|
└───────────────────────────┘
|
||||||
|
│
|
||||||
|
┌───────────────┴───────────────┐
|
||||||
|
▼ ▼
|
||||||
|
┌──────────┐ ┌──────────┐
|
||||||
|
│PostgreSQL│ │ Qdrant │
|
||||||
|
│ Port 5432│ │Port 6333 │
|
||||||
|
└──────────┘ └──────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 已知问题
|
||||||
|
|
||||||
|
1. **批量 Deep Scan 队列**
|
||||||
|
- 当前前端临时实现,未来需要后端队列支持
|
||||||
|
- 参考:`docs/DEEP_SCAN_QUEUE_FEATURE_REQUEST.md`
|
||||||
|
|
||||||
|
2. **System Stats Validation**
|
||||||
|
- 已暂时禁用,待后续修复
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 版本历史
|
||||||
|
|
||||||
|
**v0.1.0 (2026-10-08)**
|
||||||
|
- 初始正式发布版本
|
||||||
|
- 包含所有核心功能
|
||||||
|
- 批量操作增强
|
||||||
|
- Face Filter 自动保存
|
||||||
|
- 多项 Bug 修复
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🛠️ 技术栈
|
||||||
|
|
||||||
|
- **Frontend**: Vue 3 + TypeScript + Vite
|
||||||
|
- **Desktop**: Tauri 2 (Rust backend)
|
||||||
|
- **Backend**: Rust (Axum, SQLx)
|
||||||
|
- **Database**: PostgreSQL 14+
|
||||||
|
- **Search Engine**: Qdrant
|
||||||
|
- **Build**: Cargo + npm
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📞 支持联系
|
||||||
|
|
||||||
|
- **技术支持**: tech@momentry.ai
|
||||||
|
- **Bug 报告**: https://github.com/momentry/studio/issues
|
||||||
|
- **文档**: https://docs.momentry.ai
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📜 许可证
|
||||||
|
|
||||||
|
Proprietary Software - All Rights Reserved
|
||||||
|
|
||||||
46
release/VERSION.json
Normal file
46
release/VERSION.json
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
"version": "0.1.0",
|
||||||
|
"build_date": "2026-10-08",
|
||||||
|
"build_type": "release",
|
||||||
|
"platform": "macos-aarch64",
|
||||||
|
"git_commit": "8e71996",
|
||||||
|
"components": {
|
||||||
|
"studio_app": {
|
||||||
|
"name": "Momentry Studio.app",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"size": "28MB"
|
||||||
|
},
|
||||||
|
"dmg": {
|
||||||
|
"name": "Momentry Studio_0.1.0_aarch64.dmg",
|
||||||
|
"size": "9.4MB"
|
||||||
|
},
|
||||||
|
"core_api": {
|
||||||
|
"name": "momentry-core",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"size": "44MB"
|
||||||
|
},
|
||||||
|
"proxy": {
|
||||||
|
"name": "momentry-proxy",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"size": "7.6MB"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"features": [
|
||||||
|
"batch_deep_scan",
|
||||||
|
"batch_unregister",
|
||||||
|
"face_filter_autosave",
|
||||||
|
"markbase_health_check_fix",
|
||||||
|
"fs_name_uniqueness_fix"
|
||||||
|
],
|
||||||
|
"requirements": {
|
||||||
|
"macos": "12.0+",
|
||||||
|
"architecture": "arm64",
|
||||||
|
"ram": "4GB minimum",
|
||||||
|
"dependencies": [
|
||||||
|
"PostgreSQL 14+",
|
||||||
|
"Qdrant 1.7+",
|
||||||
|
"MarkBase Core API 2.3+",
|
||||||
|
"MarkBase Engine 1.0+"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
107
release/install.sh
Executable file
107
release/install.sh
Executable file
@@ -0,0 +1,107 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Momentry Studio v0.1.0 Installation Script
|
||||||
|
# Usage: ./install.sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "========================================="
|
||||||
|
echo " Momentry Studio v0.1.0 Installation "
|
||||||
|
echo "========================================="
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 检查操作系统
|
||||||
|
if [[ "$(uname)" != "Darwin" ]]; then
|
||||||
|
echo "❌ Error: This script only supports macOS"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 检查架构
|
||||||
|
ARCH=$(uname -m)
|
||||||
|
if [[ "$ARCH" != "arm64" ]]; then
|
||||||
|
echo "⚠️ Warning: This build is optimized for Apple Silicon (arm64)"
|
||||||
|
echo " Current architecture: $ARCH"
|
||||||
|
echo " Some features may not work correctly."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 设置安装目录
|
||||||
|
INSTALL_DIR="${INSTALL_DIR:-/Applications}"
|
||||||
|
BIN_DIR="${BIN_DIR:-/usr/local/bin}"
|
||||||
|
|
||||||
|
echo "📋 Installation Settings:"
|
||||||
|
echo " App Location: $INSTALL_DIR/Momentry Studio.app"
|
||||||
|
echo " Binary Location: $BIN_DIR"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 询问确认
|
||||||
|
read -p "Continue with installation? (y/n) " -n 1 -r
|
||||||
|
echo
|
||||||
|
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||||
|
echo "Installation cancelled."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 检查 .app 是否存在
|
||||||
|
if [[ ! -d "Momentry Studio.app" ]]; then
|
||||||
|
echo "❌ Error: Momentry Studio.app not found in current directory"
|
||||||
|
echo " Please run this script from the release directory"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 安装 .app
|
||||||
|
echo ""
|
||||||
|
echo "📦 Installing Momentry Studio.app..."
|
||||||
|
cp -r "Momentry Studio.app" "$INSTALL_DIR/"
|
||||||
|
echo "✅ App installed to $INSTALL_DIR/Momentry Studio.app"
|
||||||
|
|
||||||
|
# 安装 binary(可选)
|
||||||
|
if [[ -f "momentry-core" ]] && [[ -f "momentry-proxy" ]]; then
|
||||||
|
echo ""
|
||||||
|
read -p "Install backend binaries to $BIN_DIR? (y/n) " -n 1 -r
|
||||||
|
echo
|
||||||
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||||
|
echo "📦 Installing binaries..."
|
||||||
|
sudo cp momentry-core "$BIN_DIR/"
|
||||||
|
sudo cp momentry-proxy "$BIN_DIR/"
|
||||||
|
sudo chmod +x "$BIN_DIR/momentry-core"
|
||||||
|
sudo chmod +x "$BIN_DIR/momentry-proxy"
|
||||||
|
echo "✅ Binaries installed to $BIN_DIR"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 创建配置示例
|
||||||
|
echo ""
|
||||||
|
echo "📝 Creating example configuration..."
|
||||||
|
mkdir -p ~/.momentry
|
||||||
|
cat > ~/.momentry/momentry.toml << 'TOML'
|
||||||
|
# Momentry Studio Configuration Example
|
||||||
|
|
||||||
|
[server]
|
||||||
|
host = "0.0.0.0"
|
||||||
|
port = 3002
|
||||||
|
|
||||||
|
[database]
|
||||||
|
url = "postgres://user:password@localhost:5432/momentry"
|
||||||
|
|
||||||
|
[face_settings]
|
||||||
|
min_confidence = 0.5
|
||||||
|
min_bbox_size = 80
|
||||||
|
TOML
|
||||||
|
echo "✅ Configuration example created at ~/.momentry/momentry.toml"
|
||||||
|
|
||||||
|
# 完成
|
||||||
|
echo ""
|
||||||
|
echo "========================================="
|
||||||
|
echo " ✅ Installation Complete! "
|
||||||
|
echo "========================================="
|
||||||
|
echo ""
|
||||||
|
echo "🚀 Next Steps:"
|
||||||
|
echo " 1. Configure database connection in ~/.momentry/momentry.toml"
|
||||||
|
echo " 2. Set environment variable: export MOMENTRY_API_KEY=your_key"
|
||||||
|
echo " 3. Start Core API: momentry-core server"
|
||||||
|
echo " 4. Launch Studio: open \"$INSTALL_DIR/Momentry Studio.app\""
|
||||||
|
echo ""
|
||||||
|
echo "📖 Documentation: See RELEASE_NOTES.md"
|
||||||
|
echo "📞 Support: tech@momentry.ai"
|
||||||
|
echo ""
|
||||||
|
|
||||||
Reference in New Issue
Block a user