☰
SnapOtter Pipelines自动化:把20步工具链成可复用工作流的实战教程
2026/10/1 3:16:02 网站建设 项目流程

SnapOtter Pipelines自动化:把20步工具链成可复用工作流的实战教程

【免费下载链接】SnapOtterOpen-source, self-hosted file-processing tool. Convert, compress, OCR, transcribe & run local AI across image, video, audio, PDF & documents, via UI, REST API & pipelines. Your files never leave your network.项目地址: https://gitcode.com/gh_mirrors/st/SnapOtter

SnapOtter 是一个开源、自托管的文件处理工具,支持转换、压缩、OCR、语音转写和本地 AI 处理。它的 Pipelines(流水线)功能可以把多个工具按顺序串成一条自动化工作流:你只需上传一次文件,SnapOtter 就会在内部依次执行每一步处理,最后直接给你结果文件——图片、音频、PDF 全都适用。

为什么需要 Pipelines 自动化

用单个工具处理文件很简单,但真实场景往往是"组合拳":

  • 发布博客前:先裁剪尺寸 → 再转 WebP → 最后压缩
  • 分享老照片前:AI 修复划痕 → 自动上色 → 放大 2 倍
  • 剪辑播客前:去静音段 → 统一响度 → 加淡入淡出

如果每步都要手动点一遍、下载再上传,20 步下来就是一场折磨。Pipelines 的价值就在于:上传一次,链路全自动,产出一次到位,而且整条链路可以命名保存、随时复用。

9 个内置模板,开箱即用的工作流

SnapOtter 自带了 9 个官方 Pipeline 模板(定义在 pipeline-templates.ts),覆盖图片和文档、音频三大类:

模板模态执行步骤
网页优化图片缩至 1920px 宽 → 转 WebP(质量 80)
适合邮件图片缩至 1024px 宽 → 按质量 70 压缩
隐私清理图片去除全部 EXIF/GPS 元数据 → 压缩
社交方图图片裁成 1080×1080 → 压缩
批量水印图片右下角加文字水印(50% 透明)→ 压缩
为邮件缩小 PDF文档拼合 PDF → 质量 50 大力压缩
播客润色音频去静音(-50dB)→ 响度归一 → 2 秒淡入淡出
抠出主体图片AI 去背景输出透明 WebP → 压缩
修复老照片图片AI 修划痕+人脸增强 → 上色 → 放大 2 倍

其中"修复老照片"就是典型的多步 AI 工作流:三步走完,一张破损的黑白老照片直接变成高清彩色图。

三步在界面上搭建你的专属工作流

进入顶栏的Automate页面(前端实现见 automate-page.tsx),即可开始搭建:

第 1 步:拖入文件并添加步骤

把文件拖进上传区后,从工具面板(pipeline-builder.tsx)里点选工具添加为步骤。每一步都是一个toolId + settings的组合,支持任意顺序拖拽调整。

第 2 步:微调每个步骤的参数

点击某个步骤可以展开参数面板(pipeline-step-settings.tsx),比如把"网页优化"模板里的 1920px 改成 1280px,或者把水印文字改成自己的名字。第一步的模态决定输入类型——图片、音频、视频、文档入口都会自动匹配正确的校验逻辑。

第 3 步:保存为可复用工作流

调好后填入名称和描述点保存。之后在 Automate 页面直接点选这条工作流,一键处理新文件。步骤状态由 pipeline-store.ts 维护,执行进度与取消逻辑在 use-pipeline-processor.ts 中实现,界面会实时显示每一步的执行状态。

用 REST API 把工作流接入脚本

除了界面,Pipelines 完全可以通过 REST API 调用(路由实现见 pipeline.ts),核心端点如下:

端点方法用途
/api/v1/pipeline/executePOST上传文件 + 流水线定义 JSON,执行单文件
/api/v1/pipeline/batchPOST多文件批量执行,结果打包成 ZIP
/api/v1/pipeline/savePOST保存命名的工作流供复用
/api/v1/pipeline/listGET列出已保存的工作流
/api/v1/pipeline/toolsGET查询哪些工具可作为步骤

execute的调用方式是 multipart 请求:一个文件 part + 一个pipeline字段,字段内容为步骤数组 JSON,形如{"steps":[{"toolId":"resize","settings":{"width":1920}},{"toolId":"compress","settings":{"quality":80}}]}。服务端会把步骤组织成一条顺序执行的作业链(后端基于 BullMQ Flow 嵌套任务树),全部完成后返回downloadUrl、前后文件大小和每步结果。batch端点则对每个文件各跑一条完整链路,最后汇总为 ZIP 下载。

3 个必须知道的限制

  1. 需要密码的工具不能入链。protect-pdf和unlock-pdf因为涉及密码,被明确禁止放入任何 Pipeline,避免敏感信息被持久化到步骤定义中。
  2. 步骤数量有上限。单条流水线至少 1 步,最多步数由部署方的MAX_PIPELINE_STEPS配置决定,超长链路会被直接拒绝。
  3. 权限分离。执行工作流只需普通工具使用权限;而保存、列出、删除工作流需要pipelines:own或pipelines:all权限,管理员可以看到并删除全团队的共享工作流。

小结

Pipelines 让 SnapOtter 从"一堆好用的单点工具"升级为"一条完整的自托管自动化产线":9 个内置模板解决最常见场景,界面拖拽定制个性化链路,REST API 再把它嵌入你自己的脚本和系统。整个过程中文件始终留在你的内网,这正是自托管工具的核心价值。

【免费下载链接】SnapOtterOpen-source, self-hosted file-processing tool. Convert, compress, OCR, transcribe & run local AI across image, video, audio, PDF & documents, via UI, REST API & pipelines. Your files never leave your network.项目地址: https://gitcode.com/gh_mirrors/st/SnapOtter

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询