Back to Picoclaw

🔌 Fournisseurs et Configuration des Modùles

docs/guides/providers.fr.md

0.2.817.9 KB
Original Source

🔌 Fournisseurs et Configuration des Modùles

Retour au README

Fournisseurs

[!NOTE] Groq fournit la transcription vocale gratuite via Whisper. Si configuré, les messages audio de n'importe quel canal seront automatiquement transcrits au niveau de l'agent.

ProviderPurposeGet API Key
geminiLLM (Gemini direct)aistudio.google.com
zhipuLLM (Zhipu direct)bigmodel.cn
volcengineLLM (Volcengine direct)volcengine.com
openrouterLLM (recommended, access to all models)openrouter.ai
anthropicLLM (Claude direct)console.anthropic.com
openaiLLM (GPT direct)platform.openai.com
deepseekLLM (DeepSeek direct)platform.deepseek.com
qwenLLM (Qwen direct)dashscope.console.aliyun.com
groqLLM + Voice transcription (Whisper)console.groq.com
cerebrasLLM (Cerebras direct)cerebras.ai
vivgridLLM (Vivgrid direct)vivgrid.com
moonshotLLM (Kimi/Moonshot direct)platform.moonshot.cn
minimaxLLM (Minimax direct)platform.minimaxi.com
avianLLM (Avian direct)avian.io
mistralLLM (Mistral direct)console.mistral.ai
longcatLLM (Longcat direct)longcat.ai
modelscopeLLM (ModelScope direct)modelscope.cn

Configuration des ModĂšles (model_list)

NouveautĂ© PicoClaw utilise dĂ©sormais une approche de configuration centrĂ©e sur le modĂšle. SpĂ©cifiez simplement le format vendor/model (par ex. zhipu/glm-4.7) pour ajouter de nouveaux fournisseurs — aucune modification de code requise !

Cette conception permet également le support multi-agents avec une sélection flexible de fournisseurs :

  • DiffĂ©rents agents, diffĂ©rents fournisseurs : Chaque agent peut utiliser son propre fournisseur LLM
  • ModĂšles de repli : Configurez des modĂšles principaux et de repli pour la rĂ©silience
  • RĂ©partition de charge : Distribuez les requĂȘtes entre plusieurs endpoints
  • Configuration centralisĂ©e : GĂ©rez tous les fournisseurs en un seul endroit

📋 Tous les Vendors SupportĂ©s

Vendormodel PrefixDefault API BaseProtocolAPI Key
OpenAIopenai/https://api.openai.com/v1OpenAIGet Key
Anthropicanthropic/https://api.anthropic.com/v1AnthropicGet Key
æ™șè°± AI (GLM)zhipu/https://open.bigmodel.cn/api/paas/v4OpenAIGet Key
DeepSeekdeepseek/https://api.deepseek.com/v1OpenAIGet Key
Google Geminigemini/https://generativelanguage.googleapis.com/v1betaGeminiGet Key
Groqgroq/https://api.groq.com/openai/v1OpenAIGet Key
Moonshotmoonshot/https://api.moonshot.cn/v1OpenAIGet Key
通äč‰ćƒé—ź (Qwen)qwen/https://dashscope.aliyuncs.com/compatible-mode/v1OpenAIGet Key
NVIDIAnvidia/https://integrate.api.nvidia.com/v1OpenAIGet Key
Ollamaollama/http://localhost:11434/v1OpenAILocal (no key needed)
OpenRouteropenrouter/https://openrouter.ai/api/v1OpenAIGet Key
LiteLLM Proxylitellm/http://localhost:4000/v1OpenAIYour LiteLLM proxy key
VLLMvllm/http://localhost:8000/v1OpenAILocal
Cerebrascerebras/https://api.cerebras.ai/v1OpenAIGet Key
VolcEngine (Doubao)volcengine/https://ark.cn-beijing.volces.com/api/v3OpenAIGet Key
焞矗äș‘shengsuanyun/https://router.shengsuanyun.com/api/v1OpenAI-
BytePlusbyteplus/https://ark.ap-southeast.bytepluses.com/api/v3OpenAIGet Key
Vivgridvivgrid/https://api.vivgrid.com/v1OpenAIGet Key
LongCatlongcat/https://api.longcat.chat/openaiOpenAIGet Key
ModelScope (魔搭)modelscope/https://api-inference.modelscope.cn/v1OpenAIGet Token
Antigravityantigravity/Google CloudCustomOAuth only
GitHub Copilotgithub-copilot/localhost:4321gRPC-

