From 70b81dd4b6b18d66f81de9ebc79a3c2af9e5c0eb Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Tue, 27 Oct 2026 03:32:35 +0000 Subject: [PATCH] Add README.md --- README.en.md | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 326 insertions(+) create mode 100644 README.en.md create mode 100644 README.md diff --git a/README.en.md b/README.en.md new file mode 100644 index 0000000..15f2765 --- /dev/null +++ b/README.en.md @@ -0,0 +1,163 @@ +# Family Memory Desktop + +[English](./README_en.md) | [Simplified Chinese](./README.md) + +Family Memory Desktop is a local AI photo management and memory creation application developed based on Tauri. It combines powerful local AI capabilities, supporting face recognition, similar image detection, intelligent classification, and more, and allows you to turn your precious memories into e-books to read on e-ink display devices. + +## Features + +### 🖼️ Photo Management +- **Multi-album Support**: Create and manage multiple photo albums, supports folder scanning. +- **Smart Classification**: Browse photos by date, timeline, camera, location, etc. +- **RAW Format Support**: Supports reading and processing various RAW format images (CR2, NEF, ARW, DNG, etc.). +- **HEIF/HEIC Support**: Native support for Apple's HEIF format. +- **Video Thumbnails**: Supports extracting thumbnails from videos. + +### 🤖 AI Features +- **Face Recognition**: Automatically detects and recognizes faces in photos, supports person clustering. +- **Similar Image Detection**: Intelligently identifies similar/duplicate photos, helping to clean up the library. +- **Deduplication**: Detects completely duplicate images based on content hashing. +- **Smart Recommendations**: Recommends related memory photos based on existing photos. + +### 📖 Memory Book Creation +- Create personal electronic memory books. +- Add story text and atmospheric descriptions. +- Supports exporting PDF and ZIP. +- **E-ink Device Sync**: Push to e-ink display devices for reading. + +### 🎨 Editing Features +- Image cropping, rotation. +- Copy to clipboard. +- Metadata editing (rating, tags, favorites, etc.). + +## Technology Stack + +- **Backend**: Rust + Tauri +- **Frontend**: Web technologies (HTML/CSS/JavaScript) +- **Database**: SQLite +- **AI Engine**: ONNX Runtime (Local Inference) +- **Media Processing**: FFmpeg, LibRaw, libde265 + +## System Requirements + +- Windows 10/11, macOS 10.15+, Linux (Ubuntu 20.04+) +- At least 4GB RAM +- Recommended 10GB available disk space + +## Quick Start + +### Development Environment Setup + +1. Install Rust and Node.js +```bash +# Install Rust +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh + +# Install Node.js (nvm recommended) +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash +``` + +2. Install System Dependencies + +**macOS:** +```bash +brew install pkg-config cairo jpeg giflib gdk-pixbuf libx11 +``` + +**Linux (Ubuntu):** +```bash +sudo apt-get install libssl-dev libwebkit2.4.0-dev libappindicator3-dev librsvg2-dev patchelf +``` + +**Windows:** +- Install Visual Studio Build Tools +- Install the MSVC toolchain supported by Rust + +3. Download Model Files +```bash +# Enter project directory +cd family-memory-desktop + +# Download AI Models (Linux/macOS) +./scripts/download_models.sh + +# Download FFmpeg (Linux/macOS) +./scripts/download_ffmpeg_sidecar.sh +``` + +4. Run Development Server +```bash +# Install frontend dependencies +cd memory-book/player +npm install +cd ../.. + +# Start Tauri development mode +cargo tauri dev +``` + +### Build Release Version + +```bash +# Build production version +cargo tauri build +``` + +## Project Structure + +``` +family-memory-desktop/ +├── src-tauri/ # Rust backend code +│ ├── src/ +│ │ ├── app/ # Application logic +│ │ │ ├── ai/ # AI Engine (ONNX, Face, Classification) +│ │ │ ├── album/ # Album management +│ │ │ ├── device/ # E-book device support +│ │ │ ├── photo/ # Photo processing (Dedup, Similar, Face) +│ │ │ └── local/ # Local storage +│ │ ├── commands/ # Tauri command interfaces +│ │ ├── config/ # Configuration management +│ │ └── infrastructure/ # Infrastructure (Database, Media) +│ └── third_party/ # Third-party libraries (LibRaw, libde265) +├── memory-book/ # Memory book player frontend +│ └── player/ # E-book web application +├── scripts/ # Build and download scripts +└── doc/ # Documentation resources +``` + +## Configuration Instructions + +Configuration files are located in the application data directory: +- Windows: `%APPDATA%/com.familymemory.ai/` +- macOS: `~/Library/Application Support/com.familymemory.ai/` +- Linux: `~/.config/com.familymemory.ai/` + +### Customize Database Storage Location + +You can modify the database storage directory via the configuration file. + +## Frequently Asked Questions + +### Q: How to add photos to albums? +A: Select "Add Album" in the application, choose the folder path, and the application will scan and index all photos in that folder. + +### Q: Do AI features require an internet connection? +A: No. All AI features use local ONNX models for inference, protecting your privacy. + +### Q: How to use e-ink devices? +A: Add the device's IP address and port on the "Device" page, then you can push memory books to the device for reading. + +## License + +This project is open-source under the MIT License. + +## Contributing + +Issues and Pull Requests are welcome! + +## Acknowledgments + +- [Tauri](https://tauri.app/) - Building cross-platform applications +- [ONNX Runtime](https://onnxruntime.ai/) - Efficient AI inference +- [LibRaw](https://www.libraw.org/) - RAW format support +- [FFmpeg](https://ffmpeg.org/) - Multimedia processing \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..9a73a27 --- /dev/null +++ b/README.md @@ -0,0 +1,163 @@ +# Family Memory Desktop (家庭记忆桌面) + +[English](./README_en.md) | 简体中文 + +家庭记忆桌面是一款基于 Tauri 开发的本地 AI 照片管理与回忆制作应用。它结合了强大的本地 AI 能力,支持人脸识别、相似图片检测、智能分类等功能,并可以将您的美好回忆制作成电子书在电子墨水屏设备上阅读。 + +## 功能特性 + +### 🖼️ 照片管理 +- **多相册支持**:创建和管理多个照片相册,支持文件夹扫描 +- **智能分类**:按日期、时间轴、相机、地点等方式浏览照片 +- **RAW 格式支持**:支持读取和处理各种 RAW 格式图片(CR2, NEF, ARW, DNG 等) +- **HEIF/HEIC 支持**:原生支持 Apple 的 HEIF 格式 +- **视频缩略图**:支持从视频中提取缩略图 + +### 🤖 AI 智能功能 +- **人脸识别**:自动检测和识别照片中的人脸,支持人物聚类 +- **相似图片检测**:智能识别相似/重复照片,帮助清理图库 +- **去重功能**:基于内容哈希检测完全重复的图片 +- **智能推荐**:根据已有照片推荐相关的回忆照片 + +### 📖 记忆书制作 +- 创建个人电子记忆书 +- 添加故事文本和氛围描述 +- 支持导出 PDF 和 ZIP +- **电子墨水屏设备同步**:推送到电子墨水屏设备上阅读 + +### 🎨 编辑功能 +- 图像裁剪、旋转 +- 复制到剪贴板 +- 元数据编辑(评分、标签、收藏等) + +## 技术架构 + +- **后端**:Rust + Tauri +- **前端**:Web 技术 (HTML/CSS/JavaScript) +- **数据库**:SQLite +- **AI 引擎**:ONNX Runtime (本地推理) +- **媒体处理**:FFmpeg, LibRaw, libde265 + +## 系统要求 + +- Windows 10/11, macOS 10.15+, Linux (Ubuntu 20.04+) +- 至少 4GB 内存 +- 建议 10GB 可用磁盘空间 + +## 快速开始 + +### 开发环境设置 + +1. 安装 Rust 和 Node.js +```bash +# 安装 Rust +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh + +# 安装 Node.js (推荐使用 nvm) +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash +``` + +2. 安装系统依赖 + +**macOS:** +```bash +brew install pkg-config cairo jpeg giflib gdk-pixbuf libx11 +``` + +**Linux (Ubuntu):** +```bash +sudo apt-get install libssl-dev libwebkit2.4.0-dev libappindicator3-dev librsvg2-dev patchelf +``` + +**Windows:** +- 安装 Visual Studio Build Tools +- 安装 Rust 支持的 MSVC 工具链 + +3. 下载模型文件 +```bash +# 进入项目目录 +cd family-memory-desktop + +# 下载 AI 模型 (Linux/macOS) +./scripts/download_models.sh + +# 下载 FFmpeg (Linux/macOS) +./scripts/download_ffmpeg_sidecar.sh +``` + +4. 运行开发服务器 +```bash +# 安装前端依赖 +cd memory-book/player +npm install +cd ../.. + +# 启动 Tauri 开发模式 +cargo tauri dev +``` + +### 构建发布版本 + +```bash +# 构建生产版本 +cargo tauri build +``` + +## 项目结构 + +``` +family-memory-desktop/ +├── src-tauri/ # Rust 后端代码 +│ ├── src/ +│ │ ├── app/ # 应用逻辑 +│ │ │ ├── ai/ # AI 引擎 (ONNX, 人脸, 分类) +│ │ │ ├── album/ # 相册管理 +│ │ │ ├── device/ # 电子书设备支持 +│ │ │ ├── photo/ # 照片处理 (去重, 相似, 人脸) +│ │ │ └── local/ # 本地存储 +│ │ ├── commands/ # Tauri 命令接口 +│ │ ├── config/ # 配置管理 +│ │ └── infrastructure/ # 基础设施 (数据库, 媒体) +│ └── third_party/ # 第三方库 (LibRaw, libde265) +├── memory-book/ # 记忆书播放器前端 +│ └── player/ # 电子书 Web 应用 +├── scripts/ # 构建和下载脚本 +└── doc/ # 文档资源 +``` + +## 配置说明 + +配置文件位于应用数据目录: +- Windows: `%APPDATA%/com.familymemory.ai/` +- macOS: `~/Library/Application Support/com.familymemory.ai/` +- Linux: `~/.config/com.familymemory.ai/` + +### 自定义数据库存储位置 + +可以通过配置文件修改数据库存储目录。 + +## 常见问题 + +### Q: 如何添加照片到相册? +A: 在应用中选择"添加相册",选择文件夹路径,应用会扫描并索引该文件夹中的所有照片。 + +### Q: AI 功能需要联网吗? +A: 不需要。所有 AI 功能都使用本地 ONNX 模型进行推理,保护您的隐私。 + +### Q: 如何使用电子墨水屏设备? +A: 在"设备"页面添加设备的 IP 地址和端口,然后可以将记忆书推送到设备上阅读。 + +## 许可证 + +本项目基于 MIT 许可证开源。 + +## 贡献指南 + +欢迎提交 Issue 和 Pull Request! + +## 致谢 + +- [Tauri](https://tauri.app/) - 构建跨平台应用 +- [ONNX Runtime](https://onnxruntime.ai/) - 高效 AI 推理 +- [LibRaw](https://www.libraw.org/) - RAW 格式支持 +- [FFmpeg](https://ffmpeg.org/) - 多媒体处理 \ No newline at end of file -- Gitee