Skip to main content

Provider Registry CLI

The PraisonAI TypeScript CLI provides commands to list and inspect registered LLM providers.

Commands

List Providers

List all registered LLM providers:
praisonai-ts providers list
Output:
Registered LLM Providers

  Built-in:
    ✅ openai 🔑
    ✅ anthropic 🔑
    ✅ google 🔑

  Custom:
    ✅ cloudflare

Register custom providers with registerProvider():
  import { registerProvider } from "praisonai";
  registerProvider("cloudflare", CloudflareProvider);

Set API keys via environment variables:
  OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY
Options:
  • --verbose, -v - Show available models for each provider
  • --json - Output in JSON format
Verbose output:
praisonai-ts providers list --verbose
Registered LLM Providers

  Built-in:
    ✅ openai 🔑
        - gpt-4o
        - gpt-4o-mini
        - gpt-4-turbo
        - gpt-4
        - gpt-3.5-turbo
    ✅ anthropic 🔑
        - claude-sonnet-4-20250514
        - claude-3-5-sonnet-20241022
        - claude-3-opus-20240229
        - claude-3-haiku-20240307
    ✅ google 🔑
        - gemini-2.0-flash
        - gemini-1.5-pro
        - gemini-1.5-flash
JSON output:
praisonai-ts providers list --json
{
  "success": true,
  "data": {
    "providers": [
      {
        "name": "openai",
        "registered": true,
        "available": true,
        "has_api_key": true,
        "is_builtin": true
      },
      {
        "name": "anthropic",
        "registered": true,
        "available": true,
        "has_api_key": true,
        "is_builtin": true
      },
      {
        "name": "google",
        "registered": true,
        "available": true,
        "has_api_key": true,
        "is_builtin": true
      }
    ],
    "total": 3,
    "builtin_count": 3,
    "custom_count": 0
  }
}

Provider Info

Get detailed information about a specific provider:
praisonai-ts providers info openai
Output:
Provider: openai
  Registered: ✅ Yes
  Available: ✅ Yes
  Type: Built-in
  API Key: 🔑 Set

  Models:
    - gpt-4o
    - gpt-4o-mini
    - gpt-4-turbo
    - gpt-4
    - gpt-3.5-turbo
JSON output:
praisonai-ts providers info openai --json
{
  "success": true,
  "data": {
    "name": "openai",
    "registered": true,
    "available": true,
    "is_builtin": true,
    "has_api_key": true,
    "models": ["gpt-4o", "gpt-4o-mini", "gpt-4-turbo", "gpt-4", "gpt-3.5-turbo"]
  }
}

Using Custom Providers with CLI

Custom providers must be registered programmatically before using the CLI. Create a setup script:
// setup-providers.ts
import { registerProvider } from 'praisonai';
import { CloudflareProvider } from './providers/cloudflare';

registerProvider('cloudflare', CloudflareProvider);
Then import it before running CLI commands:
# Using ts-node
ts-node -r ./setup-providers.ts node_modules/.bin/praisonai-ts providers list
Or in your application entry point:
// index.ts
import './setup-providers';
import { runCLI } from 'praisonai';

runCLI();

Environment Variables

Set API keys for built-in providers:
# OpenAI
export OPENAI_API_KEY=sk-...

# Anthropic
export ANTHROPIC_API_KEY=sk-ant-...

# Google/Gemini
export GOOGLE_API_KEY=AIza...
For custom providers, the CLI checks for {PROVIDER_NAME}_API_KEY:
# Custom provider
export CLOUDFLARE_API_KEY=cf-...

Chat with Custom Provider

Once registered, use custom providers with the chat command:
praisonai-ts chat --model cloudflare/workers-ai "Hello, world!"

Troubleshooting

Provider Not Found

Error: Unknown provider: 'cloudflare'. Available providers: openai, anthropic, google.
Solution: Register the provider before using it:
import { registerProvider } from 'praisonai';
registerProvider('cloudflare', CloudflareProvider);

API Key Not Set

Provider: cloudflare
  Available: ❌ No
  API Key: ⚠️ Not set
Solution: Set the environment variable:
export CLOUDFLARE_API_KEY=your-api-key

Provider Not Available

A provider may be registered but not available if:
  1. API key is not set
  2. Required dependencies are not installed
  3. Network connectivity issues
Check provider status:
praisonai-ts providers info cloudflare