news 2026/9/19 18:04:12

把 Claude Code 的 ANTHROPIC_BASE_URL 改到 TaoToken,MacBook M1 装完再跑 claude

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
把 Claude Code 的 ANTHROPIC_BASE_URL 改到 TaoToken,MacBook M1 装完再跑 claude

从本地 Ollama 切到 TaoToken:MacBook M1 上 Claude Code 的 ANTHROPIC_BASE_URL 改造实录

在 MacBook M1 上把 Claude Code 跑起来之后,很多人会先接本地 Ollama 试水,ANTHROPIC_BASE_URL指向http://localhost:11434/api/tags,看起来一切正常。但这个配置有个隐性代价:模型通道被固定死在本地,换机器、换网络、想用别的模型时都得重新折腾一遍。这篇就把这一步拆开,把「拿通道和凭证」的动作挪到 TaoToken(官网:https://taotoken.net/?utm_source=taotoken_aicg_blog_end )完成,再回到~/.claude/settings.jsonANTHROPIC_BASE_URL换成https://taotoken.net/api,其余超时字段和流量开关沿用原写法。TaoToken 在这里只负责提供 Key 与 Base URL,不参与 Node 安装,也不接管 Claude Code 本身的命令行为。

一、原问题与场景:本地 Ollama 通道为什么会被写死

原文的路径其实很清晰:MacBook M1 上用brew install node起 Node 环境(版本 18 以上),再npm install -g @anthropic-ai/claude-code装 Claude Code,然后在~/.claude/settings.json里写:

{ "env": { "ANTHROPIC_BASE_URL": "http://localhost:11434/api/tags", "API_TIMEOUT_MS": "3000000", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1 } }

再在~/.claude.json里补"hasCompletedOnboarding": true,最后在工程目录运行claude

这套流程本身没问题,问题出在ANTHROPIC_BASE_URL这个字段的语义上。Claude Code 把它当作「Anthropic 兼容 API 的入口」,所有模型请求都会往这个地址发。一旦写成localhost:11434,就等于把请求锁死在本机 Ollama 上:

  • 换一台没有 Ollama 的机器,配置直接失效;
  • 本地模型没拉全时,请求会 404 或超时;
  • 想临时切到别的模型通道,得改文件、重启claude
  • 团队协作时,每个人的本地端口和模型名都不一样,配置无法共享。

所以真正要改的不是「装不装 Ollama」,而是把ANTHROPIC_BASE_URL从「本机服务地址」换成「一个稳定的兼容 API 入口」。TaoToken 在这里承担的就是这个入口角色。

二、TaoToken 前置:先拿 Key,再改 Base URL

在动settings.json之前,先把凭证准备好。打开 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 完成注册,进入控制台创建 API Key。这个 Key 就是后面claude发请求时用的凭证,格式上是一串以sk-开头的字符串(具体以控制台显示为准)。

需要记住两个值:

  • Base URL:https://taotoken.net/api(注意不带/v1,也不加任何 UTM 参数);
  • API Key:控制台生成的那一串,本文用YOUR_API_KEY占位。

如果你后面还要用 Coding Plan 或做长期编码任务,可以在控制台里看一下对应的套餐入口;只是跑通 Claude Code 的话,一个普通 Key 就够了。TaoToken 不碰你的 Node 环境,也不改claude的命令行为,它只提供「请求往哪发」和「用什么凭证发」这两件事。

三、可复制配置:改 ~/.claude/settings.json

Node 和 Claude Code 的安装步骤沿用原文,不再重复。重点在配置文件。打开~/.claude/settings.json,把env段改成下面这样:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "YOUR_API_KEY", "API_TIMEOUT_MS": "3000000", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1 } }

几个字段的说明:

  • ANTHROPIC_BASE_URL:从http://localhost:11434/api/tags换成https://taotoken.net/api。这是本篇最核心的一行,注意结尾不要带/v1,也不要带?utm_source=...之类的参数,Claude Code 会自己拼接路径。
  • ANTHROPIC_API_KEY:填你在 TaoToken 控制台创建的 Key。原文接本地 Ollama 时不需要这个字段,因为本地服务不校验凭证;换成 TaoToken 后必须带上。
  • API_TIMEOUT_MS:沿用原文的3000000,这个值对远程通道同样适用,甚至更有必要,因为网络往返比本机回环慢。
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC:沿用原文的1,关掉非必要的遥测流量,减少干扰请求。

