Introduction

DeepSeek Harness (DSH) follows the “everything is a plugin” philosophy and aims to mount external service capabilities as native tools. This plugin mounts the lightroom-py MCP server as a dsh tool, enabling agents to interact with Adobe Lightroom Classic directly through DeepSeek Harness.

Plugin Overview

The plugin is named dsh-lightroom-py, version 0.1.0. It is included in the dsh/ directory of the lightroom-py repository and is a pure configuration package. The core Python library is available on PyPI and can be installed with pip install lightroom-py. The plugin configuration file is located at package.json, where dsh.bundle.patch points to ./cordis.patch.yml.

Core Features

Based on the lightroom-py library, this plugin provides the following capabilities:

  • Catalog management: open catalogs, view information and statistics.
  • Photo operations: list, count, search by path; supports filtering by rating, ISO, camera, lens, keywords, date, color labels, file format, and more.
  • Selection and navigation: select the current photo, select all/invert/expand, navigate to the previous or next photo.
  • Flagging system: flags (mark/reject/clear), star ratings, and color label cycling.
  • Metadata editing: add keywords (supports hierarchy), star ratings, and color labels; set IPTC fields (title, copyright, and more).
  • XMP processing: write/read XMP; supports an ExifTool fast path.
  • Develop modules:
    • Global: apply presets, paste settings, get settings, reset.
    • Parametric: crop, HSL, color grading, transforms, lens corrections, calibration, detail, and effects.
    • Curves: get/set presets, linear curves, and S curves.
    • Snapshots and versions: create snapshots, view process versions.
    • Reset: reset commands for crop, masks, red-eye, and transforms.
  • Masks:
    • Read and clear: list masks, clear masks.
    • Create: supports radial masks (validated end-to-end) and linear masks.
    • AI-computed paths: trigger Lightroom’s AI update via preset plus export.
  • Collection management: list, create, add, remove, delete, and fetch photos.
  • Library features: list folders, export (supports watermarking, sharpening, resizing, DPI, and filename templates), create virtual copies, and create stacks.
  • Edit In: export to disk and run external tools.
  • Developer tools: reload the bridge, execute Lua, and view logs.
  • Service management: install, uninstall, and check status on macOS.

Installation and Enablement

The core logic resides in the lightroom-py package, while the DSH configuration is located in the repository’s dsh/ directory.

  1. Install the Python library:
    pip install lightroom-py
  1. Configuration file structure:
    • cordis.patch.yml: DSH patch configuration.
    • dsh/: DSH plugin directory.
    • SKILL.md: skill documentation.
    • LICENSE: MIT license.

Typical Usage

After installation, you can invoke lightroom-py capabilities through the CLI:

  • Initialization:
    lightroom setup
  • Open a catalog and view photos:
    lightroom catalog open ~/Pictures/Lightroom/MyCatalog.lrcat
    lightroom photos list --rating ">=4" --iso ">=400" --since 2026-01-01 --json
  • Create a radial mask:
    lightroom develop mask create-radial --left 0.05 --right 0.5 --top 0.4 --bottom 0.95 --exposure 1.0 --name "subject-brighten" --selection
  • Export photos:
    lightroom library export ~/Desktop/finals

Applicable Scenarios and Notes

Applicable scenarios:
Suitable for developers who need to automate Lightroom Classic workflows through code or agents.

Notes:
* License and attribution: This is an unofficial project, licensed under MIT, and is not affiliated with Adobe.
* macOS permissions: LaunchAgents require Full Disk Access to read files in directories such as ~/Documents and ~/Desktop.
* Windows compatibility: The current Windows version requires manually starting the Bridge service; there is no LaunchAgent equivalent yet.
* Feature limitations: Due to gaps in the Adobe SDK, the following features are currently unavailable: AI noise reduction calculation, brush mask creation, red-eye removal, photo deletion, virtual copy deletion, and Lightroom Cloud (LR CC).
* DSH ecosystem: This plugin is a community plugin. Its catalog is located on a separate site, and it has no official affiliation with DeepSeek / High-Flyer.

Summary

By mounting lightroom-py, this plugin gives DeepSeek Harness the ability to control Lightroom Classic. It covers a wide range of features, from metadata management to mask creation, making it suitable for scenarios that require programmatic management of photography workflows. For the complete documentation and source code, refer to the GitHub repository.