GLM-5 不是「换个模型名」那么简单

关键字「glm5 openclaw 配置」背后通常有三个真实诉求:

  1. 接入:如何把 GLM-5 接进 OpenClaw Gateway,让它能被所有技能调用?
  2. 路由:如何针对不同任务类型(写代码、写长文、简单问答)分配不同模型,避免浪费?
  3. 稳定:生产环境下超时、重试、降级、成本控制怎么配?

很多配置文档只给你一个「改 config.json」的清单,但没告诉你为什么这么配、出问题怎么排查、跑起来后怎么优化。

本文按「生产可用」的顺序写:先配置能跑,再配置不炸,最后配置省钱。


一、模型来源:你是用官方 API 还是中转站?

GLM-5 有两种获取方式:

来源优点缺点适用场景
智谱官方稳定、无中间商需要备案、国内网络限制、价格透明但固定正规企业、有备案
cliproxy 中转统一网关、折扣价、多模型管理多一层依赖、稳定性依赖中转站个人开发者、测试环境、多模型混用

配置路径差异

官方 API 直接配:

{
  "provider_id": "zhipu",
  "base_url": "https://open.bigmodel.cn/api/paas/v4",
  "api_key": "your-zhipu-key",
  "models": ["glm-5", "glm-5-flash"]
}

cliproxy 中转配(推荐):

{
  "provider_id": "cliproxy",
  "base_url": "https://your-cliproxy.com/v1",
  "api_key": "your-cliproxy-key",
  "models": ["cliproxy/glm-5", "cliproxy/glm-5-flash"]
}

为什么用 cliproxy?

  • 统一 API 形态(OpenAI 兼容)
  • 多 provider 管理(一个 key 调多个模型)
  • 折扣与预算控制(中转站通常有折扣)

二、OpenClaw Gateway 核心配置

配置位置:/root/.openclaw/config.json(默认)或 Gateway 启动时指定的 --config 路径。

2.1 providers 字段:定义可用的 GLM-5

{
  "providers": [
    {
      "id": "cliproxy-glm5",
      "type": "openai",
      "base_url": "https://your-cliproxy.com/v1",
      "api_key": "${CLIPROXY_API_KEY}",
      "models": [
        {
          "id": "cliproxy/glm-5",
          "name": "GLM-5(智谱)",
          "max_tokens": 128000,
          "context_window": 128000
        },
        {
          "id": "cliproxy/glm-5-flash",
          "name": "GLM-5 Flash",
          "max_tokens": 128000,
          "context_window": 128000
        }
      ]
    }
  ]
}

关键点:

  • id:在 routes 中会引用这个 provider_id
  • api_key 支持环境变量(${VAR_NAME}),避免硬编码泄露
  • max_tokens 和 context_window:影响长文生成和上下文限制

2.2 routes 字段:定义任务类型 → 模型映射

OpenClaw Gateway 的「路由」是核心能力:你可以根据任务类型自动选择合适的模型。

{
  "routes": [
    {
      "pattern": "coding*",
      "provider": "cliproxy-glm5",
      "model": "cliproxy/glm-5"
    },
    {
      "pattern": "longform*",
      "provider": "cliproxy-glm5",
      "model": "cliproxy/glm-5"
    },
    {
      "pattern": "quick*",
      "provider": "cliproxy-glm5",
      "model": "cliproxy/glm-5-flash"
    },
    {
      "pattern": "*",
      "provider": "cliproxy-glm5",
      "model": "cliproxy/glm-5-flash"
    }
  ]
}

路由逻辑:

  • 通配符 * 是默认路由(当其他都不匹配时)
  • 匹配优先级:从上到下,第一个匹配的生效
  • pattern 匹配的是什么?是调用时的「模型标识」(见下文)

2.3 defaults 字段:默认模型配置

{
  "defaults": {
    "chat_model": "cliproxy/glm-5-flash",
    "reasoning_model": "cliproxy/glm-5",
    "longform_model": "cliproxy/glm-5"
  }
}

