第 2 课:环境搭建
需要什么
1. Python 3.10+
2. Claude Agent SDK
3. Anthropic API Key 或 Claude 订阅账号
4. 代码编辑器(VS Code 推荐)
第一步:创建项目
mkdir miniclaw && cd miniclaw
python -m venv venv
source venv/bin/activate # Mac/Linux
# venv\Scripts\activate # Windows
第二步:安装 SDK
pip install claude-agent-sdk
验证:
python -c "from claude_agent_sdk import query; print('✅ SDK 安装成功')"
第三步:配置认证
Claude Agent SDK 支持两种认证方式:
方式 A:API Key(按量付费)
export ANTHROPIC_API_KEY="sk-ant-你的密钥"
方式 B:订阅账号(Claude Pro/Max 用户)
claude login
# 按提示在浏览器完成登录
两种方式选一种就行,SDK 会自动检测。
第四步:Hello World
创建 hello.py:
"""MiniClaw 第一次对话"""
import anyio
from claude_agent_sdk import (
query, ClaudeAgentOptions,
AssistantMessage, ResultMessage, TextBlock,
)
async def main():
options = ClaudeAgentOptions(
system_prompt="你是私人助理 MiniClaw,用中文简洁地回答问题。",
max_turns=1,
)
print("🤖 MiniClaw 启动!\n")
question = "用一句话告诉我:怎样才能提高工作效率?"
print(f"你: {question}\n")
async for msg in query(prompt=question, options=options):
if isinstance(msg, AssistantMessage):
for block in msg.content:
if isinstance(block, TextBlock):
print(f"🤖 MiniClaw: {block.text}")
elif isinstance(msg, ResultMessage):
if msg.total_cost_usd and msg.total_cost_usd > 0:
print(f"\n💰 费用: ${msg.total_cost_usd:.4f}")
anyio.run(main)
python hello.py
第五步:试试交互模式
创建 chat.py:
"""MiniClaw 交互模式"""
import asyncio
from claude_agent_sdk import (
ClaudeSDKClient, ClaudeAgentOptions,
AssistantMessage, TextBlock,
)
async def main():
options = ClaudeAgentOptions(
system_prompt="""你是私人助理 MiniClaw。你的特点:
1. 用中文、简洁地回答
2. 主动给出建议
3. 回复不超过 3 句话""",
)
print("🤖 MiniClaw 上线(输入 quit 退出)\n")
async with ClaudeSDKClient(options=options) as client:
while True:
user_input = input("你: ").strip()
if user_input.lower() in ['quit', 'exit', 'q']:
print("🤖 MiniClaw: 拜拜,明天见!")
break
if not user_input:
continue
await client.query(user_input)
async for msg in client.receive_response():
if isinstance(msg, AssistantMessage):
for block in msg.content:
if isinstance(block, TextBlock):
print(f"🤖 MiniClaw: {block.text}")
print()
asyncio.run(main)
python chat.py
试着和它聊几句,感受一下多轮对话的效果。
项目目录规划
后面的课程会逐步搭建:
miniclaw/
├── main.py ← 主程序入口
├── config.py ← 配置
├── tools/
│ ├── __init__.py
│ ├── todo.py ← 待办管理工具
│ ├── notes.py ← 笔记工具
│ └── files.py ← 文件操作工具
├── hooks/
│ ├── __init__.py
│ └── safety.py ← 安全 Hook
├── agents/
│ ├── __init__.py
│ └── team.py ← Agent 团队
├── storage/
│ ├── __init__.py
│ └── db.py ← SQLite 数据库
└── data/
└── miniclaw.db ← 数据文件
常见问题
Q: 报错 "No API key found"
A: 设置 export ANTHROPIC_API_KEY="..." 或执行 claude login
Q: SDK 安装了但 import 报错
A: 确认虚拟环境已激活(终端前面有 (venv))
Q: 回复是英文 A: 在 system_prompt 里写"用中文回复"
本课小结
- 安装了
claude-agent-sdk - 两种认证方式:API Key 或
claude login - 跑通了 Hello World 和交互模式
- 规划了项目目录结构