一、概述
Claude Code 是由 Anthropic 开发的AI编程助手,支持在终端中通过自然语言进行代码编写、调试和项目开发。本文档详细介绍在 Ubuntu 系统上部署 Claude Code 的两种官方推荐方式(APT包管理器安装和原生安装脚本),以及安装后的实验环境搭建和 Claude Agent SDK 的核心使用介绍。
二、部署安装:两种方法
方法一:APT包管理器安装(推荐)
APT包管理器安装方式便于系统统一管理和更新,适合大多数用户。
步骤1:安装依赖并添加GPG密钥
如果系统没有 curl,先安装它:
sudo apt update
sudo apt install curl -y
sudo install -d -m 0755 /etc/apt/keyrings
sudo curl -fsSL
https://downloads.claude.ai/keys/claude-code.asc -o
/etc/apt/keyrings/claude-code.asc
步骤2:验证密钥指纹
验证密钥指纹是否匹配 31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE:
gpg --show-keys /etc/apt/keyrings/claude-code.asc
步骤3:添加软件源并安装
配置 stable 渠道(适合大多数用户,更新约有一周延迟,稳定性高):
echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc]
https://downloads.claude.ai/claude-code/apt/stable stable main" | sudo tee /etc/apt/sources.list.d/claude-code.list
sudo apt update
sudo apt install
claude-code -y
提示:若希望使用最新版本(latest 渠道),将上述命令中的 stable 替换为 latest 即可。
方法二:原生安装脚本
原生安装脚本方式更灵活,可指定版本或渠道。
安装最新版(默认)
curl -fsSL https://claude.ai/install.sh | bash
安装稳定版
curl -fsSL https://claude.ai/install.sh | bash -s stable
安装特定版本(如 2.1.89)
curl -fsSL https://claude.ai/install.sh | bash -s 2.1.89
三、验证安装与认证
3.1 验证安装
安装完成后,检查版本确保命令可用:
claude --version
claude doctor # 查看更详细的配置状态
3.2 认证方式
Claude Code 需要 Pro、Max 或 Team 等付费账户。
交互式认证
直接运行 claude,根据提示在浏览器中完成 OAuth 登录。
无头服务器认证
运行 claude 会输出一个 URL,复制到本地浏览器完成认证即可。
自动化环境认证
设置 API Key 环境变量(适用于 CI/CD 等场景):
export ANTHROPIC_API_KEY=sk-ant-api03-...
四、实验环境搭建:tmux + API Key
在远程 Ubuntu 服务器上进行实验时,tmux 是保持 Claude Code 会话在 SSH 断开后依然运行的标准工具。
4.1 安装 tmux
sudo apt-get install -y tmux
4.2 配置 tmux(可选)
创建 ~/.tmux.conf 文件,添加配置如启用鼠标、增大回滚缓冲区等。
4.3 使用工作流
# 1. 创建并进入一个名为 claude 的 tmux 会话
tmux new-session -s claude
# 2. 在会话中进入项目目录并启动 Claude Code
cd ~/your-project
claude
# 3. 需要断开时:按下 Ctrl+b,然后按 d 键,会话会在后台运行
# 4. 重新连接:执行
tmux attach-session -t claude
4.4 API Key 认证持久化
将 API Key 添加到 ~/.bashrc,确保在 tmux 会话中也生效:
echo 'export
ANTHROPIC_API_KEY=sk-ant-api03-...' >> ~/.bashrc
source ~/.bashrc
五、Agent SDK 核心使用介绍
Agent SDK 允许通过 Python 代码编程控制 Claude Code,构建自动化 Agent。核心是理解 query() 和 ClaudeSDKClient 两种模式的区别,以及 @tool 装饰器的使用。
5.1 安装与导入
安装 Python SDK
pip install claude-agent-sdk
导入核心组件
import asyncio
from claude_agent_sdk import query, ClaudeSDKClient,
ClaudeAgentOptions, tool
5.2 核心接口抉择:query() vs. ClaudeSDKClient
根据任务类型选择合适的接口:
|
特性 |
query() 函数 |
ClaudeSDKClient 类 |
|
适用场景 |
一次性任务、独立问题、简单自动化脚本 |
多轮对话、需要记忆上下文的交互式应用 |
|
会话状态 |
无状态。每次调用都创建新会话,不记得历史 |
有状态。通过 async with 管理会话,上下文在多次 query 间保持 |
|
典型用法 |
async for msg in query(prompt="...", options=...) |
async with ClaudeSDKClient() as client: await client.query("...") |
5.3 核心概念与实验
配置行为(ClaudeAgentOptions)
通过 ClaudeAgentOptions 对象精细控制 Agent 行为,如设置系统提示词、工作目录、权限模式或指定模型:
options = ClaudeAgentOptions(
system_prompt="You are an expert Python
developer.",
permission_mode="acceptEdits", # 自动接受文件编辑
cwd="/home/user/project", # 指定项目目录
model="haiku" # 指定模型
)
实时监控
可以异步迭代 client.receive_response(),根据 ToolUseBlock 或 ToolResultBlock 等不同类型的事件,实时打印进度或执行逻辑。
定义工具(@tool 装饰器)
@tool 装饰器是 Agent SDK 最强大的功能之一。可以用装饰器将任何异步 Python 函数封装成一个 Claude 可以调用的工具:
@tool("greet", "Greet a
user", {"name": str})
async def greet(args):
return {"content": [{"type": "text", "text": f"Hello, {args['name']}!"}]}
将工具添加到 options 中,Claude 就能在对话中自主决定调用它。
六、总结
|
方面 |
建议 |
|
安装方式 |
推荐使用 APT 包管理器安装 Claude Code,方便稳定 |
|
远程开发 |
请务必配合 tmux 管理会话,防止 SSH 断开导致任务中断 |
|
SDK 接口选择 |
一次性任务用 query(),多轮对话用 ClaudeSDKClient |
|
能力扩展 |
善用 @tool 装饰器来扩展 Claude 的能力 |
附录:常用命令速查
|
命令 |
说明 |
|
claude --version |
检查 Claude Code 版本 |
|
claude doctor |
查看详细配置状态 |
|
tmux new-session -s claude |
创建新 tmux 会话 |
|
tmux attach-session -t claude |
重新连接 tmux 会话 |
|
pip install claude-agent-sdk |
安装 Agent SDK |
|
export ANTHROPIC_API_KEY=xxx |
设置 API Key 环境变量 |