Skip to content

MiMo 模型配置 [1m] 后缀导致 400 错误:cc-haha 直接透传模型名,未剥离 [1m] 后缀 #620

Description

@moyu12-ae

问题描述

当按照小米 MiMo 官方文档配置 [1m] 上下文扩展后缀时(如 mimo-v2.5-pro[1m]),cc-haha 会直接将该模型名透传给 MiMo API,导致 API 返回 400 错误。

cc-haha 错误日志:

{
  "providerId": null,
  "baseUrl": "https://api.xiaomimimo.com/anthropic",
  "apiFormat": "anthropic",
  "modelId": "mimo-v2.5-pro[1m]",
  "connectivity": {
    "success": false,
    "latencyMs": 182,
    "error": "Param Incorrect",
    "modelUsed": "mimo-v2.5-pro[1m]",
    "httpStatus": 400
  }
}

根本原因分析

客户端 设置模型名 实际发给 API 的模型名 结果
原版 Claude Code mimo-v2.5-pro[1m] mimo-v2.5-pro 200 OK
cc-haha mimo-v2.5-pro[1m] mimo-v2.5-pro[1m] 400 错误
curl 直连 mimo-v2.5-pro[1m] mimo-v2.5-pro[1m] 400 错误

原版 Claude Code 将 [1m] 识别为客户端侧的上下文窗口配置标记(Anthropic 原生模型也用此约定,如 claude-sonnet-4-6[1m]),在发送 API 请求前自动剥离该后缀。而 cc-haha 直接透传完整模型名给第三方 API,导致 MiMo API 返回:

"Not supported model mimo-v2.5-pro[1m]"

复现步骤

  1. 在 cc-haha 中配置 MiMo 模型提供商,模型名设为 mimo-v2.5-pro[1m]
  2. 触发 API 调用
  3. 收到 400 错误,提示模型不支持

验证方法

通过代理抓包验证:

# 原版 Claude Code 发送给 API 的请求
POST /v1/messages?beta=true
{"model": "mimo-v2.5-pro"}  ← 已剥离 [1m] 后缀

# curl 直连 MiMo API
{"model": "mimo-v2.5-pro[1m]"}  → 400 "Not supported model"

期望行为

cc-haha 应像原版 Claude Code 一样,在发送请求前剥离 [1m] 后缀(或至少对非 Anthropic 模型做此处理),以兼容第三方 API 提供商。

临时解决方案

在 MiMo 配置中直接使用 mimo-v2.5-pro(不带 [1m] 后缀)。

环境信息

  • cc-haha 版本:999.0.0-local
  • 原版 Claude Code 版本:2.1.114(npm)
  • MiMo API 端点:https://api.xiaomimimo.com/anthropic
  • 模型:mimo-v2.5-pro

参考资料

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions