undefined

Photonix:

一个极简、AI 驱动的智能相册,专为现代 Web 设计。它集成了 PWA、流式加载、多数据库架构和高性能缓存,旨在提供极致的浏览体验和智能的交互方式。

undefined

主要特性:

🎭 AI 智能交互

AI 画中密语:AI 扮演照片人物,沉浸式对话体验

多模型支持:兼容 OpenAI、Claude、Gemini 等主流视觉模型

自定义提示词:支持多种 AI 角色设定,从温馨对话到私密互动

异步任务处理:AI 内容生成采用 BullMQ 队列机制,避免阻塞用户界面

智能缓存:AI 生成内容 Redis 持久化缓存,降低 API 成本

任务去重:相同图片自动复用已有结果,优化性能

提示词模板:内置多种对话风格模板,可参考 AIPROMPT.md

🖼️ 图片管理

流式图片加载:大相册极速响应,懒加载优化

智能缩略图:自动生成多尺寸缩略图,支持失败重试机制

视频处理:自动视频优化,支持多种格式转码

双图片布局:响应式瀑布流/网格模式,自适应屏幕尺寸

🔒 安全防护

一键全局模糊:键盘单击 B && 三指触摸屏幕

密码保护:可选密码访问,支持公开/私有模式切换

路径校验:严格的文件路径安全检查

速率限制:API 访问频率控制,防止滥用

🚀 性能优化

多数据库架构:主数据库、设置数据库、历史记录数据库、索引数据库分离

Redis 高性能缓存:AI 内容与搜索结果持久缓存

Worker 线程池:缩略图生成、AI 处理、索引重建多线程并发

智能索引:SQLite FTS5 全文搜索,支持模糊匹配

📱 用户体验

PWA 支持:可安装、离线访问,移动端手势切换

响应式设计:完美适配桌面端和移动端

触摸手势:移动端滑动切换图片/双指缩放/三指模糊

键盘导航:桌面端键盘快捷键操作

搜索历史:智能搜索历史记录,快速重复搜索

🛠️ 运维友好

Docker 部署:一键部署,环境隔离

健康检查:容器健康状态监控

日志系统:结构化日志,便于问题排查

数据迁移:自动数据库迁移,平滑升级

安装

Docker Compose

services:
  app:
    image: heizicao/photonix:latest
    container_name: Photonix
    ports:
      - 12080:13001
    environment:
      - PORT=13001
      - NODE_ENV=production
      - LOG_LEVEL=info
      - PHOTOS_DIR=/app/photos
      - DATA_DIR=/app/data
      - REDIS_URL=redis://redis:6379
      - JWT_SECRET=OSGvnF4dZ5YUyv3WwSHQhKHGhRd2lL5w
      - ADMIN_SECRET=RdKqLIQ3MOOOmJN1qo25Q621tH9K8A1f
    volumes:
      - ./photos:/app/photos
      - ./photonix_data:/app/data
    restart: unless-stopped
    depends_on:
      - redis

  redis:
    image: redis:7-alpine
    container_name: Photonix-redis
    command: redis-server --appendonly yes
    volumes:
      - ./redis_data:/data
    restart: unless-stopped

使用

http://NAS的IP:12080​ 就能看到界面">浏览器中输入 http://NAS的IP:12080​ 就能看到界面

undefined

将图片放入映射的图片目录(可创建文件夹进行分类管理)

undefined

图片将自动生成缩略图并加载展示

undefined

支持两种布局切换:网格布局和瀑布流布局

undefined

点击打开照片的展示效果

undefined

点击页面右上角,打开设置弹窗

undefined

安全,如果是放到外网分享,建议启用访问密码

undefined

其他人访问就需要输入密码才能查看

undefined

AI 密语,这也是整个项目最特别的地方了,按要求填写 AI 配置(调用的模型需要支持视觉)

undefined

开启 AI 功能后,图片底部就多了一个对话按钮

undefined

AI 会自动识别图片内容并提供交互,如果后面可以加上对话就回复更有意思了

undefined

系统状态,如果照片不显示可以在这里重新同步和设置

undefined

生成缩略图时,资源占用情况

undefined

扩展

因为我打包的镜像后面不会持续一直更新,如果需要构建项目,可以参考下面的步骤

来到 Github 下载项目:https://github.com/li88iioo/Photonix

undefined

解压 ZIP 文件,打开 env.production 文件

undefined

修改一下密钥和口令(生成一个 32 位字符串即可)

undefined

将整个文件夹,上传到 NAS 设备上

undefined

重命名 env.production 文件为 .env

undefined

创建项目,选择上面的文件夹路径,会自动导入模板

undefined

修改一下相册存放路径,这里我就放到当前目录

undefined

其他默认即可,点击确认

undefined

如果容器一直重启,可能权限问题,可以递归一下权限(还是不行,修改配置模版给最高特权)

undefined

总结

Photonix 作为一款极简风格的 AI 驱动智能相册,和其他所有相册都不同,别人的 AI 功能都是人脸识别,场景分类。而它的核心优势在于 AI 交互,同时也抓住了展示内容方向为写真集,这个一搭配属于是 1+1>2 的效果了。通过 AI 赋予照片中人物 “对话能力”,让静态写真焕发互动生命力。当然由于功能还比较简单,期待后续版本能够集成上传图片和管理功能,以及加强 AI 交互能力可以实现实时对话,那将是开辟另外一个照片交互体验。