技能简介
一个轻量级Node.js代理,解决OpenClaw与Azure OpenAI直接集成时的URL构造冲突问题。通过本地中转,将OpenClaw的标准OpenAI格式请求转换为Azure OpenAI所需的带api-version参数的完整路径。
业务背景
OpenClaw用户可直接调用Azure OpenAI服务,无需改造原有代码逻辑。通过本地代理中转,既保留Visual Studio订阅等Azure积分的使用资格,又能为自动化子任务灵活配置成本更低的Azure模型,实现云资源成本的精细化管控。
落地案例:某开发团队使用OpenClaw编排AI工作流时,需将部分子代理任务调度至Azure GPT-4o以消耗企业既有Azure积分。部署该代理后,仅需在配置文件中关闭Bearer认证、指定azure-gpt4o模型,即可让子代理无缝走通Azure通道,主任务仍保持原有OpenAI调用方式不变。
能做什么
- 修复OpenClaw调用Azure OpenAI时的404错误
- 支持使用Visual Studio订阅等Azure积分额度
- 为子代理任务指定成本更低的Azure模型
- 以systemd服务方式常驻运行
使用说明
安装依赖:需Node.js环境,克隆仓库后无需额外npm install(单文件脚本)。
步骤1:启动代理
# 设置Azure参数
export AZURE_OPENAI_ENDPOINT="your-resource.openai.azure.com"
export AZURE_OPENAI_DEPLOYMENT="gpt-4o"
export AZURE_OPENAI_API_VERSION="2025-01-01-preview"
# 运行代理
node scripts/server.js
步骤2:配置OpenClaw
编辑~/.openclaw/openclaw.json,添加provider配置,注意必须设置"authHeader": false,Azure使用api-key头部而非Bearer令牌。
步骤3:(可选)子代理走Azure
在agents.defaults.subagents中指定model为azure-gpt4o/gpt-4o,自动化任务消耗Azure积分。
systemd常驻(可选):
cp scripts/azure-proxy.service ~/.config/systemd/user/
systemctl --user enable azure-proxy && systemctl --user start azure-proxy
输入与输出
见下方输入与输出表格。
| 项目 | 内容 |
|---|---|
| 输入 | Azure资源主机名、部署名称、API版本、Azure API密钥;可选:本地端口(默认18790)、绑定地址(默认127.0.0.1) |
| 输出 | 转发至Azure OpenAI的聊天补全响应;/health端点返回JSON状态 |
| 适用人群 | OpenClaw用户且拥有Azure OpenAI资源;需用Azure积分替代OpenAI账单的场景 |
| 不包含 | Azure订阅开通、OpenClaw本体安装、自动SSL证书管理、多区域负载均衡 |
风险提示
- API密钥以明文环境变量或配置文件存储,注意文件权限控制
- Azure内容过滤策略较严格,部分在OpenAI可运行的提示词可能被拦截
- 代理默认仅绑定127.0.0.1,如需跨机器访问需修改AZURE_PROXY_BIND
- api-version硬编码于代理层,升级Azure API版本需重启代理
来源信息
原始链接:https://github.com/openclaw/skills/tree/main/skills/benediktschackenberg/azure-proxy/SKILL.md
来源类型:GitHub开源项目
