多家 Claude Code 共存的方法
除了 Claude Code 官方版,最近也出来好几家Claude Code代理商,它们的安装方式,一般是 npm install -g xxx.xxx.xxx --registry=registry.npmmirror.com
但是这几家会相互覆盖,特别是会把Claude Code官方版也覆盖了,那有没有办法共存呢?
我研究出的方法:
操作步骤
第1步:下载包而不安装
先不要npm install安装,先下载它的包。例如,如果代理商给的安装方式是 npm install -g xxx.xxx.xxx --registry=registry.npmmirror.com
那么下载地址就是 xxx.xxx.xxx
第2步:解压缩包
下载回来是一个 tgz 的包,这是一个 gzip 格式的压缩包,解压缩到一个目录里
第3步:修改 package.json
目录下会有一个 package.json 文件,前几句会是:
{
"name": "@anthropic-ai/claude-code",
"version": "1.0.51",
"main": "sdk.mjs",
"types": "sdk.d.ts",
"bin": {
"claude": "start.js"
},
...
}
把 bin 字段下的 claude 修改为其它名字,例如,你找的代理商叫 mmm 的话,可以改成:
"bin": {
"mmm": "start.js"
},
第4步:重新打包
在这个目录下执行 npm pack
,会重新生成一个 tgz 的包,anthropic-ai-claude-code-1.0.51.tgz
第5步:安装别名版本
执行 npm install -g mmm@file:anthropic-ai-claude-code-1.0.51.tgz
其中,关键点是命令里的 mmm 这是一个 alias,相当于告诉 npm 安装的时候把第4步的包安装到 mmm 目录去而不是安装到默认的 @anthropic-ai 目录,避免把官方版 Claude Code 给覆盖了。
使用方法
现在命令行里执行 mmm
就可以启动这家代理商的 Claude Code 了!且可以和其它家的 Claude Code 共存。
如果要添加其他家API
vim $HOME/.zshrc
alias k2code="$HOME/scripts/claude-code/claude-code-kimi.sh"
alias qwencode="$HOME/scripts/claude-code/claude-code-qwen.sh"
编写kimi k2脚本
MacBook-Pro ~ % cat $HOME/scripts/claude-code/claude-code-kimi.sh
#!/bin/bash
export ANTHROPIC_BASE_URL="https://api.moonshot.cn/anthropic/"
export ANTHROPIC_AUTH_TOKEN="sk-XXXXXXXXXXXXXXXX"
echo "环境变量已设置:"
echo "ANTHROPIC_BASE_URL=$ANTHROPIC_BASE_URL"
echo "ANTHROPIC_AUTH_TOKEN=$ANTHROPIC_AUTH_TOKEN"
claude --dangerously-skip-permissions
编写qwen coder脚本
MacBook-Pro ~ % cat $HOME/scripts/claude-code/claude-code-qwen.sh
#!/bin/bash
export ANTHROPIC_BASE_URL="https://dashscope.aliyuncs.com/api/v2/apps/claude-code-proxy"
export ANTHROPIC_AUTH_TOKEN="sk-xxxxxxxxxxxxxxx"
echo "环境变量已设置:"
echo "ANTHROPIC_BASE_URL=$ANTHROPIC_BASE_URL"
echo "ANTHROPIC_AUTH_TOKEN=$ANTHROPIC_AUTH_TOKEN"
claude --dangerously-skip-permissions