Farol icon

Farol

Farol 是原生 macOS 终端,用于监督 Claude Code、Codex 及其他终端 AI 编程代理。通过隔离 git worktree 管理会话,查看状态与通知,并审查、解决、提交、推送更改或发起 Pull Request。

Farol

面向代理的 macOS 终端

Farol 是原生 macOS 终端,用于代理式编程:开发者可以运行 Claude Code、Codex 及其他基于终端的 AI 编程代理,同时监督其会话。其侧边栏和状态指示器会显示哪些会话正在工作、等待输入或批准、已完成或处于空闲状态。

该应用将终端会话与任务设置、隔离的 git worktree、代码审查和 Git 操作结合起来。用户可以描述任务、将任务分配给代理、审查生成的更改、在需要时解决冲突,并在不离开 Farol 的情况下提交、推送或发起 Pull Request。它基于 libghostty 构建,并读取 Ghostty 配置和主题。

功能

多代理会话概览

在独立会话中运行 Claude Code、Codex 或其他基于终端的代理,并查看每个代理是在工作、等待、已完成还是处于空闲状态。

后台状态监控

无论使用哪个应用,都可以通过菜单栏中的灯塔图标,或位于刘海区域或屏幕边缘的面板监控会话。macOS 通知和 Dock 会显示等待中的会话数量。

任务驱动的 git worktree

按下 ⇧⌘N 开始任务,Farol 会先创建新分支和 git worktree,再将任务发送给所选代理,避免并行会话共享文件。

审查并交付更改

浏览已更改的文件、检查差异、在内置编辑器中快速编辑,并在 GitHub 或 GitLab 上选择性地提交、推送或发起 Pull Request。

Git 历史和分支工具

通过 git 图查看分支和提交,包括检出、创建、变基、删除、拣选提交和还原操作。

冲突解决

在三列视图中处理合并、变基、拣选提交和还原冲突,交互式决定更改、编辑结果,然后继续或中止操作。

使用场景

  • 并行实现

    为 Claude Code 或 Codex 分配不同任务,让每个代理在自己的分支和检出目录中工作,减少并发更改之间的相互干扰。

  • 监督后台代理

    在编辑器、浏览器或其他应用中工作时,让编程代理继续运行;当 Farol 提示会话需要批准或已经完成时再进行响应。

  • 审查并交付代理更改

    检查已更改的文件和分支历史,进行有针对性的编辑,选择要提交的文件,并在代理完成工作后发起 Pull Request。

  • 解决仓库冲突

    当代理的分支遇到合并、变基、拣选提交或还原冲突时,使用内置的三列解决器,然后在决定每项更改后继续 Git 操作。

  • 管理多个代理账户

    连接多个 Claude 或 Codex 账户,并在开始任务时选择合适的账户,同时保留每个工具现有的设置。

Pros and Cons

Pros

  • 支持通过独立的 git worktree 并行运行多个 AI 编程会话。
  • 用户在其他应用中工作时,也能查看状态并接收通知。
  • 提供审查、编辑、Git 历史、Pull Request 和冲突解决工作流。
  • 支持 Claude Code、Codex 以及其他在终端中运行的代理。
  • 免费,并基于 MIT 许可证开源。

Cons

  • 需要 Apple silicon 芯片和 macOS 14 或更高版本。
  • 代理状态集成因工具而异:Claude Code 使用钩子,Codex 需要终端标题和钩子支持,其他代理则需要通过 Farol CLI 报告状态或发送终端响铃信号。
  • 所提供的定价页面无法访问,因此除网站所称的免费和 MIT 许可之外,无法确认其他定价或许可条款。

FAQ

Farol 是什么?

Farol 是一款免费、开源的 macOS 终端应用,用于监督 AI 编程代理。它为每个代理提供独立会话、状态指示器、通知以及代码交付前的审查工具。

Farol 的系统要求和安装方式是什么?

Farol 要求使用 Apple silicon 芯片的 Mac,并运行 macOS 14 或更高版本。你可以下载经过签名和公证的 Farol.dmg 进行安装,也可以使用 Homebrew,通过 brew install --cask snowztech/tap/farol 安装。

如何将 Claude Code 或 Codex 连接到 Farol?

打开“设置”→“代理”,然后连接 Claude Code 或 Codex。Claude Code 会接收 Farol 状态钩子;交互式会话中的 Codex 通过终端标题报告状态;非交互式和后台运行的 Codex 钩子要求版本 0.159.2 或更高版本。连接钩子后,现有会话可能需要重新启动。

如何并行运行编程任务?

按下 ⇧⌘N,描述任务,选择代理和账户,并选择分支名称。Farol 会在新分支上创建 git worktree,并将任务作为代理的第一条提示发送出去,从而让并行代理的检出目录彼此分离。

Farol 支持 Claude Code 和 Codex 以外的代理吗?

可以。Farol 支持任何在终端中运行的代理。代理可以通过以 $FAROL_CLI 形式提供的 Farol CLI 报告状态;如果代理让终端响铃,也会在无需额外设置的情况下显示为等待状态。

Quick Facts

类别
开发者工具
平台
搭载 Apple silicon 的 macOS
系统要求
macOS 14 或更高版本
主要用户
监督 AI 编程代理的开发者
支持的代理
Claude Code、Codex 及其他基于终端的代理
许可证
MIT;免费且开源