Configuration de Base

json
{
  "model_list": [
    {
      "model_name": "ark-code-latest",
      "model": "volcengine/ark-code-latest",
      "api_keys": ["sk-your-api-key"]
    },
    {
      "model_name": "gpt-5.4",
      "model": "openai/gpt-5.4",
      "api_keys": ["sk-your-openai-key"]
    },
    {
      "model_name": "claude-sonnet-4.6",
      "model": "anthropic/claude-sonnet-4.6",
      "api_keys": ["sk-ant-your-key"]
    },
    {
      "model_name": "glm-4.7",
      "model": "zhipu/glm-4.7",
      "api_keys": ["your-zhipu-key"]
    }
  ],
  "agents": {
    "defaults": {
      "model_name": "gpt-5.4"
    }
  }
}

Champs d'entrée model_list

ChampTypeRequisDescription
model_namestringOuiNom unique pour référencer ce modÚle dans la config agent
modelstringOuiIdentifiant fournisseur/modĂšle (ex : openai/gpt-5.4, azure/gpt-5.4, anthropic/claude-sonnet-4.6)
api_keysstring[]Oui*ClĂ©(s) API pour l'authentification. Plusieurs clĂ©s permettent la rotation par requĂȘte. Non requis pour les fournisseurs locaux (Ollama, LM Studio, VLLM)
api_basestringNonRemplace l'URL de base API par défaut
proxystringNonURL du proxy HTTP pour cette entrée de modÚle
user_agentstringNonEn-tĂȘte User-Agent personnalisĂ© pour les requĂȘtes API (supportĂ© par les providers compatibles OpenAI, Gemini, Anthropic et Azure)
request_timeoutintNonDĂ©lai d'expiration de la requĂȘte en secondes (la valeur par dĂ©faut varie selon le provider)
max_tokens_fieldstringNonRemplace le nom du champ max tokens dans le corps de la requĂȘte (ex : max_completion_tokens pour les modĂšles o1)
thinking_levelstringNonNiveau de pensée étendue : off, low, medium, high, xhigh ou adaptive
extra_bodyobjectNonChamps supplĂ©mentaires Ă  injecter dans chaque corps de requĂȘte
rpmintNonLimite de requĂȘtes par minute
fallbacksstring[]NonNoms des modĂšles de secours pour le basculement automatique
enabledboolNonActiver ou désactiver cette entrée de modÚle (par défaut : true)

Exemples par Vendor

OpenAI

json
{
  "model_name": "gpt-5.4",
  "model": "openai/gpt-5.4",
  "api_keys": ["sk-..."]
}

VolcEngine (Doubao)

json
{
  "model_name": "ark-code-latest",
  "model": "volcengine/ark-code-latest",
  "api_keys": ["sk-..."]
}

æ™șè°± AI (GLM)

json
{
  "model_name": "glm-4.7",
  "model": "zhipu/glm-4.7",
  "api_keys": ["your-key"]
}

DeepSeek

json
{
  "model_name": "deepseek-chat",
  "model": "deepseek/deepseek-chat",
  "api_keys": ["sk-..."]
}

Anthropic (avec clé API)

json
{
  "model_name": "claude-sonnet-4.6",
  "model": "anthropic/claude-sonnet-4.6",
  "api_keys": ["sk-ant-your-key"]
}

