Provider Registry CLI

CLI commands for managing LLM providers in PraisonAI TypeScript

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

Diagram

User

CLI

Registry

Quick Start

  1. Simple Usage
    bash
    praisonai-ts providers list
  2. With Configuration
    bash
    praisonai-ts providers info cloudflare

Commands

List Providers

List all registered LLM providers:

bash
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:

bash
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:

bash
praisonai-ts providers list --json
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:

bash
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:

bash
praisonai-ts providers info openai --json
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:

typescript
// setup-providers.ts
import { registerProvider } from 'praisonai';
import { CloudflareProvider } from './providers/cloudflare';

registerProvider('cloudflare', CloudflareProvider);

Then import it before running CLI commands:

bash
# Using ts-node
ts-node -r ./setup-providers.ts node_modules/.bin/praisonai-ts providers list

Or in your application entry point:

typescript
// index.ts
import './setup-providers';
import { runCLI } from 'praisonai';

runCLI();

Environment Variables

Set API keys for built-in providers:

bash
# 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:

bash
# Custom provider
export CLOUDFLARE_API_KEY=cf-...

Chat with Custom Provider

Once registered, use custom providers with the chat command:

bash
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:

typescript
import { registerProvider } from 'praisonai';
registerProvider('cloudflare', CloudflareProvider);

API Key Not Set

Provider: cloudflare
  Available: ❌ No
  API Key: ⚠️ Not set

Solution: Set the environment variable:

bash
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:

bash
praisonai-ts providers info cloudflare

Related