我做了一个 macOS Finder 右键小工具,只解决两个问题

简介: Flicker 是一款轻量、开源的 macOS 右键增强工具(macOS 14+),专注解决高频痛点:一键用指定 App 打开文件/文件夹(支持扩展名/文件夹/全类型匹配),以及快速复制绝对/相对路径。完全离线、沙盒运行、无数据收集,MIT 开源免费。

原创内容,未经允许,严禁搬运转载


用 Mac 的人大概都经历过这种场景:右键一个文件夹,想用 VS Code 打开,结果系统菜单里「打开方式」点进去要找半天;或者需要复制一个文件的绝对路径,只能打开终端敲 `pwd` 再手动拼。


macOS 自带的 Finder 右键菜单在这些高频场景下几乎帮不上忙。App Store 里有不少右键增强工具,功能一个比一个全,很多都是收费的(不是想抨击收费,开发这些应用并且做好其实花的心血还是不少的,即使当前有AI辅助的情况下),也有RClick这样的开源作品,确实也包含了常用的基本功能了,应该满足了大部分人的日常使用了。但我而言,我要的其实更简单:


1. **右键选择用哪个 App 打开文件/文件夹**

2. **一键复制文件路径**

3. **清爽直接的应用配置页面**

快月底了Token不能浪费,趁着端午假期赶紧写了 Flicker,这个分享给更多跟我一样需要更简单的朋友, 全程Qoder撸。


app-logo.png


Flicker 做了什么


整个工具核心就做两件事:


一、右键用指定应用打开


在 Flicker 的配置界面里,你可以添加常用的 App(支持拖动排序),并设置它适用于哪些文件类型,例如:


- 添加 CotEditor,指定适用于 `js, ts, json, md` 等扩展名

- 添加 Vscode,设置为「仅文件夹」模式

- 添加 Claude Desktop,适用所有文件


image1.png


配置完成后,在 Finder 里右键文件或文件夹(支持多选同时打开多个文件夹!!!),菜单里会直接出现「打开方式」子菜单,列出匹配的应用,点击即可打开。



每个 App 条目支持三种模式:

- **指定扩展名**:只在匹配的文件上显示

- **适用所有文件/文件夹**:不限制文件类型

- **仅文件夹**:右键文件夹时才出现


二、复制文件路径与文件名


右键菜单底部固定两个选项:


- **复制绝对路径**:`/Users/name/project/src/index.ts`

- **复制相对路径**:`src/index.ts`(相对于当前 Finder 窗口目录)


相对路径在终端操作或写文档时特别实用。如果无法获取当前窗口目录,会自动回退为绝对路径。


image2.png


关于隐私和安全


这可能是很多人关心的问题。Flicker 的设计从第一天起就遵循以下原则:


- **完全沙盒运行**:遵循 Apple 的沙盒机制,App 和扩展都在受限环境中运行

- **不联网**:没有任何网络请求,不上传任何数据

- **不收集信息**:没有埋点,没有分析 SDK,没有用户追踪

- **代码完全开源**:每一行代码都在 GitHub 上,任何人都可以审查

- **MIT 许可证**:免费使用,也可以自由修改和分发


配置数据通过 App Group 以 JSON 格式在 App 和 Finder 扩展之间共享,全部存储在本地,不经过任何第三方服务。


技术实现简述


给同样做 macOS 开发的朋友分享一些技术细节:


**架构**:项目分为两个 target,容器 App(SwiftUI)负责配置管理,Finder Sync Extension(FIFinderSync)负责在右键菜单中展示选项和执行动作。两者通过 App Group + JSON 文件共享配置。



**打开 App 的方式**:由于 Finder 扩展运行在沙盒中,直接调用 `NSWorkspace.open` 会被系统拦截。解决方案是通过自定义 URL Scheme(`flicker://`)将请求转发给容器 App,由容器 App 执行实际的打开操作。


**应用图标制作**:网上找一下苹果官方的设计规范,否则很多人已开始都掉进应用图标大小安装后尺寸比很多其他应用图标都要大。(macOS 应用图标不是"填满画布的图形",而是在**透明画布上的圆角矩形内容块**。系统会根据图标的**不透明像素边界**来计算渲染尺寸,而非画布尺寸。)


**技术栈**

- Swift 6 + SwiftUI

- Finder Sync Extension(FIFinderSync)

- macOS 14.0+(Sonoma)

- SMAppService 实现开机自启动


适合谁


Flicker 不是一个「大而全」的工具。如果你需要一个功能丰富的 Finder 增强套件,iRightMenu 或 右键大师可能更合适。


