TypeScript
Bangun agen AI kustom dengan Claude Code TypeScript SDK
Prasyarat
- Node.js 18+
Instalasi
Instal @anthropic-ai/claude-code
dari NPM:
Untuk melihat kode sumber TypeScript SDK, kunjungi halaman @anthropic-ai/claude-code
di NPM.
Penggunaan dasar
Antarmuka utama melalui TypeScript SDK adalah fungsi query
, yang mengembalikan async iterator yang mengalirkan pesan saat mereka tiba:
Opsi konfigurasi
Argumen | Tipe | Deskripsi | Default |
---|---|---|---|
abortController | AbortController | Abort controller untuk membatalkan operasi | new AbortController() |
additionalDirectories | string[] | Direktori tambahan untuk disertakan dalam sesi | undefined |
allowedTools | string[] | Daftar alat yang diizinkan digunakan Claude | Semua alat diaktifkan secara default |
appendSystemPrompt | string | Teks untuk ditambahkan ke system prompt default | undefined |
canUseTool | CanUseTool | Fungsi izin kustom untuk penggunaan alat | undefined |
continue | boolean | Lanjutkan sesi terbaru | false |
customSystemPrompt | string | Ganti system prompt default sepenuhnya | undefined |
cwd | string | Direktori kerja saat ini | process.cwd() |
disallowedTools | string[] | Daftar alat yang tidak diizinkan digunakan Claude | undefined |
env | Dict<string> | Variabel lingkungan untuk diatur | undefined |
executable | 'bun' | 'deno' | 'node' | Runtime JavaScript mana yang akan digunakan | node saat menjalankan dengan Node.js, bun saat menjalankan dengan Bun |
executableArgs | string[] | Argumen untuk diteruskan ke executable | [] |
fallbackModel | string | Model untuk digunakan jika model utama gagal | undefined |
maxThinkingTokens | number | Token maksimum untuk proses berpikir Claude | undefined |
maxTurns | number | Jumlah maksimum giliran percakapan | undefined |
mcpServers | Record<string, McpServerConfig> | Konfigurasi server MCP | undefined |
model | string | Model Claude untuk digunakan | Menggunakan default dari konfigurasi CLI |
pathToClaudeCodeExecutable | string | Path ke executable Claude Code | Executable yang dikirim dengan @anthropic-ai/claude-code |
permissionMode | PermissionMode | Mode izin untuk sesi | "default" (opsi: "default" , "acceptEdits" , "bypassPermissions" , "plan" ) |
permissionPromptToolName | string | Nama alat MCP untuk prompt izin | undefined |
resume | string | ID sesi untuk dilanjutkan | undefined |
stderr | (data: string) => void | Callback untuk output stderr | undefined |
strictMcpConfig | boolean | Paksa validasi konfigurasi MCP yang ketat | undefined |
Percakapan multi-turn
Untuk percakapan multi-turn, Anda memiliki dua opsi.
Anda dapat menghasilkan respons dan melanjutkannya, atau Anda dapat menggunakan mode input streaming yang menerima async/generator untuk array pesan. Untuk saat ini, mode input streaming adalah satu-satunya cara untuk melampirkan gambar melalui pesan.
Lanjutkan dengan manajemen sesi
Mode input streaming
Mode input streaming memungkinkan Anda menyediakan pesan sebagai async iterable alih-alih string tunggal. Ini memungkinkan percakapan multi-turn, lampiran gambar, dan generasi pesan dinamis:
Input streaming dengan gambar
Mode input streaming adalah satu-satunya cara untuk melampirkan gambar melalui pesan:
System prompt kustom
System prompt mendefinisikan peran, keahlian, dan perilaku agen Anda:
Alat kustom melalui MCP
Model Context Protocol (MCP) memungkinkan Anda memberikan agen Anda alat dan kemampuan kustom:
Alat kustom menggunakan MCP
Anda dapat mengimplementasikan alat kustom menggunakan MCP, misalnya berikut adalah cara membuat alat penanganan izin kustom.
Format output
Output teks (default)
Output JSON
Format input
Contoh integrasi agen
Agen respons insiden SRE
Review keamanan otomatis
Asisten hukum multi-turn
Skema pesan
Pesan yang dikembalikan dari JSON API diketik secara ketat sesuai dengan skema berikut:
Tipe pendukung tambahan:
Tipe Message
, MessageParam
, dan Usage
tersedia di Anthropic TypeScript SDK.
Sumber daya terkait
- Penggunaan CLI dan kontrol - Dokumentasi CLI lengkap
- Integrasi GitHub Actions - Otomatisasi workflow GitHub Anda dengan Claude
- Workflow umum - Panduan langkah demi langkah untuk kasus penggunaan umum