用途:

  • 当技能或 cron job 没有指定模型时,使用这里的默认值
  • reasoning_model:用于复杂推理、架构设计
  • longform_model:用于长文生成(博客、教程)

三、配置后如何生效:重启 vs 重载

3.1 修改 providers 或 routes

需要完全重启 Gateway:

# 使用 OpenClaw CLI(推荐)
openclaw gateway restart

# 或直接发 SIGUSR1 信号(仅重启,不重新加载 cron jobs)
kill -USR1 $(pgrep -f "openclaw gateway")

⚠️ 注意:

  • SIGUSR1 重启不会重新加载 /root/.openclaw/cron/jobs.json
  • 修改 cron jobs 配置后,需要让用户手动重启 Gateway(不要用 kill -9,会中断所有会话)

3.2 验证配置是否生效

# 查看 Gateway 状态
openclaw gateway status

# 测试 GLM-5 调用
openclaw chat --model cliproxy/glm-5 "你好,请用一句话介绍你自己。"

# 查看日志(确认路由匹配)
tail -f /var/log/openclaw/gateway.log | grep -i "route\|model"

常见错误:

  • no such model: cliproxy/glm-5 → provider 配置的 models 里没有这个 id
  • provider not found: cliproxy-glm5 → routes 里引用的 provider_id 不存在
  • timeout after 120s → 模型响应太慢,需要调超时或换个快点的模型

四、生产环境:超时、重试、降级

4.1 超时配置

在 providers 里加 timeout 字段:

{
  "id": "cliproxy-glm5",
  "type": "openai",
  "base_url": "https://your-cliproxy.com/v1",
  "api_key": "${CLIPROXY_API_KEY}",
  "timeout": 180,
  "models": [...]
}

建议值:

  • 快速问答:30s
  • 代码生成:60s
  • 长文生成:180s

超时后会发生什么?

  • 默认:返回超时错误,任务失败
  • 你可以在技能里做重试逻辑(见下文)

4.2 重试与降级

在技能代码里做重试(Python 示例):

import time
from openclaw import OpenClawGateway

gateway = OpenClawGateway()

def generate_with_retry(prompt, model="cliproxy/glm-5", max_retries=2):
    for attempt in range(max_retries):
        try:
            response = gateway.chat(
                model=model,
                messages=[{"role": "user", "content": prompt}],
                timeout=180
            )
            return response["content"]
        except TimeoutError:
            if attempt < max_retries - 1:
                time.sleep(2 ** attempt)  # 指数退避
                continue
            # 最后一次重试:降级到 flash 模型
            if model == "cliproxy/glm-5":
                response = gateway.chat(
                    model="cliproxy/glm-5-flash",
                    messages=[{"role": "user", "content": prompt}],
                    timeout=60
                )
                return response["content"]
            raise

4.3 成本控制:混用 GLM-5 和 GLM-5 Flash

成本对比(假设):

  • GLM-5:¥0.12 / 1K tokens
  • GLM-5 Flash:¥0.01 / 1K tokens

建议策略:

  • 快速问答、简单任务 → Flash
  • 代码生成、长文写作 → 完整版 GLM-5
  • 实验性任务 → Flash,验证价值后再用完整版

五、常见问题排查

5.1 调用返回 401 / 403

原因:

  • API Key 错误或过期
  • cliproxy 中转站的 IP 白名单限制

排查:

# 测试 API Key
curl -H "Authorization: Bearer YOUR_KEY" \
  https://your-cliproxy.com/v1/models

# 检查环境变量
echo $CLIPROXY_API_KEY

5.2 调用返回 502 / 503

原因:

  • cliproxy 中转站宕机
  • 智谱官方 API 限流

应对:

  • 配置 fallback provider(如再加一个备用中转站)
  • 在技能里捕获错误,返回「服务暂时不可用」提示

5.3 模型返回乱码或截断

原因:

  • max_tokens 设置太小
  • 编码问题(罕见)

