zshot/cliDownload

Roles

States the parts a provider’s models can take in a capture. Each provider’s page lists its roles under the title.

RoleNamed byDoes
Formats--llm-format-modelWrites the captured page as LLM output
Navigates--navigator-typeDrives --navigate
Writeswriter=true on a navigatorWrites the text a navigator types

Formats

A formatter writes llm_text and llm_json from the rendered page. A formatter given with --navigate and no --navigator-type also navigates, and with escalate=true it joins the navigators.

A navigator reads the page each step and takes one action. A chat model words its own decisions. A decision model, such as typesafe, chooses each one from a list: the action, the element, a credential, a file or an option. Repeat --navigator-type to add navigators to escalate to.

Writes

A provider that writes produces free text: a search, a message, a form field no credential fills. A navigator that writes types its own text. One that doesn’t types only --navigator-credential and --navigator-data values, unless another navigator is its writer.

writer=true makes a navigator the session’s writer: the acting navigator still chooses where to type, and the writer is asked for the words. A provider without this role as the writer, or as --llm-format-model, exits with code 3.

Example

A decision model navigates, a chat model writes for it, and a formatter writes the output:

CLI Run locally
zshot -t llm_text --navigate "Search the docs for WARC" \
  --navigator-type typesafe \
  --navigator-type "anthropic://?name=writer&writer=true&escalate=false" \
  --llm-format-model anthropic \
  --llm-format-prompt "List the pages the search found." \
  -f found.txt https://zshot-cli.com/