Local-first AI image gallery for your generated artwork. Fast, private, free.
Organize images from Stable Diffusion, Midjourney, ComfyUI, and similar tools — everything stays on your machine.
- Semantic search — find images by describing them, on a local Ollama or any OpenAI-compatible backend
- Visual search — CLIP-based similarity: "more like this", no text needed
- AI analysis — auto-tag, describe, and score (ratings stay human-only)
- Organize — smart collections, tags, favorites, ratings, trash with restore
- Export — custom filename templates, batch convert (jpg / webp / avif)
- AI agents welcome — built-in MCP endpoint for browsing, searching, and managing tags / favorites / trash
- Auto-updates — minisign-signed GitHub Releases
npm ci
npm run devFor local AI features, install Ollama and pull the models:
ollama pull nomic-embed-text
ollama pull llavaPrefer an OpenAI-compatible API (OpenAI, DeepSeek, Azure, local vLLM / llama.cpp)? Configure it in Settings → AI backend — the embedding and vision providers switch independently.
⌘K opens the command palette; arrow keys navigate the gallery and sidebar; every operation has a shortcut.
npx vitest run # 775 frontend tests
cd src-tauri && cargo test # 272 Rust tests (269 passed, 3 ignored — need local Ollama)
npx tsc --noEmit # type check- 📘 快速上手教程 — 10 分钟从安装到会用
- 📖 使用指南 — 完整功能参考(搜索/AI 分析/智能收藏/导出模板)
- 🏗 Architecture — 系统架构与数据模型
Tauri 2 app: React frontend, Rust backend, SQLite database.
src/ React + TypeScript + Zustand
src-tauri/ Rust + SQLite + FTS5 + sqlite-vec
See ARCHITECTURE.md for details.
The app exposes an MCP endpoint at http://127.0.0.1:{port}/mcp so AI agents can
browse, search and organize (tags/favorites/trash) your library. Rating/scoring
stays human-only. See docs/04-deploy/mcp.md.
MIT