Factory Floor
Factory Floor 是一款原生 macOS 开发工作区:一窗管理 git worktrees、Claude Code 会话与开发服务器浏览,并支持每个工作流自动化脚本。
Factory Floor 是什么?
Factory Floor 是一款原生 macOS 开发工作区,可在一处运行多个并行“工作流”。它协调 git worktrees(分支和隔离目录)、Claude Code 会话、开发终端以及开发服务器浏览——让你在切换任务时不丢失本地状态。
该应用围绕隔离设计:每个工作流拥有独立的 branch、终端和 AI 代理会话,并可并发运行。它使用 Ghostty 的 GPU 渲染终端,并支持通过每个项目的配置文件实现 setup/run/teardown 自动化。
主要功能
- 项目和工作流单窗工作区:同时查看终端、AI 会话和嵌入式浏览器,而非切换多个独立应用。
- 每个工作流使用 Git Worktrees:每个工作流使用独立的 branch 和 worktree,支持无 stash 任务切换;
.env文件自动符号链接。 - Claude Code 集成,支持会话持久化:Claude Code 会话保持持久上下文,可通过自动会话 ID 在应用重启后恢复。
- 基于 Tmux 的代理会话持久化:代理会话通过专用 socket 上的 tmux 存活应用重启,减少工作流中断。
- 嵌入式浏览器,支持自动端口检测:嵌入式浏览器检测运行脚本监听的端口,并自动导航至该端口。
- 通过
.factoryfloor.json配置项目生命周期脚本:为每个项目配置setup、run和teardown脚本;脚本在工作流目录中使用登录 shell 运行,所有字段均为可选。 - 每个终端和脚本均可用环境变量:终端和脚本可接收项目/工作流名称、路径以及确定性
FF_PORT等变量。 - 通过
ghCLI 集成 GitHub:项目视图可显示仓库信息、打开 PR 以及分支 PR 状态(由ghCLI 驱动)。 - 键盘优先导航和快捷键:提供创建项目/工作流、切换标签/工作区/项目、归档工作流以及打开编辑器/终端(包括外部选项)的快捷键。
如何使用 Factory Floor
- 安装 Factory Floor:通过
brew install --cask alltuner/tap/factoryfloor安装,或下载源代码。 - 添加项目:将目录拖入侧边栏或新建一个;Factory Floor 会自动检测 git 仓库、已安装工具和 GitHub 连接。
- 创建工作流:创建工作流以生成新的 git worktree 和 branch、启动 Claude Code 会话、打开终端并添加浏览器标签。
- 运行开发服务器并预览:在项目根目录的
.factoryfloor.json中配置setup、run和(可选)teardown;运行命令开始监听时,嵌入式浏览器会打开检测到的端口。 - 切换任务而不丢失上下文:在工作流间切换;tmux 持久化和 Claude Code 会话 ID 用于在应用重启时保持上下文。
使用场景
- 同一仓库中并行功能开发:为不同任务创建独立工作流,每个工作流拥有自己的 branch、终端、Claude Code 会话和浏览器标签,便于切换。
- 任务范围依赖设置:定义项目
setup脚本(如npm install),以在创建 worktree/workstream 时安装依赖。 - 确定性端口的开发服务器运行:在
run脚本中使用FF_PORT环境变量(例如PORT=$FF_PORT npm run dev),每个工作流使用自己的可预测端口。 - 归档时自动清理:设置
teardown脚本(例如docker-compose down),在归档工作流时停止容器或清理资源。 - 跨会话恢复 AI 辅助调试:依赖持久化的 Claude Code 会话 ID 和 tmux socket 持久化,在重启应用后继续工作。
常见问题
-
Factory Floor 是开源的吗? 是的。Factory Floor 采用 MIT 许可,源代码可在 GitHub 上获取。
-
应用如何在嵌入式浏览器中打开我的开发服务器? 通过工作流运行脚本启动项目时,Factory Floor 使用自动端口检测确定运行命令监听的端口,并将嵌入式浏览器导航至该地址。
-
在哪里配置 setup/run/teardown 自动化? 在项目根目录添加
.factoryfloor.json文件。可包含setup、run和teardown脚本命令;所有字段均为可选。 -
脚本和终端可用哪些环境变量? 每个工作流终端以及 setup/run/teardown 脚本均可使用
FF_PROJECT、FF_WORKSTREAM、FF_PROJECT_DIR、FF_WORKTREE_DIR和FF_PORT等环境变量。 -
Factory Floor 的 GitHub 视图需要 GitHub 工具吗? 项目视图中的 GitHub 集成由
ghCLI 驱动。
替代方案
- 本地终端 + tmux + 手动 git worktree 工作流:您可以使用单独工具近似实现相同底层方法(worktrees、tmux 持久化和开发服务器监控),但无法获得单窗编排和嵌入式浏览器功能。
- IDE 集成的多根工作区:IDE 可以管理多个项目和终端,但可能无法为每个任务提供明确的 git worktree 隔离,以及相同的脚本驱动生命周期和端口检测流程。
- 按任务的 Git 分支 + 暂存:更简单的 git 方法可以支持上下文切换,但通常依赖暂存/清理,而不是隔离的 worktrees 和任务范围环境。
替代品
GitBoard
GitBoard 是原生 macOS 菜单栏应用,可查看 GitHub Projects 看板,按状态筛选、搜索问题,并在工作流中创建或分配任务。
Biji
Biji是一个多功能平台,旨在通过创新工具和功能提升生产力。
Ably Chat
Ably Chat 提供聊天 API 和 SDK,用于自定义实时聊天应用:支持反应、在线/房间状态及消息编辑/删除,面向高并发场景。
Falconer
Falconer 是自更新知识平台,帮高速度团队在一个地方编写、分享并搜索可靠内部文档与代码上下文。
OpenFlags
OpenFlags 是开源自托管功能开关系统,支持渐进式交付;应用 SDK 本地评估,配套简单控制平面实现安全定向发布。
AakarDev AI
AakarDev AI 是一个强大的平台,通过无缝的向量数据库集成简化 AI 应用程序的开发,实现快速部署和可扩展性。