lxiol

—title: Mac用户狂喜!16MB开源神器Dinky一键压爆图片视频PDF,Smart Quality智能分类+Watch Folder自动流
date: 2026-04-27 20:57:14
summary: 16MB开源神器Dinky一键压爆图片视频PDF,Smart Quality智能分类+Watch Folder自动流 date: 2026-04-27 20:57:14 summary: Mac用户狂喜
tags:

  • Hermes
  • AI Agent
  • 终端
  • Git
  • 知识库
  • 开源
  • macOS
  • Rust
  • 微信转载
    categories:
  • 转载—

原文链接:https://mp.weixin.qq.com/s/Qw0_iMFTa7Ok5_zpDVQrMA

Mac用户狂喜!16MB开源神器Dinky一键压爆图片视频PDF,Smart Quality智能分类+Watch Folder自动流

Mac用每天都在和Figma导出图、网站素材、客户视频、PDF发票打交道。以前压缩文件要么打开笨重的ImageOptim(只压图、不能转格式),要么用HandBrake手动转视频,要么打开Adobe Acrobat处理PDF……效率低到爆炸。

Dinky sidebar with presets, type tabs, and format picker

Dinky——一个只有16MB的开源macOS原生工具。做到了图片、视频、PDF三种文件类型一站式压缩,拖拽即用、Watch Folder自动处理、预设一键切换,内置了Smart Quality智能内容分类和二进制搜索精确控大小等黑科技。

完全开源(MIT协议),代码干净到极致,没有Electron、没有第三方UI框架、没有SPM依赖,全程Swift + SwiftUI + AppKit + macOS原生框架实现。

一、Dinky核心定位与版本演进

Dinky是一个小巧的macOS文件压缩实用工具(Utility),专为拖拽设计:丢图片、视频或PDF进去,立即得到更小的输出文件。

支持格式

○图片:输入JPG、PNG、WebP、AVIF、TIFF、BMP;输出可选择Auto(智能选最佳)、WebP、AVIF或无损PNG。

○视频:常见MP4、MOV等,导出为MP4,支持H.264或HEVC(含HDR保留),提供质量预设。

○PDF:保留可选中文字和链接的轻量化压缩,或“压平”为图像实现最大体积缩减。

项目历史清晰:1.x版本仅支持图片;2.0版本(当前最新2.2.0)新增视频与PDF支持,成为真正的一站式工具。旧1.x DMG仍在GitHub Releases保留,推荐直接用最新版。

开发者Derek Castelli是一位全职Webflow+Figma自由设计师,每天都要优化网站图片,Optimage崩溃后干脆自己用Swift写了第一个Mac App——这就是Dinky诞生的真实故事。

官网(dinkyfiles.com)和GitHub(heyderekj/dinky)一致强调:一切本地运行,文件永不离开你的Mac

二、核心功能全景(远超普通压缩工具)

Dinky的亮点在于“既小又全”:

1.多入口输入

○窗口/Dock图标/文件选择器拖拽;

○系统级剪贴板压缩(⌘⇧V,App不聚焦也生效);

○URL直连压缩(http(s)链接,最大500MB,自动下载→压缩→清理临时文件)。

2.压缩预设(Presets):核心生产力功能。可保存格式+质量+最大宽度+目标文件大小+目标文件夹+Watch Folder+文件名规则等全部设置,一键切换。不同场景(博客图、社交视频、CMS PDF)各用一个预设。

3.智能特性

Smart Quality:自动用Vision框架分类图片为Photo(照片)、Graphic(UI/插图/截图/Logo)或Mixed,分别应用不同质量参数(图形类质量更高,边缘更锐利)。

Max Width:内置网页常用尺寸或自定义,自动缩放。

Max File Size:通过二进制搜索精确命中目标KB/MB(图形类有质量下限保护)。

Skip Threshold:低于2%/5%/10%节省量时自动跳过。

4.Watch Folder(监视文件夹):全局或每个预设独立设置。新文件落地即自动压缩——完美适配Figma/Lightroom/截图自动导出场景。

