给 Finder 加上右键新建文件、打开终端和剪切粘贴。
Create files, open a terminal, and cut & paste from Finder’s right-click menu.
免费开源 · 文件操作在本地完成 / Free & open source · File operations stay on your Mac
English · 中文 · 参与贡献 / Contributing · 安全说明 / Security
觉得好用欢迎 ⭐ Star 和反馈 / If it helps, a ⭐ Star or feedback is appreciated.
- 📄 新建文件 —— txt / Markdown / Python / JSON 等常用文本,空白 Word / Excel / PowerPoint,以及自定义模板
- ✂️ 剪切 / 粘贴 —— 补上 Finder 缺失的剪切,⌘X / ⌘V 直接用,粘贴时才真正移动
- 💻 打开终端 / 编辑器 —— 按应用的 Shell 角色声明识别终端(如 iTerm2、cmux),也可手动选择
.app,使用同一规则校验;默认终端跟随系统,可自行更改;终端设置列表显示应用实际图标。终端和编辑器列表均可点击旋转箭头重新扫描。编辑器不使用品牌清单:自动列出以 Editor 角色明确声明通用文本、通用源码或通配符编辑能力的应用;仅支持特定文本格式的应用可手动添加,仍须通过编辑能力校验,失败时弹窗说明。能自动识别的应用不标记为「手动添加」。默认编辑器可选择「跟随系统」(纯文本默认编辑应用)或自行指定,不随菜单排序和显示开关变化 - 📋 复制路径 / 文件名 / 文件内容 —— 路径支持
~、终端转义、文件 URL 等格式;文件名可选择包含或去掉最后一段扩展名,目录保持原名,多选每行一项;文本文件可直接复制全文,全文检查空字符以拦截非文本内容。「服务」菜单在后台读取文件,剪贴板写入失败会提示错误 - 📂 打开路径 —— 粘贴一个路径,直接在 Finder 中定位或打开
- 📁 移动到 / 复制到 —— 一键把选中项送到常用目录;确认不存在或已不再是目录的目标会置灰并标记“目录不可用”,保留配置,恢复后后台检查会重新启用。菜单状态在重新展开时更新;设置页在后台检查目录和读取图标,约每 5 秒刷新,区分检查中、目录不可用与状态不明
- 📦 压缩 / 解压 —— 压缩为 ZIP,解压 ZIP / 7z / RAR(默认关闭,可在设置中开启)
- 👀 扩展空格预览 —— 文件夹、压缩包(ZIP / TAR / TAR.GZ / TAR.BZ2 / TAR.XZ / 7z / RAR)和安装包与镜像(deb / rpm / pkg / iso / apk / ipa / jar / whl)的目录列表,以及 YAML / TOML / INI、
.gitignore等点文件、无扩展名文本、.conf等配置文件、系统不认识的源码(Go / Rust / TSX / Vue / SQL 等)、字幕、SQLite 和 Jupyter Notebook 内容;Markdown 渲染为排版后的文档(可单独关闭) - 👁 切换隐藏文件 —— 即时生效,不重启 Finder
- ↩️ 撤销 —— ⌘Z 撤销上一次移动、剪切、新建、压缩等操作
- 🕘 操作历史 —— 按日期查看每次操作的结果与失败原因,可搜索、筛选、在访达中定位
- ☁️ 云盘里也能用 —— iCloud / Google Drive 等目录通过右键「服务」菜单使用
- ⌨️ 自定义快捷键与菜单顺序,🌗 中英双语,🔄 应用内自动更新
要求 macOS 13+、Apple Silicon(暂不支持 Intel)。
brew install --cask funny-dog/tap/finderrightHomebrew 安装会删除隔离属性、跳过 Gatekeeper 首次检查;若希望保留系统检查,请用 DMG 安装。Tap 由本项目维护,并非 Homebrew 官方仓库。
下载 FinderRight.dmg(中国大陆自动转到 Gitee),拖入 Applications。当前版本为自签名、未经 Apple 公证,首次打开被拦截时,到 系统设置 → 隐私与安全性 → 仍要打开,或执行:
xattr -dr com.apple.quarantine /Applications/FinderRight.app如果主站访问不畅,可以试试独立展示站。它只托管展示页面,不含安装包;下载仍请使用上方 DMG 链接或 Gitee 发行版。
按引导完成:启用访达扩展、授予完全磁盘访问、授予辅助功能。
在「设置 → 关于」检查更新,或在「设置 → 通用」开启自动更新;Homebrew 用户也可以 brew upgrade --cask --greedy funny-dog/tap/finderright。升级后请重启访达,否则右键菜单可能还是旧版:
killall Finder从 1.2.0 及更早版本升级、自动更新细节
- 从 1.2.0 及更早版本首次升级:旧版是 ad-hoc 签名,系统会视为不同的程序,即使开关显示已开启也需重新授权一次。最省事的做法:
然后重新打开 FinderRight 按引导授权。1.3.0 起使用固定证书,后续升级会保留授权。
tccutil reset SystemPolicyAllFiles com.finderright.app tccutil reset Accessibility com.finderright.app
- 自动更新:默认关闭;开启后每 6 小时检查一次,在文件操作空闲时安装并自动重启。更新同时请求官网与 GitHub,优先采用可安装的新版本;“已是最新”或缺少校验信息的响应会等待另一渠道,检查失败可立即重试。下载卡住会切换备用源,全程校验 SHA-256 与签名证书,校验失败不安装。
- 混用 Homebrew 与应用内更新:应用内更新不会同步 Homebrew 的版本记录,可能导致重复安装;Cask 声明了
auto_updates true,普通brew upgrade会跳过它。
| 症状 | 处理 |
|---|---|
| 右键完全没有 FinderRight 菜单 | 在「设置 → 权限与扩展 → 右键菜单排查」中一键启用访达扩展并重启访达。 |
| 升级后菜单或角标还是旧的 | 重启访达:killall Finder。 |
云盘、/Applications 等目录没有菜单 |
系统限制,改用 右键 → 服务 子菜单(见下方说明)。 |
| 菜单里没有压缩 / 解压 | 默认关闭,在「设置 → 功能」中开启。 |
| 快捷键按了没反应 | 授予「辅助功能」权限;多数快捷键需要先选中文件。 |
| 剪切后没有剪刀角标 | 可能被其他扩展(如 Keka)占用,不影响粘贴;可在「设置 → 功能」开启「自动解决角标冲突」。 |
| 操作后看不到结果 | 在「设置 → 操作历史」查看结果或失败原因。 |
| 打开终端没有切到当前目录 | Ghostty / Alacritty / Kitty 已在运行时无法指定目录,属于终端自身限制。 |
| 升级后权限开关是开的却不生效 | 从 1.2.0 及更早版本升级需重新授权一次(见「升级」)。 |
| 选中文件夹或 ZIP 按空格仍是系统预览 | 在「设置 → 功能 → 快速查看」打开「预览增强」,再重新打开快速查看。 |
按空格看 .md 不是 FinderRight 的排版 |
在同一处打开「Markdown 渲染」;若提示检测到其他应用的 Markdown 预览,关闭其中一个。 |
云盘与「服务」菜单
iCloud Drive、Google Drive、OneDrive、Dropbox 等云盘是 macOS 的 File Provider 域,目录归云盘自己的扩展管理,第三方 Finder 扩展的右键菜单不会出现,完全磁盘访问也改变不了(见 Keka #1327 中转述的 Apple DTS 答复)。/Applications、/Users/Shared 等未注册目录同理。
在这些位置,FinderRight 的操作改由 右键 → 服务 提供:复制路径 / 复制文件名 / 复制文件内容 / 打开路径 / 新建文件 / 移动到 / 复制到 / 打开终端 / 打开编辑器 / 剪切 / 粘贴到此文件夹 / 压缩 / 解压。
- 粘贴:剪切后在目标目录空白处选「服务 → FinderRight:粘贴到此文件夹」;若空白处没有「服务」,可回到上一级右键目标文件夹。它移动的是 FinderRight 的剪切队列,而不是系统剪贴板。
- 新建文件、移动到 / 复制到会先弹确认框;取消不会操作文件。
- 「服务」菜单标题跟随系统语言,不随 FinderRight 的界面语言切换。
快速查看的范围与限制
- 文件夹与 ZIP / TAR / TAR.GZ / TAR.BZ2 / TAR.XZ / 7z / RAR 使用只读目录列表,可展开子目录、点击列标题排序;不预览包内文件内容,不向磁盘解压。
- apk / ipa / jar / war / whl 按 ZIP 列出内容;rpm 列出负载中的文件(zstd 压缩的负载不支持);iso 列出光盘目录;deb 与 pkg 只列出顶层成员(如
data.tar.xz、Payload),不再展开内层包。 - YAML / YML / TOML / INI 显示文本,最多 1 MiB,支持 UTF-8 与带 BOM 的 UTF-16。
.gitignore、.env等点文件,Dockerfile等无扩展名文件,.conf/.config/.cfg等配置文件,系统不认识的源码(.go/.rs/.tsx/.vue/.scss/.sql/.proto/.tf等)、.jsonl/.lock等结构化文本,以及.srt/.vtt/.tex/.org等字幕与标记文档,都按内容识别:是文本则以纯文本显示(无语法高亮),不是文本(如.DS_Store、可执行程序)则保留系统默认预览。TypeScript 的.ts被系统固定识别为视频,无法接管。- Markdown(
.md)渲染标题、列表、任务列表、表格、引用与代码块,最多 1 MiB;表格保留列对齐,保留脚注引用标记与定义正文(不提供脚注跳转);开头的 YAML 元信息以原文显示;图片只显示替代文字,HTML 按原文显示,链接悬停可查看目标、右键可复制地址,但不可点击跳转,不加载任何外部资源。它是独立的预览扩展,可在设置里单独关闭;若 MarkEdit 等应用也提供 Markdown 预览,设置页会提示只保留一个。 - 文档预览在后台生成显示内容,减少 Notebook 与 SQLite 等复杂内容准备时的主线程阻塞。
- Jupyter Notebook(v4)最多读取 5 MiB、展示 200 个单元;渲染 Markdown、显示代码与已保存的文字输出,不执行代码、不加载外部资源,不显示图片与 HTML 输出。
- SQLite(
.sqlite/.sqlite3)只读展示最多 20 张普通表的列名、类型和每表前 50 条记录,单元格最多展示 512 字节;跳过视图、虚拟表和生成列。使用主文件快照,不包含尚未合并到主文件的 WAL 数据。 - 包含隐藏项;不展开符号链接或
.app等文件包,不递归统计目录大小。 - 每层文件夹最多 2,000 项,压缩包最多 10,000 条记录,超出会提示内容不完整;其他压缩格式还受扫描资源上限约束。
- 不支持 ZIP64、分卷 ZIP;加密 ZIP 可显示条目但不解密。
- 预览扩展有独立的沙箱权限,主 App 的完全磁盘访问不会自动授予它。
其他已知行为
- 加密 / 分卷压缩包:加密 ZIP 会弹密码框;加密的 7z / RAR 和分卷包无法解压,会提示失败并自动清理临时文件。
- 撤销:只支持单级撤销,与访达自己的撤销按先后顺序共存;文件被改过或原位置有同名项时跳过,删除一律进废纸篓。
- 操作历史:仅保存在本机,默认保留最近 100 条(可选 0 / 50 / 500);清空历史不影响文件和撤销。
- 剪切状态:粘贴过程中主 App 崩溃,未移动的项目会在下次启动时恢复回剪切队列。
- 语言:右键菜单即时切换,剪切角标文案需重启访达后生效。
完全卸载
killall FinderRight 2>/dev/null || true
rm -rf /Applications/FinderRight.app
rm -rf ~/Library/Application\ Support/FinderRight
rm -f ~/Library/Preferences/com.finderright.app.plist
tccutil reset All com.finderright.app 2>/dev/null || true
killall Finder只需 Command Line Tools,无需 Xcode:
bash scripts/setup-signing.sh # 仅首次:生成自签名证书(请备份私钥)
bash scripts/ci.sh # 编译 + 单元测试 + 类型检查
bash scripts/build.sh # 产出 .app 与 DMG / ZIP也可以用 xcodegen 生成 Xcode 工程(xcodegen generate)。项目由主 App(未沙箱,执行文件操作)、Finder 扩展(沙箱,提供右键菜单)和 Quick Look 扩展组成,扩展通过「文件 + URL scheme」唤醒主 App,无需 App Group 或付费开发者账号。官网源码见 website/。
- 📄 New File — common text files (txt / Markdown / Python / JSON…), blank Word / Excel / PowerPoint, and your own templates
- ✂️ Cut / Paste — the cut that Finder lacks; use ⌘X / ⌘V, files only move when you paste
- 💻 Open in Terminal / Editor — detect terminals by their declared Shell role (such as iTerm2 and cmux), or select an
.appmanually with the same validation. The default follows the system unless changed; terminal settings show each app’s actual icon. Use the circular arrow in either app list to rescan. Editors use no preset brand list: automatic detection requires an Editor role explicitly declaring general text, general source code, or wildcard support. Apps limited to specific text formats can be added manually after editing-capability validation; invalid additions show a dialog. Automatically detected apps are not labeled as manually added. The default editor follows the system text editor unless explicitly selected, independently of menu order and visibility. - 📋 Copy Path / File Name / File Content — paths as
~, shell-escaped or file URLs; choose full file names or remove only the final extension, keeping folder names unchanged and one item per line for multiple selections; copy a text file's full content directly, checking the entire content for null characters to reject non-text data. The Services menu reads files in the background, and clipboard write failures show an error - 📂 Go to Folder — paste a path to reveal or open it in Finder
- 📁 Move To / Copy To — send the selection to a favorite folder in one click. Targets confirmed missing or no longer folders are disabled and marked “Folder unavailable”; saved folders are kept and re-enabled after a background check confirms recovery. Reopen the menu to see refreshed status. Settings checks folders and loads their icons in the background about every 5 seconds, distinguishing checks in progress, unavailable folders and unknown status
- 📦 Compress / Extract — compress to ZIP, extract ZIP / 7z / RAR (off by default, enable in Settings)
- 👀 Extended Quick Look previews — listings for folders, archives (ZIP / TAR / TAR.GZ / TAR.BZ2 / TAR.XZ / 7z / RAR) and packages or disk images (deb / rpm / pkg / iso / apk / ipa / jar / whl), plus YAML / TOML / INI, dotfiles such as
.gitignore, extensionless text, config files such as.conf, source code macOS doesn't recognize (Go / Rust / TSX / Vue / SQL and more), subtitles, SQLite and Jupyter Notebook contents; Markdown rendered as formatted documents (can be turned off separately) - 👁 Toggle Hidden Files — instant, no Finder restart
- ↩️ Undo — ⌘Z undoes the last move, cut, new file, compress and more
- 🕘 Operation History — review each action's result or failure reason by date; search, filter and reveal in Finder
- ☁️ Works in cloud folders — use it in iCloud / Google Drive via the right-click Services menu
- ⌨️ Custom shortcuts and menu order, 🌗 English & Chinese, 🔄 in-app auto-update
The screenshots show the Chinese interface; FinderRight is also fully available in English.
Requires macOS 13+ on Apple Silicon (Intel is not supported).
brew install --cask funny-dog/tap/finderrightHomebrew removes the quarantine attribute and skips the Gatekeeper first-launch check; use the DMG if you want to keep it. The tap is maintained by this project, not Homebrew's official repository.
Download FinderRight.dmg and drag it into Applications. The app is self-signed and not notarized by Apple; if the first launch is blocked, go to System Settings → Privacy & Security → Open Anyway, or run:
xattr -dr com.apple.quarantine /Applications/FinderRight.appIf the main site is slow or unreachable, try the standalone mirror. It hosts the showcase page only, not installers; use the DMG link above or Gitee releases for downloads.
Follow the onboarding: enable the Finder extension, grant Full Disk Access, and grant Accessibility.
Check for updates in Settings → About, or turn on automatic updates in Settings → General; Homebrew users can also run brew upgrade --cask --greedy funny-dog/tap/finderright. Restart Finder after upgrading, or the context menu may stay on the old version:
killall FinderUpgrading from 1.2.0 or earlier, auto-update details
- First upgrade from 1.2.0 or earlier: older builds were ad-hoc signed, so macOS treats the new one as a different app; re-grant permissions once even if the toggles look on. The easiest way:
Then reopen FinderRight and follow the onboarding. Since 1.3.0 a fixed certificate is used, so later upgrades keep permissions.
tccutil reset SystemPolicyAllFiles com.finderright.app tccutil reset Accessibility com.finderright.app
- Auto-update: off by default; when on, it checks every 6 hours and installs while file operations are idle, then restarts. It queries the website and GitHub and accepts an installable new version immediately. An up-to-date result or one missing verification information waits for the other source; failed checks can be retried immediately. Downloads switch to the alternate source if they stall, and SHA-256 and the signing certificate are always verified before installation.
- Mixing Homebrew and in-app updates: in-app updates don't update Homebrew's version record, which may cause reinstalls; the cask declares
auto_updates true, so a plainbrew upgradeskips it.
| Symptom | Fix |
|---|---|
| No FinderRight items in the right-click menu | Use Settings → Permissions & Extensions → Troubleshooting to enable the Finder extension and relaunch Finder. |
| Menu or badges look old after upgrading | Relaunch Finder: killall Finder. |
No menu in cloud folders, /Applications, etc. |
A system limitation; use right-click → Services instead (see below). |
| No Compress / Extract in the menu | Off by default; turn it on in Settings → Features. |
| Shortcuts do nothing | Grant Accessibility; most shortcuts need a selected item. |
| No scissors badge after cutting | Another extension (such as Keka) may hold the badge; paste still works. Turn on "Resolve Badge Conflicts Automatically" in Settings → Features. |
| No visible result after an action | Check Settings → Operation History for the result or failure reason. |
| Open in Terminal doesn't switch folders | Ghostty / Alacritty / Kitty can't take a working directory while already running. |
| Permissions look on but don't work after upgrading | Upgrading from 1.2.0 or earlier requires re-granting once (see "Upgrading"). |
| Space on a folder or ZIP still shows the system preview | Turn on "Enhanced previews" in Settings → Features → Quick Look, then reopen Quick Look. |
Space on a .md file doesn't show FinderRight's formatting |
Turn on "Markdown rendering" in the same place; if it reports another app’s Markdown preview, turn one of them off. |
Cloud folders and the Services menu
iCloud Drive, Google Drive, OneDrive, Dropbox and similar services are File Provider domains on macOS, owned by the provider's own extension, so third-party Finder extension menus don't appear there, and Full Disk Access doesn't change that (see the Apple DTS reply quoted in Keka #1327). Unregistered folders such as /Applications and /Users/Shared behave the same way.
In these places FinderRight's actions are available under right-click → Services: Copy Path / Copy File Name / Copy File Content / Go to Folder / New File / Move To / Copy To / Open in Terminal / Open in Editor / Cut / Paste into This Folder / Compress / Extract.
- Paste: after cutting, right-click empty space in the destination and choose "Services → FinderRight: Paste into This Folder"; if Services is missing there, right-click the destination folder from its parent. It moves FinderRight's cut queue, not the system clipboard.
- New File and Move To / Copy To show a confirmation dialog first; cancelling does nothing.
- Service titles follow the system language, not FinderRight's language setting.
Quick Look scope and limits
- Folders and ZIP / TAR / TAR.GZ / TAR.BZ2 / TAR.XZ / 7z / RAR archives use read-only, expandable and sortable listings; no archived file-content preview or extraction to disk.
- apk / ipa / jar / war / whl are listed as ZIP; rpm lists its payload files (zstd-compressed payloads aren't supported); iso lists the disc directory; deb and pkg list only top-level members (such as
data.tar.xzorPayload) without opening nested archives. - YAML / YML / TOML / INI display text up to 1 MiB, using UTF-8 or BOM-marked UTF-16.
- Dotfiles such as
.gitignoreand.env, extensionless files such asDockerfile, config files such as.conf/.config/.cfg, source code macOS doesn't recognize (.go/.rs/.tsx/.vue/.scss/.sql/.proto/.tfand more), structured text such as.jsonl/.lock, and subtitles or markup such as.srt/.vtt/.tex/.orgare detected by content: text is shown as plain text (no syntax highlighting), while non-text files (such as.DS_Storeor executables) keep the system's default preview. TypeScript.tsfiles can't be taken over because macOS always treats them as video. - Markdown (
.md) renders headings, lists, task lists, tables, quotes and code blocks, up to 1 MiB; table column alignment is preserved, and footnote markers and definition text are preserved without jump navigation; leading YAML front matter is shown as-is; images show only their alt text, HTML is shown as plain text, hover over links to see their targets or right-click to copy their addresses; links don't open, and no external resources are loaded. It's a separate preview extension you can turn off in Settings; if another app such as MarkEdit also previews Markdown, Settings suggests keeping only one. - Document preview content is generated in the background to reduce main-thread blocking while preparing complex Notebook and SQLite previews.
- Jupyter Notebook v4 reads up to 5 MiB and displays up to 200 cells, with rendered Markdown, code and saved text outputs. Code is never executed, external resources are never loaded, and image/HTML outputs are omitted.
- SQLite (
.sqlite/.sqlite3) displays names and types of columns and up to 50 rows from each of 20 ordinary tables, with a 512-byte cell display limit. Views, virtual tables and generated columns are skipped. Read-only previews use the main database file snapshot and omit uncheckpointed WAL changes. - Includes hidden items; doesn't follow symbolic links, browse app packages, or compute folder sizes.
- Up to 2,000 items per folder and 10,000 archive records, with a notice when truncated; other archive formats also have scan resource limits.
- ZIP64 and split ZIPs aren't supported; encrypted ZIPs list entries but aren't decrypted.
- The preview extension has its own sandbox permissions; the main app's Full Disk Access doesn't extend to it.
Other known behavior
- Encrypted / multi-volume archives: encrypted ZIPs prompt for a password; encrypted 7z / RAR and split archives fail with a message, and temporary files are cleaned up.
- Undo: single-level only, interleaved with Finder's own undo; items that changed or whose original location is taken are skipped, and deletions always go to the Trash.
- Operation history: stored only on this Mac, keeping the latest 100 entries by default (0 / 50 / 500 also available); clearing it doesn't affect files or undo.
- Cut state: if the main app crashes mid-paste, unmoved items return to the cut queue on next launch.
- Language: the context menu switches immediately; the cut badge label updates after Finder restarts.
Complete uninstall
killall FinderRight 2>/dev/null || true
rm -rf /Applications/FinderRight.app
rm -rf ~/Library/Application\ Support/FinderRight
rm -f ~/Library/Preferences/com.finderright.app.plist
tccutil reset All com.finderright.app 2>/dev/null || true
killall FinderCommand Line Tools only, no Xcode required:
bash scripts/setup-signing.sh # first time only: create the self-signed certificate (back up the private key)
bash scripts/ci.sh # build + unit tests + type checks
bash scripts/build.sh # produces the .app plus DMG / ZIPYou can also generate an Xcode project with xcodegen (xcodegen generate). The project consists of the main app (non-sandboxed, performs file operations), a Finder extension (sandboxed, provides the menu) and a Quick Look extension; the extensions wake the main app via a file + URL scheme, with no App Group or paid developer account required. Website source lives in website/.

