Skip to content

fchange/PicMind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PicMind

本地优先的 AI 图片资产库,面向本地磁盘与 NAS 场景,支持图片理解、语义搜索、图库问答与对象整理。

PicMind Logo

为什么做这个项目

传统图片管理通常依赖目录结构、文件名和人工记忆。一旦图片规模变大,或者数据分散在本地硬盘与 NAS 上,找图、筛图、整理图片会很快失控。

PicMind 想解决的是这类问题:

  • 不记得文件名,但记得图片内容
  • 想按“画面里有什么”来找图
  • 想基于图片库直接提问
  • 想把人物、宠物或对象样本整理出来
  • 希望数据尽量留在本地,而不是先上传到云端

核心能力

  • 本地目录 / NAS 图片接入与增量扫描
  • 基于描述、OCR、标签与元数据的语义搜索
  • 图片库问答,支持工具调用与结果解释
  • 图片详情查看,包括 EXIF、文件信息与标签
  • 人物 / 宠物对象整理工作台
  • 本地向量索引,支持后续扩展更多检索模式

产品截图

图库浏览

Gallery

自然语言找图

QA Search

工具增强问答

QA Tools

人物与宠物整理

People and Pets

技术栈

  • 桌面端: Tauri 2.10
  • 前端: React 19 + TypeScript + Vite 6
  • 后端: FastAPI
  • 数据库: SQLite + SQLAlchemy
  • 向量检索: FAISS
  • 图片处理: Pillow
  • OCR: PaddleOCR 可选

快速开始

依赖要求

  • Python 3.11+
  • Node.js 20+
  • Rust
  • uv

启动后端

cd server
uv run uvicorn app.main:app --reload --port 8000

启动前端

cd frontend
npm install
npm run dev

启动桌面端

cd frontend
npm run tauri dev

打包桌面端

cd frontend
npm run tauri build

当前仓库已验证可生成 macOS .app,并可产出 DMG 包。

开发命令

Lint

cd server && uv run ruff check .
cd frontend && npm run lint

Test

cd server && uv run pytest tests/ -v
./scripts/test.sh

项目结构

.
├── frontend/       # React 前端
├── server/         # FastAPI 服务
├── src-tauri/      # Tauri 桌面壳
├── screenshots/    # README 与发布截图
├── assets/logo/    # Logo 源文件与导出图标
├── docs/           # 产品与架构文档
└── scripts/        # 开发与测试脚本

当前状态

项目处于早期开源阶段,基础链路已可运行,重点能力已经包括:

  • 数据源管理
  • 扫描与增量索引
  • 去重与缩略图生成
  • 图库页与图片详情
  • 描述生成、标签生成、OCR 接入
  • 基于文本与向量的搜索能力
  • 图片库问答
  • 对象整理工作台

Roadmap

  • 提升搜索相关字段与排序质量
  • 补强桌面端发布与安装体验
  • 增加更多检索模式与模型配置
  • 完善开源协作文档与贡献流程

文档

License

MIT

About

Local-first AI image library for semantic search, image QA, and asset organization

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors