Providers & Auth Modes
The LLM is what turns Plan into a verifiable expectation and judges Study. You can attach one in several ways. Without an LLM, inputs are still recorded to the graph — only coaching and the verdict are skipped.
Verify any mode with a real round-trip:
pdsa checkpdsa config show # current auth / model / language (key masked)① OpenAI(-compatible) API key — default
Section titled “① OpenAI(-compatible) API key — default”pdsa config key <key> # or key-file <path> to keep the key out of configpdsa config model <model> # default: gpt-5.6-terrapdsa config reasoning <level> # none | low | medium | high | xhigh | maxpdsa models [--filter gpt-5.6] # list models the endpoint serves② Keyless open-weight (local / compatible endpoints)
Section titled “② Keyless open-weight (local / compatible endpoints)”For ollama, vLLM, LM Studio, and other OpenAI-compatible servers:
pdsa config provider local # http://localhost:11434/v1, no authpdsa config provider openai-compat <URL> # any OpenAI-compatible endpointpdsa config allow-insecure-no-auth true # explicit opt-in to use a REMOTE endpoint with no authPrivate address ranges are auto-allowed without auth. Using a remote endpoint with no auth requires the
explicit allow-insecure-no-auth true opt-in.
③ GPT OAuth (refresh token) — device-code login
Section titled “③ GPT OAuth (refresh token) — device-code login”pdsa config oauth device-endpoint <URL>pdsa config oauth endpoint <token-URL>pdsa config oauth client <client-id>pdsa config login # device-code flow, persists the tokenThe access token is refreshed automatically when it expires; the refresh token can be kept out of config via
pdsa config oauth refresh-token-file <path>.
④ Codex (ChatGPT subscription) — experimental
Section titled “④ Codex (ChatGPT subscription) — experimental”Reuses the official codex login token and calls the Responses API:
codex loginpdsa config auth codex⑤ Claude Code (claude -p) — no key
Section titled “⑤ Claude Code (claude -p) — no key”Uses your already-logged-in Claude Code; no token setup:
pdsa config auth claude-clipdsa config claude-cli-path <path> # optional: pin the executablepdsa config claude-cli-timeout <seconds> # optional: cap the round-trip (default 180s)Configuration precedence
Section titled “Configuration precedence”Load priority for the core settings:
env vars (OPENAI_API_KEY / OPENAI_MODEL / OPENAI_BASE_URL / OPENAI_REASONING_EFFORT) → global config {LocalAppData}/pdsa-cli/openai.json → repo .secret/openai.jsonSee the full command surface in the CLI reference: config · check · models.