接入 Claude Code
📖 目录
🚀 快速开始(30秒上手)
如果你只是想快速测试书生大模型在 Claude Code 中的使用,执行以下命令即可:
Linux / macOS
# 1. 设置 API 端点
export ANTHROPIC_BASE_URL=https://chat.intern-ai.org.cn
# 2. 设置 API 密钥(替换为你的实际密钥)
export ANTHROPIC_AUTH_TOKEN=sk-your-api-key-here
# 3. 启动 Claude Code 使用书生模型
claude --model intern-s1
Windows (PowerShell)
# 1. 设置 API 端点
$env:ANTHROPIC_BASE_URL="https://chat.intern-ai.org.cn"
# 2. 设置 API 密钥(替换为你的实际密钥)
$env:ANTHROPIC_AUTH_TOKEN="sk-your-api-key-here"
# 3. 启动 Claude Code 使用书生模型
claude --model intern-s1
Windows (CMD)
REM 1. 设置 API 端点
set ANTHROPIC_BASE_URL=https://chat.intern-ai.org.cn
REM 2. 设置 API 密钥(替换为你的实际密钥)
set ANTHROPIC_AUTH_TOKEN=sk-your-api-key-here
REM 3. 启动 Claude Code 使用书生模型
claude --model intern-s1
⚠️ 注意:使用此方法配置的环境变量仅在当前终端会话中有效,关闭终端后需要重新设置。
📋 前置准备
1. 安装 Claude Code CLI
如果你还没有安装 Claude Code,请先进行安装:
使用 npm 安装(推荐):
npm install -g @anthropic-ai/claude-code
或使用 yarn:
yarn global add @anthropic-ai/claude-code
验证安装:
claude --version
2. 获取书生大模型 API 密钥
- 访问书生大模型官网:https://internlm.intern-ai.org.cn
- 注册/登录账号
- 进入 API 模块点击 获取个人密钥 TAB
- 创建新 的 API 密钥
- 复制保存你的 API 密钥(格式:
sk-xxxxxxxxxxxxxx)
🔐 安全提示:请妥善保管你的 API 密钥,不要分享给他人或提交到代码仓库。
📌 注意:API 端点地址不包含
/v1/messages后缀,Claude Code 会自动添加。
⚙️ 长期使用配置方案
如果你需要长期使用书生大模型,建议使用以下方案之一进行持久化配置。
方案一:Shell 配置文件(推荐)
这是最常用且最稳定的配置方式,适合个人开发环境。
Bash 用户(Linux / macOS 默认)
1. 编辑 .bashrc 文件:
nano ~/.bashrc
# 或使用其他编辑器:vim ~/.bashrc
2. 在文件末尾添加以下内容:
# 书生大模型 Claude Code 配置
export ANTHROPIC_BASE_URL="https://chat.intern-ai.org.cn"
export ANTHROPIC_AUTH_TOKEN="sk-your-api-key-here"
# 可选:设置默认模型
alias claude-intern='claude --model intern-s1'
3. 重新加载配置:
source ~/.bashrc
4. 验证配置:
echo $ANTHROPIC_BASE_URL
echo $ANTHROPIC_AUTH_TOKEN
Zsh 用户(macOS 新版默认)
1. 编辑 .zshrc 文件:
nano ~/.zshrc
# 或使用其他编辑器:vim ~/.zshrc
2. 在文件末尾添加以下内容:
# 书生大模型 Claude Code 配置
export ANTHROPIC_BASE_URL="https://chat.intern-ai.org.cn"
export ANTHROPIC_AUTH_TOKEN="sk-your-api-key-here"
# 可选:设置默认模型别名
alias claude-intern='claude --model intern-s1'
3. 重新加载配置:
source ~/.zshrc
4. 验证配置:
echo $ANTHROPIC_BASE_URL
echo $ANTHROPIC_AUTH_TOKEN
Fish 用户
1. 编辑配置文件:
nano ~/.config/fish/config.fish
2. 添加以下内容:
# 书生 大模型 Claude Code 配置
set -gx ANTHROPIC_BASE_URL "https://chat.intern-ai.org.cn"
set -gx ANTHROPIC_AUTH_TOKEN "sk-your-api-key-here"
# 可选:设置别名
alias claude-intern='claude --model intern-s1'
3. 重新加载配置:
source ~/.config/fish/config.fish
Windows 用户
PowerShell:
1. 编辑 PowerShell 配置文件:
notepad $PROFILE
如果提示文件不存在,先创建:
New-Item -Path $PROFILE -Type File -Force
2. 添加以下内容:
# 书生大模型 Claude Code 配置
$env:ANTHROPIC_BASE_URL = "https://chat.intern-ai.org.cn"
$env:ANTHROPIC_AUTH_TOKEN = "sk-your-api-key-here"
# 可选:设置别名
function claude-intern { claude --model intern-s1 }
3. 重新加载配置:
. $PROFILE
方案二:Claude Code 配置文件
Claude Code 支持通过配 置文件管理 API 设置。
1. 创建配置目录(如果不存在):
mkdir -p ~/.config/claude
2. 创建/编辑配置文件:
nano ~/.config/claude/config.json
3. 添加以下 JSON 配置:
{
"api": {
"baseUrl": "https://chat.intern-ai.org.cn",
"authToken": "sk-your-api-key-here"
},
"defaultModel": "intern-s1",
"preferences": {
"stream": true,
"maxTokens": 4096
}
}
4. 保存文件并验证:
claude --version
claude --model intern-s1
📝 注意:配置文件的具体路径和格式可能因 Claude Code 版本而异,请参考官方文档。
方案三:项目级环境变量
适合团队协作或需要在特定项目中使用书生模型的场景。
使用 .env 文件
1. 在项目根目录创建 .env 文件:
cd /path/to/your/project
touch .env
2. 编辑 .env 文件:
# .env
ANTHROPIC_BASE_URL=https://chat.intern-ai.org.cn
ANTHROPIC_AUTH_TOKEN=sk-your-api-key-here
3. 添加到 .gitignore(重要!):
echo ".env" >> .gitignore
4. 使用 dotenv 加载环境变量:
方式 A:使用 direnv(推荐)
# 安装 direnv
# macOS: brew install direnv
# Linux: apt install direnv / yum install direnv
# 允许当前目录
direnv allow .
# 之后进入此目录会自动加载 .env
cd /path/to/your/project
claude --model intern-s1
方式 B:手动加载
# Bash/Zsh
source .env
export $(cat .env | xargs)
# 或使用一行命令
env $(cat .env | xargs) claude --model intern-s1
使用 .envrc 文件(direnv )
1. 在项目根目录创建 .envrc 文件:
cd /path/to/your/project
touch .envrc
2. 编辑 .envrc 文件:
# .envrc
export ANTHROPIC_BASE_URL=https://chat.intern-ai.org.cn
export ANTHROPIC_AUTH_TOKEN=sk-your-api-key-here
3. 允许 direnv 加载:
direnv allow .
4. 进入项目目录时自动加载:
cd /path/to/your/project
# direnv 会自动加载环境变量
claude --model intern-s1
团队协作最佳实践
1. 创建 .env.example 模板文件:
# .env.example
ANTHROPIC_BASE_URL=https://chat.intern-ai.org.cn
ANTHROPIC_AUTH_TOKEN=your-api-key-here
2. 提交模板文件到版本控制:
git add .env.example
git commit -m "Add environment template"
3. 团队成员复制并配置:
cp .env.example .env
# 然后编辑 .env 填入真实的 API 密钥
4. 确保 .env 在 .gitignore 中:
# .gitignore
.env
.env.local
*.env
✅ 验证配置
配置完成后,使用以下方法验证是否正确:
1. 检查环境变量
# 检查 API 端点
echo $ANTHROPIC_BASE_URL
# 检查 API 密钥(只显示前几位,保护隐私)
echo $ANTHROPIC_AUTH_TOKEN | cut -c1-10
# 预期输出:
# https://chat.intern-ai.org.cn
# sk-xxxxxxxx
2. 测试 Claude Code 连接
# 发起简单的对话测试
claude --model intern-s1 "你好,请做一个自我介绍"
预期结果: 应该收到书生模型的回复。
3. 交互式测试
# 启动交互模式
claude --model intern-s1
# 在交互模式中输入测试问题
# > 你好,请告诉我今天是星期几?
4. 使用调试模式
# 启用详细日志查看请求详情
claude --model intern-s1 --debug "测试消息"
🔧 常见问题排查
问题 1:找不到模型 intern-s1
错误信息:
Error: Model 'intern-s1' not found
解决方案:
- 确认环境变量已正确设置:
echo $ANTHROPIC_BASE_URL - 检查 API 端点地址是否正确(不包含
/v1/messages) - 尝试重新加载 shell 配置:
source ~/.bashrc # 或 ~/.zshrc
问题 2:认证失败(401/403)
错误信息:
API Error: 401 Unauthorized
解决方案:
- 检查 API 密钥是否正确:
echo $ANTHROPIC_AUTH_TOKEN - 确认 API 密钥格式正确(以
sk-开头) - 检查 API 密钥是否已过期或被禁用
- 确认你的账户有访问权限
问题 3:连接超时或无法访问
错误信息:
Error: connect ETIMEDOUT
Error: getaddrinfo ENOTFOUND
解决方案:
- 检查网络连接
- 确认 API 端点地址是否可访问:
curl -I https://chat.intern-ai.org.cn/v1/messages - 检查防火墙或代理设置
- 如果在公司网络,询问网络管理员
问题 4:环境变量未生效
症状: 每次打开新终端都需要重新设置环境变量
解决方案:
-
确认配置写入了正确的 shell 配置文件:
- Bash:
~/.bashrc(Linux)或~/.bash_profile(macOS) - Zsh:
~/.zshrc - Fish:
~/.config/fish/config.fish
- Bash:
-
检查配置文件语法是否正确
-
确认配置文件被正确加载:
# 查看 shell 类型
echo $SHELL
# 手动加载配置
source ~/.bashrc # 根据你的 shell 调整
问题 5:响应格式错误
错误信息:
Error: Unexpected response format
解决方案:
- 确认 API 端点正确(应该是
/v1/messages而非/v1/chat/completions) - 检查 API 版本兼容性
- 查看详细错误日志:
claude --model intern-s1 --debug "测试"
💡 最佳实践建议
1. 安全性
- ✅ DO: 使用环境变量存储 API 密钥
- ✅ DO: 将
.env文件添加到.gitignore - ✅ DO: 使用密钥管理工具(如 1Password、AWS Secrets Manager)
- ❌ DON'T: 将 API 密钥硬编码在代码中
- ❌ DON'T: 将 API 密钥提交到版本控制系统
- ❌ DON'T: 在公共场合(截图、视频)泄露 API 密钥
2. 多环境管理
如果你需要在多个环境(开发/测试/生产)之间切换:
方案 A:使用别名
# 在 ~/.bashrc 或 ~/.zshrc 中添加
alias claude-dev='ANTHROPIC_BASE_URL=http://dev.internlm.com claude --model intern-s1'
alias claude-test='ANTHROPIC_BASE_URL=http://test.internlm.com claude --model intern-s1'
alias claude-prod='ANTHROPIC_BASE_URL=http://api.internlm.com claude --model intern-s1'
方案 B:使用环境切换脚本
# switch-env.sh
#!/bin/bash
case "$1" in
dev)
export ANTHROPIC_BASE_URL="http://dev.internlm.com"
;;
test)
export ANTHROPIC_BASE_URL="http://test.internlm.com"
;;
prod)
export ANTHROPIC_BASE_URL="http://api.internlm.com"
;;
*)
echo "Usage: source switch-env.sh [dev|test|prod]"
return 1
;;
esac
echo "Switched to $1 environment: $ANTHROPIC_BASE_URL"
使用方式:
source switch-env.sh dev
claude --model intern-s1
3. 性能优化
设置合理的 token 限制:
claude --model intern-s1 --max-tokens 2048 "你的问题"
使用流式输出获得更快的响应:
claude --model intern-s1 --stream "你的问题"
4. 日志和调试
启用详细日志:
export CLAUDE_LOG_LEVEL=debug
claude --model intern-s1 --debug "测试消息"
保存对话记录:
claude --model intern-s1 "你的问题" | tee conversation.log
🚀 高级使用技巧
1. 在 VS Code 中集成
如果你使用 VS Code 开发,可以配置终端自动加载环境变量:
1. 创建 .vscode/settings.json:
{
"terminal.integrated.env.linux": {
"ANTHROPIC_BASE_URL": "https://chat.intern-ai.org.cn",
"ANTHROPIC_AUTH_TOKEN": "${env:ANTHROPIC_AUTH_TOKEN}"
},
"terminal.integrated.env.osx": {
"ANTHROPIC_BASE_URL": "https://chat.intern-ai.org.cn",
"ANTHROPIC_AUTH_TOKEN": "${env:ANTHROPIC_AUTH_TOKEN}"
},
"terminal.integrated.env.windows": {
"ANTHROPIC_BASE_URL": "https://chat.intern-ai.org.cn",
"ANTHROPIC_AUTH_TOKEN": "${env:ANTHROPIC_AUTH_TOKEN}"
}
}
2. Docker 容器中使用
docker-compose.yml:
version: '3.8'
services:
dev:
image: node:18
environment:
- ANTHROPIC_BASE_URL=http://INTERNLM_HTTP_API_URL
- ANTHROPIC_AUTH_TOKEN=${ANTHROPIC_AUTH_TOKEN}
volumes:
- .:/workspace
working_dir: /workspace
command: bash
使用方式:
docker-compose run dev
# 在容器内
claude --model intern-s1 "测试消息"
3. CI/CD 环境中使用
GitHub Actions 示例:
name: Test with InternLM
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: '18'
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Test API
env:
ANTHROPIC_BASE_URL: ${{ secrets.INTERNLM_API_URL }}
ANTHROPIC_AUTH_TOKEN: ${{ secrets.INTERNLM_API_KEY }}
run: |
claude --model intern-s1 "测试消息"
4. 脚本自动化
批量处理示例:
#!/bin/bash
# batch_process.sh
# 设置环境
export ANTHROPIC_BASE_URL="https://chat.intern-ai.org.cn"
export ANTHROPIC_AUTH_TOKEN="sk-your-api-key-here"
# 读取问题列表并批量处理
while IFS= read -r question; do
echo "处理问题: $question"
claude --model intern-s1 "$question" > "output_$(date +%s).txt"
sleep 1 # 避免请求过快
done < questions.txt
echo "批量处理完成!"