Roles
States the parts a provider’s models can take in a capture. Each provider’s page lists its roles under the title.
| Role | Named by | Does |
|---|---|---|
| Formats | --llm-format-model | Writes the captured page as LLM output |
| Navigates | --navigator-type | Drives --navigate |
| Writes | writer=true on a navigator | Writes 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.
Navigates
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:
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/