Remote control for AI coding agents — read conversations, send messages, switch models, and monitor agent activity from a clean web UI.
Built by @anshuchimala.
This is an independent project and is not affiliated with, endorsed by, or sponsored by OpenAI or the OpenCode team.
- Thread browser grouped by project
- Chat view with model/reasoning controls
- Plan mode toggle
- Live agent monitoring and interrupts
- Debug tab with full IPC history
bun install
bun run devOpens at http://localhost:4312. Defaults to Codex.
Agent options:
bun run dev -- --agents=opencode # OpenCode only
bun run dev -- --agents=codex,opencode # both
bun run dev -- --agents=all # expands to codex,opencode
bun run dev:remote # network-accessible (codex)
bun run dev:remote -- --agents=opencode # network-accessible (opencode)Warning:
dev:remoteexposes Farfield with no authentication. Only use on trusted networks.
- Node.js 20+
- Bun 1.2+
- Codex or OpenCode installed locally
Farfield now routes both providers through one strict unified surface.
- Server entrypoints for the web app are under
/api/unified/*. - Codex runs through native app-server methods only.
- OpenCode runs through SDK type mappings only.
- Web UI consumes unified schemas and does not import provider SDK/protocol types.
- Feature gating comes from typed unified feature availability, not provider-specific conditionals in UI logic.
POST /api/unified/commandGET /api/unified/featuresGET /api/unified/threadsGET /api/unified/thread/:idGET /api/unified/events(SSE)
Run this before pushing:
bun run verify:strictThis runs:
verify:no-cheatsverify:no-provider-ui-imports- workspace
typecheck - workspace
test - generated artifact cleanliness checks for Codex and OpenCode manifests
Farfield now vendors official Codex app-server schemas and generates protocol Zod validators from them.
bun run generate:codex-schemaThis command updates:
packages/codex-protocol/vendor/codex-app-server-schema/(stable + experimental TypeScript and JSON Schema)packages/codex-protocol/src/generated/app-server/(generated Zod schema modules used by the app)
Farfield also generates an OpenCode manifest from SDK unions used by the mapper layer.
bun run generate:opencode-manifestWhen Codex or OpenCode updates protocol/SDK shapes:
- Run
bun run generate:codex-schema - Run
bun run generate:opencode-manifest - Run
bun run verify:strict - Commit generated changes together with any mapper updates
- Run
bun run verify:strict - Confirm
bun run generate:codex-schemaproduces no uncommitted changes - Confirm
bun run generate:opencode-manifestproduces no uncommitted changes - Review
git statusfor only intended files - Ship only after all workspace tests pass
MIT
