qai uses LLM providers for injection campaigns (Documentation Index
Fetch the complete documentation index at: https://docs.q-uestionable.ai/llms.txt
Use this file to discover all available pages before exploring further.
qai inject campaign) and chain execution (qai chain run). Other modules (audit, proxy, ipi, cxp, rxp) do not require LLM providers.
Provider support is powered by litellm, giving access to 100+ providers and models.
Provider/Model Format
All model references in qai use theprovider/model format:
claude-sonnet-4-20250514 becomes anthropic/claude-sonnet-4-20250514).
Storing Credentials (CLI)
Store API keys in the OS keyring usingqai config set-credential. The command prompts for the key with masked input — the key is never passed as a command-line argument.
- Windows: Credential Manager
- macOS: Keychain
- Linux: Secret Service (requires a keyring daemon)
View configured providers
Delete credentials
Migrate legacy plaintext credentials
If you have API keys in~/.qai/config.yaml from an older version:
config.yaml.bak.
Storing Credentials (Environment Variables)
Set provider API keys as environment variables. These take priority over the keyring.{PROVIDER_NAME}_API_KEY (uppercase). See Environment Variables for the full list.
Credential Resolution
When a command needs a provider credential, qai checks in this order:- Environment variable (e.g.,
ANTHROPIC_API_KEY) - OS keyring (stored via
qai config set-credential) - Error if neither is found
Settings UI
The web UI Settings page (gear icon in the nav bar) provides a graphical interface for managing providers:- Providers section: Add, edit, test, and delete provider credentials. Each provider shows its type (cloud or local) and credential status.
- Defaults section: Set default provider, model, transport, and callback URL. These pre-populate launcher forms.
qai and click the gear icon, or navigate to /settings in the browser.