Skip to content
Wenzhuang Zhu edited this page Jul 2, 2026 · 6 revisions

Farming 2:浏览器里的 Codex / Claude Code 远程工作台

项目开源地址:farming

安装包下载地址:farming releases

Linux 下依赖 glibc 2.28 以上。

Farming


如果你已经开始把真实开发任务交给 Codex 或 Claude Code,很快会遇到一个具体问题:工作现场被拆散了。

agent 跑在 SSH terminal 里,代码在 IDE 里,状态要去另一个窗口看;长任务跑在远程 Linux 开发机上,本地电脑一合盖,agent 就停止了。手机上想看一眼进度,让任务继续,总是得保持笔记本电脑打开的状态。

Farming 2 做的事很直接:把远程 terminal、Codex / Claude Code、项目文件、搜索、轻量编辑、git blame 等放进同一个浏览器工作台。部署在远端机器,让注意力聚焦,让长任务 Coding Agent 持续常驻。

Farming Code workspace

它适合解决什么问题

把任务交给 agent 后,人最常做的是这些动作:

  • 看 agent 是在运行、等待输入,还是已经完成;
  • 打开 agent 提到的文件,快速核对几行代码;
  • 搜一下相关文件或关键词;
  • 看一眼 git blame,判断这段代码从哪来;
  • 发一句 follow-up,把任务拉回正确方向;
  • 关闭电脑后,从手机上看进度或补一句输入。

Farming 2 把这些动作收进一个远程工作台。agent、shell、项目文件和 git 状态都留在开发机上继续运行;桌面或手机浏览器只是重新进入现场的入口。你可以简单地将 Farming 部署在服务器上,就拥有和桌面端 Codex 类似的多 Agent 管理体验,以及轻量级 VS Code 编辑器的能力。

核心能力

1. 从浏览器启动真实 Agent

Farming 可以从浏览器启动 Codex、Claude Code、bash 和 zsh。命令仍然跑在开发机上,浏览器负责展示和控制。

Start agent picker

启动时选择 workspace,Farming 会把这个 session 放进同一个工作台。

Start agent workspace

目标机器上需要提前安装并登录 Codex / Claude Code,确保在普通 SSH shell 中可以直接运行 codexclaude

在历史记录里,可以选择本机曾经运行过的 Agent 继续,不再需要记忆 resume id。

2. Terminal、文件、状态在一个页面里

Farming Code 的主界面把 live terminal、项目文件、agent 列表、composer 和 usage 状态放在一起。

以前 agent 输出一个 path:line,你要切 IDE 手动找文件;现在可以直接在工作台里打开、搜索、查看和轻量编辑。

3. 文件、搜索、编辑和 Git Blame

Farming 2 提供项目文件树、文件搜索、Monaco 编辑器和 git blame。它覆盖的是监督 agent 时的高频介入动作:看文件、查行号、搜代码、做小修改、确认一行代码的来源。

Files editor blame

4. 手机端回到现场

手机端适合离开电脑后看进度、切 session、启动一个简单 shell,或者给正在跑的 agent 发一句短输入。

项目、agents、文件和搜索放在抽屉里,主区域一次聚焦一个 terminal 或文件视图。

Mobile agent chat

Mobile files sidebar

5. Main Agent

Main Agent 仍然有 Farming 1 中协助观测其他 Agent、总结各个 Agent 的行为历史、启动多个 Farming Agent 协作执行功能的能力。

未来 Main Agent 是否能发挥更大的作用,成为任务分配的主要入口,还需要进一步在 Hive 皮肤中考虑。

一分钟上手

把 Farming 放到已经能运行 Codex / Claude Code 的 Linux 开发机上:

chmod +x farming
./farming daemon

启动后会打印一个浏览器 URL:

http://linux-host:6694/farming?token=随机生成的俳句口令

打开 URL,点击 New Agent,选择 Codex / Claude Code / bash / zsh,填入 workspace,就能进入远程工作台。

Linux app bundle:

tar -xzf farming-2.tar.gz
cd farming-2
./farming

安全与部署边界

Farming 控制的是目标机器上的真实 terminal 和 agent 进程,适合部署在可信开发机和可信网络中。

默认启动会生成随机 token,同时保护 HTTP 页面和 WebSocket 连接。中文时区默认生成中文俳句式口令,比长十六进制串更容易复制。

需要跨网络访问时,建议叠加 VPN、SSH tunnel、HTTPS 反向代理或网络 ACL。

技术架构

Farming 2 和 Farming 1 一样,把“产品皮肤”和“后端能力”分开:皮肤负责组织体验,统一后端负责真正的远端能力。Farming Code 是当前默认皮肤。

image

这个结构的好处是:皮肤可以变化,但 terminal、agent 生命周期、文件、git、usage、安全认证这些核心能力只维护一套。Farming Code 只是把这套能力组织成 Codex / Claude Code 远程工作台;其它皮肤可以用同一个后端做不同的任务组织方式。

为什么值得试

在代码主要放在远端 Linux 开发机上的场景里,Farming 2 提供了一个新的选择。

传统 terminal 工具可以连到远端机器,但更像一条原始通道:能跑命令,能看输出,管理多个 agent、文件、状态和历史时会比较粗糙。

Mac 本地的 Coding Agent App 体验更完整,但操作远端代码时通常要隔着一层 SSH 命令。agent 不是直接站在代码现场工作,而是像“带着望远镜”看远端机器:能做事,但文件、终端、状态和上下文之间总隔着一层,Agent 能力与本地直接操作相比会下降。

Farming 2 的思路是把 Agent Web UI 直接放在远端开发机旁边:

代码和 agent 在远端机器上运行
Farming 在同一台机器上管理 terminal、文件和状态
桌面或手机浏览器只是进入这个远端现场

所以它不是替代所有 terminal 或本地 Agent App,而是在远端开发占主导的场景里,给 Codex / Claude Code 一个更贴近代码现场的 Web UI。

如果你已经在开发机上使用 Codex 或 Claude Code,可以拿一个真实小任务试试:让 agent 跑在远端机器上,然后用 Farming 观察输出、检查文件、看 blame、补一句输入。这个体验是否更自然,比任何口号都更容易判断。

Clone this wiki locally