如何在ubuntu20.04系统配置Claude code使用中国大模型

1. 安装claude code

  1. 安装nvm

  2. 通过nvm 安装node.js

bash 复制代码
$ nvm --version
0.39.3

$ npm --version
11.12.1

$ node --v
v22.14.0
  1. 安装 claude-code
bash 复制代码
npm install -g @anthropic-ai/claude-code

2. 安装litellm

  1. 安装python3.10

  2. 创建python虚拟环境ccx

  3. 安装litellm

bash 复制代码
#$ mkvirtualenv ccx -p /usr/bin/python3.10 
(ccx) $ pip install litellm 
(ccx) $ pip install 'litellm[proxy]'
(ccx) $ pip install httpx[socks]

3. 配置claude code

3.1 启用litellm

~/.zshrc文件中添加以下内容:

bash 复制代码
export ZHIPU_API_KEY=<your_api_key>

运行source ~/.zshrc命令,使环境变量生效。

创建 litellm_config.yaml(与下文启动命令文件名一致),并添加以下内容。Claude Code 会通过 Anthropic 接口请求诸如 claude-sonnet-4-6 等官方模型名,因此需要一条 model_name: "*" 的通配路由,把这些名称全部转到实际使用的国内模型。

yaml 复制代码
model_list:
#   - model_name: qwen
#     litellm_params:
#       model: dashscope/qwen-plus

#   - model_name: kimi
#     litellm_params:
#       model: moonshot/moonshot-v1-8k

  - model_name: "*"
    litellm_params:
      model: zai/glm-5.1
      api_key: os.environ/ZHIPU_API_KEY

  - model_name: glm
    litellm_params:
      model: zai/glm-5.1
      api_key: os.environ/ZHIPU_API_KEY

litellm_settings:
  drop_params: true

Claude Code 会带上 Anthropic 专有字段(如 context_management),转给 GLM 时需丢弃;drop_params: true 即由 LiteLLM 自动去掉后端不支持的参数。

运行 LiteLLM 代理:

bash 复制代码
(ccx) ➜  ccx litellm --config litellm_config.yaml --port 4000
INFO:     Started server process [379725]
INFO:     Waiting for application startup.

   ██╗     ██╗████████╗███████╗██╗     ██╗     ███╗   ███╗
   ██║     ██║╚══██╔══╝██╔════╝██║     ██║     ████╗ ████║
   ██║     ██║   ██║   █████╗  ██║     ██║     ██╔████╔██║
   ██║     ██║   ██║   ██╔══╝  ██║     ██║     ██║╚██╔╝██║
   ███████╗██║   ██║   ███████╗███████╗███████╗██║ ╚═╝ ██║
   ╚══════╝╚═╝   ╚═╝   ╚══════╝╚══════╝╚══════╝╚═╝     ╚═╝


#------------------------------------------------------------#
#                                                            #
#            'This product would be better if...'             #
#        https://github.com/BerriAI/litellm/issues/new        #
#                                                            #
#------------------------------------------------------------#

 Thank you for using LiteLLM! - Krrish & Ishaan



Give Feedback / Get Help: https://github.com/BerriAI/litellm/issues/new


LiteLLM: Proxy initialized with Config, Set models:
    qwen
    kimi
    glm
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:4000 (Press CTRL+C to quit)

3.2 配置claude code

  1. ~/.zshrc文件中添加以下内容:
bash 复制代码
export ANTHROPIC_API_KEY=dummy
export ANTHROPIC_BASE_URL=http://127.0.0.1:4000
  1. 运行source ~/.zshrc命令,使环境变量生效。

  2. 运行claude命令,并输入以下内容:

bash 复制代码
$ claude
  • Choose the text style that looks best with your terminal
  • ANTHROPIC_API_KEY: sk-ant-...dummy 选择yes
  • Enter
  • yes
  1. 如果运行claude初始化配置有问题,则执行以下命令重新配置:
bash 复制代码
$ rm -rf ~/.claude*
$ claude

4. 测试claude code

  1. 运行claude命令,并输入以下内容:
bash 复制代码
$ claude
> 写一个python函数,判断质数
❯ 
相关推荐
敲代码还房贷6 小时前
解决win7装不了vmware tools问题
ubuntu
下午写HelloWorld9 小时前
Linux系统及Ubuntu常用指令
linux·ubuntu·操作系统
哆啦A梦——14 小时前
Ubuntu 虚拟机 Docker 与 MySQL 8.0.42 部署指南
mysql·ubuntu·docker
上天_去_做颗惺星 EVE_BLUE15 小时前
【新 Linux 服务器上手全攻略】系统巡检、存储规划与开发环境初始化
linux·运维·服务器·ubuntu·macos·centos
das2m16 小时前
WSL2 Ubuntu 配置完美版 docker compose 指南
linux·ubuntu·docker
MIXLLRED16 小时前
Ubuntu 22.04 + ROS2 Humble 上部署 ScaRF‑SLAM指南
ubuntu·slam·ros2·离线建图
码哥字节16 小时前
手动翻群 40 分钟变 5 分钟,我用 wx-cli + Claude Skill 搭了个本地总结器
claude code·ai总结·wx-cli
FlyWIHTSKY17 小时前
JavaScript 和 TypeScript 分别是什么,可以相互写吗
javascript·ubuntu·typescript
iRayCheung17 小时前
virtualbox安装的ubuntu系统跑numpy报错
linux·ubuntu·numpy
丑过三八线18 小时前
Systemd Cgroup 驱动详解
linux·ubuntu·容器