flightbox Docs

The agent matrix

Every profile is labeled with its access method — evidence you can stand behind. GET /api/agents returns this table programmatically.

Adapter Access Vendor / model Requires
claude-cu api-direct Anthropic · claude-sonnet-5 computer-use toolset ANTHROPIC_API_KEY
gemini-cu api-direct Google · gemini-2.5-computer-use GOOGLE_API_KEY
openai-cua api-direct OpenAI · computer-use (Responses API) OPENAI_API_KEY + CUA access
browser-use-gpt api-direct browser-use · GPT-class OPENAI_API_KEY or OPENROUTER_API_KEY
scripted-saucedemo control deterministic Playwright script —

Access methods: api-direct (the vendor's agent model driven through its official API, our executor), emulation (same model, reconstructed scaffolding — labeled), real-product (the consumer product itself — calibration program, roadmap), control (scripted baseline).

Model overrides via env: FB_CLAUDE_MODEL, FB_GEMINI_MODEL, FB_OPENAI_CUA_MODEL, FB_BROWSERUSE_MODEL, FB_JUDGE_MODEL.

Writing an adapter

Subclass flightbox.adapters.base.Adapter, implement async run(task, session, run_id) -> list[StepEvent], drive session.page (Playwright) or attach via session.cdp_url. Recording is automatic — the Session owns the black box; adapters never manage it. Emit every think/act step as a StepEvent (the normalized atom: thought, action, screenshot, url, tokens, cost).