OpenInOtty 是一款極簡的 macOS Finder 工具列應用程式:在 Finder 裡按一下工具列圖示,就會用 Otty 在目前目錄開啟終端機。專案網址:github.com/pintaste/OpenInOtty(MIT)。靈感來自 OpenInTerminal-Lite。它解決什麼問題日常寫程式、改設定,經常是:Finder 裡已經定位到某個資料夾,還要再開終端機、cd 一串路徑。Otty 是很好用的終端機,但缺少「從 Finder 目前位置一鍵跳進 Otty」的原生入口。OpenInOtty 把這件事收成工具列上的一枚圖示:按一下 → 取得目前 Finder 視窗路徑Otty 已在執行 → 用 otty-cli tab new --cwd <path> 開新分頁Otty 未在執行 → 用 otty-cli open <path> 啟動並進入該目錄沒有可用的 Finder 視窗 → 退回桌面失敗時彈出 NSAlert,不靜默吞錯誤應用程式本身是 LSUIElement:沒有 Dock 圖示、沒有選單列常駐。按一次、發完指令就結束,不佔背景。環境需求 依賴版本 / 說明 macOS12.0 Monterey 及以上 Xcode15+(App Store 免費版即可) Otty安裝在預設路徑 /Applications/Otty.app 安裝複製並建置 Release:BASH git clone https://github.com/pintaste/OpenInOtty.git cd OpenInOtty xcodebuild -project OpenInOtty.xcodeproj \ -scheme OpenInOtty \ -configuration Release \ -derivedDataPath build \ build cp -R build/Build/Products/Release/OpenInOtty.app /Applications/ 按住 ⌘,將 /Applications/OpenInOtty.app 拖到 Finder 工具列。第一次點擊時,macOS 會要求 Apple Events / Automation 權限,請選 Allow。如果當初點了拒絕,可以重設後再點一次圖示:BASH tccutil reset AppleEvents com.local.OpenInOtty 系統設定裡也可以查看:Privacy & Security → Automation(OpenInOtty → Finder)。運作原理(簡版)實作集中在單一 main.swift(約一百行),沒有 AppDelegate,也沒有常駐事件循環:透過 ScriptingBridge 讀取 Finder 最前視窗的路徑(finderPath())判斷 Otty(bundle id io.appmakes.otty)是否在執行呼叫 /Applications/Otty.app/Contents/MacOS/otty-cli 開分頁或 open出錯彈窗;成功則立刻 exit(0)Note路徑解析沒有用「Swift @objc optional protocol + respondsToSelector」那條常規路徑。ScriptingBridge 的私有子類別會對動態轉發的方法回傳 false,導致呼叫全是 nil,而且 TCC 授權彈窗都不會出現。改用 perform(NSSelectorFromString:) 才能真正發出 Apple Event。給 AI agent 的速查 項目值 Bundle IDcom.local.OpenInOtty 安裝路徑/Applications/OpenInOtty.app Otty 路徑/Applications/Otty.app Otty CLI.../Contents/MacOS/otty-cli UI 類型LSUIElement = true ⌘ 拖到工具列這一步必須使用者自己操作;agent 不要編造其他 bundle id 或 Otty 路徑。常見問題按了沒反應?確認 Otty 在 /Applications/Otty.app,並檢查 Automation 權限。權限項目遺失時用上面的 tccutil reset 再按一次。開啟的是桌面而不是目前資料夾?需要至少一個未最小化的 Finder 視窗;最小化視窗不會被當成目前目錄。總結如果你日常使用 Otty,又習慣在 Finder 裡瀏覽專案目錄,OpenInOtty 把「定位 → 終端機」收成工具列一擊。原始碼短、無背景、MIT 開源。倉庫:https://github.com/pintaste/OpenInOtty授權:MIT相關:Otty · OpenInTerminal-Lite
OpenInOtty 是一款極簡的 macOS Finder 工具列應用程式:在 Finder 裡按一下工具列圖示,就會用 Otty 在目前目錄開啟終端機。
專案網址:github.com/pintaste/OpenInOtty(MIT)。靈感來自 OpenInTerminal-Lite。
它解決什麼問題
日常寫程式、改設定,經常是:Finder 裡已經定位到某個資料夾,還要再開終端機、cd 一串路徑。Otty 是很好用的終端機,但缺少「從 Finder 目前位置一鍵跳進 Otty」的原生入口。
OpenInOtty 把這件事收成工具列上的一枚圖示:
應用程式本身是 LSUIElement:沒有 Dock 圖示、沒有選單列常駐。按一次、發完指令就結束,不佔背景。
環境需求
安裝
如果當初點了拒絕,可以重設後再點一次圖示:
系統設定裡也可以查看:Privacy & Security → Automation(OpenInOtty → Finder)。
運作原理(簡版)
實作集中在單一 main.swift(約一百行),沒有 AppDelegate,也沒有常駐事件循環:
路徑解析沒有用「Swift @objc optional protocol + respondsToSelector」那條常規路徑。ScriptingBridge 的私有子類別會對動態轉發的方法回傳 false,導致呼叫全是 nil,而且 TCC 授權彈窗都不會出現。改用 perform(NSSelectorFromString:) 才能真正發出 Apple Event。
給 AI agent 的速查
⌘ 拖到工具列這一步必須使用者自己操作;agent 不要編造其他 bundle id 或 Otty 路徑。
常見問題
按了沒反應?
確認 Otty 在 /Applications/Otty.app,並檢查 Automation 權限。權限項目遺失時用上面的 tccutil reset 再按一次。
開啟的是桌面而不是目前資料夾?
需要至少一個未最小化的 Finder 視窗;最小化視窗不會被當成目前目錄。
總結
如果你日常使用 Otty,又習慣在 Finder 裡瀏覽專案目錄,OpenInOtty 把「定位 → 終端機」收成工具列一擊。原始碼短、無背景、MIT 開源。