拍片一时爽,回来选片修图熬断肠

每次背着相机出门旅游,快门按得有多痛快,回家面对硬盘里几百上千张 RAW 格式原片时就有多绝望。光是挑出构图不糊、表情自然、还不重复的照片就得看花眼;等真正开始修图,市面上大多数打着 AI 旗号的工具其实只是无脑套一层死板的 LUT 滤镜预设,高光死白或暗部死黑根本救不回来。

2026 年 10 月 24 日至 26 日(IGNGserver/chengying,PR #2 aa3aa7a、72b80e4 v0.2.0),我专门为 DeepSeek Harness(DSH 0.2.x)写了一套端到端非破坏性摄影后期插件——「澄影(Chengying)」。

第一步:听懂人话的 MMR 行程叙事筛图

选片不能只看清晰度分高低,否则连拍了二十张一模一样的夕阳全高分入选,整趟旅行其它景点的照片却被挤没了。

我在澄影的第一步设计了 MMR(最大边缘相关性)行程叙事筛图:它会先读取照片的拍摄时间戳和 GPS 坐标,自动切分出旅途中的不同地点与时间片段;当你直接跟它说“帮我挑 30 张最好的,多留点人像,少要重复的日落”时,它能把自然语言意图转成权重,在保证画质清晰的前提下兼顾整趟行程的故事感与画面多样性。

第二步:写 C 语言用 dlopen 把 darktable 738 个旋钮交给子 Agent

到了修图环节,我拒绝走“套固定滤镜”的偷懒路线。为了让 AI 像真正的暗房调色师一样精细拧旋钮,我直接用 C 语言写了一个原生内省模块 dt-introspect.c:

通过系统底层 dlopen 动态加载本机安装的 darktable 5.x 共享库,直接从内存结构里把 93 个图像处理模块、共计 738 个底层参数的类型、上下限与默认值全盘扒了出来;同时还写了针对 RawTherapee 5.x 的解析器,提取出 54 个工具、1593 个参数。这些上千个真实旋钮被自动转换成严格的 JSON Schema 交给修图子 Agent,让它根据直方图和画面内容精准微调曝光、色彩平衡与局部对比度。

第三步:原图只读隔离、Exif 逐项回读核对与 AI 透明标注

摄影师最怕修图软件把珍贵的 RAW 原片改坏,或者导出的成片丢了拍摄时间和镜头信息。因此澄影在底层加了三道铁闸:

  • 非破坏性隔离:FsGuard 强制锁死原图目录为只读,所有中间预览和渲染一律落在 ~/.chengying 缓存区,并随成片一起导出标准的 .xmp(darktable)或 .pp3(RawTherapee)配方文件——哪张觉得 AI 调得不够味,双击配方就能直接进专业软件接着微调。
  • 元数据逐项回读核对:成片导出后自动调用 ExifTool 把原图的拍摄时间、原始时区、GPS 经纬度和机身镜头型号完整复制过去,并且写完后强制逐项回读比对,差一项都算任务失败。
  • 生成式 AI 人工审批与透明标注:如果遇到要动用生成式 AI 消除画面里的路人或杂物(ai:gen_layer),系统必须先停下来弹窗等人类点批准;一旦动用了生成式修补,导出成片时会自动写入符合 IPTC 标准的算法生成媒体透明标注,绝不拿生成画面冒充纯光学原片。