UStackUStack
Multitui favicon

Multitui

Multitui は、任意のターミナル/TUI プログラムを個別のサンドボックス化されたネイティブ macOS アプリケーションに変換し、ファイルシステム保護、専用ウインドウ、そして Finder との深い連携を実現する macOS 向けのアプリ工場です。

Multitui

Multituiとは?

Multitui とは?

Multitui は、あらゆるターミナルベースのプログラムや TUI(テキストユーザーインターフェース)プログラムを、スタンドアロンのネイティブ macOS アプリケーションとしてラップできる、macOS 向けの「アプリ工場」です。強力なツールや信用できないコードをメインのターミナルで直接実行する代わりに、.app バンドルを個別に生成し、各ツールを一級の Mac アプリとして扱えるようにします——専用のアイコンやウインドウ、「最近使った書類」、各種連携を備えつつ、きめ細かなファイルシステムサンドボックスの保護を受けられます。

Multitui は、パワーユーザーや開発者、コマンドラインツールに依存するすべてのユーザーを対象に設計されています。既存のワークフローやターミナル環境をそのまま維持しながら、安全性を高めることが目的です。一般的なシェルのように CLI ツールへアクセスできますが、その上に保護レイヤーを追加し、コードがマシン上で読み取り・書き込み・削除できる範囲を制限します。そのため、開発環境や個人ファイルを危険にさらすことなく、AI コーディングエージェントや各種ユーティリティ、特化型 TUI アプリを実行するのに最適です。

