Agent SDK Dev 开发工具插件
Agent SDK Dev 插件提供 Claude Agent SDK 项目的交互式创建和验证工具,帮助开发者快速搭建 Python 或 TypeScript Agent 应用。
概述
Agent SDK Dev 是一个开发者工具插件,专门用于 Claude Agent SDK 项目的创建和验证。它提供交互式项目脚手架和全面的代码验证功能,确保项目符合最佳实践。
核心特性
| 特性 | 说明 |
|---|---|
| 交互式创建 | 通过问答方式创建新项目 |
| 多语言支持 | Python 和 TypeScript |
| 自动验证 | 8 个维度的代码检查 |
| 最佳实践 | 内置 SDK 使用规范 |
组件概览
mermaid
graph TD
A[Agent SDK Dev] --> B[/new-sdk-app 命令]
A --> C[Python 验证器]
A --> D[TypeScript 验证器]
B --> B1[交互式项目创建]
C --> C1[8 维度验证]
D --> D1[8 维度验证]
style A fill:#e3f2fd安装与配置
插件安装
bash
# 安装 agent-sdk-dev 插件
/plugin install agent-sdk-dev@claude-plugins-official目录结构
plugins/agent-sdk-dev/
├── .claude-plugin/
│ └── plugin.json
├── README.md
├── commands/
│ └── new-sdk-app.md # 项目创建命令
└── agents/
├── agent-sdk-verifier-py.md # Python 验证器
└── agent-sdk-verifier-ts.md # TypeScript 验证器配置文件 (plugin.json)
json
{
"name": "agent-sdk-dev",
"description": "Claude Agent SDK Development Plugin",
"version": "1.0.0",
"author": {
"name": "Ashwin Bhat",
"email": "ashwin@anthropic.com"
}
}核心命令
/new-sdk-app
交互式创建新的 Agent SDK 项目。
语法:
bash
/new-sdk-app [项目名称]交互流程:
mermaid
sequenceDiagram
participant U as 用户
participant C as Claude
participant F as 文件系统
U->>C: /new-sdk-app my-agent
C->>U: 选择编程语言?
U->>C: Python
C->>U: 选择代理类型?
U->>C: 聊天机器人
C->>U: 需要哪些工具?
U->>C: 文件操作、Web 搜索
C->>F: 创建项目结构
C->>F: 生成代码文件
C->>F: 安装依赖
C->>C: 运行验证器
C->>U: 项目创建完成!交互问题:
| 问题 | 选项 |
|---|---|
| 编程语言 | Python / TypeScript |
| 项目名称 | 自定义名称 |
| 代理类型 | 聊天机器人 / 任务代理 / 自定义 |
| 工具首选项 | 文件操作 / Web 搜索 / 代码执行 / 自定义 |
生成的项目结构:
Python 项目:
my-agent/
├── .env.example
├── .gitignore
├── requirements.txt
├── README.md
├── main.py
└── agents/
└── my_agent.pyTypeScript 项目:
my-agent/
├── .env.example
├── .gitignore
├── package.json
├── tsconfig.json
├── README.md
├── src/
│ └── index.ts
└── agents/
└── myAgent.tsPython 验证器
8 维度验证
Python 验证器检查以下 8 个领域:
mermaid
graph TD
A[Python 验证器] --> B[SDK 安装]
A --> C[环境设置]
A --> D[SDK 使用]
A --> E[代码质量]
A --> F[安全性]
A --> G[最佳实践]
A --> H[功能性]
A --> I[文档]
style A fill:#e3f2fd1. SDK 安装
检查项:
claude-agent-sdk包是否安装- SDK 版本是否最新
- Python 版本 ≥ 3.8
bash
# 验证 SDK 安装
pip show claude-agent-sdk
python --version2. 环境设置
检查项:
requirements.txt或pyproject.toml存在- 依赖正确声明
- 虚拟环境配置
python
# requirements.txt 示例
claude-agent-sdk>=1.0.0
python-dotenv>=1.0.03. SDK 使用
检查项:
- 正确的导入语句
- Agent 初始化方式
- 方法调用正确性
python
# ✅ 正确用法
from claude_agent_sdk import Agent, Tool
agent = Agent(
model="claude-3-sonnet",
system_prompt="You are a helpful assistant."
)
# ❌ 错误用法
from claude import Agent # 错误的导入4. 代码质量
检查项:
- 语法正确性
- 导入语句完整
- 错误处理存在
- 结构一致性
5. 安全性
检查项:
- API 密钥不在代码中硬编码
.env文件正确处理.gitignore包含敏感文件
python
# ❌ 危险
ANTHROPIC_API_KEY = "sk-ant-..." # 硬编码
# ✅ 安全
import os
ANTHROPIC_API_KEY = os.getenv("ANTHROPIC_API_KEY")6. 最佳实践
检查项:
- System prompt 设计
- 模型选择合理
- 权限范围适当
- 工具集成正确
7. 功能性
检查项:
- 初始化流程完整
- 错误处理覆盖
- SDK 特定问题
8. 文档
检查项:
- README.md 存在
- 设置说明清晰
- 配置详情完整
验证报告格式
markdown
## Python Agent SDK Verification Report
### Status: ✅ PASS (with warnings)
### Passed Checks (6)
✅ SDK Installation: claude-agent-sdk 1.2.0 installed
✅ Python Version: 3.10.5 (>=3.8 required)
✅ Environment Setup: requirements.txt found
✅ SDK Usage: Correct imports and initialization
✅ Security: No hardcoded API keys
✅ Documentation: README.md present
### Warnings (2)
⚠️ Best Practices: Consider adding error handling in main.py:45
⚠️ Code Quality: Unused import 'json' in agents/my_agent.py
### Critical Issues (0)
None
### Improvement Suggestions
1. Add more descriptive system prompt
2. Consider implementing retry logic for API calls
3. Add unit tests for agent behaviorTypeScript 验证器
TypeScript 特定检查
除了 8 维度验证外,TypeScript 验证器还检查:
| 检查项 | 说明 |
|---|---|
| ES 模块 | package.json 中 "type": "module" |
| 类型安全 | npx tsc --noEmit 通过 |
| Node.js 兼容 | 运行时兼容性 |
| tsconfig.json | 配置正确对齐 |
| .env.example | 环境变量模板存在 |
不检查项
TypeScript 验证器不检查:
- 通用 TypeScript 风格
- 命名约定(除非影响 SDK)
- 格式标准(留给 Prettier/ESLint)
TypeScript 项目示例
typescript
// src/index.ts
import { Agent, Tool } from 'claude-agent-sdk';
const agent = new Agent({
model: 'claude-3-sonnet',
systemPrompt: 'You are a helpful coding assistant.',
tools: [
new Tool({
name: 'run_code',
description: 'Execute Python code',
handler: async (code: string) => {
// Implementation
}
})
]
});
async function main() {
const response = await agent.chat('Hello!');
console.log(response);
}
main().catch(console.error);推荐工作流
1. 创建新项目
bash
claude /new-sdk-app my-agent2. 回答交互式问题
? Select programming language: Python
? Enter project name: my-agent
? Select agent type: Chatbot
? Select tools: File operations, Web search3. 自动验证运行
项目创建后,验证器自动运行并报告问题。
4. 配置 API 密钥
bash
cd my-agent
cp .env.example .env
# 编辑 .env 添加 ANTHROPIC_API_KEY5. 开始开发
bash
# Python
python main.py
# TypeScript
npm run dev6. 重大变更后重新验证
bash
# 手动触发验证
"请用 agent-sdk-verifier-py 验证我的项目"最佳实践
SDK 使用规范
| 实践 | 说明 |
|---|---|
| 保持更新 | 使用最新 SDK 版本 |
| 安全存储 | API 密钥放在 .env |
| 错误处理 | 实现重试和降级逻辑 |
| 类型安全 | TypeScript 项目使用严格模式 |
| 测试覆盖 | 为 Agent 行为编写测试 |
项目结构
mermaid
graph TD
A[项目根目录] --> B[.env.example]
A --> C[.gitignore]
A --> D[README.md]
A --> E[依赖文件]
A --> F[源代码]
A --> G[测试]
F --> F1[入口文件]
F --> F2[agents/]
F --> F3[tools/]
F --> F4[utils/]
style A fill:#e3f2fd安全清单
| 检查项 | 状态 |
|---|---|
| API 密钥在 .env 中 | ☐ |
| .env 在 .gitignore 中 | ☐ |
| .env.example 不含真实值 | ☐ |
| 无硬编码凭证 | ☐ |
| 敏感日志已过滤 | ☐ |
常见问题
Q: 验证失败如何处理?
A: 查看验证报告,按优先级修复:
- Critical Issues(必须修复)
- Warnings(建议修复)
- Improvement Suggestions(可选优化)
Q: 支持哪些 Agent 类型?
A:
- Chatbot:对话式代理
- Task Agent:任务执行代理
- Custom:自定义类型
Q: 如何添加自定义工具?
A: 在 agents/ 目录下创建工具文件:
python
# tools/my_tool.py
from claude_agent_sdk import Tool
class MyTool(Tool):
name = "my_tool"
description = "Does something useful"
async def run(self, input: str) -> str:
# Implementation
return resultQ: 验证器报告过于严格?
A: 验证器设计为检测潜在问题。如果某些警告不适用于你的场景,可以在代码中添加注释说明原因。
总结
Agent SDK Dev 插件简化了 Claude Agent SDK 项目的开发:
- 交互式创建 - 问答式项目脚手架
- 多语言支持 - Python 和 TypeScript
- 8 维度验证 - 全面的代码检查
- 最佳实践 - 内置规范指导
帮助开发者快速构建高质量的 Agent 应用。
参考资源
- GitHub 源码 - 官方插件仓库
- Claude Agent SDK 文档 - 官方 SDK 文档
- 示例项目 - 官方示例
本文档基于 agent-sdk-dev 插件 v1.0.0 编写