docs: both api keys, example model gpt-5.4-nano

This commit is contained in:
pj committed 2026-06-12 10:52:14 +05:30
1 parent 3ca0e9a5b9
commit ede495d935
3 files changed
+24 -19

No files matched your search

+9 -7
View File
@@ -2,17 +2,19 @@
//
// The properties and the login `setup` are reused verbatim; only the action
// generator changes. Instead of the seeded fuzzer drawing a random candidate,
// `llm({ model })` hands selection to an OpenRouter vision model: each step it
// sees the screenshot plus the candidate list the system already enumerates and
// returns which candidate to act on. The candidate set, the typed input values,
// action execution, and the trace are all identical to the seeded run.
// `llm({ model })` hands selection to a vision model: each step it sees the
// screenshot plus the candidate list the system already enumerates and returns
// which candidate to act on. The candidate set, the typed input values, action
// execution, and the trace are all identical to the seeded run.
//
// Requirements:
// - OPENROUTER_API_KEY in the environment.
// - OPENROUTER_API_KEY (OpenRouter) or OPENAI_API_KEY (OpenAI) in the
// environment; OpenRouter wins when both are set. With a plain OpenAI key,
// drop the vendor prefix from the model id ("gpt-5.4-nano").
// - A model that supports image input AND strict json_schema structured
// outputs (e.g. "openai/gpt-4o"). A model lacking either fails clearly.
// outputs. A model lacking either fails clearly.
import { llm } from "@sanderling/spec";
export { properties, setup } from "./spec";
export const actionsRoot = llm({ model: "openai/gpt-4o" });
export const actionsRoot = llm({ model: "openai/gpt-5.4-nano" });