UStackUStack
Multitui icon

Multitui

Multitui 将 TUI 命令行程序封装成专属原生 macOS .app,并提供文件系统沙盒、网络过滤与密钥过滤,保护开发机安全。

Multitui

Multitui 是什么?

Multitui 是一个 macOS 应用工厂,将基于终端的 TUI(文本用户界面)程序封装成专属原生 .app 包。其目标是让你继续使用现有命令行工具,同时在沙盒化的 macOS 终端应用中运行它们,而不是直接在日常 shell 中启动这些工具。

沙盒化重点保护开发机免受不受信任或代理驱动代码的侵害。Multitui 应用文件系统沙盒规则、网络过滤和密钥过滤,以降低在非允许位置读写文件或通过出站连接泄露凭证的风险。

主要特性

  • TUI 转 .app 封装:将 TUI 程序转为独立的 macOS 应用包,带有专属 Dock 图标、Spotlight 集成和窗口管理。
  • 文件系统沙盒(sandbox-exec):使用 macOS sandbox-exec,采用默认拒绝写入和删除行为,并为特定路径设置针对性允许规则。
  • 网络沙盒控制:可阻止所有出站网络访问,或应用域名级规则限制工具可联系的主机。
  • 密钥过滤(gitleaks 驱动):在网络流量离开机器前扫描 API 密钥、令牌和凭证。
  • 拒绝/允许可见性和覆盖:提供拒绝操作日志,便于添加允许规则;还包含明确描述为 --dangerously-skip-permissions 的选项。

如何使用 Multitui

  1. macOS 15+ 上下载并打开 Multitui(页面显示 v0.13.1, 24 MB)。
  2. 选择要封装为 Multitui 应用的 TUI 程序,并配置其沙盒规则。
  3. 使用沙盒规则设置文件系统权限(包括默认拒绝基线与针对性路径)和网络规则(全部阻止或域名/主机级允许规则)。
  4. 保存并运行生成的 macOS .app;将其作为该工具的专属窗口,同时日常终端仍可用于一般工作。

使用场景

  • 运行 AI 编码代理,缩小破坏范围:封装代理式 TUI,使其运行时无 blanket 写入/删除开发环境的权限,同时过滤出站连接。
  • 为工具提供独立窗口而非堆叠标签:将常用 TUI 转为专属应用,带有独立 Dock 图标和 Spotlight 条目,减少终端标签混乱。
  • 实验时保护敏感文件和密钥:使用文件系统规则限制读写至项目文件夹,并在其他位置拒绝写入/删除;依赖密钥过滤处理出站流量。
  • 限制命令行工具的网络访问:阻止所有出站流量,或仅允许特定域名/主机,使工具无法自由访问互联网。
  • 锁定代理权限并安全迭代:审查拒绝操作日志,当某项被阻后添加针对性允许规则,而非开放宽泛权限。

常见问题

  • Multitui 沙盒化文件、网络流量,还是两者皆有? Multitui 同时提供 文件系统沙盒(via sandbox-exec)和 网络过滤,并包含扫描出站网络流量的 密钥过滤

  • 使用它需要容器或 VM 吗? 页面明确表示 无需启动容器或 VM

  • Multitui 如何处理文件权限? 页面描述了对写入和删除采用 默认拒绝 方法,并为特定路径(包括项目文件夹)设置 针对性允许规则,辅以拒绝操作日志帮助优化规则。

  • Multitui 能完全阻止互联网访问吗? 可以——其网络沙盒可配置为 阻止所有出站网络访问,或仅允许特定主机/域名。

  • 密钥过滤检测什么? 它扫描出站网络流量中的 API 密钥、令牌和凭证,由 gitleaks 驱动。

替代方案

  • 在终端直接运行 TUI 并手动控制进程:保留相同的终端工作流,但将责任转嫁给你(例如 SSH/VPN 规则、手动权限或外部沙盒),而非使用 Multitui 内置的 app 级沙盒配置。
  • 在 Multitui 外部使用通用 macOS 沙盒方法:不将 TUI 转换为专属 .app 包,而是通过其他 macOS 机制应用沙盒,但无法获得此处描述的每个工具的 app 封装和规则工具。
  • 使用容器/VM 隔离:这是产品页面备注“无需使用”的主要替代方案。容器/VM 可隔离工具,但相较生成原生 app 会增加操作开销。
  • 仅使用终端窗口管理工具:如果主要需求是减少终端杂乱,窗口管理器/启动器解决方案可帮助组织 TUI,但无法提供相同文件系统/网络/密钥沙盒。