工具调用
让 Claude 自动调用工具完成任务的完整示例。
读取文件并分析
import { ask } from 'claude-code-sdk-ts'
const result = await ask({
llm: {
provider: 'anthropic',
apiKey: process.env.ANTHROPIC_API_KEY!,
model: 'claude-sonnet-4-20250514',
},
prompt: 'Read package.json and tell me what dependencies this project uses',
tools: ['FileReadTool'],
})
console.log(result.text)
// This project uses the following dependencies:
// - claude-code-sdk-ts
// - zod
// - ...
执行 Shell 命令
import { ask } from 'claude-code-sdk-ts'
const result = await ask({
llm: {
provider: 'anthropic',
apiKey: process.env.ANTHROPIC_API_KEY!,
model: 'claude-sonnet-4-20250514',
},
prompt: 'Show me the disk usage in the current directory',
tools: ['BashTool'],
})
console.log(result.text)
搜索代码文件
import { ask } from 'claude-code-sdk-ts'
const result = await ask({
llm: {
provider: 'anthropic',
apiKey: process.env.ANTHROPIC_API_KEY!,
model: 'claude-sonnet-4-20250514',
},
prompt: 'Find all TypeScript files that contain "createTool"',
tools: ['GlobTool', 'GrepTool'],
})
console.log(result.text)
自定义工具
import { ask } from 'claude-code-sdk-ts'
const result = await ask({
llm: {
provider: 'anthropic',
apiKey: process.env.ANTHROPIC_API_KEY!,
model: 'claude-sonnet-4-20250514',
},
prompt: 'Calculate 15% tip on a $47.50 bill',
tools: [{
name: 'calculator',
description: '执行数学计算',
schema: {
type: 'object',
properties: {
expression: { type: 'string' },
},
required: ['expression'],
},
}],
})
console.log(result.text)
// The 15% tip on a $47.50 bill is $7.13