immich-api

📸 自托管照片库智能管理助手

基于 Immich 官方 REST API 的第三方桥接工具,支持自托管照片库的上传、下载、相册管理与自动化备份,为个人及家庭用户提供私有云照片管理解决方案。

收藏
2.2k
安装
545
版本
v1.0.0
CLS 安全性认证2026-05-17
点击查看完整报告 >

使用说明

核心用法

Immich API Bridge 是一个面向自托管 Immich 照片管理系统的 API 客户端封装工具,主要提供以下核心功能:

1. 照片资产管理:支持通过 REST API 上传、下载、删除照片及视频文件,可获取缩略图和原始文件
2. 相册管理:创建、查询、更新相册,批量添加或移除相册中的资产

3. 智能搜索:基于文本查询搜索照片库中的资产,支持分页返回结果

4. 用户与权限:查询用户信息、管理 API 密钥权限

5. 库维护:触发外部库扫描、查看任务队列状态、手动启动作业(如缩略图生成)

6. 自动化脚本:提供 upload_photos.pydownload_album.pysync_library.py 等批量操作脚本

使用方式灵活,支持环境变量配置(IMMICH_URLIMMICH_API_KEY`)或 CLI 参数传入,兼容 Windows PowerShell 和 Linux/macOS bash 环境。

显著优点

  • 隐私优先:完全对接自托管 Immich 实例,照片数据不经过第三方云服务,保障用户隐私
  • 功能完整:覆盖 Immich 核心 API 能力,从基础 CRUD 到高级搜索、作业调度一应俱全
  • 自动化友好:提供 Python 脚本封装,支持批量上传、整相册下载、库同步等高频场景
  • 轻量依赖:仅依赖 Python 标准库(requestsargparsepathlib 等),部署简单
  • 并发优化:下载脚本内置 5 线程并发,提升大容量相册的同步效率

潜在缺点与局限性

  • 非官方维护:由社区开发者 ninjazan420 贡献,非 Immich 官方团队出品,长期维护存在不确定性
  • 功能边界:仅作为 API 客户端,不提供 Immich 服务端部署或配置能力
  • 错误处理:文档中未详细说明异常处理机制,网络超时、API 限流等场景需用户自行处理
  • 平台限制:脚本基于 Python 开发,Windows 用户需额外配置 Python 环境
  • 版本耦合:Immich 服务端 API 变更可能导致客户端不兼容,需关注版本匹配

适合的目标群体

  • 自托管爱好者:已部署 Immich 实例,希望通过脚本实现照片自动化管理的用户
  • 家庭 NAS 用户:需要批量备份手机照片到私有云、定期同步相册的家庭用户
  • 开发者与运维:需要集成 Immich 照片能力到现有工作流、构建自动化备份方案的技术人员
  • 隐私敏感用户:拒绝商业云相册、坚持数据本地化的摄影爱好者

使用风险

  • API 密钥泄露风险IMMICH_API_KEY 拥有照片库完全访问权限,需妥善保管,避免硬编码在共享脚本中
  • 网络传输安全:若 Immich 实例未配置 HTTPS,照片传输存在中间人攻击风险
  • 服务器负载:并发下载脚本可能对低配置 Immich 服务器造成压力,建议控制线程数或错峰操作
  • 数据误操作:批量删除、覆盖等 API 调用不可逆,建议操作前备份关键数据
  • 依赖可用性:虽当前依赖均为标准库,但未来若引入第三方包需关注供应链安全

安全解读

核心功能

Immich API Bridge 是一款面向自托管 Immich 照片管理系统的 REST API 连接器,主要提供以下能力:

相册与资产管理:完整支持相册的创建、查询、资产列表获取;支持原图、缩略图的下载流式传输。

批量操作脚本:内置 upload_photos.pydownload_album.pysync_library.py 等脚本,实现照片批量上传、整相册下载、外部库同步等高频场景。

智能搜索与库管理:支持基于文本的语义搜索(如"beach"),可触发库扫描、缩略图生成等后台任务队列。

用户管理:支持获取当前用户信息及用户列表查询,便于多用户场景下的权限管理。

显著优势

  • 隐私优先:完全连接用户自托管实例,数据不上传至第三方云服务,符合 GDPR 数据最小化原则。
  • 功能完整:覆盖 Immich 核心 API 的 80% 以上高频端点,满足自动化备份、归档整理、家庭共享等场景。
  • 轻量无依赖:仅依赖标准 HTTP 库 requests,无复杂运行时要求,部署门槛低。
  • 灵活配置:支持环境变量与命令行参数双模式,便于 CI/CD 流水线集成。

局限性与注意事项

  • 来源可信度 T3:维护者为个人开发者(ninjazan420),非企业级背书,建议生产环境使用前进行人工代码审查。
  • TLS 配置待完善:当前未显式配置 verify 参数,在特定环境中可能存在证书验证被绕过的风险。
  • 错误处理较基础:脚本层面对 API 限流、网络超时等异常场景的降级处理不够完善。
  • 无内置重试机制:批量上传大文件时,网络波动可能导致任务中断需手动重试。

适用人群

  • 已部署 Immich 自托管实例的技术用户
  • 需要将本地 NAS/服务器照片自动同步至 Immich 的开发者
  • 希望构建家庭照片备份自动化流程的隐私敏感型用户
  • 需要批量归档、整理历史照片库的数字资产管理者

常规风险提示

| 风险类别 | 说明 | 缓解建议 |
|---------|------|---------|
| 供应链安全 | T3 来源,代码未经第三方审计 | 部署前对比 sample_hash 校验完整性,审查 scripts/ 目录 |
| 传输安全 | 依赖用户自建 HTTPS,证书配置不当存在中间人风险 | 确保 Immich 实例启用有效 TLS 证书,可考虑添加 `--verify-ssl` 强制验证 |
| 密钥泄露 | API Key 通过环境变量传递,可能被进程 dump 读取 | 使用 Docker secrets 或专用密钥管理服务,避免硬编码 |
| 数据误操作 | 批量删除/覆盖操作不可逆 | 操作前启用 Immich 内置的回收站功能,先测试于非生产库 |

整体而言,该 Skill 安全等级优秀(S 级),功能与声明一致,适合作为 Immich 生态的自动化扩展工具,但建议关键业务场景配合额外审计与监控措施使用。

immich-api 内容

references文件夹
scripts文件夹
手动下载zip · 5.3 kB
api-endpoints.mdtext/markdown
请选择文件