主な機能

  • 任意のターミナルツールを専用の macOS アプリに
    TUI やコマンドラインプログラムを専用の macOS アプリに変換し、それぞれに独立した .app バンドルを持たせます。lazygithtop、AI コーディングエージェントなどに、ターミナルのタブではなく専用のウインドウとアイコンを与えることができます。

  • macOS sandbox-exec によるファイルシステムサンドボックス
    Multitui は、組み込みの sandbox-exec フレームワークを利用して、アプリがアクセスできる範囲を制御します:

    • すべての場所で削除操作をデフォルト拒否
    • ユーザーフォルダ(~)内の読み書きをデフォルト拒否
    • 特定のパスやプロジェクトフォルダに対するピンポイントの許可ルール
    • 信頼できるプロジェクトディレクトリに対しては、フル読み書き許可も選択可能
    • 拒否された操作のログを記録し、何がブロックされたか確認して、必要に応じて許可
    • 制限を意図的に無効化したい場合の "--dangerously-skip-permissions" モード
  • フォルダベース & ファイルベースのアプリ
    あなたの働き方に合わせたアプリを構築できます:

    • フォルダベースのアプリ:プロジェクトディレクトリを開いてその中で作業(AI コードエージェント、lazygitdua などに最適)
    • ファイルベースのアプリ:Finder で書類をダブルクリックすると自作アプリで開く(nano、SQLite ツール、JSON ビューア、HEX エディタなどに最適)
  • ネイティブに近い macOS との統合
    生成された各アプリは、ネイティブ Mac アプリのように振る舞います:

    • Dock アイコンと Spotlight による検索
    • ネイティブなウインドウ管理のサポート(Rectangle や Magnet などとの相性も良好)
    • 「最近使った書類」メニューやドキュメント中心のワークフロー
    • ネイティブタブとカスタマイズ可能なツールバー(ミニマルなツールバーもシームレスに利用可能)
  • Finder 連携とファイルハンドリング
    Finder から直接コンテンツを起動/オープン:

    • Finder ツールバーからワンクリックでアクセス
    • 右クリック(コンテキストメニュー)対応
    • ファイルやフォルダを Dock アイコンにドラッグして開く
    • 特定のファイル種別や拡張子のハンドラーとしてアプリを登録
    • URL スキーム対応(例:claudecode://open?arg=/path/to/open
  • コマンドライン & 自動化フレンドリー
    生成されたアプリは、プログラムから起動できます:

    • MyApp.app /path/to/open のようにコマンドラインから実行
    • AppleScript や自動化ワークフローとの連携
    • シェルスクリプト、ランチャー、サードパーティ自動化ツールとの組み合わせ
  • 分離されたシェル履歴 & スニペット
    メインのシェル履歴をクリーンに保ち、ツールをより集中させます:

    • 各アプリごとに独立したコマンド履歴を保持(メインシェルとは別管理)
    • よく使うコマンドをアプリ専用のスニペットとして保存
    • ノイズを減らし、実験的なコマンドと日常的なコマンドの混在を回避
  • AI コーディングエージェントや開発ツール向けに最適化
    AI エージェントやコードアシスタントを安全に実行:

    • Claude Code、Codex、Gemini などのコーディングエージェントのプリセット例を同梱
    • プロジェクトディレクトリ内でのみ作業を許可し、システムのその他領域へのアクセスを遮断
    • サンドボックス外のパスでの誤削除や意図しない編集を防止
  • すぐに使えるサンプルアプリ
    Multitui には、構築できるアプリの例としてさまざまなサンプルが用意されています:

    • AI & コード:Claude Code、Codex、Gemini、OpenCode(オープンソースのコーディングエージェント)
    • 開発ツールlazygit(Git TUI)、dua(ディスク使用量エクスプローラ)
    • ファイルユーティリティnano(テキストエディタ)、Harlequin(SQLite インターフェース)、jqpjq を利用した JSON ビューア)、HEX ビューア、Markdown エディタ
    • システムユーティリティtophtop、ネットワークモニタ、バッテリー/電力消費モニタ、Docker 管理(lazydocker)など
  • CLI ツールからメニューバーウィジェットを構築
    定期的に CLI コマンドを実行し、その出力を表示する軽量なメニューバーアプリを構築できます:

    • (1.1.1.1 などへの)ping レイテンシを表示
    • 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 スキーム経由。
  4. サンドボックスルールの設定

    • サンドボックス設定パネルを開きます。
    • 安全なデフォルト設定(グローバルでの書き込み/削除禁止、ユーザーフォルダへのアクセス拒否)から開始します。
    • プロジェクトディレクトリや専用ワークスペースなど、特定パス向けにピンポイントの許可ルールを追加します。
    • 拒否ログを確認し、アプリがアクセスを試みた場所を把握しながら、必要に応じてルールをブラッシュアップします。
  5. macOS との統合をカスタマイズ

    • アプリ名、アイコン、外観を設定します。
    • 書類の扱い方、「最近使った書類」の挙動、ツールバーのスタイルを設定します。
    • ネイティブタブをサポートするか、シームレスなミニマルツールバーにするかを選択します。
  6. アプリのビルドとテスト

    • .app バンドルを生成します。
    • Finder、Dock、Spotlight から新しいアプリを起動します。
    • ベースになっている TUI/CLI ツールが、アプリのウインドウ内で正しく動作することを確認します。
    • よく使う操作を試し、拒否ログをチェックして、サンドボックスが期待通りに機能しているかを確認します。
  7. ワークフローへの統合

    • 新しいアプリを Dock にピン留めし、素早くアクセスできるようにします。
    • 関連するフォルダやファイル用に、Finder のツールバーやコンテキストメニューへ追加します。
    • コマンドラインや URL スキームを使って、特定のターゲットをプログラムから開きます。
    • アプリ内に頻出コマンドをスニペットとして保存し、分離されたシェル履歴を活用して、集中したワークフローを実現します。

