Damselfly

WebreaperGPL-3.0活跃维护

基于服务器的照片管理应用,专为超大规模图片库设计,利用 IPTC 关键词、文件夹和文件名快速检索,并支持物体与人脸检测。

Damselfly is a server-based Photograph Management app. The goal of Damselfly is to index an extremely large collection of images, and allow easy search and retrieval of those images, using metadata such as the IPTC keyword tags, as well as the folder and file names. Damselfly includes support for object/face detection.

4.5.3发布于 2026-01-14 13:50 UTC1,798star94fork同步于 2026-11-07 07:33 UTC

怎么上手

由 README 提炼,执行前请确认
README 未给出可直接复制的最小安装命令,安装步骤见 docs/Installation.md
硬件要求按 README 说明

README 未说明具体显存或 GPU 型号要求;人脸与物体识别已改为本地离线运行,但未列出硬件门槛。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

基于服务器的照片管理应用,为超大图片库提供快速搜索与关键词标注

基于服务器的照片管理应用,专为超大规模图片库设计,利用 IPTC 关键词、文件夹和文件名快速检索,并支持物体与人脸检测。

核心能力

  • 支持 JPG/PNG/HEIC/TIFF/Webp/BMP 及多种 RAW 格式
  • 本地离线完成人脸检测、人脸识别与物体检测
  • 用 ExifTool 非破坏性写入 EXIF 关键词,不重编码 JPEG
  • 多短语部分词全文搜索,50 万张图库亚秒级返回
  • 提供选择篮子,可导出、加水印或上传 WordPress

容易踩的坑

