OpenProgram connects to user-operated inference servers through its existing OpenAI Chat Completions transport. It does not install models, allocate GPUs, or start inference servers.
Local presets and custom local endpoints use optional credentials. Discovery, validation and inference share the configured address. Settings expose model discovery, manual limits and explicit connection failures.
The existing generic transport supplies streaming, tool results, cancellation, retries and structured output. Native Ollama management APIs are excluded; model installation remains the server operator's responsibility.
Ship Ollama, LM Studio, vLLM and llama.cpp presets and a generic local endpoint. Defaults resolve offline. Local endpoints accept optional credentials, never inherit an unrelated OpenAI key, and retain existing configured-URL security checks. Discovery uses the configured server, not a cloud model catalogue. Host-only URLs resolve to /v1 consistently for discovery, validation and inference. Provider and model enablement persists through the existing registry.
Settings expose address editing, optional accounts, connectivity, discovery, manual model IDs and existing model controls. Cloud provider authentication is unchanged. Invalid URLs and non-JSON responses produce actionable errors. The local transport uses conservative OpenAI compatibility settings.
Unauthenticated local inference uses an explicit SDK placeholder key to prevent environment fallback, and explicitly omits the Authorization header on each Chat Completions request. The request-level omission is required by the SDK authentication validator; removing a default header alone is insufficient. Authenticated local requests use the configured server key. Cloud requests still require their own provider credential.
Public provider listing contains offline local presets. Model discovery and validation reach a loopback server without credentials; explicit credentials are sent only to that configured endpoint. Enabled models stream text and tool calls through the public provider dispatcher. Address edits affect subsequent discovery and inference, including saved models. Missing servers, HTTP failures and malformed responses are reported as failures.
Provider, server and settings integration is implemented and independently reviewed. Loopback tests cover discovery, authentication, streaming text, tool calls and image input. Inference on an actual locally deployed model requires an operator-provided server and has not been verified in this environment.