UStackUStack
Multitui favicon

Multitui

Multitui 是一款適用於 macOS 的應用工廠,能將任何終端機或 TUI 程式包裝成各自獨立沙盒化的原生 macOS 應用程式,為你提供檔案系統保護、專屬視窗以及與 Finder 的深度整合。

Multitui

什麼是 Multitui?

什麼是 Multitui?

Multitui 是一款在 macOS 上運作的「應用工廠」,可以把任意終端機程式或 TUI(文字使用者介面)程式封裝成獨立的原生 macOS 應用程式。相較於直接在主要終端機裡執行強大工具與不受信任的程式碼,你可以產生一個個獨立的 .app 套件——它們擁有自己的圖示、視窗、最近使用文件與系統整合——同時享有細緻的檔案系統沙盒保護。

Multitui 專為重度使用者、開發者,以及所有依賴指令列工具的人而設計,幫助你在不打亂既有工作流程與終端機設定的情況下,更安全地使用這些工具。它本質上像是一個能存取你現有 CLI 工具的通用 shell,但在每個應用外再加上一層保護,限制程式碼在你的機器上可以讀取、寫入或刪除哪些內容。因此非常適合用來執行 AI 程式碼代理、小工具以及專注型 TUI 應用,同時避免破壞開發環境或個人檔案。

