ownphotos

GitHub
2.8k 224 较难 1 次阅读 6天前MIT开发框架图像
AI 解读 由 AI 自动生成,仅供参考

Ownphotos 是一款可私有化部署的开源相册管理工具,旨在为用户提供 Google Photos 的替代方案,让用户在完全掌控数据的前提下享受智能相册体验。它解决了用户对云端照片服务隐私泄露的担忧,同时保留了自动分类、人脸识别和地图定位等便捷功能。

该项目适合具备一定技术基础的开发者、运维人员或注重数据隐私的极客用户。虽然项目目前处于早期开发阶段(核心开发已迁移至 LibrePhotos),但其技术架构颇具亮点:后端基于 Django,前端采用 React,并集成了 face_recognition 进行人脸检测与聚类,利用 densecap 和 places365 实现物体与场景识别,还能通过 Mapbox 进行反向地理编码生成“某地在某日”的智能事件相册。

用户可以通过 Docker 快速部署,实现按人物、时间、地点或物体内容搜索照片,并支持自定义相册。需要注意的是,由于项目仍在迭代中,部分高级功能如照片编辑尚在规划中,建议用户在测试环境中先行体验,或关注其继任项目 LibrePhotos 以获取更稳定的生产环境支持。

使用场景

摄影师李明需要管理数万张分散在本地硬盘和旧 NAS 中的家庭与旅行照片,希望能像使用 Google Photos 一样通过人脸和地点快速检索,但又必须确保数据完全私有化。

没有 ownphotos 时

  • 检索效率极低:查找特定人物或场景的照片只能依靠人工翻阅文件夹,或依赖不准确的文件名,耗时费力。
  • 隐私安全担忧:若使用公有云相册服务,需将大量私密生活照上传至第三方服务器,存在数据泄露或被算法扫描的风险。
  • 缺乏智能整理:照片仅按拍摄时间线性排列,无法自动识别“柏林之旅”等事件主题,也难以生成基于地理位置的地图视图。
  • 硬件资源闲置:本地高性能服务器仅作为冷存储使用,未能利用其算力进行图像内容的自动化分析与索引。

使用 ownphotos 后

  • 智能秒级检索:ownphotos 利用内置的人脸识别和物体检测模型,让李明能直接搜索“孩子”或“海滩”,瞬间定位所有相关图片。
  • 数据完全自主:所有照片与分析索引均存储在本地 Docker 容器中,无需上传任何数据到云端,彻底掌控隐私主权。
  • 自动化事件归档:系统自动根据时间与地点生成如“周四在柏林”的智能相册,并在地图上直观展示照片分布,重现旅行轨迹。
  • 算力有效转化:闲置的服务器算力被用于运行 face_recognition 和 places365 模型,将静态存储库升级为动态智能知识库。

ownphotos 成功将私有的本地存储转化为具备谷歌相册般智能体验的个人影像中心,实现了数据主权与便捷管理的完美平衡。

运行环境要求

操作系统
  • 未说明 (基于 Docker,理论上支持所有运行 Docker 的系统)
GPU

未明确必需,但依赖 face_recognition (dlib) 和深度学习模型进行人脸/物体检测,强烈建议使用 NVIDIA GPU 以加速推理

内存

未说明 (建议至少 4GB-8GB 以运行多个容器及深度学习模型)

依赖
notes该项目已停止开发,作者建议迁移至 LibrePhotos。部署推荐使用 Docker Compose。需要配置 Mapbox API Key 用于反向地理编码(每月前 5 万次免费)。首次设置需管理员登录并配置扫描目录(本地文件系统或 Nextcloud)。由于包含人脸检测和物体识别功能,若无 GPU 支持,扫描和初始化过程可能非常缓慢。
python未说明 (封装在 Docker 镜像中)
face_recognition
scikit-learn
densecap
places365
Django
React
Mapbox API
ownphotos hero image

快速开始

Ownphotos 的开发已迁移至 LibrePhotos

Ownphotos 的开发已迁移至 LibrePhotos 请在此处使用:https://github.com/LibrePhotos/librephotos




