照抄这三步就能跑起来:在 VSCode 扩展市场装 Roo Code,点侧栏 Roo Code 图标进设置(右上角齿轮),API Provider 选 OpenAI Compatible,Base URL 填 https://xyuapi.top/v1,API Key 填小鱼API后台生成的 sk- 令牌,Model ID 手填 claude-sonnet-4-5-thinking。下面把每一步的具体值、Profile 配置档案怎么管、Modes 模式怎么按任务分模型,以及那些一定会踩的坑讲全,照着填就行。
打开 VSCode,按 Ctrl+Shift+X 进扩展市场,搜 Roo Code,认准列表里发布者那一项,别装到同名的其它插件,点 Install。装完左侧活动栏会多一个 Roo Code 图标;没看到就在活动栏空白处右键,把 Roo Code 勾上。装完它会自动弹一次介绍页,关掉即可,真正的设置入口是侧栏 Roo Code 面板右上角的齿轮。
点侧栏 Roo Code 图标打开面板,右上角齿轮进设置页。最上面那一栏 API Provider 默认停在几个内置服务商上,点开下拉,往下找到 OpenAI Compatible 选上。这一步是前置动作:不选它,Base URL 输入框根本不会出现。很多人卡在「找不到填地址的地方」,原因就是 Provider 还没切过来。
选完 Provider,Base URL 输入框立刻就出现了,填 https://xyuapi.top/v1。备用地址是 https://xyuai.cc/v1,指向同一个网关,主地址不通时直接换它;这条备用线路带 /v1beta/ 路径,支持 Gemini 原生格式。地址末尾的 /v1 一个字符都不能省,省掉直接 404。
Key 在小鱼API后台自己生成,sk- 开头。粘贴时的高频错误有两个:复制时带上了前导空格;以及把品牌站的登录密码当成 Key 填进去。Model ID 这一栏 Roo Code 允许手填,填 claude-sonnet-4-5-thinking,别写成 Claude-Sonnet-4.5,也别自己加 -latest 后缀,大小写和连字符要和平台模型列表一致。
哪一项填错、会报什么错,都在这张表里:
| 字段 | 填什么 | 填错的症状 |
|---|---|---|
| API Provider | OpenAI Compatible | 选错则 Base URL 输入框不出现 |
| Base URL | https://xyuapi.top/v1 | 少 /v1 直接 404 |
| API Key | 后台生成的 sk- 令牌 | 带空格或填成密码则 401 |
| Model ID | 手填,与平台列表一字不差 | 大小写或连字符错则 model not found |
| Context Window | claude 系 200000、gemini 系 1000000 | 填太小则提前压缩、忘掉前面的改动 |
Roo Code 最早是从 Cline 分出来的分支,所以两边的配置逻辑接近:都是 Provider + Base URL + Key + Model ID 这一套,装过 Cline 的人直接上手。差别在于 RooCode 多做出来两件事:配置档案 Profile 和 多种模式 Modes。这两样正是它值得单独装一次的理由。
Profile 是一份命名好的配置快照,里面打包了地址、Key、模型以及 Context Window 这类参数。一套 Profile 等于一个「地址 + Key + 模型」组合,切过去整套一起生效,不会出现地址换了 Key 没换的错位。常见用法是建两套:一套主地址、一套备用地址;或者一套贵模型、一套便宜模型。
设置页顶部有 Profile 下拉,旁边是新建和复制的图标。新建:点加号来一个空的,把地址、Key、模型挨个填上。复制:点复制图标,在当前这套上改模型名,名字改成 opus-方案、sonnet-写码 这种一眼能认的。切换就是在下拉里选中哪一套,立刻生效,不用重启 VSCode。命名带上模型和用途,opus-方案、sonnet-写码、gemini-问答 这样最直观,切换时不用逐项点开确认。
高频事故在这里:Profile 里地址和 Key 是成对的两项,换的时候必须一起换。只改了模型名、或者只换了地址,剩下那半截还是旧的,结果就是 401。排查 401 的时候先看当前挂着的这个 Profile,地址和 Key 是不是同一个平台账号下配套的一组。
Code 模式是日常用得最多的那个,负责读文件、改代码、跑命令。适合放一个写码稳、价格适中的模型,建议 claude-sonnet-4-5-thinking,0.09 元/次。切换模式就在聊天输入框下沿那个下拉里选,当前停在 Code 还是 Ask 一眼能看到,不用翻设置。
Architect 模式只做规划和拆解,输出的是步骤和方案,不直接动文件。这种任务值得上贵的模型,建议 claude-opus-4-5-thinking,0.12 元/次——方案错了后面全返工,省这一次不值得。
Ask 模式纯问答,不改代码。这类任务次数多、单次价值低,建议 gemini-2.5-pro,0.031 元/次,一次三分钱左右。
Debug 模式专治报错,要顺着调用链读好几个文件。建议 claude-sonnet-4-5-thinking(0.09 元/次);碰到难缠的并发问题,临时把它切成 claude-opus-4-5-thinking 更省时间。
模式可以自己加,比如加一个专门写单元测试的 Test 模式、专门写提交信息的 Commit 模式。每个模式在设置页里都有独立的一项,能单独指定模型和温度,改了一个不影响别的。
| 模式 | 主要用途 | 建议模型 | 按次价格 |
|---|---|---|---|
| Architect | 出方案、拆步骤 | claude-opus-4-5-thinking | 0.12 元/次 |
| Code | 改代码、跑命令 | claude-sonnet-4-5-thinking | 0.09 元/次 |
| Ask | 纯问答、读文档 | gemini-2.5-pro | 0.031 元/次 |
| Debug | 查报错、顺调用链 | claude-sonnet-4-5-thinking | 0.09 元/次 |
| 自定义 | 测例、提交信息等 | deepseek-v3.2-thinking | 0.049 元/次 |
这个值告诉 RooCode 模型的上下文有多大。claude- 系按 200000 填,gemini- 系按 1000000 填。填太小的症状很具体:它会提前触发压缩,把前面的对话摘要掉,然后你看到它忘掉刚改过的文件,重复问你已经说过的信息。
这是一次回答能写多少 token。建议 8192 起,改大文件时再往上调。填太小的症状是代码被截断,diff 写到一半停住,剩下的你还得手动补。另外 claude-...-thinking 这类带思考的模型,推理过程也占输出额度,感觉回答偏短就再往上提一档。
Sliding Window 打开后,超出窗口的旧对话会被滑走;上下文压缩则把前面的历史摘要成一段。两个都是省 token 的机制,代价是历史细节会丢。做长任务时如果发现它忘了之前的约定,先看这两个开关是不是压得太狠,把 Context Window 调大或者把压缩阈值放宽。
温度低输出更稳,温度高更发散:改代码、做重构用 0.2 左右,同一份代码两次生成的差别小;写注释、写文档可以放到 0.6。Checkpoints 建议一直开着,它在每轮改动前打还原点,改坏了能回退,是 Roo Code 里比较省心的一项。MCP 按需加,接个文件系统或文档搜索就够,挂太多会拖慢每轮请求,也更容易超上下文。图片输入开着可以直接粘报错截图让它看界面。
配置之前先在终端跑一条,确认地址和 Key 没问题,这样后面报错就能排除掉网络和令牌这两个因素:
curl https://xyuapi.top/v1/chat/completions -H "Authorization: Bearer sk-你的令牌" -H "Content-Type: application/json" -d '{"model":"claude-sonnet-4-5-thinking","messages":[{"role":"user","content":"回复 ok"}],"max_tokens":64}'
返回体里带 choices 就是通的。返回 401 说明 Key 不对,返回 404 说明地址少了 /v1,报 model not found 说明模型名写错。
Windows 上还有一件事要提醒:PowerShell 里的 curl 其实是 Invoke-WebRequest 的别名,参数格式和上面这条完全不同,直接粘会报一堆参数错。要么改用 curl.exe,要么在 CMD 或 Git Bash 里跑,能省一轮排查。
Roo Code 设置里对应的就是这几个字段,手填时对着抄;第二段是它实际发出去的请求体结构:
{
"provider": "openai-compatible",
"baseUrl": "https://xyuapi.top/v1",
"apiKey": "sk-你的令牌",
"model": "claude-sonnet-4-5-thinking",
"contextWindow": 200000,
"maxOutputTokens": 8192
}
{
"model": "claude-sonnet-4-5-thinking",
"messages": [
{ "role": "system", "content": "you are a careful coding assistant" },
{ "role": "user", "content": "把这个函数改成异步" }
],
"max_tokens": 8192,
"temperature": 0.2,
"stream": true
}
响应里 choices[0].message.content 是正文,usage 里的 prompt_tokens 和 completion_tokens 让你知道这次消耗多少;如果返回体里出现 error 字段,error.message 才是真正的原因,排查时把它整段贴出来比只看状态码有用。
Auto-approve 让 RooCode 不问你就直接执行。读文件、列目录这类只读操作开着省事;写文件、执行命令、删除文件这几类建议单独确认,尤其删除,建议一直保持手动批准。常见配置是只开只读、关掉删除和命令执行。
项目根目录建一个 .roorules 文件,把规矩写进去:用哪个包管理器、缩进几格、改动前要不要先读文件、提交信息什么格式。它每轮都会读一遍,比每次口述省事。文件名就是 .roorules,注意是两个 o,写错名字等于没写。
本机如果开着系统代理,RooCode 有可能连不上接口。设置里出现代理相关选项时,建议选「不使用代理」,也就是直连。判断方法:同一台机器 curl 能通,插件却一直转圈或超时,基本就是这一项,关掉代理再试一次就能确认。如果网络环境必须走代理,把代理地址配成放行 xyuapi.top 的那一条线路。
小鱼API是按次计费,一次请求一个价,和输出多长无关,这对代码这种长度飘忽的场景很友好。下面五个模型名可以直接填进 Roo Code 的 Model ID,字符要一字不差:
| 模型名 | 按次价格 |
|---|---|
gemini-2.5-pro | 0.031 元/次 |
deepseek-v3.2-thinking | 0.049 元/次 |
grok-4.1 | 0.05 元/次 |
claude-sonnet-4-5-thinking | 0.09 元/次 |
claude-opus-4-5-thinking | 0.12 元/次 |
按一天干活的节奏估:Architect 出方案 10 次,10 × 0.12 = 1.2 元;Code 写码 60 次,60 × 0.09 = 5.4 元;Ask 问答 25 次,25 × 0.031 = 0.775 元;Debug 查错 5 次,5 × 0.09 = 0.45 元。合计 7.825 元,一天不到 8 元。
同样这 100 次如果全押 claude-opus-4-5-thinking,是 12 元;把 Ask 那 25 次换回 gemini,只要 0.775 元,而换成 deepseek-v3.2-thinking 是 1.225 元,反而更贵。所以问答这类高频低价值动作交给 gemini-2.5-pro,方案和难缠的 debug 才用贵模型,这是多模式分模型真正省钱的地方。
| 报错 | 常见原因 | 怎么改 |
|---|---|---|
| 401 | Key 填错、带空格,或切 Profile 只换了一半 | 地址和 Key 成对核对 |
| 403 | 令牌被禁用或权限不足 | 回平台后台看令牌状态 |
| 404 | Base URL 少了 /v1,或末尾多斜杠拼出 //v1 | 补上 /v1,结尾不要留斜杠 |
| 429 | 请求太密触发限流 | 放慢自动执行频率,隔几秒重试 |
| model not found | Model ID 大小写、连字符写错,或加了 -latest | 回平台模型列表逐个字符对 |
| 请求超时 | 走了系统代理,或网络抖动 | 改成不使用代理、直连,再跑一次 curl |
一个容易忽略的坑:每个 Mode 的模型是分开配置的。你只改了 Code 模式的模型,切到 Ask 模式后用的还是 Ask 那套旧配置。所以出现「模型名早改了,报错还在提旧模型」这种情况,先确认当前停在哪个模式,再把那个模式的 Model ID 单独改一遍。
https://xyuapi.top/v1,结尾没有多余斜杠sk- 令牌,前后没有空格.roorules,包管理器和缩进写清楚choiceshttps://xyuai.cc/v1 也存进一套 Profile,主地址不通时直接切