~/.claude.json里的"hasCompletedOnboarding": true保持不变,这个字段和通道无关,只是跳过首次引导。

改完之后不需要重启系统,直接在工程目录运行claude即可。Claude Code 每次启动会读取settings.json,新的 Base URL 会立即生效。

四、验证请求:确认走的是 TaoToken 而不是 localhost:11434

配置改完,最怕的是「以为改了,其实还在打本地」。验证分两步。

第一步,在工程目录运行claude,随便发一句请求,比如让它读一下当前目录的文件列表。如果配置正确,请求会发往https://taotoken.net/api,返回内容正常。

第二步,确认没有回落到本地。可以在另一个终端窗口执行:

lsof -i :11434

如果没有任何进程在监听 11434,说明本地 Ollama 没起来,而此时claude依然能正常返回,就证明请求确实走的是 TaoToken 的兼容通道。反过来,如果claude报连接错误、超时或 401,而lsof显示 11434 有进程,那说明settings.json没生效,Claude Code 还在读旧配置。

另一个更直接的验证方式:临时把ANTHROPIC_BASE_URL改成一个不存在的地址,比如https://example.invalid/api,再跑claude。如果立刻报错,说明配置确实被读取了;改回https://taotoken.net/api后恢复正常,就说明通道切换成功。

成功的结果应该是:claude启动无报错,发出请求后能拿到模型返回,且本机 11434 端口没有参与这次请求。

五、本篇常见错排查

错误 1:Base URL 带了/v1或 UTM 参数。https://taotoken.net/api/v1https://taotoken.net/api?utm_source=...都会导致路径拼接异常。正确写法就是https://taotoken.net/api,干净、不带后缀。

错误 2:忘了加ANTHROPIC_API_KEY本地 Ollama 不校验凭证,所以原文配置里没有这个字段。换成 TaoToken 后如果不加,请求会返回 401。Key 要填在env段里,和ANTHROPIC_BASE_URL同级。

错误 3:settings.json格式错误。JSON 不允许尾随逗号,env段里的每个键值对都要用双引号。改完可以用python -m json.tool ~/.claude/settings.json校验一下,能正常输出就说明格式没问题。

错误 4:~/.claude.json~/.claude/settings.json搞混。前者放hasCompletedOnboarding这类全局状态,后者放env环境变量。两个文件路径不同,别写串了。

错误 5:改完没重新运行claudeClaude Code 在启动时读取配置,改完文件后要退出当前会话重新运行,新配置才会加载。

错误 6:本地 Ollama 还在跑,误以为请求走了 TaoToken。如果 11434 端口有进程,而settings.json又没改成功,请求可能仍然打到本地。用lsof -i :11434确认端口状态,再结合claude的返回判断。

六、语义一致 CTA

这篇的核心动作只有一个:把~/.claude/settings.json里的ANTHROPIC_BASE_URLhttp://localhost:11434/api/tags换成https://taotoken.net/api,并补上ANTHROPIC_API_KEY。Key 在 https://taotoken.net/api-keys 创建,接入细节可以对照 https://taotoken.net/doc 。如果你只是想先验证模型通道是否通,可以直接用 https://taotoken.net/chat 发一条请求试试;如果打算把 Claude Code 长期用于编码和 Agent 任务,可以看一下 https://taotoken.net/coding-plan 里的方案。整套配置里,TaoToken 只提供 Key 和 Base URL,Node 安装、Claude Code 命令行为都不受影响。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/19 18:04:04

程序员必藏:130个开发效率网站与开源资源全盘点

写代码写了十年,我越来越确定一件事:决定一个程序员能走多远的,往往不是他敲代码的速度,而是他会不会用工具、会不会找资源、会不会站在别人的肩膀上干活。刚入行那会儿,我总觉得“技术人就得什么都自己造轮子”&#…

作者头像 李华
网站建设 2026/9/19 18:03:30

C++手写数据挖掘系统:Apriori、FCM与ID3全流程实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/19 18:00:16

高通QCS6490上YOLOv11-OBB部署实战:QNN工具链全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/19 17:58:09

Premiere插件合集:一键安装构建高效剪辑工具链

做Pr的都知道,最烦的不是剪辑本身,而是找插件、装插件、被版本不兼容折磨到崩溃。这个Premiere插件合集项目,说白了就是把散落在各处的“刚需”插件整合成一套东西,用一键安装的方式批量部署。我拿到这个方案的时候第一反应是“这…

作者头像 李华