5.批量与性能

○并行任务上限:Fast(1个)、Faster(3个)、Fastest(8个);

○结果列表实时更新,支持Finder式操作(选中、拖拽、双击打开、右键删除);

○Before & After预览(滑块/并排对比,仅图片)。

6.原文件处理:Keep / Move to Trash / Move to Backup Folder(全局或预设独立)。

7.高级选项

○剥离EXIF/GPS等元数据;

○文件名Web安全化;

○PNG专属oxipng无损优化(保留透明度);

○自定义快捷键、Launch at Login、Apple Shortcuts原生Action、Finder Quick Action、“Open with”集成。

8.其他体验

○完成通知+音效(根据节省量不同音效);

○Session History(历史记录+总节省统计);

○一键检查更新(自动下载安装重启);

○空闲时窗口卡片掉落动画(三种变体,根据窗口位置智能选择)。

三、工作原理深度技术分析

Dinky完全原生,这是它体积仅16MB、性能极高的根本原因。以下全部来自README“How it works”章节 + Dinky/目录下核心源代码(CompressionService.swift、DinkyApp.swift、Models/、Services/、Views/等):

技术栈

○SwiftUI(macOS 15 Sequoia+,macOS 26 Tahoe支持液态玻璃UI)+ AppKit(窗口/事件);

○无Electron、无WebView、无第三方UI框架、无SPM依赖;

○偏好存储:@AppStorage / UserDefaults;

○Finder集成:NSServices;

○并发模型:actor CompressionService(单例shared)。

压缩引擎(全部打包在Resources/目录):

图片:cwebp(Google WebP,BSD)、avifenc(AVIF,BSD)、oxipng(Rust无损PNG优化器,MIT);

视频:AVFoundation框架导出(H.264/HEVC,支持HDR保留);

PDF:PDFKit框架(重写或压平)。

核心流程(CompressionService.swift关键代码解析)

1
2
3
4
5
●●●swift

`actor CompressionService {
    func compress(source: URL, format: CompressionFormat, goals: CompressionGoals, ...) async throws -> CompressionResult
}`

1.预处理:用macOS内置sips(或ImageIO)检查并执行Max Width缩放,生成临时工作文件。

2.Smart Quality分类:调用ContentClassifier.classify()(基于Vision框架,对原文件进行内容检测,Photo/Graphic/Mixed)。预分类时跳过二次检测。

3.质量决策

○PNG → 直接oxipng无损;

○有Max File Size目标 → 二进制搜索质量参数(设置下限保护图形类边缘)直至命中目标大小;

○普通模式 → 根据ContentType查表(graphic类WebP/AVIF质量更高,甚至WebP graphic启用nearLossless=60)。

4.执行压缩:调用CLI进程(Process)或AVFoundation/PDFKit,输出到指定路径。

5.后处理:根据OriginalsAction处理原文件(Keep/Trash/Backup),清理临时文件。

6.并发安全:actor保证线程安全,配合用户设置的Batch Speed(1/3/8并行)实现实时结果更新。

其他代码实现

●URL下载临时文件自动清理;

●错误处理丰富(CompressionError枚举,包含详细本地化描述);

●Intents目录实现Apple Shortcuts原生Action;

●Extensions目录提供各种Swift扩展(URL处理、文件大小等)。

整个流程零网络、零上传,所有二进制工具均打包在.app内部。

四、与其他工具的本质区别

README专门有一节“What others don’t do”:

●ImageOptim:只无损压JPG/PNG,不转WebP/AVIF,真实节省有限。

●Optimage:付费、仅图片、62MB。

●HandBrake/Adobe Acrobat:各自只管视频/PDF,无法一站式。

●Clop:菜单栏为主,Watch Folder为Pro付费功能。

Dinky before and after slider preview

Dinky免费、开源、16MB、三格式合一、原生集成、预设+Watch Folder全免费,是真正“既轻量又生产力”的选择。

