OpenClaw 支持这种格式的 Azure OpenAI 密钥和 endpoint (如 https://xxx.openai.azure.com/),但**不是原生直接支持**,而是通过一些配置或代理方式实现兼容。当前(2026年3月)社区主流结论如下:
当前官方支持情况
- OpenClaw 的官方模型提供者(providers)主要包括:OpenAI、Anthropic、Google、Groq、DeepSeek 等标准 OpenAI 兼容 API。
- Azure OpenAI (包括你这种 https://xxx.openai.azure.com/ 格式的 endpoint)没有内置的 "azure" 或 "azure-openai" provider。GitHub 上有多个 feature request issue(如 #6056、#2280)在讨论添加原生支持,但截至 2026 年 3 月,还没完全落地(部分用户报告在最新版本中通过 hack 能用,但不稳定)。
实际能用的几种方式(社区验证有效)
-
最推荐:用 LiteLLM 做代理(丝滑、无需改 OpenClaw 源码)
-
LiteLLM 是 OpenAI 兼容的万能代理,支持 Azure OpenAI 一键桥接。
-
步骤简要:
-
安装 LiteLLM(pip install litellm)
-
配置 litellm_config.yaml 或环境变量:
model_list: - model_name: gpt-4o litellm_params: model: azure/gpt-4o api_base: https://xxx.openai.azure.com/ api_key: your-azure-openai-key api_version: 2024-02-15-preview # 或最新版,根据你的部署 deployment_name: gpt-4o-deployment # 你的实际 deployment 名 -
启动代理:
litellm --config litellm_config.yaml -
在 OpenClaw 的 config(~/.openclaw/openclaw.json 或 UI 设置)把模型 provider 指向 LiteLLM 的本地地址:
"models": { "providers": { "openai": { // 或自定义 provider 名 "baseUrl": "http://localhost:4000/v1", "apiKey": "sk-xxx" // LiteLLM 可设虚拟 key 或留空 } } }
-
-
这样 OpenClaw 以为自己在用普通 OpenAI,但实际走你的 Azure endpoint。大量中文教程和 Medium 文章都用这个,成功率很高。
-
-
直接 hack base_url(部分版本可行,无需代理)
- 如果你的 OpenClaw 版本支持自定义 baseUrl + OpenAI provider:
- 把 provider 设置为 "openai"
- baseUrl 改成:
https://xxx.openai.azure.com/openai/v1(注意加 /openai/v1,这是 Azure 的 v1 兼容路径) - apiKey 填你的 Azure OpenAI key
- deployment 名通常需要在 model 名里指定,如 model: "gpt-4o" 但实际走你的 deployment。
- 社区有人在 issue 里说加
/openai/v1后直接能用(尤其是 Foundry 模型),但稳定性因版本而异------如果报 404 或格式错误,就切回 LiteLLM。
- 如果你的 OpenClaw 版本支持自定义 baseUrl + OpenAI provider:
-
其他变通
- 用环境变量注入:部分教程提到在 .env 加 AZURE_OPENAI_ENDPOINT、AZURE_OPENAI_API_KEY 等,然后 onboard 时选 Azure(但这更适用于某些 fork 或特定部署脚本)。
- 如果你是企业用户或有 MSDN 订阅,Azure 社区有专门的 OpenClaw + Azure 部署指南,基本都绕不过 LiteLLM 或自定义 endpoint。
是的,以下是使用 LiteLLM 作为代理来桥接你的 Azure OpenAI endpoint(https://xxx.openai.azure.com/)的完整配置示例。LiteLLM 的配置文件是 YAML 格式,不是 Python 代码,但你可以用 Python 方式启动代理(通过命令行或脚本)。
步骤 1: 安装 LiteLLM
bash
pip install litellm
# 如果想支持代理服务器完整功能,建议再装这些(可选但推荐)
pip install 'litellm[proxy]'
步骤 2: 创建配置文件 litellm_config.yaml
在当前目录下新建文件 litellm_config.yaml,内容如下(已针对你的 endpoint 调整):
yaml
model_list:
- model_name: gpt-4o # 你在 OpenClaw 里想用的模型别名(可以随便取,OpenClaw 配置时就用这个名字)
litellm_params:
model: azure/gpt-4o-deployment # 格式必须是 azure/ + 你在 Azure 门户创建的实际 Deployment 名称
api_base: https://xxx.openai.azure.com/ # 你的 endpoint(注意结尾不加 /openai/deployments/...)
api_key: "your-azure-openai-api-key-here" # 从 Azure 门户 "Keys and Endpoint" 复制的 KEY
api_version: "2024-10-21" # 推荐使用较新的版本,根据你的部署支持情况可改成 "2024-02-15-preview" 或 "2025-04-01-preview" 等
# 可选:如果需要额外参数
# temperature: 0.7
# max_tokens: 4096
- model_name: gpt-4o-mini # 可以加多个模型/Deployment
litellm_params:
model: azure/gpt-4o-mini-deployment
api_base: https://xxx.openai.azure.com/
api_key: "your-azure-openai-api-key-here"
api_version: "2024-10-21"
# 可选:全局设置(如果多个模型共用 api_key / api_version,可以提到外面)
general_settings:
master_key: sk-1234567890abcdef # 强烈推荐设置一个 master key,OpenClaw 连接时用这个作为 apiKey
# 可选:如果想用环境变量(更安全,不把 key 写死在 yaml 里)
# litellm_params:
# api_key: os.environ/AZURE_OPENAI_KEY
关键替换点:
- 把
gpt-4o-deployment改成你在 Azure AI Studio / Azure OpenAI 里实际创建的 Deployment Name(不是模型名,是你自己命名的 deployment,例如 "my-gpt4o-2025")。 - 把
your-azure-openai-api-key-here替换成真实的 API Key。 api_version:去 Azure 门户看你的部署支持的版本,或者用最新稳定版(2026 年常用 2024-10-21 或更高)。
步骤 3: 启动 LiteLLM 代理(两种方式)
方式 A:直接命令行启动(最简单)
bash
litellm --config litellm_config.yaml --port 4000
# 或加 --detailed_debug 看详细日志
litellm --config litellm_config.yaml --detailed_debug
启动后,它会在 http://0.0.0.0:4000 (或 http://localhost:4000)运行。
方式 B:用 Python 脚本启动(更灵活,可放进代码里自动化)
新建一个文件 start_litellm_proxy.py:
python
# start_litellm_proxy.py
import litellm
from litellm.proxy import proxy_server
# 加载配置文件(相对路径或绝对路径)
config_path = "litellm_config.yaml"
# 启动 proxy 服务器
proxy_server.run_server(
config=config_path,
port=4000, # 可改端口
# host="0.0.0.0", # 默认就是 0.0.0.0
# detailed_debug=True, # 调试日志
)
# 如果想在代码里直接运行(不推荐生产环境)
# litellm.proxy.proxy_cli.run() # 但通常用上面方式
然后执行:
bash
python start_litellm_proxy.py
步骤 4: 在 OpenClaw 中配置使用这个代理
在 OpenClaw 的配置文件(~/.openclaw/openclaw.json 或 UI 设置)中,把模型 provider 指向 LiteLLM:
json
{
"models": {
"providers": {
"openai": {
"baseUrl": "http://localhost:4000/v1", // 注意 /v1 结尾
"apiKey": "sk-1234567890abcdef" // 如果你设了 master_key,就用它;没设可以留空或用任意值
}
}
}
}
- 模型名用你在 yaml 里定义的
model_name,如 "gpt-4o" 或 "gpt-4o-mini"。 - 测试:让 OpenClaw 跑一个简单任务,看是否能正常调用你的 Azure 模型。