个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Your files' big brother: drag apps onto file types and open them from Finder's right-click menu. Native macOS app.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
The “Open with Code” menu your Mac never had.
Right‑click any folder in Finder → open it in VS Code, Cursor, Zed, Terminal, iTerm, Ghostty, or any app you like.
On Windows, VS Code puts “Open with Code” in the right‑click menu. On a Mac you get… dragging folders onto the Dock, or cd‑ing around to type code .. Finder's Open With menu doesn't even appear for folders.
OpenAbi fixes that. Tell it once which apps belong to folders (or to .md, .json, .xcodeproj, anything), and they're one right‑click away forever.查看完整 README ↗The “Open with Code” menu your Mac never had. Right‑click any folder in Finder → open it in VS Code, Cursor, Zed, Terminal, iTerm, Ghostty, or any app you like.
Website · Download · Report a bug
On Windows, VS Code puts “Open with Code” in the right‑click menu. On a Mac you get… dragging folders onto the Dock, or cd‑ing around to type code .. Finder's Open With menu doesn't even appear for folders.
OpenAbi fixes that. Tell it once which apps belong to folders (or to .md, .json, .xcodeproj, anything), and they're one right‑click away forever.
abi /ah‑bee/ (Turkish): big brother. The one who always knows what to do with your stuff.
.app onto Folders, All Files, or a specific type like .md, .json or .xcodeproj.Download: grab OpenAbi.dmg, open it, drag OpenAbi into Applications, and launch it once.
Homebrew:
brew tap firatmelih/openabi https://github.com/firatmelih/OpenAbi
brew install --cask openabi
On first launch, OpenAbi turns on its Finder extension for you; the green dot at the top of the window confirms it. Then click Add All to Folders in Quick setup, or drag in your own apps.
| You add… | to… | Right‑click in Finder shows |
|---|---|---|
| Visual Studio Code | Folders | Open in Visual Studio Code on every folder |
| Terminal / iTerm / Ghostty | Folders | Open in Terminal, which opens a shell right there |
| Typora | .md | Open in Typora on Markdown files |
| Xcode | .xcodeproj | Open in Xcode on project bundles |
| TextEdit | All Files | Open in TextEdit on any file |
md, json, yml) and press Return.You don't need to keep OpenAbi running. Finder loads the extension by itself, and changes apply immediately.
OpenAbi uses Sparkle, the standard updater for Mac apps:
OpenAbi only goes online to check for updates (the appcast.xml feed and release notes on GitHub Pages) and to download them from GitHub Releases.
┌──────────────────────┐ rules.json (App Group) ┌──────────────────────────┐
│ OpenAbi.app │ ─────────────────────────▶ │ Finder Sync extension │
│ SwiftUI + Sparkle │ │ context menu & toolbar │
└──────────┬───────────┘ └────────────┬─────────────┘
│ installs │ runs on click
▼ ▼
~/Library/Application Scripts/…/open-with.sh ──▶ open -a "<App>" <items…>
Finder extensions must be sandboxed, and a sandboxed process isn't allowed to ask another app to open your files. So the main app installs a one‑line helper script into the extension's Application Scripts folder. macOS runs scripts from that folder outside the sandbox (via NSUserUnixTask). The script is just open -a.
Your rules stay on your Mac in ~/Library/Group Containers/XQH36L7379.com.melihfirat.OpenAbi/rules.json.
Requires Xcode 26 or later (the icon is an Icon Composer .icon). Sparkle is pulled in by Swift Package Manager.
git clone https://github.com/firatmelih/OpenAbi.git
cd OpenAbi
open OpenAbi.xcodeproj # then Run the "OpenAbi" scheme
For your own fork, set your team in Signing & Capabilities for both targets, and replace the XQH36L7379 App Group prefix in Config/*.entitlements and Shared/Rules.swift.
MARKETING_VERSION and CURRENT_PROJECT_VERSION (Sparkle compares the build number).docs/release-notes/<version>.html.docs/appcast.xml:
NOTARY_PROFILE=OpenAbi scripts/release.sh
gh release create v<version> dist/OpenAbi.dmg), then commit and push docs/appcast.xml and bump version/sha256 in Casks/openabi.rb.The Sparkle private key lives in the maintainer's Keychain (account OpenAbi). The public key is SUPublicEDKey in Config/OpenAbi-Info.plist.
| Path | What's inside |
|---|---|
OpenAbi/ | The app: SwiftUI window, presets, rule editing, Sparkle updater, helper-script installer, app icon |
FinderExtension/ | The Finder Sync extension: context menu, toolbar button, daily update check |
Shared/ | Rule model and storage used by both targets |
Config/ | Entitlements and Info.plists |
Casks/ | Homebrew cask |
docs/ | The website, update feed, and release notes (GitHub Pages) |
Quit OpenAbi and move it to the Trash (or brew uninstall --zap --cask openabi). To remove its leftover data by hand:
rm -rf ~/Library/Group\ Containers/XQH36L7379.com.melihfirat.OpenAbi \
~/Library/Application\ Scripts/com.melihfirat.OpenAbi.FinderExtension
MIT © Melih Firat