排查:

{
  "max_tokens": 4096,  // 放大
  "temperature": 0.7
}

六、高级配置:多 provider + 负载均衡

6.1 配置两个 cliproxy 实例

{
  "providers": [
    {
      "id": "cliproxy-glm5-primary",
      "type": "openai",
      "base_url": "https://cliproxy-1.com/v1",
      "api_key": "${CLIPROXY_API_KEY_1}",
      "models": [...]
    },
    {
      "id": "cliproxy-glm5-backup",
      "type": "openai",
      "base_url": "https://cliproxy-2.com/v1",
      "api_key": "${CLIPROXY_API_KEY_2}",
      "models": [...]
    }
  ],
  "routes": [
    {
      "pattern": "critical*",
      "provider": "cliproxy-glm5-primary",
      "model": "cliproxy/glm-5"
    },
    {
      "pattern": "*",
      "provider": "cliproxy-glm5-backup",
      "model": "cliproxy/glm-5-flash"
    }
  ]
}

用途:

  • 主 provider 故障时,自动切换到备用
  • 不同业务用不同 provider(成本隔离)

6.2 监控与告警

日志采集:

# Gateway 日志路径(默认)
/var/log/openclaw/gateway.log

# 搜索错误模式
grep -i "error\|timeout\|502\|503" /var/log/openclaw/gateway.log | tail -50

告警规则(建议):

  • 5 分钟内超时 > 10 次 → 告警
  • 502/503 错误率 > 5% → 告警
  • API 调用延迟 P99 > 30s → 告警

七、完整示例配置文件

{
  "version": "1.0",
  "providers": [
    {
      "id": "cliproxy-glm5",
      "type": "openai",
      "base_url": "https://your-cliproxy.com/v1",
      "api_key": "${CLIPROXY_API_KEY}",
      "timeout": 180,
      "models": [
        {
          "id": "cliproxy/glm-5",
          "name": "GLM-5(智谱)",
          "max_tokens": 128000,
          "context_window": 128000
        },
        {
          "id": "cliproxy/glm-5-flash",
          "name": "GLM-5 Flash",
          "max_tokens": 128000,
          "context_window": 128000
        }
      ]
    }
  ],
  "routes": [
    {
      "pattern": "coding*",
      "provider": "cliproxy-glm5",
      "model": "cliproxy/glm-5"
    },
    {
      "pattern": "longform*",
      "provider": "cliproxy-glm5",
      "model": "cliproxy/glm-5"
    },
    {
      "pattern": "quick*",
      "provider": "cliproxy-glm5",
      "model": "cliproxy/glm-5-flash"
    },
    {
      "pattern": "*",
      "provider": "cliproxy-glm5",
      "model": "cliproxy/glm-5-flash"
    }
  ],
  "defaults": {
    "chat_model": "cliproxy/glm-5-flash",
    "reasoning_model": "cliproxy/glm-5",
    "longform_model": "cliproxy/glm-5"
  }
}

八、验证清单

配置完成后,逐项验证:

  • openclaw gateway status 显示配置已加载
  • openclaw chat --model cliproxy/glm-5 "test" 返回正常
  • 日志里没有「no such model」或「provider not found」
  • 长文生成(2000+ tokens)不超时
  • 超时后重试/降级逻辑正常工作
  • 成本估算:根据 token 使用量预估月度费用

最后:配置不是一劳永逸

GLM-5 的价格、限流策略、API 规范都会变化。cliproxy 中转站的稳定性也有波动。

建议:

  • 每月检查一次 Gateway 配置是否仍然最优
  • 监控成本与延迟,必要时调整路由规则
  • 保留备用 provider,避免单点故障

配置对了,GLM-5 + OpenClaw 的组合可以让你用本地模型的价格,享受到接近 GPT-4 级别的中文能力。


更新时间:2026-02-15 相关文章:QMD + OpenClaw:本地模型接入指南 | OpenClaw 技能开发实战