401 Unauthorized 错误源于API密钥无效或使用不当:需确认密钥来自moonshot.cn平台、以sk-开头、Authorization头格式为"Bearer sk-xxx"(首字母大写、无空格)、请求地址为api.moonshot.cn/v1或api.moonshot.ai/v1,并排除环境变量干扰。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在调用 Kimi API 时收到 401 Unauthorized 错误,说明请求未通过身份认证——这通常不是网络问题,而是密钥本身或其使用方式出了错,哪怕只差一个空格、少一个前缀,都会立刻失败。
确认密钥来源是否正确
登录月之暗面官方开发者平台 https://www.php.cn/link/f4bb62e0c04206fbb517a106e1357dd2,进入「API 密钥管理」页面;
检查你正在使用的密钥是否为该平台「新建」生成的正式密钥,且以 sk- 开头;
如果密钥来自 Kimi Chat 网页端、kimi code 插件设置页、或任何非 platform.moonshot.cn 的入口,【它大概率无效】——这些渠道生成的不是标准 API Key,而是登录态 Token 或订阅专用凭证,无法用于直接调用 v1 接口。
验证 Authorization 请求头格式
方法一:用 curl 快速测试
在终端执行(把 sk-xxx 替换为你的真实密钥):
curl -s "https://api.moonshot.cn/v1/models" -H "Authorization: Bearer sk-xxx"
若返回模型列表,说明密钥有效且格式正确;若仍报 401,则重点排查下一步。
方法二:检查代码或配置中的 header 构造
确保请求头严格为:{"Authorization": "Bearer sk-xxx"};
常见错误包括:"Bearer sk-xxx "(末尾有空格)、"bearer sk-xxx"(小写 bearer)、"Authorization: sk-xxx"(完全漏掉 Bearer 前缀)、或把 key 拼在 URL 里传参;
【Bearer 必须首字母大写,前后无多余空格,且与 key 之间仅一个空格】。
核对 API 请求地址与密钥类型匹配
第一步:确认你调用的是哪个域名
✅ 正确域名只有两个:https://api.moonshot.cn/v1(中国站)或 https://api.moonshot.ai/v1(国际站);
❌ 错误示例:https://api.kimi.com/...、https://kimi.moonshot.cn/...、https://www.php.cn/link/f4bb62e0c04206fbb517a106e1357dd2... —— 这些地址不接受标准 API Key 认证。
完整的工作区安全套件:检测未授权修改,扫描提示注入模式,自动响应应对措施——快照恢复、技能隔离、Git回滚和自动保护扫描。智能体工作区的完整安装后安全层。
第二步:确认密钥对应哪类服务
如果你用的是 Kimi Code 订阅版 API Key(即通过 /login 在插件中获取的),它只能用于 https://api.kimi.com/coding/v1 这类专属路径;
而 OpenClaw、自建后端等通用调用场景,必须使用 platform.moonshot.cn 生成的 通用型 Kimi API Key,并配 https://api.moonshot.cn/v1 地址。
第三步:检查配置文件中 baseUrl 是否被硬编码覆盖
例如 OpenClaw 用户需打开 ~/.openclaw/openclaw.json,定位到 tools.web.kimi.baseUrl 字段,确保其值为 "https://api.moonshot.cn/v1",而非默认残留的 https://api.kimi.com/...。
排除环境变量干扰
如果你同时在用 Kimi Code CLI 或其他兼容 OpenAI 格式的工具,检查系统是否设置了高优先级的环境变量:
运行 echo $OPENAI_API_KEY(macOS/Linux)或 echo %OPENAI_API_KEY%(Windows);
如果输出非空,且值不是你的 Kimi 官方密钥,【它会强制覆盖你代码里写的 Authorization 头】;
临时清空该变量再试:unset OPENAI_API_KEY 或 set OPENAI_API_KEY=。
最后一步:重生成密钥并重启服务
第一步:在 platform.moonshot.cn 后台点击「禁用」旧密钥,再「新建」一个;
第二步:复制新密钥(注意不要选中前后换行符);
第三步:粘贴进你的配置文件或代码,保存;
第四步:重启调用服务(如 OpenClaw、VS Code 插件、本地 Python 进程);
第五步:再次运行 curl 测试命令验证。

















