praisonai serve — no fork required.
praisonai serve with a registered provider; HTTP traffic flows through discovery and the chosen endpoint adapter.
Quick Start
1
Use a built-in provider
2
Register at runtime
3
Distribute as a pip plugin
How It Works
The registry is thread-safe and loads plugins lazily. Built-ins are discovered on first access, entry points are loaded when needed, and aliases are case-insensitive. The singleton registry is obtained viaget_default_registry().
CLI Endpoint Dispatch Registry
PraisonAI ships two endpoint registries. This page documents the top-level provider registry (praisonai.endpoint_providers). A separate CLI dispatch registry resolves how the CLI invokes each endpoint type at runtime.
Built-in CLI Dispatch Keys
If you’re writing a pip plugin for CLI dispatch, use entry-point group
praisonai.endpoints.providers. For the top-level provider registry (instantiating provider classes), use praisonai.endpoint_providers.Configuration / API
Functions
ProviderRegistry Class
Built-in Provider Types
Common Patterns
Override a Built-in
Override a Built-in
Last-write-wins behavior lets you replace built-in providers:
Multiple Aliases
Multiple Aliases
Use the underlying PluginRegistry for alias support:
Per-tenant Isolation
Per-tenant Isolation
Instantiate
ProviderRegistry directly for isolation:Best Practices
Always provide a _loader() function
Always provide a _loader() function
Never import your provider class at module top-level — defeats lazy loading and breaks the no-heavy-deps-at-import-time guarantee:
Subclass BaseProvider
Subclass BaseProvider
Required for type compatibility and consistent API:
Distinguish missing vs import failure
Distinguish missing vs import failure
get_provider("unknown") returns None, but import failures propagate:Prefer entry points for distributable packages
Prefer entry points for distributable packages
Use
pyproject.toml entry points instead of register_provider() calls:Related
Integration Registry
The sibling plugin registry for CLI tools / managed agents
Framework Adapter Plugins
Third sibling plugin registry, for framework adapters