五、使用方法(图文式完整流程)

1.快速上手:拖文件到窗口 → 自动按当前预设压缩 → 结果列表实时显示大小/节省率 → 右键“Show in Finder”。

Dinky drop zone with a file being dragged in — Release to compress

2.剪贴板/URL:复制图片或复制直接链接 → ⌘⇧V。

Dinky Websites preset selected with settings summary

3.预设工作流:Settings → Presets → 新建 → 选格式/质量/Watch Folder/目标文件夹 → 保存 → 侧边栏一键切换。

Dinky results list with batch processing and right-click format menu

4.手动模式:先Drop不立即压缩 → 右键单个文件选择格式再压。

5.Watch Folder:设置后,文件夹内新文件自动进入压缩队列。

Dinky watch folder settings: global watch and per-preset watch folders

6.预览与决策:图片支持Before/After滑块,满意再保存(实际文件直到确认才落地)。

全部操作均支持Finder Quick Action和Shortcuts自动化。

六、安装方法(官方推荐)

1.前往GitHub Releases(https://github.com/heyderekj/dinky/releases/latest)下载最新DMG。

2.拖Dinky.app到/Applications文件夹。

3.首次启动可能因未公证被阻挡:

○系统设置 → 隐私与安全性 → 找到Dinky → 点击“仍要打开”;

○或Terminal执行:xattr -dr com.apple.quarantine /Applications/Dinky.app

4.后续更新:App内一键检查→自动下载安装重启。

七、从源码安装与编译(完整开发者流程)

项目完全开源,源码编译零门槛(适用于想自定义或学习SwiftUI的同学):

1.git clone https://github.com/heyderekj/dinky.git

2.进入目录,打开Dinky.xcodeproj(需macOS + Xcode 16+)。

3.选择Scheme “Dinky” → 选择你的Mac作为运行目标。

4.Command + R 构建运行。

5.注意

○Resources/目录已包含cwebp、avifenc、oxipng二进制文件,构建时自动打包。

○首次运行同样需处理quarantine属性。

○想打包DMG可参考根目录release.sh脚本(内部使用create-dmg等)。

源码结构清晰:CompressionService.swift(核心actor)、Models/(数据模型)、Views/(SwiftUI界面)、Intents/(Shortcuts)、Services/(辅助服务)等,阅读门槛低,适合学习macOS原生开发。

Dinky真正解决设计师/开发者日常痛点的生产力神器:体积小、速度快、功能全、体验极致、完全开源、本地安全。

无论你是需要极致压缩网站素材、批量处理客户视频,还是想给截图/PDF设置自动工作流,Dinky都能胜任。

—— 如此才是

把复杂的技术,讲成你真正能用上的生产力


零基础也能玩转卫星!开源Ground Station + SDR 打造个人地面站全攻略

苹果M系列芯片的福音!无需H100、无需云GPU,本地MacBook就能微调Gemma 4多模态模型

163个AI工具塞进Godot,solo游戏开发者效率直接起飞!15刀搞定爆款游戏

开源Minecraft终极杀手!12.7K星GitHub神器Luanti(原Minetest)完整中文攻略:零基础安装、2800+模组随便玩、服务器+源码编译

AI 直接操控 Unity/Godot/Unreal 编辑器!用 OpenClaw + TomLeeLive 插件,聊天就能把你的游戏梦想变成现实

Rust开源AI Agent安全基座LoongClaw正式开源:7-crate严格DAG内核+L0-L9分层治理,团队垂域智能体终于有生产级“底座”了!


💬 本文评论区已开启,但暂无读者留言。

本文转载自微信公众号,如有侵权请联系删除。

  • 标题:
  • 作者: lxiol
  • 创建于 : 2026-04-27 20:57:14
  • 更新于 : 2026-04-29 20:21:28
  • 链接: https://blog.lxiol.cn/2026/04/27/Mac用户狂喜16MB开源神器Dinky一键压爆图片视频PDFSmart-Quality智能分类Watch-Folder自动流/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。