旧项目仅供存档,建议使用 LibrePhotos

Ownphotos

截图

实时演示

实时演示在此。 用户名为 demo,密码为 demo1234。

Discord 服务器

https://discord.gg/dPCdTBN

它是什么?

  • 自托管的类 Google Photos 克隆,略微侧重于酷炫的图表展示
  • 后端使用 Django,前端使用 React。
  • 处于开发中。欢迎贡献!

目前项目仍处于非常早期阶段,因此仅建议用于试用。

功能

- 当前已实现:

  • 手动标注部分人脸,并训练人脸分类器自动标注其余人脸。
  • 按照片中的人物查看照片。
  • 自动生成带有精美标题的“事件”相册,如“柏林星期四”。
  • 在地图上查看照片。
  • 后端缓存机制。
  • 按日期分组查看照片。
  • “优化”的前端(React Virtualized……我尽力了)。
  • 检测照片中的物体,并支持按物体搜索。
  • 按地点搜索照片。
  • 身份验证(使用 JWT)。
  • 创建自定义相册。
  • 支持 Docker 部署。

- 即将推出:

  • 短期:

    • 分享照片/相册。
    • 提升稳定性。
  • 长期计划,尚未深入考虑:

    • 基本的照片编辑功能,如旋转。
    • 标注未检测到的人脸。
    • 添加更多酷炫图表。

它使用了哪些技术?

  • 人脸检测: face_recognition
  • 人脸分类/聚类: scikit-learn
  • 物体检测: densecapplaces365
  • 逆地理编码: Mapbox:需要 API 密钥。每月前 5 万次地理编码查询免费。

如何运行它?

Docker

Ownphotos 包含独立的后端和前端服务器。后端提供 RESTful API,前端则负责呈现界面。两者通过代理进行连接。最简便的方式是使用 Docker。

若希望后端服务器可通过 ownphotos-api.example.com 访问,而前端则可通过 ownphotos.example.com 从外部访问,则需在代理中配置跨域资源共享(CORS)。

使用 Docker Compose 方法(推荐)

wget https://raw.githubusercontent.com/hooram/ownphotos/dev/docker-compose.yml.template
cp docker-compose.yml.template docker-compose.yml

在您喜欢的文本编辑器中打开 docker-compose.yml 文件,修改标有 # CHANGE ME 的行。

docker-compose up -d

启动几秒后,您应该能够访问 Ownphotos:localhost:3000。 默认用户名为 admin,密码为 admin。请注意,在公共服务器上务必通过 docker-compose.yml 文件更改默认密码。

设置后的第一步

您需要以管理员身份登录,并为用户设置扫描目录。为此,请点击右上角按钮,进入“管理区域”。在此页面上会显示用户列表,手动为所需用户设置“扫描目录”。只有管理员可以执行此操作。随后,您可以前往“仪表板 - 图库”,点击绿色的“扫描照片(文件系统)”按钮。如果您拥有 Nextcloud 实例,也可以在“仪表板 - 图库”页面中输入相关信息。登录后(“Nextcloud 扫描目录”旁边的圆点会变为绿色),您可以选择已登录 Nextcloud 账户中的一个顶级目录。设置完成后,点击蓝色的“扫描照片(Nextcloud)”按钮。后端系统将复制您指定的 Nextcloud 目录内容。

基本思路如下:

  • 对于扫描本地文件系统中的照片:
    • 只有管理员可以更改用户的“扫描目录”,包括管理员本人。
    • 普通用户无法自行更改其“扫描目录”。
    • 只有管理员可以通过“用户图标(右上角)- 管理区域”找到控制该功能的页面。
  • 对于扫描外部 Nextcloud 实例中的照片:
    • 任何用户都可以更改自己的 Nextcloud 接入点,并选择 Nextcloud 账户中的一个顶级目录。

版本历史

0.2.0-rc2019/02/26
v0.12018/06/11

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|5天前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|6天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

150k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|昨天
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|昨天
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|4天前
插件开发框架