ユースケース

  1. 安全な AI コーディングエージェント/アシスタントの実行
    Claude Code、Codex、Gemini などの AI コーディングエージェントやその他のコーディングコパイロットを安心して実行できます。Multitui を使うことで、次のようなことが可能になります:

    • エージェントに特定のプロジェクトフォルダ内のみ読み書きさせる
    • ホームディレクトリや SSH キー、無関係なリポジトリへのアクセスをブロックする
    • システムの別の場所でファイルが誤って削除・編集される心配なく、生成コードを試せる AI のパワーを活用しつつ、ファイルシステム全体へのアクセス権を明け渡したくない開発者にとって、理想的な構成です。
  2. 開発に集中できる専用 TUI アプリ
    よく使う TUI ツールをスタンドアロンアプリに変換:

    • lazygit を専用の Git 管理アプリとしてラップ
    • dua をディスク使用量エクスプローラアプリに変身
    • lazydocker を使って Docker 管理アプリを構築 各ツールが専用のウインドウと Dock アイコンを持つことで、ターミナルのタブが散らかるのを防ぎつつ、macOS のウインドウ管理やショートカットを最大限活用できます。
  3. 強力なファイル/データインスペクタ
    CLI ツールをベースに、ファイル中心のデータ閲覧・編集アプリを構築:

    • テキストエディタ(例:nano)を「テキストファイルをダブルクリックして開く」専用アプリに
    • Harlequin などを利用した SQLite データベースインスペクタアプリ
    • jqpjq を組み合わせた JSON ビューア
    • 低レベルなファイル検査向けの HEX ビューアやパッチツール Finder 連携を使えば、ファイルをダブルクリックまたは右クリックするだけで、自分の Multitui 製カスタムアプリで自動的に開くようにできます。
  4. システム監視と診断
    システムユーティリティを、常駐しつつ互いに分離された監視アプリに変換:

    • リソースモニタ(tophtop)を専用ウインドウで表示
    • ネットワーク接続モニタやトラフィックインスペクタ
    • バッテリー使用状況や電力消費モニタ 設定が対応していれば、グローバルショートカットや「常に最前面」オプションを使って、重要なビューを作業中も常に見えるようにできます。
  5. CLI コマンドを利用したメニューバーステータスウィジェット
    シンプルな CLI 出力を、軽量なメニューバーウィジェットに変換:

    • 既知ホスト(1.1.1.1 など)への ping を実行し、レイテンシをメニューバー表示
    • icanhazip.com をポーリングして現在のグローバル IP アドレスを表示
    • wttr.in を用いてローカルの天気や気温を取得し表示 これらの小さく特化したアプリにより、ブラウザやフルサイズのターミナルを開かずにリアルタイムなステータスを把握できます。

よくある質問(FAQ)

1. Multitui はどのプラットフォームに対応していますか?
Multitui は macOS 15 以降向けに設計されたネイティブ macOS アプリケーションです。sandbox-exec、Dock 連携、Finder 拡張、ネイティブなドキュメント処理など macOS 固有の技術を利用しているため、Windows や Linux 版は提供していません。

2. 既存のターミナル/シェル環境を変更する必要はありますか?
いいえ。Multitui は現在のワークフローを置き換えるのではなく、補完するためのツールです。日常的な作業には、iTerm2、Ghostty、Alacritty、Terminal.app など、これまで通りのターミナルを使い続けられます。Multitui は、AI エージェントや TUI、システムユーティリティなど、特定のツールに専用のサンドボックス付きアプリウインドウを与える用途に最適です。

3. Multitui はどのようにファイルシステムを保護しますか?
Multitui は macOS の sandbox-exec を利用して、生成された各アプリの権限を制限します。デフォルトでは、すべての場所での削除操作を拒否し、ユーザーフォルダ(~)への読み書きアクセスをブロックします。そのうえで、信頼できるパス(特定のプロジェクトディレクトリなど)に対して個別に許可ルールを追加できます。拒否された操作はすべてログに記録されるため、どの操作がブロックされたかを確認しながら、必要に応じて制限を緩める判断ができます。また、意図的にフルアクセスを許可したい場合のために、これらの保護をバイパスする明示的なオプションも用意されています。

4. Multitui で作ったアプリから、直接ファイルやフォルダを開けますか?
はい。Multitui は Finder や macOS のドキュメント処理システムと連携しています。次のような操作が可能です:

  • ファイルをダブルクリックして、自作アプリ(ハンドラー登録済みの場合)で開く
  • Finder のツールバーや右クリックメニューを利用
  • ファイルやフォルダを Dock アイコンにドラッグ&ドロップ
  • URL スキーム(例:claudecode://open?arg=/path/to/open)や、MyApp.app /path/to/open のようなコマンドライン呼び出しで、プログラムからコンテンツを開くこともできます。

5. Multitui は非エンジニアにも向いていますか?
Multitui は主に、コマンドラインツールに慣れた技術ユーザーやパワーユーザーをターゲットにしています。ただし、一度アプリが作成されてしまえば、非技術ユーザーも生成された .app バンドルの恩恵を受けられます——ファイルを開いたりツールを実行したり、メニューバーウィジェットを使ったりでき、ターミナルに触れる必要はありません。チームでは、上級ユーザーがアプリを構築・設定し、他のメンバーは通常の macOS アプリと同じ感覚でそれらを利用できます。

Multitui | UStack