Exécutez picoclaw auth login --provider anthropic pour coller votre token API.

API Anthropic Messages (format natif)

Pour l'accÚs direct à l'API Anthropic ou les endpoints personnalisés qui ne prennent en charge que le format de message natif d'Anthropic :

json
{
  "model_name": "claude-opus-4-6",
  "model": "anthropic-messages/claude-opus-4-6",
  "api_keys": ["sk-ant-your-key"],
  "api_base": "https://api.anthropic.com"
}

Utilisez le protocole anthropic-messages lorsque :

  • Vous utilisez des proxys tiers qui ne prennent en charge que l'endpoint natif /v1/messages d'Anthropic (pas le format compatible OpenAI /v1/chat/completions)
  • Vous vous connectez Ă  des services comme MiniMax, Synthetic qui nĂ©cessitent le format de message natif d'Anthropic
  • Le protocole anthropic existant renvoie des erreurs 404 (indiquant que l'endpoint ne prend pas en charge le format compatible OpenAI)

Note : Le protocole anthropic utilise le format compatible OpenAI (/v1/chat/completions), tandis que anthropic-messages utilise le format natif d'Anthropic (/v1/messages). Choisissez en fonction du format pris en charge par votre endpoint.

Ollama (local)

json
{
  "model_name": "llama3",
  "model": "ollama/llama3"
}

Proxy/API Personnalisé

json
{
  "model_name": "my-custom-model",
  "model": "openai/custom-model",
  "api_base": "https://my-proxy.com/v1",
  "api_keys": ["sk-..."],
  "user_agent": "MyApp/1.0",
  "request_timeout": 300
}

LiteLLM Proxy

json
{
  "model_name": "lite-gpt4",
  "model": "litellm/lite-gpt4",
  "api_base": "http://localhost:4000/v1",
  "api_keys": ["sk-..."]
}

PicoClaw ne supprime que le prĂ©fixe externe litellm/ avant d'envoyer la requĂȘte, donc les alias de proxy comme litellm/lite-gpt4 envoient lite-gpt4, tandis que litellm/openai/gpt-4o envoie openai/gpt-4o.

Répartition de Charge

Configurez plusieurs endpoints pour le mĂȘme nom de modĂšle — PicoClaw effectuera automatiquement un round-robin entre eux :

json
{
  "model_list": [
    {
      "model_name": "gpt-5.4",
      "model": "openai/gpt-5.4",
      "api_base": "https://api1.example.com/v1",
      "api_keys": ["sk-key1"]
    },
    {
      "model_name": "gpt-5.4",
      "model": "openai/gpt-5.4",
      "api_base": "https://api2.example.com/v1",
      "api_keys": ["sk-key2"]
    }
  ]
}

Migration depuis l'Ancienne Configuration providers

L'ancienne configuration providers est dépréciée et a été supprimée dans V2. Les configs V0/V1 existantes sont auto-migrées.

Ancienne configuration (dépréciée) :

json
{
  "providers": {
    "zhipu": {
      "api_key": "your-key",
      "api_base": "https://open.bigmodel.cn/api/paas/v4"
    }
  },
  "agents": {
    "defaults": {
      "provider": "zhipu",
      "model": "glm-4.7"
    }
  }
}

Nouvelle configuration (recommandée) :

json
{
  "version": 3,
  "model_list": [
    {
      "model_name": "glm-4.7",
      "model": "zhipu/glm-4.7",
      "api_keys": ["your-key"]
    }
  ],
  "agents": {
    "defaults": {
      "model_name": "glm-4.7"
    }
  }
}

Pour un guide de migration détaillé, voir migration/model-list-migration.md.

Architecture des Fournisseurs

PicoClaw route les fournisseurs par famille de protocoles :

  • Protocole compatible OpenAI : OpenRouter, passerelles compatibles OpenAI, Groq, Zhipu et endpoints de type vLLM.
  • Protocole Gemini natif : Google Gemini via les endpoints natifs models/*:generateContent et models/*:streamGenerateContent.
  • Protocole Anthropic : Comportement natif de l'API Claude.
  • Chemin Codex/OAuth : Route d'authentification OAuth/token OpenAI.

Cela maintient le runtime léger tout en faisant des nouveaux backends compatibles OpenAI principalement une opération de configuration (api_base + api_keys).

<details> <summary><b>Zhipu</b></summary>

1. Obtenir la clé API et l'URL de base

2. Configurer

json
{
  "agents": {
    "defaults": {
      "workspace": "~/.picoclaw/workspace",
      "model_name": "glm-4.7",
      "max_tokens": 8192,
      "temperature": 0.7,
      "max_tool_iterations": 20
    }
  },
  "providers": {
    "zhipu": {
      "api_key": "Your API Key",
      "api_base": "https://open.bigmodel.cn/api/paas/v4"
    }
  }
}

3. Lancer

bash
picoclaw agent -m "Hello"
</details> <details> <summary><b>Exemple de configuration complĂšte</b></summary>
json
{
  "agents": {
    "defaults": {
      "model_name": "anthropic/claude-opus-4-5"
    }
  },
  "session": {
    "dm_scope": "per-channel-peer"
  },
  "providers": {
    "openrouter": {
      "api_key": "sk-or-v1-xxx"
    },
    "groq": {
      "api_key": "gsk_xxx"
    }
  },
  "channel_list": {
    "telegram": {
      "enabled": true,
      "type": "telegram",
      "token": "123456:ABC...",
      "allow_from": ["123456789"]
    },
    "discord": {
      "enabled": true,
      "type": "discord",
      "token": "",
      "allow_from": [""]
    },
    "whatsapp": {
      "enabled": false,
      "type": "whatsapp",
      "bridge_url": "ws://localhost:3001",
      "use_native": false,
      "session_store_path": "",
      "allow_from": []
    },
    "feishu": {
      "enabled": false,
      "type": "feishu",
      "app_id": "cli_xxx",
      "app_secret": "xxx",
      "encrypt_key": "",
      "verification_token": "",
      "allow_from": []
    },
    "qq": {
      "enabled": false,
      "type": "qq",
      "app_id": "",
      "app_secret": "",
      "allow_from": []
    }
  },
  "tools": {
    "web": {
      "brave": {
        "enabled": false,
        "api_key": "BSA...",
        "max_results": 5
      },
      "duckduckgo": {
        "enabled": true,
        "max_results": 5
      },
      "perplexity": {
        "enabled": false,
        "api_key": "",
        "max_results": 5
      },
      "searxng": {
        "enabled": false,
        "base_url": "http://localhost:8888",
        "max_results": 5
      }
    },
    "cron": {
      "exec_timeout_minutes": 5
    }
  },
  "heartbeat": {
    "enabled": true,
    "interval": 30
  }
}
</details>

📝 Comparaison des ClĂ©s API

ServicePricingUse Case
OpenRouterFree: 200K tokens/monthMultiple models (Claude, GPT-4, etc.)
Volcengine CodingPlan„9.9/first monthBest for Chinese users, multiple SOTA models (Doubao, DeepSeek, etc.)
ZhipuFree: 200K tokens/monthSuitable for Chinese users
Brave Search$5/1000 queriesWeb search functionality
SearXNGFree (self-hosted)Privacy-focused metasearch (70+ engines)
GroqFree tier availableFast inference (Llama, Mixtral)
CerebrasFree tier availableFast inference (Llama, Qwen, etc.)
LongCatFree: up to 5M tokens/dayFast inference
ModelScopeFree: 2000 requests/dayInference (Qwen, GLM, DeepSeek, etc.)

<div align="center"> </div>