Working config (openai provider, BASE_URL /v1)
ChatDev already reads BASE_URL / API_KEY from .env and YAML provider: openai. A Chat Completions host whose public catalog is GET https://api.pzero.studio/v1/models (no key) fits that slot.
BASE_URL=https://api.pzero.studio/v1
API_KEY=<Bearer key for that host>
YAML model node: provider: openai, base_url: ${BASE_URL}, name: a live catalog id, example deepseek-v4-flash.
Do not set provider: gemini. Do not copy the README Gemini example (https://generativelanguage.googleapis.com with no /v1). This host needs the /v1 root. The OpenAI default https://api.openai.com/v1 plus sk-… will not list catalog ids on this host.
Not asking for a first-party provider enum. openai plus a custom BASE_URL is enough.
Working config (openai provider, BASE_URL /v1)
ChatDev already reads
BASE_URL/API_KEYfrom.envand YAMLprovider: openai. A Chat Completions host whose public catalog isGET https://api.pzero.studio/v1/models(no key) fits that slot.YAML model node:
provider: openai,base_url: ${BASE_URL},name:a live catalog id, exampledeepseek-v4-flash.Do not set
provider: gemini. Do not copy the README Gemini example (https://generativelanguage.googleapis.comwith no/v1). This host needs the/v1root. The OpenAI defaulthttps://api.openai.com/v1plussk-…will not list catalog ids on this host.Not asking for a first-party provider enum.
openaiplus a customBASE_URLis enough.