PurrCode

# Providers and Models PurrCode supports: - Ollama; - LM Studio; - OpenAI; - OpenAI-compatible APIs; - enterprise gateways; - NVIDIA NIM; - environment-backed credentials; - operating-system credential stores; - custom CA bundles; - proxies; - mTLS; - secret-backed headers. ## Provider discovery Inside the TUI or IDE: ```text /connect ``` PurrCode probes supported local endpoints and displays observed availability. Local discovery does not generate model output and does not load an unloaded model. ## Import provider configuration ```text /connect import ``` Supported source formats: Python, JavaScript, TypeScript, cURL, JSON, YAML, TOML, and dotenv. PurrCode parses imported configuration without executing it, and can extract provider type, base URL, model ID, API mode, request defaults, custom headers, authentication configuration, and local-or-remote classification. ### Secret handling during import Detected secrets remain in transient zeroizing memory until you choose one of: - store the secret in the operating-system credential store; - convert it to an environment-variable reference; - discard it. Raw secret values are never written into provider configuration or conversation events. ## Manage credentials ```bash purrcode credential set openai ``` Configuration stores a reference such as `keychain:openai`; the secret itself remains in the operating-system credential store. ## Provider profiles ```text /provider list /provider edit /provider test /provider remove ``` ## Provider diagnostics ```bash purrcode provider doctor ``` PurrCode classifies provider failures such as connection refused, DNS failure, TLS failure, authentication failure, HTTP error, content-type mismatch, incompatible schema, streaming framing failure, unsupported API mode, model not found, context too large, out of memory, and cancellation. ## Local models ### Ollama PurrCode supports Ollama's native API and inspects `/api/version`, `/api/tags`, `/api/ps`, and `/api/chat`. Native Ollama mode is separate from OpenAI-compatible mode, so API-mode mismatches are detected instead of surfacing as generic decoding errors. ### LM Studio PurrCode can discover LM Studio and compatible local endpoints running on loopback. Local-only mode rejects undeclared remote providers and does not silently fall back to cloud inference. ### NVIDIA NIM `NVIDIA_API_KEY` is detected during onboarding and models are enumerated from the NIM endpoint. NIM is a first-class provider. ### Local model commands ```text /model recommend /model qualify /model loaded /model unload /model unload-all ``` Recommendations use observed evidence — model metadata, qualification, physical and available memory, swap pressure, loaded-model memory, context requirements, structured-output reliability, measured latency, and tool-calling support. A model is not recommended only because its name contains terms such as `coder`. ### Pulling a model When a recommended Ollama model is not installed, PurrCode can propose a governed pull action that requires explicit authorization, uses an exact validated model identifier, reports bounded progress, supports cancellation, and rediscovers models on completion. ### Model lifecycle policies Supported policies: `unload_after_request`, `idle_timeout`, `keep_loaded`, `external`. Low-memory systems use conservative concurrency and unload behavior. Opening PurrCode does not automatically generate output or load an unloaded model.