在 Trae 中安装 Claude 插件遇到的种种难题
最近由于要求,我们需要在 Trae 编辑器中安装 Claude Code 终端工具,通过这个工具学习前端,然后生成每日的学习记录。没想到这一路踩了不少坑,从 API 认证错误到版本兼容问题,折腾了好几天才终于搞定。今天把整个踩坑过程和解决方案整理成一篇博客,希望能帮到同样在折腾的小伙伴们。
一、前言:为什么选择 Claude Code?
作为一名前端学习者,我一直在找一款能深度集成到 IDE 的 AI 编程助手。Claude Code 以其强大的代码理解能力和终端集成特性,成为了我的首选。它可以直接在项目目录中启动会话,读取本地文件,帮我写代码、改 bug、解答问题,非常适合我这种正在系统学习 Vue3 的学生。
二、前期准备:API Key 与中转服务配置
1. 选择中转服务:小米 MiMo
因为一些限制,我选择了国内常用的小米 MiMo 中转服务,它提供了兼容 Claude API 的接口,同时支持自定义模型,对新手比较友好。
2. 关键配置文件:settings.json
Claude Code 的核心配置文件位于用户目录下的 .claude/settings.json,一开始我就是在这里踩了第一个大坑。
第一由于之前根据一个笼统的教程,自己创建了settings.json文件,其实本来该生成一个文本,最后就一直报错,cc-switch也没办法用,一直报API的错误。弄了好久也没有找到正确的办法解决,折磨我好长时间,最后我只能请求学长了,学长几下操作给我锁定了错误。下面是其他的问题。
错误配置示例(导致 401/400 错误):
{
"autoUpdatesChannel": "latest",
"env": {
"ANTHROPIC_AUTH_TOKEN": "sk-xxxxxx", // 错误:使用了不兼容的sk开头Key
"ANTHROPIC_BASE_URL": "https://api.xiaomimimo.com/anthropic",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "mimo-v2-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "mimo-v2-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2-pro",
"ANTHROPIC_MODEL": "mimo-v2-pro"
},
"includeCoAuthoredBy": false
}
正确配置示例(适配小米 MiMo 中转):
{
"autoUpdatesChannel": "latest",
"env": {
"ANTHROPIC_AUTH_TOKEN": "tp-xxxxxx", // 正确:使用中转服务提供的tp开头Key
"ANTHROPIC_BASE_URL": "https://api.xiaomimimo.com/anthropic",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1", // 关键配置:关闭非必要流量
"ANTHROPIC_MODEL": "mimo-v2.5-pro", // 模型名必须和中转服务一致
"ANTHROPIC_DEFAULT_SONNET_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "mimo-v2.5-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "mimo-v2.5-pro"
},
"includeCoAuthoredBy": false
}
3. 关键坑点 1:API Key 格式不匹配
小米 MiMo 中转服务的 Key 分为两种:
tp-开头:适配中转服务的自定义格式,需要配合中转地址使用sk-开头:官方格式 Key,无法在第三方中转服务上使用
我一开始错误地使用了别人分享的sk-开头 Key,导致一直报401 Auth rejected错误,换成自己在后台生成的tp-开头 Key 后,认证问题立刻解决了。
三、致命错误:400 messages[1].role must be either 'user' or 'assistant', but got 'system'
这是我遇到的最顽固的问题,折腾了整整两天才搞清楚根源。
1. 错误原因分析
从 Claude Code 2.1.x 版本开始,客户端会在对话请求中自动加入system角色的系统提示词,但小米 MiMo 中转服务的接口版本较旧,不支持system角色,只能识别user和assistant角色,所以直接返回 400 错误。
2. 解决方案:降级到 2.0.0 版本
唯一能彻底解决这个问题的办法,就是将 Claude Code 降级到不发送system角色消息的 2.0.0 版本。
降级步骤:
- 打开系统终端,执行卸载命令:
npm uninstall -g @anthropic-ai/claude-code - 清理缓存(可选,避免残留文件干扰):
Remove-Item -Recurse -Force $env:APPDATA\npm-cache\* -ErrorAction SilentlyContinue - 安装指定版本:
npm install -g @anthropic-ai/claude-code@2.0.0 - 验证版本:
输出显示claude -v2.0.0 (Claude Code)即为成功。
3. 额外坑点:Trae 终端环境变量缓存
降级后我发现,系统终端已经是 2.0.0 版本,但 Trae 里的终端还是显示 2.1.156,这是因为 Trae 启动时会缓存系统环境变量,不会自动刷新。
解决办法:
- 彻底关闭 Trae(包括后台进程),重启电脑
- 重启后打开 Trae,在终端里执行
claude -v,就能看到 2.0.0 版本了
四、使用过程中的其他坑点
1. 会话卡住:Marinating...长时间无响应
降级后第一次启动会话,一直卡在Marinating...状态,无法进入对话模式。
解决办法:
- 不要在 OneDrive 目录下启动会话,OneDrive 的同步功能会导致文件读取卡顿
- 切换到普通本地目录,比如
C:\Users\你的用户名\Desktop\code - 按
Ctrl + C中断会话,重新启动即可
2. Trae 自动补全干扰输入
在使用 Claude 终端会话时,Trae 自带的 Copilot 自动补全功能会抢输入焦点,导致内容直接打到 PowerShell 命令行里,无法被 Claude 接收。
解决办法:
- 打开 Trae 设置,搜索
Chat: Disable AI Features,勾选禁用所有 Copilot AI 功能 - 这样既不会干扰 Claude 会话,也能避免不必要的后台请求
五、最终效果:成功启动会话
完成以上所有步骤后,在 Trae 终端里输入claude,就能成功启动会话,看到信任目录的提示,输入问题后 Claude 也能正常回复,再也没有报过 API 错误。
附:如何通过终端提交到仓库
直接复制这 3 行,逐行运行:
cd .\python-fullstack\
# 1. 保存所有代码改动
git add .
# 2. 打包提交(引号里随便写点备注)
git commit -m "本次更新:写完了前端页面/修复了bug"
# 3. 推送到云端(完成!)
git push更多推荐



所有评论(0)