1. 为什么你的 IDEA 和 VSCode AI 插件总在报 401 与 local proxy failed如果你最近在 JetBrains IDEA 或 VSCode 里装完 AI 编程插件兴致勃勃准备让补全跑起来结果控制台甩出一行401 Unauthorized或者更让人头大的local proxy failed、connect ECONNREFUSED 127.0.0.1:xxxx那你不是一个人。我身边好几个写 Java 和 Python 的朋友这两天都在同一个坑里反复横跳插件装好了账号也登了可请求就是发不出去。问题的根子往往不在插件本身而在两处配置一是settings.json/ IDE 的 AI 配置项里那个Base URL还指向默认地址或某个已经失效的本地端口二是 API Key 的归属和模型 ID 对不上。很多教程只告诉你「填个 Key 就行」但没告诉你 Key 要配哪个 Base URL、模型 ID 该写什么字符串于是请求打到错误端点服务端自然回你 401或者本地代理层直接连不上。这篇内容面向的就是这类场景你已经有 IDEA 或 VSCode已经装了 AI 插件不管是 Continue、Cline、Codex 类还是 Claude Code 类但卡在配置和连通性验证上。我会给出两套可以直接复制的配置片段一套给 VSCode 的settings.json一套给 JetBrains IDEA 的 AI 配置并且演示改完之后怎么重启 IDE、怎么发一条最小请求确认补全真的通了。核心检索词就三个IDEA AI 插件配置、VSCode settings.json Base URL、401 与 local proxy failed 排查。适合谁适合已经会装插件、但被网络层和鉴权层卡住的开发者纯小白也能跟着一步步抄。先说清楚一个前提下面所有配置里的 Base URL 和 Key都来自同一个入口你不需要额外折腾网络环境也不需要理解底层转发逻辑照着填、重启、验证三步走就行。我试过把这套流程跑在两台机器上一台 Windows 的 IDEA一台 macOS 的 VSCode配置项几乎一致差异只在路径写法。2. 接入前的准备拿到 Base URL 与 API Key 并理解模型 ID在动settings.json之前你得先有三样东西Base URL、API Key、Model ID。这三件套缺一不可而且必须来自同一个来源否则就会出现「Key 是对的但端点不对」的 401。Base URL 的固定写法是https://taotoken.net/api注意这里不带任何多余路径也不要自己在后面加/v1或/chat/completions插件通常会自动拼接。API Key 需要你在控制台里生成入口在 https://taotoken.net/api-keys 生成后复制那一串以sk-开头的字符串只显示一次记得先存到安全的地方。Model ID 则取决于你想用哪个模型比如做代码补全常用的几个 ID在模型列表里都能查到填的时候要一字不差大小写敏感。这里有个容易被忽略的点很多人把 Base URL 填成了官网首页https://taotoken.net结果插件请求打到网页路由上返回一堆 HTML解析失败就报reading choices之类的错。记住API 调用只认/api这个路径。另外如果你之前配过某个本地代理端口比如http://127.0.0.1:8080现在要把它整个替换掉不要保留旧值否则插件可能还在往那个已经关掉的端口发请求于是local proxy failed就来了。为了让你少走弯路我把三件套的对应关系整理成一张表填配置的时候对着抄配置项正确写法常见错误写法Base URLhttps://taotoken.net/apihttps://taotoken.net、http://127.0.0.1:8080API Keysk-开头的一串空值、过期 Key、别的平台的 KeyModel ID模型列表里的准确 ID自己编的名字、带空格的写法拿到这三样之后先别急着改 IDE建议用一条 curl 命令在终端里验证一下确认 Key 和端点本身是通的。这一步能帮你把「配置问题」和「网络问题」分开。命令如下curl https://taotoken.net/api/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-你的Key \ -d { model: 你的ModelID, messages: [{role: user, content: ping}] }如果返回的是 JSON 且里面有choices字段说明三件套没问题接下来所有报错都只可能是 IDE 配置写法的问题。如果这条命令就报 401那先检查 Key 有没有复制全、有没有多余空格。这一步做完再进入 IDE 配置心里就有底了。3. 两套可复制配置VSCode settings.json 与 IDEA AI 配置片段这一节是重点我直接把两份可以复制的配置贴出来。先讲 VSCode因为它的settings.json是纯文本改起来最直观。VSCode 里常见的 AI 插件Continue、Cline 这类都会在settings.json里读配置。你可以按CtrlShiftPmacOS 是CmdShiftP打开命令面板输入Open User Settings (JSON)在打开的settings.json里加入下面这段。注意路径和字段名要和你装的插件对得上这里以通用的 OpenAI 兼容写法为例{ continue.models: [ { title: TaoToken, provider: openai, model: 你的ModelID, apiBase: https://taotoken.net/api, apiKey: sk-你的Key } ], cline.apiProvider: openai, cline.openAiBaseUrl: https://taotoken.net/api, cline.openAiApiKey: sk-你的Key, cline.openAiModelId: 你的ModelID }如果你用的是 Cline 并且它支持 MCP 配置那 MCP 的配置文件通常单独放在插件目录下写法是 JSON里面同样要写全 Base URL、Key、Model ID 三件套缺一个都会连不上。Cline MCP 的配置片段大致长这样{ mcpServers: { taotoken: { command: npx, args: [-y, 你的mcp包名], env: { OPENAI_BASE_URL: https://taotoken.net/api, OPENAI_API_KEY: sk-你的Key, OPENAI_MODEL: 你的ModelID } } } }再来看 JetBrains IDEA。IDEA 的 AI 插件配置入口一般在Settings→Tools→ 对应插件名或者Settings→Other Settings里。不同插件界面不一样但核心字段就三个Base URL、API Key、Model。以常见的 Claude Code 类接入为例如果你在 IDEA 里用的是 Claude Code 相关插件配置项里会有一个Anthropic Base URL或API Endpoint这里填https://taotoken.net/apiKey 填sk-那串Model 填对应 ID。如果你用的是 Codex 类插件它可能会读一个auth.json文件路径通常在用户目录下的插件配置文件夹里。这个文件里要写全三件套格式类似{ base_url: https://taotoken.net/api, api_key: sk-你的Key, model: 你的ModelID }注意auth.json里的字段名可能因插件版本不同而略有差异有的叫baseUrl有的叫base_url你要对着插件文档确认。但不管字段名怎么变值永远是那三样。IDEA 这边还有一个坑改完配置后插件可能缓存了旧的连接必须完全重启 IDE而不是只重启插件否则local proxy failed会一直挂在那。为了让你对照方便我把 VSCode 和 IDEA 的关键差异列一下VSCode 改的是settings.json改完保存即时生效或重启窗口IDEA 改的是 IDE 设置面板或auth.json改完必须重启整个 IDE。两者共同的铁律是Base URL 只写https://taotoken.net/api不要画蛇添足。4. 重启 IDE 后验证连通与补全响应的具体动作配置写完只是第一步真正判断有没有通得靠验证。很多人改完配置看插件没报错就以为好了结果一敲代码发现补全不出来其实请求根本没发出去。VSCode 这边的验证动作先完全关闭 VSCode 窗口再重新打开确保settings.json被重新加载。然后新建一个测试文件比如test.py输入一行注释# 写一个快速排序看插件有没有弹出补全建议。如果没有打开命令面板运行插件自带的Show Output或Toggle Developer Tools在输出面板里找请求日志。正常情况你会看到一条发往https://taotoken.net/api/chat/completions的请求状态码 200返回体里有choices。如果状态码是 401回去检查 Key如果是ECONNREFUSED说明 Base URL 还指着本地端口。IDEA 这边的验证动作改完配置后点击File→Invalidate Caches不一定需要但一定要File→Exit完全退出再重新启动。启动后打开一个 Java 文件在方法里敲几个字符触发补全。如果没反应打开Help→Show Log in Explorer找到idea.log搜索taotoken或401能看到具体的请求地址和响应。我实测下来IDEA 插件有时候会把错误吞掉只在日志里留一行local proxy failed这时候你就要去确认是不是旧配置没清干净。还有一个通用的验证手段在 IDE 的 AI 聊天窗口里直接发一句「你好」看能不能收到回复。聊天能通说明鉴权和端点没问题补全不通就可能是模型 ID 或补全专用端点的问题。这一步能把问题范围缩小到具体功能上。如果你在验证时看到reading choices这个报错通常意味着返回的不是标准 JSON而是 HTML 或空响应。原因多半是 Base URL 写成了官网首页请求被网页路由拦截了。把 URL 改回https://taotoken.net/api再重启基本就能解决。5. 本篇常见错排查401、local proxy failed、reading choices、OAuth这一节我把四个高频报错逐个拆开对照真实日志给你排查路径。第一个401 Unauthorized。这是鉴权失败九成是 Key 的问题。检查三处Key 有没有复制完整sk-后面那串别漏字符、Key 有没有过期、Key 前面有没有多余空格。还有一种情况是你在settings.json里把 Key 写在了错误的字段下比如插件读的是apiKey而你写成了api_key字段名不匹配就等于没填。解决方法是回到插件文档确认字段名或者干脆用环境变量方式注入。第二个local proxy failed。这个报错说明插件在尝试连接一个本地代理端口通常是127.0.0.1:某端口但那个端口没有服务在监听。原因是你之前的配置里残留了本地代理地址或者插件默认走本地转发。解决办法是把 Base URL 改成https://taotoken.net/api并且检查有没有http.proxy之类的环境变量在干扰。IDEA 里还要看Settings→Appearance Behavior→System Settings→HTTP Proxy有没有设成手动代理设成No proxy再重启。第三个reading choices或cannot read property choices of undefined。这是解析响应失败说明返回体里没有choices字段。最常见的原因是 Base URL 指向了非 API 路径比如https://taotoken.net而不是https://taotoken.net/api。改对路径后重启即可。另一个可能是 Model ID 写错了服务端返回了错误信息而不是正常补全结果这时候日志里通常能看到具体的错误描述。第四个OAuth相关报错。有些插件默认走 OAuth 登录流程如果你用的是 API Key 方式就要在插件设置里把认证方式从 OAuth 切换成 API Key否则它会一直尝试跳转授权页面而那个页面在你的环境下打不开就卡住了。切换之后填上 Key 和 Base URL重启 IDE。为了让你排查更快我把这四个报错和对应动作整理成对照报错根因动作401Key 错误或字段名不对检查 Key 完整性、字段名local proxy failed残留本地代理地址改 Base URL、关 HTTP Proxyreading choicesBase URL 路径错误改为https://taotoken.net/apiOAuth认证方式选错切换为 API Key 模式排查时记住一个原则先看日志里的请求地址再看状态码最后看响应体。地址不对就改地址状态码 401 就查 Key响应体没有choices就查 Model ID。按这个顺序走基本不会绕圈。6. 长期编码与 Agent 场景的稳定用法配置通了之后如果你打算长期在 IDEA 或 VSCode 里用 AI 做补全和 Agent 任务有几个习惯能让它更稳。第一把 Base URL 和 Key 写进环境变量或独立的配置文件不要散落在多个插件的设置里这样换机器或换插件时只改一处。第二Model ID 按任务分开日常补全用一个响应快的复杂重构或 Agent 任务用能力更强的在配置里可以配多个模型条目按需切换。第三定期检查 Key 的有效期避免写到一半突然 401。如果你后面要跑更重的编码任务比如让 Agent 连续改多个文件建议用 Coding Plan 这类长期方案入口在 https://taotoken.net/coding-plan 它比单次调用更适合持续性的开发场景。日常想快速验证某个模型的表现可以直接在模型对话页面试地址是 https://taotoken.net/chat 。需要管理多个 Key 或查看用量控制台在 https://taotoken.net/console 。接入文档里有各插件的详细字段说明遇到字段名不确定时去 https://taotoken.net/doc 查一下最稳妥。最后说个我踩过的坑IDEA 和 VSCode 同时开着的时候如果两个插件都配了同一个 Key偶尔会出现请求互相干扰的错觉其实只是日志混在一起了。排查时先把另一个 IDE 关掉单独验证能省不少时间。配置这东西一次写对后面就只剩敲代码了。