Feather CLI:终端里的 Feather
即将推出 Feather CLI 尚未发布。本页展示它将能做什么;安装命令会在发布当天出现在这里。
Feather CLI 是 Feather 的命令行工具:终端里的 feather 命令。它用与 App 相同的引擎缩小照片、视频、PDF 和文档,适用于脚本、整个文件夹和自动化。它随 Feather Pro 提供。
一切都在您的 Mac 上完成。Feather CLI 不上传文件,不需要账户,也不向任何地方发送任何内容。
您需要什么
- 搭载 Apple 芯片的 Mac,以及 macOS 15 Sequoia 或更高版本。
- Mac App Store 中的 Feather,并且这台 Mac 上有 Feather Pro。
- Homebrew,用于安装。
安装
Feather CLI 尚未发布。它将通过 Homebrew 安装,命令会在发布当天出现在本页。
安装后,feather pro 会告诉您它是否在这台 Mac 上找到了 Feather Pro。如果没有,请打开 Feather,前往“设置”›“Feather Pro”:在那里购买 Pro,如果已经拥有,请选择“恢复购买”。
试一试
feather photo.jpg
这会在原文件旁边写出 photo-min.jpg,无损:像素完全不变,文件内的隐私数据会被移除(位置、作者、相机序列号)。更多示例:
# 桌面上的每个 PNGfeather ~/Desktop/*.png# 一个文件夹及其子文件夹,更小feather -m lossy -r ~/Pictures/Export# 每张照片用最小的格式,输出到一个文件夹feather -m best -o ~/Sites/img ~/Export# Instagram 显示的尺寸和格式feather -t instagram holiday.jpg# 小于 2 MBfeather --max-size 2mb scan.jpg video.mov# 每张图像转为 WebPfeather convert --to webp -r ./assets# 视频转为 MP4feather convert --to mp4 clip.mov
feather --help 会列出所有选项。
能小多少
| 模式 | 作用 |
|---|---|
lossless(默认) | 像素相同,文件更小。看得见的地方没有任何变化。 |
lossy | 更小,质量由 --quality 设定(默认 80)。 |
best | 尝试 JPEG、PNG、WebP 和 AVIF(目标支持时也尝试 JPEG XL),保留最小的。 |
文件要去哪里
-t(--target)会为文件的去处做好准备。它涵盖:
- 设计工具:Figma、Miro、Mural、Canva、Notion;
- 社交媒体:Instagram、Threads、Facebook、LinkedIn、X、Bluesky、Mastodon、Pinterest、TikTok、 Discord;
- 用途:网站、幻灯片、头像;
- 文件大小:从小于 500 KB 到小于 100 MB。
feather targets 会显示全部目标及其限制。您自己的限制也可以用: --long-side 2000, --megapixels 12, --max-size 1mb。
您自己的预设
您在 Feather 中创建的预设在 Feather CLI 中同样可用:
- 在 Feather 中,前往“设置”›“预设”› 导出预设…。
- 将文件存储为
~/.config/feather/presets.json。 - 按名称使用预设:
feather -t "Client website" ~/Export
放在其他位置的文件可以用 --presets <file>。更改预设后请重新导出。
结果存到哪里
- 原文件旁边(默认),名称中带有
-min。可用--suffix和--prefix更改。 - 存入文件夹:
-o <folder>,使用原名称。 - 替换原文件:
--replace。原文件会被覆盖。只有当文件被调整了尺寸、加了水印或转换成其他格式时,原文件才会移到废纸篓。请先在副本上试一下您的命令。
在文件夹中,Feather CLI 会跳过隐藏文件和它自己之前的结果。运行两次不会再次压缩副本。
隐私
默认情况下,Feather CLI 会移除文件内的隐私数据:位置、作者、相机信息和序列号、日期以及编辑历史。
- 要保留相机和曝光数据,请使用
--keep-metadata camera(仅限 JPEG:其他格式无法携带这些数据)。 - 要保留全部,请使用
--keep-metadata all。
在共享之前查看文件里有什么:
feather inspect photo.jpg report.pdf
inspect 免费,且不会更改任何内容。
水印
feather --watermark "© Studio Max Redecker" --position bottom-right ~/Export
feather --logo logo.png --tile ~/Export
在脚本中
--json 会输出一份 JSON 文档,包含每个文件、它的大小、移除了什么以及结果存到了哪里:
feather --json -o out ~/Export | jq '.totals'
退出代码:
| 代码 | 含义 |
|---|---|
| 0 | 完成 |
| 1 | 有一个或多个文件无法压缩 |
| 2 | 命令不正确 |
| 3 | 需要 Feather Pro |
| 130 | 已用 Ctrl-C 停止 |
Feather CLI 同时最多处理四张照片和一个视频,绝不占用超出您的 Mac 可用的内存。使用 -j 1 则一次只处理一个文件。按 Ctrl-C 停止:正在生成的文件会完成或被丢弃,您的原始文件保持不变。
常见问题
为什么 Feather CLI 没有和 Feather 一起放在 App Store?
App Store 中的 App 在沙盒中运行。沙盒中的命令行工具无法打开您在终端里指定的文件,所以 Feather CLI 需要单独安装。它将使用我们的 Developer ID 签名,并经过 Apple 公证。
Feather CLI 怎么知道我有 Feather Pro?
它会读取这台 Mac 上 Feather 的 App Store 收据:检查 Apple 的签名,以及收据是否属于这台 Mac。这一切都在离线状态下进行,不会发送任何内容。
它能在服务器或 CI 中使用吗?
目前不能。Feather CLI 需要同一台 Mac 上有带 Feather Pro 的 Feather。
它能在 Intel Mac 上使用吗?
不能。Feather 2 是为 Apple 芯片打造的。
有问题或想法?请通过 studiomaxredecker.com 联系我们。