最近在做 DocFlow,一个融合 Agent、RAG 和知识图谱的全栈实战项目,实测支持百人实时协同,支持 Word(DOCX)、PDF 导入,Agent 能检索资料、改写文档、操作表格,背后实现了 主 Agent 统筹、子 Agent 并行查证与结果复核,以及上下文自动压缩、长短期记忆和任务恢复,RAG 则涵盖 父子分块、BM25+向量混合检索、RRF 融合、重排与原文引用溯源,适合想深入源码、动手做 AI 应用的同学
同时整理了 80 篇 Agent 开发、72 篇 RAG、70 篇知识图谱文章,共 222 篇学习资料,从基础原理到工程实践,可以结合源码边学边做,感兴趣可以加我微信 yunmz777,了解项目与配套资料,一起交流 AI 开发。 最近发现一个挺有意思的开源项目,叫 SpektraLab。
它是一款照片处理工具,内置了多种胶片和相纸配置,可以把相机拍出来的数码照片,处理成带有胶片色彩和质感的图片,Mac 版免费开源。
对于我这种喜欢拍照、又不太会后期的人来说,这个方向很有吸引力。打开照片,先看看不同胶片和相纸组合出来的效果,再挑自己喜欢的方向继续调整,比一上来就面对一堆曲线和色彩参数更容易入手。
另外,它还支持 MCP,可以让外部 Agent 调用部分照片处理功能。摄影、开源、Agent,这几个东西放到一起,我就想多研究一下了。
先选胶片,再选印相组合
从界面上看,SpektraLab 的主要操作比较直观,左边是胶片、相纸和调整项,中间显示当前照片,右边是图库。
我最先注意到的是左侧的效果预览。每个胶片选项上显示的都是当前照片经过处理后的样子,可以直接比较,不用只看名称去猜效果。
截图里能看到 Portra、Ektar、Gold、C200 等胶片选项,下面还有 Portra Endura、Crystal Archive II 等相纸,以及 Vision 2383 这样的印相材料。
这里比较有意思的是,胶片和相纸可以分别选择。
我们平时说一张照片有胶片感,很容易只想到某个胶卷的名字。但在这个项目里,负片之后还有印相过程,相纸的响应也会参与最终的色彩和反差。反转片则走直接扫描的流程,不需要再选相纸。
所以,选中一种胶片之后,还可以继续比较不同印相组合,看看哪一种更适合眼前这张照片。
它模拟了一次胶片冲印
我一开始也想知道,这种效果到底是怎么做出来的。
SpektraLab 的胶片模型来自另一个开源项目 spektrafilm,后者依据胶片、相纸的特性数据,建立了包含光谱计算的成像模型。
我们可以把这个过程理解成,让数码照片在电脑里走一遍虚拟暗房。
照片输入 → 胶片曝光与显影 → 印相 → 扫描输出
模拟过程中会计算不同感光层的响应、显影后的染料密度,以及光穿过底片、作用于相纸后的变化,颗粒和光晕也会参与其中。
这也解释了为什么调整胶片、曝光或印相设置,会同时影响色彩、明暗过渡和画面质感。最终的胶片感,是这些环节共同作用的结果。
SpektraLab 在上游模型的基础上,实现了 C++ 和 Metal 渲染引擎,再围绕它做了 Mac 应用,运行时不需要 Python。它的工作包括算法的原生实现、GPU 渲染和照片处理界面,已经超出了单纯增加一个 UI 的范围。
当然,这仍然是数字模拟。原片的曝光、白平衡和后续参数都会影响结果,同一套组合也不一定适合所有照片。
不会后期,可以先看图选效果
我比较认可的一种入门方式,是先缩小自己需要做的选择。
不用刚打开软件就研究所有参数,可以先挑几张熟悉的照片,比较不同胶片与印相组合。看人物肤色是否舒服、天空和植物的颜色是否喜欢、暗部有没有压得太重,再决定要不要继续调整。
下面这两张就是同一张贝壳照片的不同处理结果。
第一张使用 Ultramax 400 与 Ultra Endura 的组合。
第二张换成了 800T 与 Vision 2383 的组合。
两张都是处理后的效果,可以看到贝壳的明暗、背景色彩和整张照片的氛围发生了变化。
我觉得这种比较方式挺适合入门。先判断自己喜欢哪张,再逐渐理解是什么设置带来了这种变化,不需要一开始就背下所有胶片的特点。
如果让我安排一个简单的使用流程,我会这样做:
- 导入照片,先选一张曝光和构图比较正常的作为样本。
- 比较胶片与印相组合,挑一个自己喜欢的方向。
- 再根据实际画面调整亮度、冷暖和颗粒,最后导出。
找到合适的设置后,还可以保存预设,或者把选定的设置复制到其他照片上。软件支持 RAW、JPEG 等图像输入,也能导出 JPEG、PNG、TIFF 等格式,具体 RAW 兼容性仍要看相机型号和系统解码支持。
对于一组光线接近的照片,我会先共用一套风格,再逐张看看是否需要微调。室内、室外和夜景的条件差别比较大,还是值得分开比较。
我也不会把它理解成导入之后就一定比原图好看。它提供了一个更直观的尝试入口,最后保留哪一种效果,仍然要看照片本身和自己的喜好。
支持 MCP,可以让 Agent 参与处理
作为开发者,我还比较关注它开放出来的工具接口。
按照当前的 MCP 工具定义,外部 Agent 可以调用这些能力:
- 查询图库、汇集和照片。
- 导入照片,设置星级和色标。
- 查看可用的胶片与相纸。
- 修改照片的胶片、相纸、数字中间片设置和胶片曝光。
- 使用已经保存的导出配方批量导出。
这样,我们就可以尝试把一些重复操作交给 Agent 串起来。例如,先查询指定目录里的照片,再逐张应用选定的胶片与相纸,最后按已有配方导出到指定文件夹。
我比较期待的是,自己先选好喜欢的风格,再让 Agent 帮忙完成整理、应用设置和导出这些工作。
这里也要分清楚,目前开放的显影参数主要集中在胶片、相纸和胶片曝光等项目,白平衡、曲线、HSL 等完整调色操作还没有通过这个工具开放。现有接口也没有直接提供照片预览图,外部 Agent 如果要看图分析,还需要另外具备读取图片的能力。
所以,MCP 已经让照片处理具备了可调用的操作入口,自动判断每张照片应该怎么修,还需要在这些接口之上继续设计和验证。
接入方式也比较明确,在 Mac 版的设置里打开智能体访问,再复制 MCP 配置,交给支持启动本机 MCP 服务的客户端即可。具体配置可以看项目的 中文使用指南。
我这里展示的是 Mac 版界面,想尝试的话,可以先到仓库查看安装说明和对应的发布版本。
以后处理相机里的照片,我准备先从几套喜欢的胶片与印相组合试起,再慢慢把整理和批量导出接进自己的 Agent 工作流。