Skip to content

Reference

Look up a fact: what a field defaults to, what a constant is set to, what an error means, which environment variable is read.

The pages here

Page Answers
Configuration fields every chat.Config and chat.Settings field, its default, and what happens when the value cannot be applied
Defaults and limits the default models and timeouts, the caps that cannot be configured, the effort ladder, the media allowlist
Errors and sentinels every exported error value, what raises it, and what fixes it
Environment variables the four variables the module and its providers read, and where each sits in the credential cascade

Where the API signatures live

Types, functions and method signatures are on pkg.go.dev.

They are generated from the doc comments in the source, so they are correct for the version you are looking at and cannot drift the way a hand-maintained page does. Every exported symbol is there, including the ones this site does not narrate, along with runnable Example tests.

The pages above deliberately do not repeat those signatures. They carry what a generated reference cannot: the value a field falls back to, the failure mode when it is wrong, and the limit that is hard-coded somewhere you would not think to look.

The provider modules

Each provider is its own module with its own generated reference:

Module Reference
chat-anthropic pkg.go.dev
chat-openai pkg.go.dev
chat-gemini pkg.go.dev

Install the provider module and let it bring the core with it. Each one names the core version it was built against in its go.mod. See version compatibility for what a mismatch does and how to avoid it.

Where the decisions are recorded

Decision records live in the wiki. See the spec index. They are point-in-time records rather than living documentation: where a spec and this site disagree, this site is the one maintained against the code.