Anthropic-安装指南
Anthropic 完整安装与集成指南
目录
- 引言
- 系统要求
- Claude Code CLI 安装
- Python SDK 安装
- TypeScript/JavaScript SDK 安装
- API 密钥获取与配置
- 国内环境配置方案
- 常见问题排查
- 最佳实践
引言
Anthropic 是一家人工智能安全研究公司,旗下的 Claude 系列模型以其强大的推理能力、代码生成和多语言理解能力而闻名。本指南将详细介绍如何在不同环境中安装和使用 Anthropic 的各种工具和 SDK,包括:
- Claude Code CLI: 命令行交互式 AI 编程助手
- Python SDK: Python 语言的官方 API 集成库
- TypeScript/JavaScript SDK: Node.js 和浏览器环境的官方 API 集成库
系统要求
通用要求
| 组件 | 最低版本 | 推荐版本 |
|---|---|---|
| 操作系统 | - | macOS 10.15+, Windows 10/11, Linux (Ubuntu 20.04+) |
| 内存 | 4GB | 8GB+ |
| 磁盘空间 | 500MB | 1GB+ |
Claude Code CLI 特殊要求
- Node.js: 18.0 或更高版本
- 终端: 支持 ANSI 颜色的终端应用
- Git: 可选,用于版本控制集成
Python SDK 要求
- Python: 3.9 或更高版本
- 包管理器: pip
TypeScript/JavaScript SDK 要求
- Node.js: 18.0 或更高版本
- 包管理器: npm、yarn 或 pnpm
Claude Code CLI 安装
Claude Code 是 Anthropic 官方推出的命令行工具,让你可以在终端中直接与 Claude 进行交互,完成代码编写、调试、重构等任务。
第一步:安装 Node.js
Windows 安装方法
方法一:使用官方安装包(推荐)
- 访问 Node.js 官网
- 下载 LTS(长期支持)版本的 Windows 安装包
- 运行安装程序,按照提示完成安装
- 验证安装:
node -v
npm -v
方法二:使用 winget 包管理器
winget install OpenJS.NodeJS.LTS
macOS 安装方法
使用 Homebrew(推荐)
# 安装 Homebrew(如果尚未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装 Node.js
brew install node
# 验证安装
node -v
npm -v
使用 nvm(Node Version Manager)
# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# 重新加载配置
source ~/.bashrc # 或 source ~/.zshrc
# 安装最新 LTS 版本的 Node.js
nvm install --lts
nvm use --lts
Linux/WSL 安装方法
# 使用 NodeSource 仓库安装 Node.js 20.x
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# 验证安装
node -v
npm -v
第二步:安装 Claude Code CLI
配置国内镜像源(推荐给国内用户)
npm config set registry https://registry.npmmirror.com
全局安装 Claude Code
npm install -g @anthropic-ai/claude-code
验证安装
claude -v
成功安装后,你会看到类似以下的输出:
claude-code v0.x.x
第三步:配置 API 密钥
详细配置方法见本文档 API 密钥获取与配置 章节。
第四步:首次使用
- 在终端中运行:
claude
-
首次使用会进入交互式配置向导,按照提示完成配置即可。
-
重要快捷键:
- Shift+Tab: 切换权限确认模式
- Ctrl+C: 中断当前操作
- Ctrl+D: 退出 Claude
Python SDK 安装
Anthropic 提供了官方的 Python SDK,支持 Python 3.9+ 版本。
第一步:创建虚拟环境(强烈推荐)
# 创建虚拟环境
python -m venv claude-env
# 激活虚拟环境
# Windows:
claude-env\Scripts\activate
# macOS/Linux:
source claude-env/bin/activate
第二步:安装 SDK
pip install anthropic
第三步:创建第一个示例程序
创建文件 hello_claude.py:
import os
from anthropic import Anthropic
# 配置客户端(API 密钥从环境变量读取)
client = Anthropic(
api_key=os.environ.get("ANTHROPIC_API_KEY") # 或直接传入密钥
)
# 调用 API
message = client.messages.create(
max_tokens=1024,
messages=[
{
"role": "user",
"content": "你好,请介绍一下你自己",
}
],
model="claude-opus-4-6",
)
# 输出响应
print(message.content[0].text)
第四步:设置 API 密钥
方法一:环境变量(推荐)
# macOS/Linux
export ANTHROPIC_API_KEY="your-api-key-here"
# Windows (PowerShell)
$env:ANTHROPIC_API_KEY="your-api-key-here"
# Windows (CMD)
set ANTHROPIC_API_KEY=your-api-key-here
方法二:.env 文件
创建 .env 文件:
ANTHROPIC_API_KEY=your-api-key-here
然后使用 python-dotenv 加载:
from dotenv import load_dotenv
load_dotenv()
from anthropic import Anthropic
client = Anthropic()
第五步:运行示例
python hello_claude.py
可选扩展功能
# 安装异步支持
pip install aiohttp
# 安装 AWS Bedrock 支持
pip install anthropic[bedrock]
# 安装 Google Vertex AI 支持
pip install anthropic[vertex]
# 安装所有扩展
pip install anthropic[all]
TypeScript/JavaScript SDK 安装
Anthropic 的 TypeScript SDK 专为 Node.js 18+、Deno、Bun 和浏览器环境设计。
第一步:创建项目
# 创建项目目录
mkdir claude-ts-project
cd claude-ts-project
# 初始化 npm 项目
npm init -y
第二步:安装 SDK
# 使用 npm
npm install @anthropic-ai/sdk
# 使用 yarn
yarn add @anthropic-ai/sdk
# 使用 pnpm
pnpm add @anthropic-ai/sdk
第三步:创建 TypeScript 配置
创建 tsconfig.json:
{
"compilerOptions": {
"target": "ES2022",
"module": "commonjs",
"lib": ["ES2022"],
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
第四步:创建第一个示例
创建 src/index.ts:
import Anthropic from '@anthropic-ai/sdk';
// 初始化客户端
const client = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY, // 可省略,默认读取环境变量
});
async function main() {
try {
const message = await client.messages.create({
max_tokens: 1024,
messages: [
{
role: 'user',
content: '你好,请介绍一下你自己',
}
],
model: 'claude-opus-4-6',
});
console.log(message.content[0].text);
} catch (error) {
console.error('调用 API 失败:', error);
}
}
main();
第五步:运行示例
# 安装 TypeScript(如果尚未安装)
npm install -D typescript @types/node
# 编译 TypeScript
npx tsc
# 运行编译后的代码
node dist/index.js
# 或使用 ts-node 直接运行(需要安装)
npm install -D ts-node
npx ts-node src/index.ts
浏览器环境使用
创建 index.html:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Claude API 示例</title>
</head>
<body>
<h1>Claude API 测试</h1>
<button id="sendBtn">发送请求</button>
<div id="response"></div>
<script type="module">
import Anthropic from 'https://cdn.jsdelivr.net/npm/@anthropic-ai/sdk@0.82.0/+esm';
const client = new Anthropic({
apiKey: 'your-api-key-here', // 在浏览器中需要直接设置
dangerouslyAllowBrowser: true, // 明确允许在浏览器中使用
});
document.getElementById('sendBtn').addEventListener('click', async () => {
try {
const response = await client.messages.create({
max_tokens: 1024,
messages: [
{
role: 'user',
content: '你好,请介绍一下你自己',
}
],
model: 'claude-opus-4-6',
});
document.getElementById('response').textContent = response.content[0].text;
} catch (error) {
console.error('调用 API 失败:', error);
document.getElementById('response').textContent = '调用失败: ' + error.message;
}
});
</script>
</body>
</html>
⚠️ 安全提示: 在浏览器中直接使用 API 密钥存在安全风险。在生产环境中,建议通过后端服务器代理请求。
API 密钥获取与配置
官方 API 密钥获取
- 访问 Anthropic 控制台
- 注册或登录账号
- 进入 API Keys 页面
- 点击 “Create Key” 创建新的 API 密钥
- 保存密钥(注意:密钥只显示一次,请妥善保存)
配置方式
Claude Code CLI 配置
方法一:环境变量(推荐)
编辑 ~/.bashrc、~/.zshrc 或 PowerShell 配置文件:
# macOS/Linux
export ANTHROPIC_API_KEY="your-api-key-here"
export ANTHROPIC_MODEL="claude-opus-4-6" # 可选,指定默认模型
# Windows PowerShell
$env:ANTHROPIC_API_KEY="your-api-key-here"
$env:ANTHROPIC_MODEL="claude-opus-4-6"
方法二:配置文件
创建或编辑 ~/.claude/settings.json:
{
"env": {
"ANTHROPIC_API_KEY": "your-api-key-here",
"ANTHROPIC_MODEL": "claude-opus-4-6"
}
}
Python SDK 配置
# 方法一:环境变量(推荐)
import os
os.environ["ANTHROPIC_API_KEY"] = "your-api-key-here"
# 方法二:直接传递
from anthropic import Anthropic
client = Anthropic(api_key="your-api-key-here")
# 方法三:.env 文件
# 创建 .env 文件:
# ANTHROPIC_API_KEY=your-api-key-here
# 然后使用:
from dotenv import load_dotenv
load_dotenv()
client = Anthropic()
TypeScript/JavaScript SDK 配置
// 方法一:环境变量(推荐)
// 在命令行中设置:
// export ANTHROPIC_API_KEY=your-api-key-here
// 方法二:代码中直接传递
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
apiKey: 'your-api-key-here',
});
// 方法三:.env 文件(需要 dotenv)
// 创建 .env 文件:
// ANTHROPIC_API_KEY=your-api-key-here
// 然后使用:
import dotenv from 'dotenv';
dotenv.config();
const client = new Anthropic();
国内环境配置方案
由于网络限制,国内用户可能需要使用第三方服务提供商。
第三方服务提供商配置
步骤一:选择服务提供商
以下是一些提供 Anthropic 兼容接口的第三方服务提供商:
- LuckyAPI (https://cn.luckyapi.chat)
- 其他第三方服务商(需自行搜索验证)
步骤二:注册并获取 API 密钥
- 在所选服务商网站注册账号
- 创建 API Token 或密钥
- 保存密钥
步骤三:配置 Claude Code CLI
方法一:环境变量配置
# macOS/Linux
export ANTHROPIC_BASE_URL="https://cn.luckyapi.chat"
export ANTHROPIC_API_KEY="sk-xxxxxxx" # 替换为你的 API Key
export ANTHROPIC_AUTH_TOKEN="" # 某些服务商要求设为空
# Windows PowerShell
$env:ANTHROPIC_BASE_URL="https://cn.luckyapi.chat"
$env:ANTHROPIC_API_KEY="sk-xxxxxxx"
$env:ANTHROPIC_AUTH_TOKEN=""
方法二:配置文件
编辑 ~/.claude/settings.json:
{
"env": {
"ANTHROPIC_BASE_URL": "https://cn.luckyapi.chat",
"ANTHROPIC_API_KEY": "sk-xxxxxxx",
"ANTHROPIC_AUTH_TOKEN": ""
}
}
步骤四:配置 Python SDK
import os
from anthropic import Anthropic
# 设置环境变量
os.environ["ANTHROPIC_API_KEY"] = "sk-xxxxxxx"
os.environ["ANTHROPIC_BASE_URL"] = "https://cn.luckyapi.chat"
# 创建客户端
client = Anthropic(
api_key=os.environ.get("ANTHROPIC_API_KEY"),
base_url=os.environ.get("ANTHROPIC_BASE_URL")
)
# 正常调用 API
message = client.messages.create(
max_tokens=1024,
messages=[{"role": "user", "content": "你好"}],
model="claude-sonnet-4-6",
)
步骤五:配置 TypeScript/JavaScript SDK
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
apiKey: 'sk-xxxxxxx',
baseURL: 'https://cn.luckyapi.chat',
});
// 正常调用 API
const message = await client.messages.create({
max_tokens: 1024,
messages: [{ role: 'user', content: '你好' }],
model: 'claude-sonnet-4-6',
});
多服务商一键切换脚本
为了方便在不同服务商之间切换,可以创建快捷命令函数。
macOS/Linux
编辑 ~/.zshrc 或 ~/.bashrc:
# 服务商 A
claude-provider-a() {
export ANTHROPIC_BASE_URL="https://provider-a.com/anthropic"
export ANTHROPIC_API_KEY="KEY_A"
export ANTHROPIC_AUTH_TOKEN=""
claude
}
# 服务商 B
claude-provider-b() {
export ANTHROPIC_BASE_URL="https://provider-b.com/anthropic"
export ANTHROPIC_API_KEY="KEY_B"
export ANTHROPIC_AUTH_TOKEN=""
claude
}
# 使配置生效
source ~/.bashrc # 或 source ~/.zshrc
使用方式:
claude-provider-a # 使用服务商 A
claude-provider-b # 使用服务商 B
Windows PowerShell
编辑 PowerShell 配置文件 $PROFILE:
function claude-provider-a {
$env:ANTHROPIC_BASE_URL = "https://provider-a.com/anthropic"
$env:ANTHROPIC_API_KEY = "KEY_A"
$env:ANTHROPIC_AUTH_TOKEN = ""
claude
}
function claude-provider-b {
$env:ANTHROPIC_BASE_URL = "https://provider-b.com/anthropic"
$env:ANTHROPIC_API_KEY = "KEY_B"
$env:ANTHROPIC_AUTH_TOKEN = ""
claude
}
使用方式:
claude-provider-a # 使用服务商 A
claude-provider-b # 使用服务商 B
配置验证
无论使用哪种配置方式,都应验证配置是否正确。
验证 Claude Code CLI
claude -v # 检查版本
claude # 尝试启动交互式界面
验证 Python SDK
创建测试文件 test_connection.py:
import os
from anthropic import Anthropic
client = Anthropic(
api_key=os.environ.get("ANTHROPIC_API_KEY"),
base_url=os.environ.get("ANTHROPIC_BASE_URL")
)
try:
message = client.messages.create(
max_tokens=10,
messages=[{"role": "user", "content": "测试"}],
model="claude-sonnet-4-6",
)
print("✓ 连接成功!")
except Exception as e:
print(f"✗ 连接失败: {e}")
运行测试:
python test_connection.py
验证 TypeScript/JavaScript SDK
创建测试文件 test-connection.ts:
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY!,
baseURL: process.env.ANTHROPIC_BASE_URL,
});
async function test() {
try {
await client.messages.create({
max_tokens: 10,
messages: [{ role: 'user', content: '测试' }],
model: 'claude-sonnet-4-6',
});
console.log('✓ 连接成功!');
} catch (error) {
console.error('✗ 连接失败:', error);
}
}
test();
常见问题排查
安装问题
问题 1:npm 安装失败或速度慢
症状:执行 npm install 时卡顿或失败。
解决方案:
# 使用国内镜像源
npm config set registry https://registry.npmmirror.com
# 或临时使用
npm install @anthropic-ai/claude-code --registry=https://registry.npmmirror.com
问题 2:权限错误(Permission denied)
症状:安装 Claude Code CLI 时提示权限不足。
解决方案(macOS/Linux):
# 使用 sudo 安装
sudo npm install -g @anthropic-ai/claude-code
# 或修改 npm 全局目录权限
mkdir ~/.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
解决方案(Windows):
以管理员身份运行 PowerShell,然后执行安装命令。
问题 3:Node.js 版本不兼容
症状:提示需要 Node.js 18 或更高版本。
解决方案:
# 检查当前版本
node -v
# 使用 nvm 升级(macOS/Linux)
nvm install --lts
nvm use --lts
# Windows 重新安装最新版
# 访问 nodejs.org 下载并安装最新 LTS 版本
配置问题
问题 4:API 密钥无效
症状:提示 AuthenticationError 或类似错误。
解决方案:
- 检查 API 密钥是否正确复制(避免多余空格)
- 确认密钥是否有效且未过期
- 验证环境变量是否正确设置:
# macOS/Linux
echo $ANTHROPIC_API_KEY
# Windows PowerShell
echo $env:ANTHROPIC_API_KEY
- 重启终端使环境变量生效
问题 5:Base URL 配置错误
症状:提示连接失败或 404 错误。
解决方案:
- 检查 Base URL 是否正确(通常以
/anthropic结尾) - 验证服务商是否正常运行
- 尝试直接访问 Base URL 测试连通性
问题 6:环境变量未生效
症状:设置环境变量后仍然无法识别。
解决方案:
- 确保修改了正确的配置文件:
- Bash:
~/.bashrc - Zsh:
~/.zshrc - PowerShell:
$PROFILE
- Bash:
- 重新加载配置:
# macOS/Linux
source ~/.bashrc # 或 source ~/.zshrc
# Windows PowerShell
. $PROFILE
- 完全关闭并重新打开终端
运行时问题
问题 7:模型名称错误
症状:提示模型不存在或未授权。
解决方案:
- 检查模型名称是否正确(区分大小写)
- 确认你的 API 计划是否支持该模型
- 常用模型名称:
claude-opus-4-6claude-sonnet-4-6claude-haiku-4-5
问题 8:请求超时
症状:API 请求长时间无响应。
解决方案:
# Python SDK - 设置超时
from anthropic import Anthropic
import httpx
client = Anthropic(
api_key="your-api-key",
timeout=httpx.Timeout(60.0, connect=10.0) # 60 秒总超时,10 秒连接超时
)
// TypeScript SDK - 设置超时
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
apiKey: 'your-api-key',
timeout: 60000, // 60 秒
});
问题 9:Token 限制错误
症状:提示 max_tokens 超出限制。
解决方案:
- 检查模型的 Token 限制:
- Claude Opus: 200,000 输入 Token,4,096 输出 Token
- Claude Sonnet: 200,000 输入 Token,8,192 输出 Token
- Claude Haiku: 200,000 输入 Token,8,192 输出 Token
- 调整
max_tokens参数在合理范围内 - 分割过长的输入文本
特定问题
问题 10:Windows PowerShell 执行策略限制
症状:提示无法运行脚本。
解决方案:
# 检查当前执行策略
Get-ExecutionPolicy
# 临时修改为允许脚本
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
# 永久修改(谨慎使用)
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
问题 11:macOS 证书验证失败
症状:提示 SSL 证书错误。
解决方案:
# 更新 CA 证书
brew install ca-certificates
# 或临时跳过证书验证(不推荐生产环境)
export NODE_TLS_REJECT_UNAUTHORIZED=0
问题诊断清单
如果遇到问题,按以下顺序排查:
- ✓ 验证安装:运行
claude -v或pip show anthropic确认已安装 - ✓ 检查版本:确认 Node.js/Python 版本符合要求
- ✓ 检查配置:验证
settings.json格式正确(无多余逗号) - ✓ 重启终端:修改配置后关闭并重新打开终端
- ✓ 检查鉴权:确认只使用一种 API Key 变量
- ✓ 检查网络:确认网络连接正常,Base URL 可访问
- ✓ 检查日志:查看详细错误信息
最佳实践
安全实践
1. API 密钥管理
✅ 推荐:
- 使用环境变量存储 API 密钥
- 将
.env文件添加到.gitignore - 定期轮换 API 密钥
- 为不同环境(开发、测试、生产)使用不同的密钥
❌ 避免:
- 在代码中硬编码 API 密钥
- 将
.env文件提交到版本控制 - 在公开仓库中暴露密钥
2. 错误处理
# Python SDK - 完整的错误处理
from anthropic import Anthropic
from anthropic import APIError, APITimeoutError, RateLimitError
client = Anthropic()
try:
message = client.messages.create(
max_tokens=1024,
messages=[{"role": "user", "content": "你好"}],
model="claude-opus-4-6",
)
print(message.content[0].text)
except RateLimitError as e:
print(f"请求速率超限: {e}")
except APITimeoutError as e:
print(f"请求超时: {e}")
except APIError as e:
print(f"API 错误: {e}")
except Exception as e:
print(f"未知错误: {e}")
// TypeScript SDK - 完整的错误处理
import Anthropic, { APIError, APITimeoutError, RateLimitError } from '@anthropic-ai/sdk';
const client = new Anthropic();
try {
const message = await client.messages.create({
max_tokens: 1024,
messages: [{ role: 'user', content: '你好' }],
model: 'claude-opus-4-6',
});
console.log(message.content[0].text);
} catch (error) {
if (error instanceof RateLimitError) {
console.error('请求速率超限:', error);
} else if (error instanceof APITimeoutError) {
console.error('请求超时:', error);
} else if (error instanceof APIError) {
console.error('API 错误:', error);
} else {
console.error('未知错误:', error);
}
}
3. 流式响应
# Python SDK - 流式响应
from anthropic import Anthropic
client = Anthropic()
with client.messages.stream(
max_tokens=1024,
messages=[{"role": "user", "content": "写一篇短文"}],
model="claude-opus-4-6",
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
// TypeScript SDK - 流式响应
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic();
async function streamExample() {
const stream = await client.messages.create({
max_tokens: 1024,
messages: [{ role: 'user', content: '写一篇短文' }],
model: 'claude-opus-4-6',
stream: true,
});
for await (const event of stream) {
if (event.type === 'content_block_delta' && event.delta.type === 'text_delta') {
process.stdout.write(event.delta.text);
}
}
}
streamExample();
性能优化
1. 连接池配置
# Python SDK - 使用 httpx 连接池
import httpx
from anthropic import Anthropic
http_client = httpx.Client(
timeout=60.0,
limits=httpx.Limits(max_connections=100, max_keepalive_connections=20)
)
client = Anthropic(http_client=http_client)
// TypeScript SDK - 使用自定义 fetch 客户端
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
httpAgent: customAgent, // 自定义 HTTP Agent
});
2. 缓存策略
- 对重复的查询结果进行缓存
- 使用 Redis 或内存缓存存储常见响应
- 实现智能缓存失效机制
3. 批量请求
对于多个独立请求,使用并发处理:
# Python - 使用 asyncio
import asyncio
from anthropic import AsyncAnthropic
client = AsyncAnthropic()
async def process_prompt(prompt):
message = await client.messages.create(
max_tokens=512,
messages=[{"role": "user", "content": prompt}],
model="claude-sonnet-4-6",
)
return message.content[0].text
async def main():
prompts = ["提示1", "提示2", "提示3"]
results = await asyncio.gather(*[process_prompt(p) for p in prompts])
print(results)
asyncio.run(main())
成本控制
1. 智能模型选择
- Claude Haiku:快速、便宜,适合简单任务
- Claude Sonnet:平衡性能和成本,适合大多数场景
- Claude Opus:最强性能,适合复杂推理任务
2. Token 优化
# 压缩提示词
def compress_prompt(prompt):
# 移除冗余信息
prompt = re.sub(r'\s+', ' ', prompt)
# 使用简洁表达
prompt = prompt.replace("请帮我", "")
return prompt.strip()
# 精确设置 max_tokens
message = client.messages.create(
max_tokens=100, # 而不是 4096
messages=[{"role": "user", "content": "简短回答..."}],
model="claude-haiku-4-5",
)
3. 使用监控
# 监控 API 使用情况
from anthropic import Anthropic
client = Anthropic()
response = client.messages.create(
max_tokens=1024,
messages=[{"role": "user", "content": "你好"}],
model="claude-opus-4-6",
)
# 获取使用统计
usage = response.usage
print(f"输入 Token: {usage.input_tokens}")
print(f"输出 Token: {usage.output_tokens}")
print(f"总 Token: {usage.input_tokens + usage.output_tokens}")
开发建议
1. 环境分离
项目结构示例:
my-claude-app/
├── .env.development # 开发环境配置
├── .env.production # 生产环境配置
├── .gitignore
├── package.json
├── tsconfig.json
├── src/
│ ├── config/
│ │ └── config.ts # 配置加载
│ ├── services/
│ │ └── claude.ts # Claude 封装
│ └── index.ts
└── tests/
2. 配置封装
// src/config/config.ts
import dotenv from 'dotenv';
dotenv.config();
export const config = {
anthropic: {
apiKey: process.env.ANTHROPIC_API_KEY!,
baseURL: process.env.ANTHROPIC_BASE_URL,
model: process.env.ANTHROPIC_MODEL || 'claude-sonnet-4-6',
maxTokens: parseInt(process.env.MAX_TOKENS || '1024', 10),
},
};
// src/services/claude.ts
import Anthropic from '@anthropic-ai/sdk';
import { config } from '../config/config';
export class ClaudeService {
private client: Anthropic;
constructor() {
this.client = new Anthropic({
apiKey: config.anthropic.apiKey,
baseURL: config.anthropic.baseURL,
});
}
async chat(message: string) {
const response = await this.client.messages.create({
max_tokens: config.anthropic.maxTokens,
messages: [{ role: 'user', content: message }],
model: config.anthropic.model,
});
return response.content[0].text;
}
}
3. 日志记录
# Python SDK - 添加日志
import logging
from anthropic import Anthropic
# 配置日志
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
client = Anthropic()
def chat_with_claude(prompt):
try:
logger.info(f"发送请求: {prompt[:50]}...")
message = client.messages.create(
max_tokens=1024,
messages=[{"role": "user", "content": prompt}],
model="claude-sonnet-4-6",
)
response = message.content[0].text
logger.info(f"收到响应: {response[:50]}...")
return response
except Exception as e:
logger.error(f"请求失败: {e}")
raise
4. 测试策略
// 单元测试示例
import { describe, it, expect, vi } from 'vitest';
import { ClaudeService } from '../services/claude';
vi.mock('@anthropic-ai/sdk');
describe('ClaudeService', () => {
it('应该正确发送消息', async () => {
const service = new ClaudeService();
const result = await service.chat('你好');
expect(typeof result).toBe('string');
expect(result.length).toBeGreaterThan(0);
});
});
团队协作
1. 配置共享
在项目中创建配置模板文件 config.example.json:
{
"anthropic": {
"apiKey": "your-api-key-here",
"baseURL": "https://api.anthropic.com",
"model": "claude-sonnet-4-6"
}
}
2. 文档规范
- 记录 API 使用模式和最佳实践
- 维护错误代码和处理指南
- 编写清晰的 API 调用示例
3. 代码审查
- 检查是否有硬编码的 API 密钥
- 验证错误处理是否完善
- 确认资源清理(如关闭连接)
总结
本指南涵盖了 Anthropic 各种工具和 SDK 的完整安装与配置流程,包括:
- Claude Code CLI: 命令行交互式 AI 编程助手
- Python SDK: Python 语言的官方 API 集成库
- TypeScript/JavaScript SDK: Node.js 和浏览器环境的官方 API 集成库
无论你是初学者还是经验丰富的开发者,按照本指南的步骤操作,都能顺利安装和使用 Anthropic 的产品。如果遇到问题,请参考本文档的 常见问题排查 章节。
快速参考
| 工具 | 安装命令 | 语言环境 |
|---|---|---|
| Claude Code CLI | npm install -g @anthropic-ai/claude-code |
Node.js 18+ |
| Python SDK | pip install anthropic |
Python 3.9+ |
| TypeScript SDK | npm install @anthropic-ai/sdk |
Node.js 18+ |
有用资源
- Anthropic 官方文档: https://docs.anthropic.com
- Claude API 文档: https://platform.claude.com/docs
- Claude Code 中文站: https://claude-zh.cn
- Claude 中文社区: https://claudecn.com
版本信息
- 文档版本: 1.0
- 最后更新: 2026年4月3日
- 适用版本: Claude 4.x 系列
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)