)
华为云 MaaS GLM-5.2 完整指南踩坑实录从 ModelArts 控制台找不到入口到成功 curl 通 GLM-5.2把所有弯路一次讲清楚。附赠 OfficeAce 存储凭证解密脚本分析。前言最近想试试 GLM-5.2发现华为云 MaaSModelArts Studio上有预置服务新用户有免费 Token 额度不清楚但是这个是收费项目开箱就能调 API。但整个开通流程的坑点非常密集——光是“在线推理页面为什么是空白”就足以劝退一大部分人。这篇文章把我踩过的所有坑整理成一份避坑指南照着走 10 分钟搞定。一、先纠正几个认知误区误区 1GLM-5.2 是“部署”出来的 ❌华为云上有两个长得很像的东西产品用途有没有 GLM-5.2AI开发平台 ModelArts部署你自己的模型❌ 没有ModelArts Studio (MaaS)调用华为预置的商用模型✅ 有GLM-5.2、DeepSeek、Qwen 这些都是华为已经帮你部署好的预置服务你要做的动作是**「开通」不是「部署」**。⚠️ 我第一次走流程时就点进了「部署」向导被“调度策略、单元配置、镜像、容器端口、ELB、流控策略、同步调用/异步调用”这些参数整懵了。这些全是部署自定义模型才用的跟调 GLM 一点关系都没有。看到这个向导直接取消退出。顺便回答下“同步/异步怎么选”同步 发请求等结果对话/问答/补全用这个异步 提交任务拿 task_id 再轮询批量长任务用。调 GLM 聊天永远选同步。误区 2在 ModelArts 控制台能找到预置服务 ❌在 ModelArts 控制台的「在线推理 → 服务列表」里永远不会出现 GLM因为预置服务在MaaS 控制台的**「预置服务」页签**下。两个控制台入口都不一样。误区 3中国-香港区域最好 ❌很多教程写香港但MaaS 预置服务含 GLM-5.2仅支持「西南-贵阳一」香港区反而没有预置服务列表。我一开始切到香港结果更空了。对GLM-5.2 这个预置服务本身就是收费的按 Token 用量扣钱没有免费额度送。之前说的免费其实是另外几个东西容易混淆。给你一次说清一、你开通的 GLM-5.2 是收费的从 2026 年 8 月 20 日起华为云调价GLM-5.2 在贵阳一的价格计费项白天 08:00–20:59夜间 21:00–次日07:597折输入0.008 元 / 千 tokens0.0056 元 / 千 tokens输出0.028 元 / 千 tokens0.0196 元 / 千 tokens开通本身免费不用不扣钱但只要调用就从账户余额扣。一次普通对话大概几百 tokens花不了几分钱但账户里没钱或没领代金券就会调用失败。二、真正免费的是这几个别搞混免费来源内容怎么拿MaaS「免费服务」页签DeepSeek、Qwen 等模型领取后送 200 万 tokens在线推理 → 切到「免费服务」页签 → 点「领取额度」AgentArts 平台开通即送200 万 tokens用于智能体调试开通 AgentArts 自动到账OfficeAce 内置模型邀测期免费每日 1000 次调用次日重置装 OfficeAce 客户端直接用CodeArts 码力续航计划每日 1000 万免费 tokens当日清零次日重置登录即送不用手动领三、给你个实用建议如果你不想花钱最省事的组合是日常聊天/测试→ 用 OfficeAce 内置模型每天 1000 次免费或者去 MaaS 免费服务页签领 DeepSeek 的 200 万 tokens写代码→ 用 CodeArts 码道每天 1000 万 tokens 白送量大到随便造GLM-5.2→ 留着真需要它的时候再调账户里充个 10 块钱能聊很久约 35 万输出 tokens如果你就是想专门试 GLM-5.2 又不想花一分钱那目前没有针对它的免费额度——要么充小额要么换 DeepSeek/Qwen 等免费模型的免费额度先玩。一句话GLM-5.2 是按 Token 收费的要免费就去免费服务页签领 DeepSeek 的 200 万 tokens或者用 OfficeAce 每天 1000 次的免费额度。二、正确开通流程10 分钟搞定Step 1进入 MaaS 控制台两种方式方式 A控制台顶部搜索框输入MaaS点击第一个结果「MaaS模型即服务」或直接点下面三个快捷按钮中的「在线推理」。方式 B直接访问https://www.huaweicloud.com/product/modelartsstudio.html→ 点「进入控制台」。Step 2切换区域到「西南-贵阳一」⭐ 最关键顶部区域下拉框切到「西南-贵阳一」。如果你发现「在线推理」页面空白99% 就是区域不对。我一开始选了「华东二」页面直接白屏切到贵阳一后立刻就有内容了。Step 3开通 GLM-5.2 预置服务左侧导航模型推理 → 在线推理 → 「预置服务」页签→ 找到 GLM-5.2 → 操作列点「开通服务」→ 勾选声明 →一键开通。几秒钟完成不占用资源、不用不扣费开通后不支持关闭按 Token 用量计费开通 GLM-5.2 会自动开通该模型所有版本Step 4创建 API Key左侧「管理与统计 → API Key 管理」→ 创建 API Key。⚠️Key 只显示一次立刻复制保存。丢了只能重新建新的生成后旧的立即失效。另外新建的 Key要等 3~5 分钟才生效刚建完马上 curl 报 401 很正常别慌。Step 5找调用地址回到 GLM-5.2 那一行操作列点「调用说明」里面会给出API 地址贵阳一通用地址是https://api.modelarts-maas.com/v2/chat/completionsmodel 参数就是glm-5.2三、调用验证curlcurl-XPOSThttps://api.modelarts-maas.com/v2/chat/completions\-HContent-Type: application/json\-HAuthorization: Bearer 你的API_Key\-d{ model: glm-5.2, messages: [ {role: system, content: You are a helpful assistant.}, {role: user, content: 介绍下你自己} ] }PythonOpenAI SDK 兼容fromopenaiimportOpenAI clientOpenAI(base_urlhttps://api.modelarts-maas.com/v2,# 注意末尾不要带 /chat/completionsapi_key你的Key)respclient.chat.completions.create(modelglm-5.2,messages[{role:user,content:写一个 Python 快速排序}])print(resp.choices[0].message.content)返回 200 且choices[0].message.content有内容 大功告成。接入 OfficeAce如果你是用 OfficeAce 桌面端左侧「模型」→ 右上角「接入模型」→ 选「接入华为云 MaaS 模型」→ 接入类型选「华为云 MaaS 按需计费」→ 粘贴 API Key → 勾选 GLM-5.2 →连通性测试通过后确认即可。Token Plan 是另一种订阅制套餐也仅支持贵阳一按需计费更灵活推荐按需。四、常见报错速查表报错/现象真实原因解决在线推理页面空白区域不对顶部切到西南-贵阳一找不到「预置服务」页签进错控制台了用搜索框搜 MaaS进 ModelArts Studio被要求填调度策略/镜像/端口点了「部署」那是自定义模型向导全部取消退出去「预置服务」页签401 UnauthorizedKey 未生效 / 填错新 Key 等 3-5 分钟确认用 Bearer 头model not found未开通该模型回预置服务页签对 GLM-5.2 点一次「开通服务」base_url 404SDK 地址末尾多写了/chat/completionsbase_url 只写到/v2开通按钮点了没反应未做 ModelArts 委托授权页面弹授权提示就同意或主账号登录刷新五、费用与白嫖额度开通免费按 Token 用量计费不用不扣钱新用户有免费 Token 额度在「预置服务 → 免费服务」页签还可以领取DeepSeek、Qwen 等模型的免费额度GLM-5.2 计费参考贵阳一输入约 ¥8/M tokens输出约 ¥28/M tokens21:00–次日 07:59 分时段计费可享 7 折配合 OfficeAce 内置模型调用每日 1000 次不限 Token日常办公够用了六、附录OfficeAce 本地凭证解密脚本分析最后附赠一个进阶话题。如果你已经用 OfficeAce 客户端接入了 MaaS其实可以在本机把 OfficeAce 存储的凭证直接解出来用DPAPI AES-GCM不必再去控制台拿 Key# decrypt.py - 还原 OfficeAce 存储的 Huawei MaaS 凭证# 必须在 Owner 本人 Windows 用户下运行DPAPI CurrentUser 绑定用户 SIDimportos,json,glob,base64,hashlib,ctypesfromctypesimportwintypesfromcryptography.hazmat.primitives.ciphers.aeadimportAESGCM DIR_PATHrE:\OfficeAce\packages\api\.config\secure-config-nodejsclassDATA_BLOB(ctypes.Structure):_fields_[(cbData,wintypes.DWORD),(pbData,ctypes.POINTER(ctypes.c_byte))]defdpapi_unprotect(blob_bytes):blob_inDATA_BLOB(len(blob_bytes),ctypes.cast((ctypes.c_byte*len(blob_bytes))(*blob_bytes),ctypes.POINTER(ctypes.c_byte)))blob_outDATA_BLOB()descctypes.c_wchar_p()okctypes.windll.crypt32.CryptUnprotectData(ctypes.byref(blob_in),ctypes.byref(desc),None,None,None,0,ctypes.byref(blob_out))ifnotok:raisectypes.WinError(ctypes.get_last_error())databytes(ctypes.string_at(blob_out.pbData,blob_out.cbData))ctypes.windll.kernel32.LocalFree(blob_out.pbData)returndatadeffrom_b64url(s):ss.replace(-,).replace(_,/)returnbase64.b64decode(s*(-len(s)%4))withopen(os.path.join(DIR_PATH,.oauth-profile-encryption-key))asf:rawf.read().lstrip(\ufeff)# 注意去 BOM否则 startswith 会误判MAGICOC-DPAPI-1\nsecretdpapi_unprotect(base64.b64decode(raw[len(MAGIC):].strip()))keyhashlib.sha256(secret).digest()# AES-256-GCM key SHA256(secret)profileglob.glob(os.path.join(DIR_PATH,oauth-*.json))[0]payloadjson.load(open(profile,encodingutf-8))plainAESGCM(key).decrypt(from_b64url(payload[iv]),from_b64url(payload[data])from_b64url(payload[tag]),# tag 必须拼在 ciphertext 后None)objjson.loads(plain)miobj[modelInfo]akmi[model_auth_info][model_app_key]skmi[model_auth_info][model_app_secret]basicbase64.b64encode(f{ak}:{sk}.encode()).decode()print(fURL:{mi[model_api_url_base]})print(fBasic:{basic})print(fexpires:{obj[credential][expires_at]})几个实现细节DPAPI CurrentUser 绑定 Windows 用户 SID换账号/换机器都解不开CryptUnprotectData的dwFlags0就是 CurrentUser scoperaw记得lstrip(\ufeff)去 BOM否则OC-DPAPI-1\n的 startswith 会失败AESGCM.decrypt(iv, data tag, None)—— tag 必须拼在 ciphertext 后面这是 Pythoncryptography库的标准用法拼出的Basic base64(app_key:app_secret)是给华为 MaaS 老式 OAuth2 用的如果只想调 chat/completions用控制台生成的 API Key Bearer 头更简单总结整个流程中最容易翻车的三个点再强调一遍控制台选错是 ModelArts Studio (MaaS)不是 AI开发平台 ModelArts区域选错必须西南-贵阳一华东二/香港都会白屏或没预置服务动作选错预置服务是「开通」不是「部署」看到部署向导直接取消照着 Step 1 → 5 走10 分钟内就能 curl 通 GLM-5.2。祝各位薅羊毛愉快 如果这篇文章对你有帮助点个赞 收藏再走吧有问题评论区见。