farming-code
v2.2.14
Published
Remote browser workspace for supervising AI coding agents
Maintainers
Readme

Farming 与代码仓库和 Coding CLI 运行在同一台开发机上。Agent 进程、终端和项目文件都留在这台机器上;电脑或手机浏览器连接并操作这些真实 Session。
快速开始
准备好 Node.js 22 或更新版本,以及至少一个已安装、已登录的受支持 Coding CLI:
npm install --global farming-code@latest && farming daemon打开命令输出的任意一个带鉴权 URL,选择 New Agent,再选择 CLI、Workspace 和 Chat 或 Terminal。关闭浏览器不会停止 Agent;同一个浏览器可以再次打开该地址。在开发机上,下面的命令会重新输出本机地址:
farming url新的远程浏览器应使用 farming daemon 启动时输出的带鉴权 Network URL。VPN、SSH Tunnel 或 HTTPS Reverse Proxy 可以提供稳定且可达的地址,但第一次访问仍需要 Farming 启动 Token。

Farming Code
Farming Code 是默认的桌面与手机界面。它按项目组织工作,把实时 Agent、可恢复的 History、文件和 Review 放在同一个浏览器工作区里。
Agent、Chat 与 Terminal
启动或恢复 Codex、Claude Code、OpenCode、Qoder 以及其他检测到的 Coding CLI。受支持的 Agent 提供结构化 Chat,用来阅读结果和检查工具活动;也可以打开真实 Terminal,直接操作 CLI。Search 和 History 同时覆盖当前工作与可恢复 Session。

Files 与 Review
浏览、搜索并轻量编辑 Project Files,不需要离开当前任务。检查 Git Changes、History、Diff 和 Blame,再把 Commit 或 Working Copy 修改打开到 Review。

支持的 Agent
Farming 会发现开发机上已经安装的 CLI。Codex、Claude Code、OpenCode 和 Qoder 同时支持结构化 Chat 与原生 Terminal;其他检测到的 Coding Agent 使用 Terminal 路径。
| Agent | 结构化 Chat | Terminal | History / Resume | | --- | --- | --- | --- | | Codex | 是 | 是 | 是 | | Claude Code | 是 | 是 | 是 | | OpenCode | 是 | 是 | 是 | | Qoder | 是 | 是 | 是 | | Qwen Code | — | 是 | 取决于 CLI | | Aider | — | 是 | 取决于 CLI | | GitHub Copilot CLI | — | 是 | 取决于 CLI | | Amazon Q | — | 是 | 取决于 CLI | | bash / zsh | — | 是 | 否 |
Farming 承载的是已经能在同一台机器正常工作的 CLI,不替代 Provider 的安装、登录和账户配置。
远程使用
在开发机上运行 Farming,再从能够访问这台机器的电脑或手机打开带鉴权 URL:
电脑或手机浏览器
│ HTTP / WebSocket
▼
开发机
Farming Server
├── Coding Agent 进程
├── 真实 Terminal
└── 代码仓库与项目文件浏览器断开或重新连接不会停止 Agent。Farming Server 正常重启后也可以重新连接受支持的实时 Terminal Session。桌面布局把项目、对话、文件和 Review 放在一起;手机布局一次聚焦一段对话、一个 Terminal 或一个文件。
Farming CRT
Farming CRT 是可选的键盘优先复古控制室,用来扫视多个 Agent、打开它们的 Chat 或 Terminal、搜索 History,以及查看用量遥测。

Code 与 CRT 使用相同的后端 Agent 和 Session,切换界面不会创建第二个 Agent。Farming Code 仍是默认界面,也是受支持的手机界面。控制方式和完整流程见 Farming CRT 指南。
Farming Net
Farming Net 是独立、带 Token 鉴权的 Farming 部署目录。它提供一个入口打开已登记实例,但不保存目标 Token,也不代理目标流量。登记方式和安全边界见 Farming Net 指南。
安装与更新
安装后的 farming CLI 默认端口是 6694,Base Path 是 /farming,配置目录是 ~/.farming,Token 鉴权默认开启。常用 Daemon 命令:
farming status
farming url
farming logs
farming stop启动 Token 存放在 ~/.farming/.session-token,重启和升级会继续复用。Settings → Updates 可以原地升级 npm 安装。GitHub Releases 也提供独立 CLI 和目录 Bundle;当前产物见 GitHub Releases。
从源码运行,并使用相同的端口与 Base Path:
npm install
PORT=6694 FARMING_BASE_PATH=/farming npm start只有在可信本地开发环境中,才可以用 npm run start:no-auth 关闭 Token 鉴权。
安全
Farming 会控制开发机上的真实终端和文件。请只运行在可信主机和可信网络中,不要在没有 VPN、SSH Tunnel、HTTPS Reverse Proxy 或等价访问控制时直接暴露到公网。
Token 鉴权同时保护 HTTP 和 WebSocket。FARMING_DISABLE_AUTH=1 只适合可信本地开发;Workspace 文件 API 会校验所有路径都位于所选项目根目录内。报告和部署说明见 SECURITY.zh_cn.md。
文档
开发检查
npm test
npm run typecheck
npm run lint
FARMING_BASE_PATH=/farming npm run build
npm run test:e2e:playwright产品截图由匿名 Demo Workspace 和真实浏览器流程生成:
npm run docs:product:screenshots只更新指定截图时,可以传入逗号分隔的文件名:
FARMING_SCREENSHOT_FILES=01-code-workspace.png npm run docs:product:screenshotsLicense
Farming 使用 MIT License。第三方组件声明见 THIRD_PARTY_NOTICES.md。
