Claude Code 实战-3.7 Claude Code SDK

3.7 Claude Code SDK

Claude Code SDK 允许你在自有应用与脚本中以编程方式运行 Claude Code。它支持 TypeScript、Python 以及 CLI,把你在终端使用的同等功能集成进更大的工作流中。

SDK 运行的就是你熟悉的同款 Claude Code,可访问相同工具,并用它们完成你指定的任务,因而在自动化与集成场景中尤为强大。

一、关键特性

1.以编程方式运行 Claude Code。

2.与终端版功能一致。

3.继承同目录下 Claude Code 实例的全部设置。

4.默认只读权限。

5.最适合用于更大型的流水线或工具的一部分。

二、基本用法

下面是一个用 TypeScript 让 Claude 分析重复查询的示例:

import { query } from “@anthropic-ai/claude-code”;

const prompt = “Look for duplicate queries in the ./src/queries dir”;

for await (const message of query({ prompt })) {
console.log(JSON.stringify(message, null, 2));
}

运行后你会看到本地 Claude Code 与 Claude 语言模型的原始对话逐条输出,最后一条包含完整回应。

三、权限与工具

默认情况下,SDK 仅有只读权限:可读文件、搜索目录、执行 grep,但不能写、改或创建文件。

若要启用写权限,可在调用中添加 allowedTools:

for await (const message of query({
prompt,
options: { allowedTools: [“Edit”] }
})) {
console.log(JSON.stringify(message, null, 2));
}

或者在项目的 .claude 目录下的设置文件中配置全局权限。

四、实用场景

将 SDK 集成进更大的开发工作流时最为闪光,例如:

1.Git hooks 自动审查代码改动。

2.构建脚本进行代码分析与优化。

3.代码维护的辅助命令。

4.自动化文档生成。

5.在 CI/CD 流水线中进行代码质量检查。

本质上,SDK 让你在任何需要程序化访问的开发环节加入 AI 驱动的智能。

发表回复