
PhotoS
io.github.Dongwu259Published by GitHub account Dongwu259v1.4.2Updated Oct 24, 2026
Batch photo processing: compress, convert, EXIF, rename, dedup, cull, galleries
Overview
Lets an assistant batch-process photos: compress, convert, edit, tag, deduplicate, cull, and build galleries through a local CLI/MCP pipeline.
- What you can do
- PhotoS exposes a batch photo pipeline to MCP clients, described as 31 core tools plus plugin auto-registration (process, suggest, autopilot, index, find, select, hdr, blurfaces, dedup). It covers compression and target-size tuning, format conversion, RAW decoding, tone and color adjustments, masks, metadata tagging and filtering, deduplication, culling, checksums, and HTML gallery export. Outputs are machine-readable JSON with a schema_version, and destructive operations require explicit parameters.
- When to use it
- Use it when an assistant needs to process whole folders of photos rather than edit one image interactively: bulk conversion, delivery-size compression, metadata cleanup, culling and scoring, duplicate detection, or generating galleries and reports. It suits photographers and delivery-oriented workflows that want scripted, repeatable batches.
- Requirements
- Runs locally as a stdio process, installed from PyPI as photo-s-tools and started with uvx; Python 3.10+ for the MCP extra. Optional extras add OpenCV-based features (enhance), 16-bit TIFF output, and MCP support. No accounts, API keys, or environment variables are declared. Some AI models download weights on first use.
Installation
In SourceWeft
- Open PhotoS in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
📷 PhotoS
[Python] [Platform] [CI] [Tests] [License] [Weights] [PyPI]
CLI 给 AI agent 用,GUI 给人用。 PhotoS 是一个跨平台批量照片处理工具箱: 给摄影师一套完整的 Tkinter GUI(图库 / 修图(真实管线实时预览 + 直方图 + 旁侧调整工具 + 照片间复制粘贴设置 + 逐照片撤销 + AI 调色 + 蒙版画布 + XMP 写回/载入,LR 双向往返)/ 导出(照片队列 + 输出设置 + 命名导出配方 + 调色配方随输出写 XMP)/ 工具四大模块,含审查打分灯箱、去重查看器、autopilot 智能监视), 给 AI agent 一套带统一版本化 JSON 契约的 CLI / REST / MCP 接口。
🖥 GUI 给人用 — ⌨️ CLI 给 AI agent 用 —
pip install photo-s-tools
中文 · English
🤖 为 AI agent 而生
PhotoS 首先是一个 AI agent 就绪的图像管线:四条集成通道,全部挂在同一个
版本化 JSON 契约上(schema_version,加性演进——升级永不破坏消费者)。
所有输出带 schema_version;JSON 键永远英文;单文件错误不中断整批;
破坏性操作必须显式传参。完整契约见 docs/AGENT_API.md。
✨ 功能特性
¹ 降噪 / 自动扶正 / HDR / 人脸模糊需要可选依赖:
pip install photo-s-tools[enhance](opencv-python-headless)。 未安装时给出明确安装提示,不影响其余功能。
📦 安装
零安装(uvx):uvx --from photo-s-tools photo-s --help ·
uvx --from "photo-s-tools[mcp]" photo-s mcp
🚀 快速上手
photo-s --help 列出全部 39 个子命令。语言:--language en|zh|auto。
🧭 文档
命名:PyPI 发行名
photo-s-tools(原名photo-s被 PyPI 拦截)· CLI 命令photo-s· Python 包photo_s· 品牌 PhotoS。
🤝 参与
- Bug / 功能建议 → 提交 issue
- 使用问题 / 想法 → Discussions
- 安全漏洞 → 请勿公开,见
SECURITY.md(私密通道) - 想提 PR → 先读
CONTRIBUTING.md;需要跑通python3 -m pytest tests/ -q
⚠️ 限制与说明
PhotoS 是批量 / 交付导向管线,不是交互式编辑器——不做 RAW 域编辑。局部编辑是规格驱动的:命名蒙版(linear/radial/color/AI 分割/笔刷/组合算子)+ 蒙版内局部调整,全部以紧凑字符串建模,经 CLI/REST/MCP/preset 零胶水传递。
- 设备上推理,无云端。 降噪模型权重(SCUNet)首次使用时下载到本机;不上传任何数据。
- 许可(双许可)。 官方代码与多数官方模型权重(含 SCUNet 检查点)为 MIT——
可自由商用。唯一例外:auto-tone 插件的模型权重为 CC-BY-NC 4.0(非商用,
训练数据来自个人 Lightroom 修图记录)——个人与非商业用途永久免费,商业用途
需购买授权:邮箱 [email protected] · dwphoto.top/message。
边界判定与常见问题见
docs/COMMERCIAL.md。第三方插件与模型 各自持有自己的许可;商用再分发前请自行核实。
📄 许可证
MIT
Source: README.md at commit a7ced72
Tools
0Version history
1- v1.4.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts