Loading...
    • Panduan Pengembang
    • Referensi API
    • MCP
    • Sumber daya
    • Catatan Rilis
    Search...
    ⌘K
    Langkah pertama
    Pengenalan ClaudeMulai cepat
    Model & harga
    Ikhtisar modelMemilih modelYang baru di Claude 4.5Migrasi ke Claude 4.5Penghentian modelHarga
    Bangun dengan Claude
    Ikhtisar fiturMenggunakan Messages APIJendela konteksPraktik terbaik prompting
    Kemampuan
    Prompt cachingPengeditan konteksExtended thinkingUpayaStreaming MessagesPemrosesan batchKutipanDukungan multibahasaPenghitungan tokenEmbeddingsVisiDukungan PDFFiles APIHasil pencarianOutput terstruktur
    Alat
    IkhtisarCara mengimplementasikan penggunaan alatStreaming alat berbutir halusAlat BashAlat eksekusi kodePemanggilan alat terprogramAlat penggunaan komputerAlat editor teksAlat pengambilan webAlat pencarian webAlat memoriAlat pencarian alat
    Keterampilan Agen
    IkhtisarMulai cepatPraktik terbaikMenggunakan Keterampilan dengan API
    Agent SDK
    IkhtisarMulai cepatTypeScript SDKTypeScript V2 (pratinjau)Python SDKPanduan Migrasi
    Input StreamingMenangani IzinKontrol eksekusi dengan hookManajemen SesiCheckpoint fileOutput terstruktur di SDKHosting Agent SDKPenyebaran agen AI yang amanMemodifikasi prompt sistemMCP di SDKAlat KustomSubagen di SDKSlash Commands di SDKKeterampilan Agen di SDKPelacakan Biaya dan PenggunaanDaftar TugasPlugin di SDK
    MCP di API
    Konektor MCPServer MCP jarak jauh
    Claude di platform pihak ketiga
    Amazon BedrockMicrosoft FoundryVertex AI
    Rekayasa prompt
    IkhtisarGenerator promptGunakan template promptPenyempurna promptJadilah jelas dan langsungGunakan contoh (multishot prompting)Biarkan Claude berpikir (CoT)Gunakan tag XMLBerikan Claude peran (prompt sistem)Isi sebelumnya respons ClaudeRantai prompt kompleksTips konteks panjangTips extended thinking
    Uji & evaluasi
    Tentukan kriteria kesuksesanKembangkan kasus ujiMenggunakan Alat EvaluasiMengurangi latensi
    Perkuat penjaga
    Kurangi halusinasiTingkatkan konsistensi outputMitigasi jailbreakStreaming penolakanKurangi kebocoran promptJaga Claude tetap dalam karakter
    Administrasi dan pemantauan
    Ikhtisar Admin APIAPI Penggunaan dan BiayaClaude Code Analytics API
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Panduan

    Plugin dalam SDK

    Muat plugin khusus untuk memperluas Claude Code dengan perintah, agen, keterampilan, dan hook melalui Agent SDK

    Plugin memungkinkan Anda memperluas Claude Code dengan fungsionalitas khusus yang dapat dibagikan di seluruh proyek. Melalui Agent SDK, Anda dapat secara terprogram memuat plugin dari direktori lokal untuk menambahkan perintah garis miring khusus, agen, keterampilan, hook, dan server MCP ke sesi agen Anda.

    Apa itu plugin?

    Plugin adalah paket ekstensi Claude Code yang dapat mencakup:

    • Perintah: Perintah garis miring khusus
    • Agen: Subagen khusus untuk tugas-tugas tertentu
    • Keterampilan: Kemampuan yang dipanggil model yang digunakan Claude secara otonom
    • Hook: Penanganan peristiwa yang merespons penggunaan alat dan peristiwa lainnya
    • Server MCP: Integrasi alat eksternal melalui Model Context Protocol

    Untuk informasi lengkap tentang struktur plugin dan cara membuat plugin, lihat Plugin.

    Memuat plugin

    Muat plugin dengan menyediakan jalur sistem file lokal mereka dalam konfigurasi opsi Anda. SDK mendukung pemuatan beberapa plugin dari lokasi berbeda.

    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    for await (const message of query({
      prompt: "Hello",
      options: {
        plugins: [
          { type: "local", path: "./my-plugin" },
          { type: "local", path: "/absolute/path/to/another-plugin" }
        ]
      }
    })) {
      // Plugin commands, agents, and other features are now available
    }

    Spesifikasi jalur

    Jalur plugin dapat berupa:

    • Jalur relatif: Diselesaikan relatif terhadap direktori kerja saat ini Anda (misalnya, "./plugins/my-plugin")
    • Jalur absolut: Jalur sistem file lengkap (misalnya, "/home/user/plugins/my-plugin")

    Jalur harus menunjuk ke direktori root plugin (direktori yang berisi .claude-plugin/plugin.json).

    Memverifikasi instalasi plugin

    Ketika plugin dimuat dengan berhasil, mereka muncul dalam pesan inisialisasi sistem. Anda dapat memverifikasi bahwa plugin Anda tersedia:

    Menggunakan perintah plugin

    Perintah dari plugin secara otomatis diberi namespace dengan nama plugin untuk menghindari konflik. Formatnya adalah plugin-name:command-name.

    Jika Anda memasang plugin melalui CLI (misalnya, /plugin install my-plugin@marketplace), Anda masih dapat menggunakannya di SDK dengan menyediakan jalur instalasinya. Periksa ~/.claude/plugins/ untuk plugin yang dipasang CLI.

    Contoh lengkap

    Berikut adalah contoh lengkap yang mendemonstrasikan pemuatan dan penggunaan plugin:

    Referensi struktur plugin

    Direktori plugin harus berisi file manifes .claude-plugin/plugin.json. Secara opsional dapat mencakup:

    my-plugin/
    ├── .claude-plugin/
    │   └── plugin.json          # Required: plugin manifest
    ├── commands/                 # Custom slash commands
    │   └── custom-cmd.md
    ├── agents/                   # Custom agents
    │   └── specialist.md
    ├── skills/                   # Agent Skills
    │   └── my-skill/
    │       └── SKILL.md
    ├── hooks/                    # Event handlers
    │   └── hooks.json
    └── .mcp.json                # MCP server definitions

    Untuk informasi terperinci tentang membuat plugin, lihat:

    • Plugin - Panduan pengembangan plugin lengkap
    • Referensi Plugin - Spesifikasi teknis dan skema

    Kasus penggunaan umum

    Pengembangan dan pengujian

    Muat plugin selama pengembangan tanpa memasangnya secara global:

    plugins: [
      { type: "local", path: "./dev-plugins/my-plugin" }
    ]

    Ekstensi khusus proyek

    Sertakan plugin di repositori proyek Anda untuk konsistensi di seluruh tim:

    plugins: [
      { type: "local", path: "./project-plugins/team-workflows" }
    ]

    Sumber plugin ganda

    Gabungkan plugin dari lokasi berbeda:

    plugins: [
      { type: "local", path: "./local-plugin" },
      { type: "local", path: "~/.claude/custom-plugins/shared-plugin" }
    ]

    Pemecahan masalah

    Plugin tidak dimuat

    Jika plugin Anda tidak muncul dalam pesan init:

    1. Periksa jalurnya: Pastikan jalur menunjuk ke direktori root plugin (berisi .claude-plugin/)
    2. Validasi plugin.json: Pastikan file manifes Anda memiliki sintaks JSON yang valid
    3. Periksa izin file: Pastikan direktori plugin dapat dibaca

    Perintah tidak tersedia

    Jika perintah plugin tidak berfungsi:

    1. Gunakan namespace: Perintah plugin memerlukan format plugin-name:command-name
    2. Periksa pesan init: Verifikasi bahwa perintah muncul di slash_commands dengan namespace yang benar
    3. Validasi file perintah: Pastikan file markdown perintah berada di direktori commands/

    Masalah resolusi jalur

    Jika jalur relatif tidak berfungsi:

    1. Periksa direktori kerja: Jalur relatif diselesaikan dari direktori kerja saat ini Anda
    2. Gunakan jalur absolut: Untuk keandalan, pertimbangkan menggunakan jalur absolut
    3. Normalkan jalur: Gunakan utilitas jalur untuk membuat jalur dengan benar

    Lihat juga

    • Plugin - Panduan pengembangan plugin lengkap
    • Referensi Plugin - Spesifikasi teknis
    • Perintah Garis Miring - Menggunakan perintah garis miring di SDK
    • Subagen - Bekerja dengan agen khusus
    • Keterampilan - Menggunakan Agent Skills
    • Apa itu plugin?
    • Memuat plugin
    • Spesifikasi jalur
    • Memverifikasi instalasi plugin
    • Menggunakan perintah plugin
    • Contoh lengkap
    • Referensi struktur plugin
    • Kasus penggunaan umum
    • Pengembangan dan pengujian
    • Ekstensi khusus proyek
    • Sumber plugin ganda
    • Pemecahan masalah
    • Plugin tidak dimuat
    • Perintah tidak tersedia
    • Masalah resolusi jalur
    • Lihat juga
    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    for await (const message of query({
      prompt: "Hello",
      options: {
        plugins: [{ type: "local", path: "./my-plugin" }]
      }
    })) {
      if (message.type === "system" && message.subtype === "init") {
        // Check loaded plugins
        console.log("Plugins:", message.plugins);
        // Example: [{ name: "my-plugin", path: "./my-plugin" }]
    
        // Check available commands from plugins
        console.log("Commands:", message.slash_commands);
        // Example: ["/help", "/compact", "my-plugin:custom-command"]
      }
    }
    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    // Load a plugin with a custom /greet command
    for await (const message of query({
      prompt: "/my-plugin:greet",  // Use plugin command with namespace
      options: {
        plugins: [{ type: "local", path: "./my-plugin" }]
      }
    })) {
      // Claude executes the custom greeting command from the plugin
      if (message.type === "assistant") {
        console.log(message.content);
      }
    }
    import { query } from "@anthropic-ai/claude-agent-sdk";
    import * as path from "path";
    
    async function runWithPlugin() {
      const pluginPath = path.join(__dirname, "plugins", "my-plugin");
    
      console.log("Loading plugin from:", pluginPath);
    
      for await (const message of query({
        prompt: "What custom commands do you have available?",
        options: {
          plugins: [
            { type: "local", path: pluginPath }
          ],
          maxTurns: 3
        }
      })) {
        if (message.type === "system" && message.subtype === "init") {
          console.log("Loaded plugins:", message.plugins);
          console.log("Available commands:", message.slash_commands);
        }
    
        if (message.type === "assistant") {
          console.log("Assistant:", message.content);
        }
      }
    }
    
    runWithPlugin().catch(console.error);