侧边栏壁纸
博主头像
Setyg的博客

当秋风染红落叶的时候,就是新生~

  • 累计撰写 86 篇文章
  • 累计创建 66 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录
AI

DeepSeek Harness 接入智谱大模型:BigModel OpenAI 兼容接口与 provider 配置实践

Setyg
2026-10-02 / 0 评论 / 0 点赞 / 1 阅读 / 0 字

把智谱 BigModel 接进 DeepSeek Harness(DSH),走的是和上一篇接百炼完全相同的路:智谱提供 OpenAI 兼容接口,DSH 的模型提供商按 openai-completions 配置,两端要对齐的还是 API Key、BASE_URL、模型名 三样。差异全在平台侧:接口路径是 /api/paas/v4,Key 是「点号两段式」而不是 sk- 开头,没有地域概念,但多了「按量与编程套餐 Key 不通用」和一套更细的业务错误码。

一、BigModel 侧:注册、拿 Key

访问智谱开放平台(open.bigmodel.cn)注册并完成实名认证,然后在个人中心进 API Keys 页面创建 Key。两点和本机其他提供商不一样的地方:

  • Key 格式是两段式:形如 32位十六进制ID.密钥串,中间用点号分隔。复制时务必两段完整——只拷了前段照样创建得出去,调用时才报 401。
  • 按量计费与 GLM Coding Plan 的 Key 不通用:订阅了编程套餐就用对应产品入口发的 Key,拿错类型会被拒(业务错误码 1315 说得直白:「该 API Key 仅限企业编程套餐场景使用,请到官网更换对应产品类型的 API Key」)。

二、先 curl 验证,再进配置

智谱 OpenAI 兼容接口的基础地址是 https://open.bigmodel.cn/api/paas/v4,对话补全的完整 endpoint 在其后加 /chat/completions。老规矩,命令行先打通:

curl -s https://open.bigmodel.cn/api/paas/v4/chat/completions \
  -H "Authorization: Bearer $BIGMODEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "glm-4.5-air", "messages": [{"role": "user", "content": "你好"}]}'

# 返回含 choices 的正常 JSON 即通

一个官方文档里值得留意的细节:流式(SSE)调用如果在推理过程中异常终止,不会返回正常的错误码报文,而是把异常原因放进 finish_reason 字段——排错时别只盯着 HTTP 状态码。

三、写 DSH 的 provider 条目

还是改 profile 的 cordis.patch.yml(Windows 在 %USERPROFILE%\.dsh\profiles\desktop\,Linux/macOS 在 ~/.dsh/profiles/ 对应档下),给 @deepseek-ai/dsh-llm-pi-ai 加条目。下面是本机实际在跑的写法:

- id: llm-bigmodel           # 条目 id,整棵树内唯一
  name: "@deepseek-ai/dsh-llm-pi-ai"
  config:
    providers:
      bigmodel:              # provider 名,会话里全名是 bigmodel/glm-5.2 这种
        displayName: 智谱BigModel
        apiKeyEnv: BIGMODEL_API_KEY    # 密钥引用名,不是 Key 本身
        api: openai-completions
        baseURL: https://open.bigmodel.cn/api/paas/v4
        models:
          - id: glm-4.5-air            # 轻量档,日常问答便宜
            name: glm-4.5-air
          - id: glm-4.7
            name: glm-4.7
          - id: glm-5.1
            name: glm-5.1
          - id: glm-5.2
            name: glm-5.2
          - id: glm-5.3
            name: glm-5.3
          - id: glm-5.3-flash
            name: glm-5.3-flash
          - id: glm-5.3-flashx
            name: glm-5.3-flashx

和百炼条目对照着看,差异一眼就能数完:

项智谱 BigModel阿里云百炼
baseURLhttps://open.bigmodel.cn/api/paas/v4,全平台一个按地域/业务空间选(北京专属域名、老 dashscope 域名等)
Key 形态点号两段式 ID.secretsk- 开头,按地域绑定
models id无供应商前缀,直接用 glm-* 模型代码三方直供模型可能带 vendor/ 前缀
错误反馈HTTP 码 + 业务码双层(1000/1211/1302…)HTTP 码 + OpenAI 风格 error code

写 models 列表时以控制台模型页的模型代码为准;DSH 发起调用就按这里的 id 原样传 model 参数,写错报 400/1211「模型不存在,请检查模型代码」。

四、和百炼并存:一个 entry,多家提供商

config.providers 是个映射,多个提供商可以写在同一个条目里——本机就是 bigmodel 和 bailian 挂在同一条 llm-pi-ai 下。接入后的切换体验是统一的:会话里用 bigmodel/glm-5.2 或 bailian/qwen3.8-flash 这种「provider/model」全名选模型,工具链、权限档位、MCP 配置都不用动。

API Key 依旧落 ~/.dsh/.credentials.yaml 的 refs 段,键名与 apiKeyEnv 逐字一致:

# ~/.dsh/.credentials.yaml(节选,密钥已打码)
refs:
  BIGMODEL_API_KEY: 94d1****.7S6k****
  BAILIAN_API_KEY: sk-****

五、把 GLM 设为默认模型

要让新会话默认走智谱,加一个指向 @deepseek-ai/dsh-agent-default-model 的条目:

- id: agent-default-model
  name: "@deepseek-ai/dsh-agent-default-model"
  config:
    provider: bigmodel
    model: glm-5.2

改完重启 DSH(profile 的 patch 层在启动时组合),新建会话确认模型显示为 bigmodel/...,发一句话能正常流式输出即接通。

六、常见问题速查

智谱的报错是「外层 HTTP 状态码 + 响应体里的业务错误码」两层,光看 HTTP 码不够,排错时把 error.code 一起看:

业务码 / HTTP官方含义实际多是什么原因
1000 / 401身份验证失败Key 复制不全(丢了点号后段)、多拷了空格,或 refs 键名和 apiKeyEnv 不一致
1003 / 401Token 已过期控制台重新生成 Key,更新凭据条目后重启
1113 / 429账户已欠费充值;或给子账号换有额度的 Key
1211 / 400模型不存在models 里的 id 与模型代码不一致,逐个核对
1261 / 400Prompt 超长长会话撞上下文上限:开新会话,或换更长上下文的型号
1301 / 400输入或生成内容涉敏内容风控,改写提示语;Agent 场景偶发于工具回传内容
1302 / 1308 / 429速率限制 / 用量上限并发压太高,降频等限额重置;或申请提额
1309 / 1315 / 429Coding Plan 到期 / Key 类型不符按量与编程套餐的 Key 不通用,去对应产品入口换 Key
改完配置没反应—老三样:编辑的应是 cordis.patch.yml、条目 id 别撞名、重启 DSH 再验

到这里,这台 DSH 的模型侧就有了三条路线:智谱的 GLM 系、百炼的千问/DeepSeek/Kimi 混编,再加上本地 LM Studio——全都收敛成同一个 openai-completions provider 写法。以后接任何一家 OpenAI 兼容的模型服务,都是这四十行 YAML 的事。相关配置背景可看DSH Desktop 上手指南。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区