人脸识别已不再依赖 Azure Face API,旧版配置方式需更新;关键词写入依赖 ExifTool,需确保其可用;桌面客户端需单独安装,且目前只支持从服务器同步到本地,反向同步仍是规划功能

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本4.5.3
  1. 4.5.3Release v4.5.3 - Finally!最新正式版2026-01-14 · 2026-01-14 13:50 UTC

    After a long hiatus I've finally had time to get a release out of Damselfly.

    This release includes:

    • .Net 10 upgrade
    • Various other dependency upgrades
    • New UI for the date range selection in advanced search
    • A few changes/fixes and performance improvements.

    Docker: docker pull webreaper/damselfly:4.5.3

  2. 4.2.3Release v4.2.32025-01-07 · 2025-01-07 22:37 UTC
    查看更新说明

    Docker: docker pull webreaper/damselfly:4.2.3

  3. 4.2.2Release v4.2.22024-12-31 · 2024-12-31 10:45 UTC
    查看更新说明
    • Performance Optimisations for the image list search and rendering.
    • Docker image size optimisations: size reduced from 1.21GB to 720MB. Thanks @Izumiko !

    Docker: docker pull webreaper/damselfly:4.2.2

  4. 4.2.1Release v4.2.12024-12-30 · 2024-12-30 09:32 UTC
    查看更新说明

    Maintenance release with a few fixes etc.

    • Upgrade to .Net 9
    • Upgrade various other dependencies
    • Fixes for user-specific settings
    • UI Improvements for tagging faces
    • Support prompt metadata ingestion for PNGs created by ChatGPT etc
    • Various other fixes and improvements
    • Fixes an issue in v4.2.0 with migrations that cause the DB creation to fail for new installations

    Docker: 'docker pull webreaper/damselfly:4.2.1'

  5. 4.2.0Maintenance Release v4.2.02024-12-29 · 2024-12-29 21:41 UTC
    查看更新说明

    Maintenance release with a few fixes etc.

    • Upgrade to .Net 9
    • Upgrade various other dependencies
    • Fixes for user-specific settings
    • Support prompt metadata ingestion for PNGs created by ChatGPT etc
    • Various other fixes and improvements

    Docker: docker pull webreaper/damselfly:4.2.0

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Damselfly Screenshot

    Damselfly - A Photo Management System

    Damselfly is a server-based Digital Photograph Management system. Damselfly is designed to manage a large, folder-based collection of photographs, with a particular focus on fast search and keyword-tagging workflow.

    Damselfly includes powerful Machine Learning functions which can help you identify photographs and their subjects, including face detection, face recognition and object detection - allowing you to tag people once, and have Damselfly identify other photos in which they appear.

    The user-interface and workflow is loosely based on the much-loved Google Picasa app, with a basket to select images for export and other types of processing. Damselfly also provides a desktop/client app which gives closer integraton with your laptop or PC, allowing you to quickly sync a selection of images from the Damselfly basket to a local folder, for editing etc.

    Features

    • Support for most image formats including JPG, PNG, HEIC, TIFF, Webp, BMP and DNG/CR2/ORF/NEF (RAW) files.
    • AI / Computer vision image recognition:
      • Facial detection
      • Facial Recognition
      • Object detection and recognition
      • Image Colour Classification
    • Full-text search with multi-phrase partial-word searches
    • Image re-organisation - move/copy images between folders, and delete images (via a trashcan folder)
    • Advanced search - filter by:
      • Find visually similar images
      • Date ranges
      • Objects/Faces/Identified faces
      • Camera/Lens Make/Model
      • File Size
      • Orientation
      • Images with no keyword tags
    • Focus on extremely fast performance - searching a 500,000-image catalogue returns results in less than a second.
    • Fast keyword tagging workflow with non-destructive EXIF data updates (using ExifTool) - so JPEGs are not re-encoded when keyword-tagged
    • Face detection and recognition, and object recognition in images
    • Multi-user support with user accounts, and role-based entitlements (e.g., users with ReadOnly role are prevented from keyword-tagging images)
    • Download/export processing to watermark images ready for social media, or sending via Email etc.
    • GeoLocation with map display of photo locations where metadata exists
    • Selection basket for saving images from search results:
      • Images within the basket can be downloaded, exported for use within Digikam/PhotoShop/etc., or uploaded to Wordpress
      • Baskets can be user-specific, or shared with other users
    • Server-based deployment, with a web-based front-end UI, so the image library can be accessed via multiple devices without having to copy catalogues or other DBs to local device storage.
    • Exclude images from Damselfly scanning by adding a .nomedia file in any folder.
    • Themes
    • Completely automated background indexing of images, so that the collection is automatically and quickly updated when new images are added or updated
    • Background thumbnail generation
    • Electron.Net Desktop Client for hosted site to allow closer native integration with client OS
      • Desktop Client versions for MacOS (universal), Windows and Linux
      • Synchronise images from server basket select to local filesystem for editing
      • Other integrations coming in future
    • Runs on Windows, Linux and OSX, and in Docker.
    • Built with Microsoft .Net 7, hosted Blazor WebAssembly and EFCore 7.

    Update on Damselfly Face Recognition Support

    Damselfly used to provide face-recognition via the Microsoft Azure Face API. However, Microsoft have recently locked down the use of this API.

    The latest version of Damselfly now supports full face detection and recognition locally and offline.

    Want to Support Damselfly?

    Damselfly is free, open-source software. But if you find it useful, and fancy buying me a coffee or a slice of pizza, that would be appreciated!

    Getting in Touch

    You can follow Damselfly on Twitter or ask questions/get support on Reddit (r/DamselflyPhotos). If you have problems, feature requests or have found a bug, you can raise an issue. Or if you want to say hello, email me.

    Screenshots

    Planned Features/Enhancements

    • Simple non-destructive editing/manipulation - cropping, colour adjustment etc (in progress)
    • Image de-duplication (in progress)
    • Support for more image formats, and possibly video
    • Support for selection and upload to Alamy Stock Image photo service
    • Synchronisation of local images back to the server
    • If you have ideas for other features - let me know by raising an issue!

    How should I use Damselfly? What's the workflow?

    The photos live in the library on the server, but whenever you want to work on a picture (e.g., in Photoshop, Digikam or your editing tool of choice) you use the Damselfly Deskop app to add the images to the basket, and choose Download => Save Locally, to sync the pictures across the network to your local folder. Once you've finished editing, copy them back to the server (a future feature enhancement will let Damselfly do this for you) where the server will re-index them to pick up your changes.

    Suggested workflow.

    1. Images are copied onto a laptop for initial sorting, quality checks, and IPTC tagging using Picasa or Digikam
    2. Rclone script syncs the new images across the LAN to the network share
    3. Damselfly automatically picks up the new images and indexes them (and generates thumbnails) within 30 minutes
    4. Images are now searchable in Damselfly and can be added to the Damselfly 'basket' with a single click
    5. Images in the basket can be copied back to the desktop/laptop for local editing in Lightroom/On1/Digikam/etc.
      • Use the Damselfly Desktop client to write the files directly to the local filesystem in the same structure as on the server.
      • Export to a zip file to download and extract into the local image folder for additional editing
    6. Re-sync using RClone to push the images back to the collection [Future enhancement: Damselfly Desktop App will do this for you]

    More information

    Thanks and Credits

    • Microsoft Blazor.Net for allowing me to avoid writing Javascript. ;)
    • PumpkinBeth (my wife) for taking the photo that appears in Damselfly's logo, and for providing the original inspiration to build Damselfly - as well as the 600,000 photos and counting which make excellent test data!
    • SkiaSharp Fast library for Thumbnail generation
    • SixLabors ImageSharp Portable library for Thumbnail generation
    • Drew Noakes' MetadataExtractor, for IPTC and other image meta-data indexing
    • Phil Harvey's ExifTool which Damselfly uses for all of the EXIF write operations
    • ZZZ Project's Entity Framework Extensions for their excellent EFCore extensions.
    • MudBlazor for their excellent Blazor component library
    • FaceONNX for their excellent face detection and recognition library
    • YoloDotNet and Nick Swardh for their object recognition and classification library
    • Font Awesome for their Awesome icons
    • Chris Sainty for Blazored Modal and Typeahead, and all his excellent info on Blazor
    • Serilog.Net for logging
    • Wisne for Infinite Scroll inspiration