1. 从 Windows 到 WSL:我为什么要在本地跑通 claudecode
claudecode 是 Anthropic 推出的命令行 AI 编程工具,它不是一个带图形界面的编辑器,而是直接跑在终端里的助手。你可以把它理解成一个随时待命的结对程序员:在项目目录里敲claude,它就能读你的代码、解释报错、生成补丁、执行重构。适合谁?适合已经习惯用终端、想让 AI 直接参与本地开发流程的人。如果你平时在 Windows 上用 VS Code 写代码,但又想体验 Linux 下更顺手的命令行工具链,WSL 就是最省事的桥梁。
我自己的场景很典型:主力机是 Windows,日常项目放在 WSL 的 Ubuntu 里,之前用图形化 AI 编辑器总觉得切换窗口打断思路。后来决定把 claudecode 跑在 WSL 终端里,配合 TaoToken 的统一 Key 接入,省去分别配置多家模型的麻烦。这篇记录的就是从 node.js 环境准备到 settings.json 配置、再到终端验证的完整过程。你不需要提前懂 Linux 内核,只要会复制命令、会看报错就行。下面按实际操作顺序来,每一步都给出可复制的命令和预期结果。
2. TaoToken 前置:统一 Key 与接入地址
TaoToken 在这里扮演的角色是模型通道的统一入口。claudecode 默认走 Anthropic 官方接口,但国内直连不稳定,而且如果你想在 Claude、GLM 等模型之间切换,逐个改环境变量很麻烦。TaoToken 提供兼容 Anthropic 协议的 API 地址,你只需要一个 Key,就能在 settings.json 里指定不同的模型名。
先拿到 Key。访问 TaoToken 控制台创建 API Key,地址是 https://taotoken.net/console 。创建后复制那串以sk-开头的字符串,后面配置要用。注意不要把它提交到 Git 仓库,建议放在 WSL 的用户环境变量或 settings.json 的 env 字段里。
接入地址用 https://taotoken.net/api ,这个地址兼容 Anthropic 的/v1/messages协议。如果你更习惯看文档,接入说明在 https://taotoken.net/doc 。模型对话调试可以在 https://taotoken.net/model 里先试一次,确认 Key 有效再往下走。长期编码或 Agent 场景可以了解 Coding Plan: https://taotoken.net/coding-plan 。
注意:Key 只显示一次,建议先粘贴到本地临时文件,确认配置成功后再删除。
3. 可复制配置:WSL 下 node.js 与 claudecode 安装
先确认 WSL 版本。在 Windows PowerShell 里执行wsl -l -v,确保你的发行版是 WSL2。如果是 WSL1,先升级:wsl --set-version Ubuntu 2。然后进入 WSL 终端,更新包索引:
sudo apt update && sudo apt upgrade -yclaudecode 要求 Node.js ≥ 18。Ubuntu 默认仓库的版本可能偏旧,用 NodeSource 装 22.x:
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt install -y nodejs node --version npm --version预期输出v22.x.x和10.x.x。如果node --version报 command not found,检查上一步是否因为网络问题中断,重跑 NodeSource 脚本即可。接着全局安装 claudecode:
sudo npm install -g @anthropic-ai/claude-code claude --version看到版本号就说明二进制装好了。然后创建配置目录和 settings.json:
mkdir -p ~/.claude nano ~/.claude/settings.json把下面这段骨架粘贴进去,替换sk-你的Key:
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "sk-你的Key", "ANTHROPIC_MODEL": "claude-sonnet-4-6", "ANTHROPIC_SMALL_FAST_MODEL": "claude-sonnet-4-6" } }保存后退出。如果你还想加 MCP 服务,可以在同一文件里追加mcpServers字段,但第一次跑通先保持最小配置。这里ANTHROPIC_MODEL填你想用的模型名,TaoToken 会根据这个名字路由到对应通道。ANTHROPIC_SMALL_FAST_MODEL用于轻量任务,填同一个即可。
4. 验证请求:终端里确认 API 通道连通
配置写完后,先不急着进交互模式,用一条最小请求验证通道。在 WSL 终端执行:
curl -s https://taotoken.net/api/v1/messages \ -H "x-api-key: sk-你的Key" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model":"claude-sonnet-4-6","max_tokens":32,"messages":[{"role":"user","content":"回复ok"}]}'如果返回 JSON 里包含content字段和文本,说明 Key 和地址都通。如果返回 401,检查 Key 是否复制完整;返回 404,检查地址末尾有没有多写斜杠。确认通道没问题后,进入你的项目目录:
cd ~/projects/demo claude第一次启动会提示你选择主题或确认信任目录,按提示走。进入交互界面后输入解释一下当前目录的结构,如果它能读取文件并返回说明,就说明 claudecode 已经通过 TaoToken 正常调用模型了。实测下来,从敲下claude到第一次响应,延迟主要取决于模型通道,本地环境本身几乎不占资源。
5. 本篇常见错排查
报错一:npm install -g权限不足。症状是 EACCES。不要直接sudo chmod 777,正确做法是配置 npm 全局目录:
mkdir -p ~/.npm-global npm config set prefix ~/.npm-global echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc source ~/.bashrc然后重新执行npm install -g @anthropic-ai/claude-code。
报错二:claude启动后提示Invalid API Key。先确认 settings.json 里ANTHROPIC_AUTH_TOKEN没有多余空格或换行。可以用cat ~/.claude/settings.json检查。如果 Key 本身没问题,检查是否同时设置了系统环境变量ANTHROPIC_AUTH_TOKEN,两者冲突时以环境变量为准,建议unset ANTHROPIC_AUTH_TOKEN后再启动。
报错三:curl 验证返回model not found。说明模型名写错了。TaoToken 的模型名区分大小写,先用claude-sonnet-4-6试。如果你在 TaoToken 控制台看到的是别名,以控制台显示的为准。改完 settings.json 后需要重启 claude 进程。
报错四:WSL 里curl访问外网超时。先确认 WSL 的 DNS 配置。在/etc/resolv.conf里看 nameserver,如果是 127.0.0.1 且无法解析,可以临时改成nameserver 8.8.8.8。但更推荐在 Windows 侧.wslconfig里加dnsTunneling=true,然后wsl --shutdown重启。注意不要用 ping 测连通性,用curl -I https://taotoken.net看 HTTP 状态码。
报错五:claude命令找不到。检查npm config get prefix输出的路径是否在 PATH 里。如果 prefix 是/usr/local,二进制通常在/usr/local/bin/claude。用which claude确认。如果之前用 sudo 装过,可能落在/usr/bin,但更推荐用上面的~/.npm-global方案重装。
6. 跑通之后:把 Key 管好,把通道用顺
第一次跑通只是开始。日常使用中,我建议把 settings.json 里的 Key 换成环境变量引用,避免明文留在配置文件里。可以在~/.bashrc里加export TAOTOKEN_KEY="sk-...",然后 settings.json 里写"ANTHROPIC_AUTH_TOKEN": "${TAOTOKEN_KEY}"。claudecode 支持这种占位符替换,这样配置文件可以安全地同步到其他机器。
另一个实用习惯是给不同项目建不同的启动别名。比如在~/.bashrc里加:
alias cc-demo='cd ~/projects/demo && claude'这样打开终端输入cc-demo就直接进入项目并启动 claudecode。如果你同时用多个模型通道,可以在项目根目录放一个.claude/settings.json覆盖全局配置,把模型名换成更适合该项目的版本。TaoToken 的 API Key 管理页面可以创建多个 Key,按项目分配,方便追踪用量。需要长期跑 Agent 任务的话,Coding Plan 的额度比按次调用更划算,具体可以在 https://taotoken.net/coding-plan 看说明。接入文档里还有关于流式输出和超时参数的细节,遇到长任务中断时可以去 https://taotoken.net/doc 对照排查。