主要功能

  • 為任意終端機工具建立自訂 macOS 應用
    將 TUI 與指令列程式轉換成獨立的 macOS 應用,每個都有自己的 .app 套件。像 lazygithtop 或 AI 程式碼代理等工具,都可以擁有自己的視窗與圖示,而不是再塞進另一個終端機分頁。

  • 利用 macOS sandbox-exec 進行檔案系統沙盒化
    Multitui 使用內建的 sandbox-exec 框架,限制應用程式可以存取的範圍:

    • 預設在所有位置拒絕刪除操作
    • 預設拒絕對使用者目錄(~)的讀寫
    • 可針對特定路徑或專案資料夾設定精準的允許規則
    • 可選擇對信任的專案資料夾開放完整讀寫
    • 記錄所有被拒絕的操作,方便你查看被阻擋的內容並選擇性放行
    • 提供 "--dangerously-skip-permissions" 模式,當你明確想繞過限制時可以啟用
  • 以資料夾為中心與以檔案為中心的應用
    依照你的工作方式客製應用:

    • 以資料夾為中心的應用:在專案資料夾內開啟並工作(非常適合 AI 程式碼代理、lazygitdua 等工具)
    • 以檔案為中心的應用:在 Finder 中雙擊文件,即可用你的自訂應用開啟(非常適合 nano、SQLite 工具、JSON 檢視器、十六進位編輯器等)
  • 一流的 macOS 系統整合
    每個產生的應用都像原生 Mac 應用一樣運作:

    • 具備 Dock 圖示並可被 Spotlight 搜尋
    • 支援原生視窗管理(與 Rectangle、Magnet 等工具搭配良好)
    • 提供「最近使用文件」選單與以文件為主的工作流程
    • 支援原生分頁與可設定工具列,包括無縫的極簡工具列
  • 與 Finder 的整合與檔案處理
    直接從 Finder 啟動應用並開啟內容:

    • 提供 Finder 工具列按鈕,便於快速存取
    • 支援右鍵(內容選單)
    • 將檔案或資料夾拖曳到 Dock 圖示即可開啟
    • 能將應用註冊為特定檔案類型或副檔名的預設處理程式
    • 支援 URL Scheme(例如 claudecode://open?arg=/path/to/open
  • 對指令列與自動化友善
    每個產生的應用都可以用程式方式啟動:

    • MyApp.app /path/to/open 這樣從指令列執行
    • 與 AppleScript 與各種自動化流程整合
    • 搭配 shell 腳本、啟動器或第三方自動化工具一起使用
  • 隔離的 shell 歷史與命令片段
    保持主要 shell 歷史乾淨,讓工具更專注:

    • 每個應用維護自己的指令歷史,與主 shell 相互獨立
    • 可以將常用指令儲存為該應用專用的 snippets(命令片段)
    • 降低雜訊,避免將實驗性指令與日常指令混在同一份歷史中
  • 針對 AI 程式碼代理與開發工具最佳化
    安全地執行 AI 代理與程式碼助理:

    • 提供 Claude Code、Codex、Gemini 等程式碼代理的預先範例
    • 允許它們只在專案資料夾內工作,同時阻止存取系統其他部分
    • 避免在沙盒以外路徑發生誤刪檔案或不必要的修改
  • 現成示範應用
    Multitui 提供多種示範應用,展示你可以打造哪些東西:

    • AI 與程式碼:Claude Code、Codex、Gemini、OpenCode(開源程式碼代理)
    • 開發工具lazygit(Git TUI)、dua(磁碟使用量瀏覽工具)
    • 檔案工具nano(文字編輯器)、Harlequin(SQLite 介面)、jqp(搭配 jq 的 JSON 檢視器)、十六進位檢視器、Markdown 編輯器
    • 系統工具tophtop、網路監控器、電池/耗電監控、Docker 管理(lazydocker)等
  • 由 CLI 工具驅動的選單列小工具
    建立輕量級的選單列應用,定期執行 CLI 指令並顯示輸出結果:

    • 顯示 ping 延遲(例如到 1.1.1.1)
    • 透過 icanhazip.com 等服務顯示外部 IP
    • 透過 wttr.in 等工具追蹤天氣或溫度
  • 保留你既有的終端機工作流程
    Multitui 是加乘而非替代。你可以照常使用 iTerm2、Ghostty、Alacritty 或 Terminal.app 處理一般工作,同時將最重要的工具搬到各自獨立且具沙盒保護的視窗中。

如何使用 Multitui

  1. 下載並安裝

    • 下載適用於 macOS 的 Multitui 應用(原生支援 macOS 15 以上版本)。
    • 將它拖曳到「應用程式」資料夾,然後像一般 Mac 應用程式一樣啟動。
  2. 建立新的應用設定

    • 開啟 Multitui 的「應用工廠」介面。
    • 點選建立新的應用設定檔,為你想封裝的工具建立設定(例如某個 AI 代理、lazygit、JSON 檢視器或系統工具)。
    • 指定該應用要執行的指令或可執行檔。
  3. 選擇應用類型與行為

    • 決定你的應用要 以資料夾為中心(針對專案資料夾運作)還是 以檔案為中心(開啟特定檔案)。
    • 設定使用者如何開啟內容:在 Finder 中雙擊、拖放、工具列按鈕,或透過 URL Scheme。
  4. 設定沙盒規則

    • 開啟沙盒設定面板。
    • 從預設安全設定開始(全域禁止寫入/刪除、禁止存取使用者目錄)。
    • 為特定路徑新增精確的允許規則,例如你的專案資料夾或專用工作區。
    • 利用拒絕紀錄查看應用嘗試存取的內容,並依需要調整規則。
  5. 自訂 macOS 整合

    • 設定應用名稱、圖示與外觀。
    • 設定文件處理方式、「最近使用文件」行為與工具列樣式。
    • 決定是否支援原生分頁,或採用無縫、極簡的工具列外觀。
  6. 建置並測試你的應用

    • 點擊產生 .app 套件。
    • 從 Finder、Dock 或 Spotlight 啟動新應用。
    • 確認底層 TUI/CLI 工具在應用視窗中能正常運作。
    • 透過嘗試常見操作並查看拒絕紀錄,驗證沙盒是否如預期運作。
  7. 將其整合進你的工作流程

    • 將新應用固定到 Dock,以便快速啟動。
    • 將它加入 Finder 工具列或相關檔案/資料夾的右鍵選單。
    • 使用指令列或 URL Scheme 以程式方式開啟特定目標。
    • 在應用內建立並儲存常用指令片段,並依靠隔離的 shell 歷史打造更專注的工作流程。

使用情境

  1. 安全的 AI 程式碼代理與助理
    自信地執行 Claude Code、Codex、Gemini 等 AI 程式碼代理或其他程式碼 Copilot。使用 Multitui 可以:

    • 僅允許代理在指定專案資料夾中讀寫
    • 阻擋其存取主目錄、SSH 金鑰或其他無關的版本庫
    • 無須擔心不小心在系統其他位置刪除檔案或修改程式碼,就能放心試驗生成程式 對於想享有 AI 助力、又不願完全開放檔案系統存取權的開發者來說,這種方式非常理想。
  2. 專注開發的獨立 TUI 應用
    將常用的 TUI 工具轉成獨立應用:

    • lazygit 封裝成專用的 Git 管理應用
    • dua 打造成磁碟使用量瀏覽應用
    • 使用 lazydocker 建立 Docker 管理應用 每個工具都有自己的視窗與 Dock 圖示,你可以減少終端機分頁雜亂,同時充分利用 macOS 的視窗管理與快捷鍵。
  3. 強大的檔案與資料檢視/編輯工具
    以 CLI 工具為基礎建立以檔案為主的應用,用於檢視與編輯資料:

    • 將文字編輯器(例如 nano)做成「雙擊文字檔即開啟」的應用
    • 使用 Harlequin 等工具建立 SQLite 資料庫檢視應用
    • 藉由 jqpjq 打造 JSON 檢視器
    • 建立十六進位檢視器或修補工具,用於低階檔案檢查 搭配 Finder 整合,使用者只要雙擊或右鍵檔案,即可自動用你以 Multitui 建立的自訂應用開啟。
  4. 系統監控與診斷
    將系統工具轉化為隨時可用、彼此隔離的監控應用:

    • 將資源監控工具(tophtop)放在獨立視窗中
    • 建立網路連線監控與流量檢視工具
    • 建立電池用量或耗電監控工具 藉由全域快捷鍵或「永遠顯示在最前」等選項(視你的設定支援情況而定),讓關鍵畫面在工作時始終可見。
  5. 由 CLI 指令驅動的選單列狀態小工具
    利用 Multitui 將簡單的 CLI 輸出轉換成輕量選單列小工具:

    • 定期 ping 指定主機(例如 1.1.1.1),並在選單列顯示延遲
    • 透過輪詢 icanhazip.com 顯示目前的公共 IP 位址
    • 透過 wttr.in 取得並顯示當地天氣或溫度 這些小而專注的應用能即時呈現狀態資訊,無需開啟瀏覽器或完整終端機視窗。

常見問題(FAQ)

1. Multitui 支援哪些平台?
Multitui 是專為 macOS 15 以上版本打造的原生應用程式。它仰賴 sandbox-exec、Dock 整合、Finder 延伸功能以及原生文件處理等 macOS 特有技術,因此不提供 Windows 或 Linux 版本。

2. 我需要更動目前使用的終端機或 shell 設定嗎?
不需要。Multitui 的設計是為了補充,而不是取代你現有的工作流程。你可以繼續使用 iTerm2、Ghostty、Alacritty、Terminal.app 或其他終端機處理一般工作。Multitui 最適合把部分工具——像 AI 代理、TUI 應用和系統工具——放進各自獨立且沙盒化的應用視窗中。

3. Multitui 如何保護我的檔案系統?
Multitui 利用 macOS 的 sandbox-exec 將每個產生的應用限制在指定範圍內。預設情況下,它會在所有位置拒絕刪除操作,並封鎖對使用者目錄(~)的讀寫存取。接著,你可以對信任的路徑(例如特定專案資料夾)新增允許規則。所有被拒絕的操作都會被記錄下來,方便你檢視並決定是否要選擇性放寬限制。此外也提供明確的選項,讓你在刻意需要完整存取權時,可以暫時繞過這些保護。

4. 我可以直接用 Multitui 應用開啟檔案與資料夾嗎?
可以。Multitui 與 Finder 以及 macOS 的文件處理機制深度整合,你可以:

  • 雙擊檔案,若已註冊為處理程式,會以自訂應用開啟
  • 使用 Finder 工具列按鈕或右鍵內容選單
  • 將檔案或資料夾拖曳到 Dock 圖示上
  • 使用 URL Scheme(例如 claudecode://open?arg=/path/to/open)以及像 MyApp.app /path/to/open 這樣的指令列呼叫,以程式方式開啟內容。

5. Multitui 適合非開發者使用嗎?
Multitui 主要是為熟悉指令列工具的技術使用者與重度使用者打造。不過,一旦應用建立完成,非技術使用者同樣可以受惠於產生出來的 .app 套件——他們可以雙擊開啟檔案、執行工具、使用選單列小工具,而無需碰到終端機。團隊中可以由進階使用者負責建立與設定應用,其餘成員只要像操作一般 macOS 應用程式一樣使用即可。

Multitui | UStack