但如果你跟我一样,只是想要:


- 右键直接看到常用 App 列表,一键打开

- 快速复制文件路径,不用打开终端


那 Flicker 刚好够用。免费、开源、无广告、无隐私顾虑,装上配好就不用再管它了。


安装和使用


**系统要求**:macOS 14.0(Sonoma)或更高版本


**获取方式**:从 [GitHub Releases](https://github.com/yananw-pub/Flicker/releases) 下载 DMG 安装包,或克隆源码自行构建。


**启用步骤**

1. 安装并运行 Flicker

2. 点击「添加」,选择常用的 `.app`,设置名称和适用的文件扩展名

3. 点击底部「启用 Finder 扩展…」,在系统设置 → 隐私与安全性 → 扩展 → 访达中勾选 Flicker

4. 重启 Finder(终端执行 `killall Finder`)

5. 在 Finder 中右键文件或文件夹,即可看到自定义菜单


> 应用在我的系统【m4 pro max,macos 15.7.7】全部验证通过,其他芯片平台与系统版本上没有做充分测试,可用性不做100%保证。


项目地址:[https://github.com/yananw-pub/Flicker](https://github.com/yananw-pub/Flicker)


欢迎 Star、Fork、提 Issue。如果对你有帮助,分享给同样需要的朋友就好。


目录
相关文章
|
15天前
|
开发者
一个自动修复bug任务,运行了100分钟,直接把免费次数,付费次数全干没了
“不得不服”是一款自动修复Bug的工具,但某次任务异常耗时100分钟,行为不明,竟耗尽全部免费及付费次数,引发开发者惊叹与调侃。
253 2
|
27天前
|
人工智能 IDE 定位技术
Understand-Anything:不用硬啃源码,把项目变成一张能追问的知识图谱
Understand-Anything 是一款开源AI工具,通过静态分析+多智能体理解,自动构建代码库知识图谱,帮开发者快速掌握系统架构、业务流程与模块依赖。支持中文、影响分析、新人引导等,让读代码前先有“地图”。(238字)
452 3
Understand-Anything:不用硬啃源码,把项目变成一张能追问的知识图谱
|
存储 算法 C++
深入理解ffmpeg视频播放以及音视频同步:时间基与样本处理
深入理解ffmpeg视频播放以及音视频同步:时间基与样本处理
1600 1
|
传感器 人工智能 IDE
AI IDE正式上线!通义灵码开箱即用
作为AI原生的开发环境工具,通义灵码AI IDE深度适配了最新的千问3大模型,并全面集成通义灵码插件能力,具备编程智能体、行间建议预测、行间会话等功能。
6093 171
|
4月前
|
数据库 对象存储
2026年 | 3月云大使推广奖励规则
云大使推广返利活动,新增后付费产品返利最高返利45%。企业新用户下单返佣加码5%。新老用户都可参与返利活动。
|
6月前
|
Java API 开发者
黄金、白银及全球期货数据 API 对接实战
在全球经济波动下,黄金白银成避险焦点。本文介绍如何通过StockTV API快速接入全球贵金属实时行情、K线及盘口数据,支持COMEX、伦敦金等品种,助力开发者构建量化系统与金融分析工具,实现毫秒级数据推送与专业图表集成。
|
人工智能 IDE 开发工具
寻找Cursor的替代品:10款AI编程工具深度评测与推荐·优雅草卓伊凡
寻找Cursor的替代品:10款AI编程工具深度评测与推荐·优雅草卓伊凡
10443 18
寻找Cursor的替代品:10款AI编程工具深度评测与推荐·优雅草卓伊凡
|
存储 C语言
【C语言】bool 关键字详解
`bool` 关键字在C语言中用于表示布尔类型(Boolean Type),它只有两个取值:`true`(真)和 `false`(假)。在标准的C90和C99中并没有直接支持布尔类型,但在C99标准中引入了`<stdbool.h>`头文件来提供布尔类型的支持。
799 1
|
安全 Java API
什么是用于 REST API 的 Bearer Token以及如何通过代码和工具进行调试
Bearer Token 是一种基于 OAuth 2.0 的身份验证机制,广泛应用于 REST API 的授权访问中。它通过在 HTTP 请求头中传递令牌,确保用户凭据安全传输并验证。本文深入解析了 Bearer Token 的概念、实现步骤及调试方法,包括其无状态特性、灵活性与安全性优势。同时,提供了 Java 实现示例和使用 Apipost、cURL 等工具测试的实践指导,帮助开发者掌握这一核心技能,保障 API 系统的安全与高效运行。

热门文章

最新文章