Bahasa Indonesia

Membuat plugin

Buat, uji, dan distribusikan plugin untuk ChatGPT

Halaman ini ditujukan bagi pembuat plugin. Jika Anda ingin menelusuri, menginstal, dan menggunakan plugin dengan ChatGPT Work di web atau dengan ChatGPT Work maupun Codex di aplikasi desktop ChatGPT, lihat Plugin. Jika Anda masih mengembangkan satu repo atau satu alur kerja pribadi, mulailah dengan skill lokal. Buat plugin saat Anda ingin membagikan alur kerja tersebut ke berbagai tim, menggabungkan konektor atau konfigurasi MCP, mengemas hook siklus hidup, atau menerbitkan paket yang stabil.

Plugin dapat menyertakan skill, aplikasi berbasis MCP, atau keduanya. Jika plugin Anda perlu terhubung ke layanan atau menyediakan alat melalui server MCP, lihat Membuat aplikasi.

Untuk contoh publik lengkap, periksa Figma, Notion, dan Membuat aplikasi web.

Membuat plugin dengan @plugin-creator

Untuk penyiapan tercepat, gunakan skill bawaan @plugin-creator.

Skill pembuat plugin di ChatGPT

Skill ini membuat kerangka manifes .codex-plugin/plugin.json yang diperlukan dan juga dapat membuat entri marketplace lokal untuk pengujian. Jika Anda sudah memiliki folder plugin, Anda tetap dapat menggunakan @plugin-creator untuk menghubungkannya ke marketplace lokal.

Cara memanggil skill plugin-creator

Membuat dan menguji plugin secara lokal yang mengarah ke aplikasi mode pengembangan berbasis server MCP

Anda juga dapat menggunakan skill plugin-creator jika ingin menguji plugin secara lokal yang menyertakan aplikasi berbasis server MCP. Plugin tetap memerlukan folder dan manifes plugin lokal, tetapi aplikasinya sendiri dimulai dalam mode pengembang ChatGPT.

Pertama, aktifkan mode pengembang di ChatGPT:

  1. Buka ChatGPT.
  2. Buka Pengaturan.
  3. Pilih Keamanan dan login.
  4. Aktifkan Mode pengembang.

Kemudian buat aplikasi dalam mode pengembang:

  1. Buka Pengaturan → Plugin atau halaman Plugin.
  2. Pilih tombol plus.
  3. Lengkapi dialog untuk membuat aplikasi mode pengembang bagi server MCP Anda.
  4. Setelah ChatGPT membuatnya, salin ID aplikasi dari URL browser. ID tersebut diawali dengan plugin_asdk_app.

Berikan ID plugin_asdk_app... tersebut kepada @plugin-creator dalam chat ChatGPT Work atau $plugin-creator di Codex. Misalnya, dengan ChatGPT Work:

  Prompt Plugin Creator
@plugin-creator create a Codex plugin for my ChatGPT app.
Use plugin_asdk_app_6a4c0062f3b88191855c0a80eac5d53d and name it Acme Support.
Include a personal marketplace entry so I can test it locally.

Skill plugin-creator akan membuat folder plugin, membuat .codex-plugin/plugin.json yang diperlukan, dan menambahkan penghubung aplikasi untuk aplikasi ChatGPT. Jika Anda memintanya membuat entri marketplace pribadi, plugin akan muncul di bawah sumber lokal Anda dalam Direktori Plugin untuk pengujian.

Setelah skill plugin-creator membuat plugin:

  1. Tinjau .app.json dan pastikan file tersebut mengarah ke ID plugin_asdk_app... yang benar.
  2. Tinjau .codex-plugin/plugin.json dan pastikan bidang apps mengarah ke ./.app.json.
  3. Tambahkan skill yang disertakan di bawah skills/ jika plugin harus menyertakan alur kerja yang dapat diulang bersama aplikasi.
  4. Jika skill tersebut membuat entri marketplace pribadi, muat ulang ChatGPT dan instal plugin dari sumber lokal Anda di Direktori Plugin. Kemudian uji plugin dalam chat baru.

Untuk bentuk manifes dan tata letak file, lihat Struktur plugin dan Aturan jalur.

Membuat daftar plugin pilihan Anda sendiri

Marketplace adalah katalog plugin dalam format JSON. @plugin-creator dapat membuatnya untuk satu plugin, dan Anda dapat terus menambahkan entri ke marketplace yang sama untuk membuat daftar pilihan bagi repo, tim, atau alur kerja pribadi.

Di ChatGPT Work atau Codex dalam aplikasi desktop ChatGPT, setiap marketplace muncul sebagai sumber yang dapat dipilih di Direktori Plugin. Gunakan $REPO_ROOT/.agents/plugins/marketplace.json untuk daftar dengan cakupan repo atau ~/.agents/plugins/marketplace.json untuk daftar pribadi. Tambahkan satu entri per plugin di bawah plugins[], arahkan setiap source.path ke folder plugin dengan jalur berawalan ./ yang relatif terhadap root marketplace, lalu tetapkan interface.displayName ke label yang ingin Anda tampilkan di pemilih marketplace dalam aplikasi. Kemudian mulai ulang aplikasi desktop ChatGPT. Setelah itu, buka Direktori Plugin, pilih marketplace Anda, lalu telusuri atau instal plugin dalam daftar pilihan tersebut.

Anda tidak memerlukan marketplace terpisah untuk setiap plugin. Satu marketplace dapat menyediakan satu plugin saat Anda melakukan pengujian, lalu berkembang menjadi katalog pilihan yang lebih besar saat Anda menambahkan lebih banyak plugin.

Marketplace lokal khusus di Direktori Plugin

Menambahkan marketplace dari CLI

Gunakan codex plugin marketplace add untuk menambahkan dan melacak sumber marketplace alih-alih mengedit config.toml secara manual. Perintah ini mendukung penulisan plugin dan penyiapan katalog. Gunakan aplikasi desktop ChatGPT untuk menginstal dan menguji plugin lokal.

codex plugin marketplace add owner/repo
codex plugin marketplace add owner/repo --ref main
codex plugin marketplace add https://github.com/example/plugins.git --sparse .agents/plugins
codex plugin marketplace add ./local-marketplace-root

Sumber marketplace dapat berupa bentuk singkat GitHub (owner/repo atau owner/repo@ref), URL Git HTTP atau HTTPS, URL Git SSH, atau direktori root marketplace lokal. Gunakan --ref untuk menetapkan Git ref, dan ulangi --sparse PATH untuk menggunakan sparse checkout bagi repo marketplace berbasis Git. --sparse hanya valid untuk sumber marketplace Git.

Untuk memeriksa, memuat ulang, atau menghapus marketplace yang telah dikonfigurasi:

codex plugin marketplace list
codex plugin marketplace upgrade
codex plugin marketplace upgrade marketplace-name
codex plugin marketplace remove marketplace-name

codex plugin marketplace list menampilkan setiap marketplace yang dipertimbangkan Codex dan jalur root yang dihasilkannya, termasuk marketplace lokal default dan snapshot marketplace yang dikonfigurasi.

Membuat plugin secara manual

Mulailah dengan plugin minimal yang mengemas satu skill.

  1. Buat folder plugin dengan manifes di .codex-plugin/plugin.json.
mkdir -p my-first-plugin/.codex-plugin

my-first-plugin/.codex-plugin/plugin.json

{
  "name": "my-first-plugin",
  "version": "1.0.0",
  "description": "Reusable greeting workflow",
  "skills": "./skills/"
}

Gunakan name plugin yang stabil dalam kebab-case. Codex menggunakannya sebagai pengenal plugin dan namespace komponen.

  1. Tambahkan skill di bawah skills/<skill-name>/SKILL.md.
mkdir -p my-first-plugin/skills/hello

my-first-plugin/skills/hello/SKILL.md

---
name: hello
description: Greet the user with a friendly message.
---

Greet the user warmly and ask how you can help.
  1. Tambahkan plugin ke marketplace. Gunakan @plugin-creator untuk membuatnya, atau ikuti Membuat daftar plugin pilihan Anda sendiri untuk menghubungkan plugin ke Codex secara manual.

Dari sini, Anda dapat menambahkan konfigurasi MCP, konektor, atau metadata marketplace sesuai kebutuhan.

Menginstal plugin lokal secara manual

Gunakan marketplace repo atau marketplace pribadi, tergantung siapa yang harus dapat mengakses plugin atau daftar pilihan tersebut.

Repo

Tambahkan file marketplace di `$REPO_ROOT/.agents/plugins/marketplace.json`
dan simpan plugin Anda di bawah `$REPO_ROOT/plugins/`.

**Contoh marketplace repo**

Langkah 1: Salin folder plugin ke `$REPO_ROOT/plugins/my-plugin`.
mkdir -p ./plugins
cp -R /absolute/path/to/my-plugin ./plugins/my-plugin
Langkah 2: Tambahkan atau perbarui `$REPO_ROOT/.agents/plugins/marketplace.json` agar
`source.path` mengarah ke direktori plugin tersebut dengan jalur relatif berawalan `./`:
{
  "name": "local-repo",
  "plugins": [
    {
      "name": "my-plugin",
      "source": {
        "source": "local",
        "path": "./plugins/my-plugin"
      },
      "policy": {
        "installation": "AVAILABLE",
        "authentication": "ON_INSTALL"
      },
      "category": "Productivity"
    }
  ]
}
Langkah 3: Mulai ulang aplikasi desktop ChatGPT dan pastikan plugin muncul.

Pribadi

Tambahkan file marketplace di `~/.agents/plugins/marketplace.json` dan simpan
plugin Anda di bawah `~/.codex/plugins/`.

**Contoh marketplace pribadi**

Langkah 1: Salin folder plugin ke `~/.codex/plugins/my-plugin`.
mkdir -p ~/.codex/plugins
cp -R /absolute/path/to/my-plugin ~/.codex/plugins/my-plugin
Langkah 2: Tambahkan atau perbarui `~/.agents/plugins/marketplace.json` agar
`source.path` milik entri plugin mengarah ke direktori tersebut.

Langkah 3: Mulai ulang aplikasi desktop ChatGPT dan pastikan plugin muncul.

File marketplace mengarah ke lokasi plugin, sehingga direktori tersebut merupakan contoh dan bukan persyaratan tetap. Codex menyelesaikan source.path relatif terhadap root marketplace, bukan relatif terhadap folder .agents/plugins/. Lihat Metadata marketplace untuk mengetahui format file.

Setelah Anda mengubah plugin, perbarui direktori plugin yang ditunjuk oleh entri marketplace Anda dan mulai ulang aplikasi desktop ChatGPT agar instalasi lokal menggunakan file baru.

Membagikan plugin lokal dengan ruang kerja Anda

Setelah membuat plugin, tambahkan plugin tersebut dari aplikasi desktop ChatGPT. Pilih ChatGPT dan beralih ke Work melalui pemilih, atau pilih Codex, lalu buka Plugin. Setelah itu, Anda dapat membagikannya dengan anggota lain di ruang kerja ChatGPT Anda.

  1. Buka Plugin di aplikasi desktop ChatGPT.
  2. Buka Dibuat oleh Anda dan buka halaman detail plugin.
  3. Pilih Bagikan.
  4. Tambahkan anggota atau grup ruang kerja, atau salin tautan berbagi.
  5. Pilih siapa yang memiliki akses, lalu kirim undangan atau tautan.

Orang yang menerima akses dapat menemukan plugin di bawah Dibagikan kepada Anda dalam Direktori Plugin. Membagikan plugin lokal dengan ruang kerja Anda tidak akan menerbitkannya ke Direktori Plugin publik. Plugin yang dibagikan tetap berada dalam batas ruang kerja dan organisasi Anda; akun yang tidak login ke ruang kerja tersebut tidak dapat mengaksesnya. Gunakan grup jika suatu tim atau peran harus memiliki akses plugin yang sama. Gunakan marketplace jika Anda menginginkan distribusi melalui repo atau CLI, dan gunakan berbagi ruang kerja jika Anda ingin rekan tim tertentu menginstal plugin dari aplikasi desktop ChatGPT.

Admin ruang kerja dapat menonaktifkan berbagi plugin melalui persyaratan yang dikelola cloud dengan menambahkan features.plugin_sharing = false ke requirements.toml:

features.plugin_sharing = false

Metadata marketplace

Jika Anda mengelola marketplace repo, definisikan marketplace tersebut di $REPO_ROOT/.agents/plugins/marketplace.json. Untuk marketplace pribadi, gunakan ~/.agents/plugins/marketplace.json. File marketplace mengontrol urutan plugin dan kebijakan instalasi di aplikasi desktop ChatGPT. File ini dapat merepresentasikan satu plugin saat Anda melakukan pengujian atau daftar pilihan plugin yang ingin Anda tampilkan bersama-sama di aplikasi dengan satu nama marketplace. Sebelum menambahkan plugin ke marketplace, pastikan version, metadata penerbit, dan teks pada antarmuka instalasinya siap dilihat oleh pengembang lain.

{
  "name": "local-example-plugins",
  "interface": {
    "displayName": "Local Example Plugins"
  },
  "plugins": [
    {
      "name": "my-plugin",
      "source": {
        "source": "local",
        "path": "./plugins/my-plugin"
      },
      "policy": {
        "installation": "AVAILABLE",
        "authentication": "ON_INSTALL"
      },
      "category": "Productivity"
    },
    {
      "name": "research-helper",
      "source": {
        "source": "local",
        "path": "./plugins/research-helper"
      },
      "policy": {
        "installation": "AVAILABLE",
        "authentication": "ON_INSTALL"
      },
      "category": "Productivity"
    }
  ]
}
  • Gunakan name tingkat atas untuk mengidentifikasi marketplace.
  • Gunakan interface.displayName untuk judul marketplace yang ditampilkan di aplikasi desktop ChatGPT.
  • Tambahkan satu objek per plugin di bawah plugins untuk membuat daftar pilihan yang ditampilkan aplikasi di bawah judul marketplace tersebut.
  • Arahkan source.path setiap entri plugin ke direktori plugin yang ingin dimuat Codex. Untuk instalasi repo, direktori tersebut sering berada di bawah ./plugins/. Untuk instalasi pribadi, pola yang umum adalah ./.codex/plugins/<plugin-name>.
  • Pertahankan source.path agar relatif terhadap root marketplace, awali dengan ./, dan pastikan tetap berada di dalam root tersebut.
  • Untuk entri lokal, source juga dapat berupa jalur string biasa seperti "./plugins/my-plugin".
  • Selalu sertakan policy.installation, policy.authentication, dan category pada setiap entri plugin.
  • Gunakan nilai policy.installation seperti AVAILABLE, INSTALLED_BY_DEFAULT, atau NOT_AVAILABLE.
  • Gunakan policy.authentication untuk menentukan apakah autentikasi dilakukan saat instalasi atau penggunaan pertama.

Marketplace mengontrol lokasi tempat Codex memuat plugin. source.path lokal dapat mengarah ke tempat lain jika plugin Anda berada di luar direktori contoh tersebut. File marketplace dapat berada di repo tempat Anda mengembangkan plugin atau di repo marketplace terpisah, dan satu file marketplace dapat mengarah ke satu atau banyak plugin.

Entri marketplace juga dapat mengarah ke sumber plugin berbasis Git. Gunakan "source": "url" jika plugin berada di root repositori, atau "source": "git-subdir" jika plugin berada di subdirektori:

{
  "name": "remote-helper",
  "source": {
    "source": "git-subdir",
    "url": "https://github.com/example/codex-plugins.git",
    "path": "./plugins/remote-helper",
    "ref": "main"
  },
  "policy": {
    "installation": "AVAILABLE",
    "authentication": "ON_INSTALL"
  },
  "category": "Productivity"
}

Entri berbasis Git dapat menggunakan pemilih ref atau sha. Jika Codex tidak dapat menyelesaikan sumber entri marketplace, Codex akan melewati entri plugin tersebut tanpa menggagalkan seluruh marketplace.

Entri marketplace juga dapat menginstal plugin dari registri paket JavaScript:

{
  "name": "npm-helper",
  "source": {
    "source": "npm",
    "package": "@example/codex-plugin",
    "version": "^1.2.0",
    "registry": "https://registry.npmjs.org"
  },
  "policy": {
    "installation": "AVAILABLE",
    "authentication": "ON_INSTALL"
  },
  "category": "Productivity"
}

package wajib diisi dan dapat menyertakan cakupan registri. version bersifat opsional dan menerima versi paket, tag distribusi, serta rentang versi, tetapi tidak menerima pemilih jalur atau URL. registry bersifat opsional dan harus berupa URL HTTPS tanpa kredensial tersemat, kueri, atau fragmen. Codex mengunduh paket tanpa menjalankan skrip siklus hidup. CLI npm harus terinstal, dan autentikasi registri berasal dari konfigurasinya.

Cara aplikasi desktop ChatGPT menggunakan marketplace

Marketplace plugin adalah katalog plugin dalam format JSON yang dapat dibaca dan diinstal oleh aplikasi desktop ChatGPT.

Aplikasi dapat membaca file marketplace dari:

  • marketplace pilihan yang mendukung Direktori Plugin resmi
  • marketplace repo di $REPO_ROOT/.agents/plugins/marketplace.json
  • marketplace yang kompatibel dengan versi lama di $REPO_ROOT/.claude-plugin/marketplace.json
  • marketplace pribadi di ~/.agents/plugins/marketplace.json

Anda dapat menginstal setiap plugin yang tersedia melalui marketplace. Aplikasi menginstal plugin ke ~/.codex/plugins/cache/$MARKETPLACE_NAME/$PLUGIN_NAME/$VERSION/. Untuk plugin lokal, $VERSION adalah local, dan aplikasi memuat salinan yang terinstal dari jalur cache tersebut, bukan langsung dari entri marketplace.

Anda dapat mengaktifkan atau menonaktifkan setiap plugin secara terpisah. Aplikasi menyimpan status aktif atau nonaktif setiap plugin dalam ~/.codex/config.toml.

Mengemas dan mendistribusikan plugin

Struktur plugin

Setiap plugin memiliki manifes di .codex-plugin/plugin.json. Plugin juga dapat menyertakan direktori skills/, direktori hooks/ untuk hook siklus hidup, file .app.json yang mengarah ke satu atau beberapa konektor, file .mcp.json yang mengonfigurasi server MCP, serta aset yang digunakan untuk menampilkan plugin di berbagai antarmuka yang didukung.

my-plugin/
├── .codex-plugin/
│   └── plugin.json       # Required: plugin manifest
├── skills/
│   └── my-skill/
│       └── SKILL.md      # Optional: skill instructions
├── hooks/
│   └── hooks.json        # Optional: lifecycle hooks
├── .app.json             # Optional: app or connector mappings
├── .mcp.json             # Optional: MCP server configuration
└── assets/               # Optional: icons, logos, screenshots

Hanya plugin.json yang berada di dalam .codex-plugin/. Pertahankan skills/, hooks/, assets/, .mcp.json, dan .app.json di root plugin.

Plugin yang diterbitkan biasanya menggunakan manifes yang lebih lengkap daripada contoh minimal yang muncul dalam kerangka mulai cepat. Manifes memiliki tiga fungsi:

  • Mengidentifikasi plugin.
  • Mengarah ke komponen yang disertakan, seperti skill, konektor, server MCP, atau hook.
  • Menyediakan metadata antarmuka instalasi, seperti deskripsi, ikon, dan tautan hukum.

Berikut contoh manifes lengkap:

{
  "name": "my-plugin",
  "version": "0.1.0",
  "description": "Bundle reusable skills and connectors.",
  "author": {
    "name": "Your team",
    "email": "team@example.com",
    "url": "https://example.com"
  },
  "homepage": "https://example.com/plugins/my-plugin",
  "repository": "https://github.com/example/my-plugin",
  "license": "MIT",
  "keywords": ["research", "crm"],
  "skills": "./skills/",
  "mcpServers": "./.mcp.json",
  "apps": "./.app.json",
  "hooks": "./hooks/hooks.json",
  "interface": {
    "displayName": "My Plugin",
    "shortDescription": "Reusable skills and connectors",
    "longDescription": "Distribute skills and connectors together.",
    "developerName": "Your team",
    "category": "Productivity",
    "capabilities": ["Read", "Write"],
    "websiteURL": "https://example.com",
    "privacyPolicyURL": "https://example.com/privacy",
    "termsOfServiceURL": "https://example.com/terms",
    "defaultPrompt": [
      "Use My Plugin to summarize new CRM notes.",
      "Use My Plugin to triage new customer follow-ups."
    ],
    "brandColor": "#10A37F",
    "composerIcon": "./assets/icon.png",
    "logo": "./assets/logo.png",
    "screenshots": ["./assets/screenshot-1.png"]
  }
}

.codex-plugin/plugin.json adalah titik masuk yang wajib. Bidang manifes lainnya bersifat opsional, tetapi plugin yang diterbitkan umumnya menggunakannya.

Bidang manifes

Gunakan bidang tingkat atas untuk menentukan metadata paket dan mengarah ke komponen yang disertakan:

  • name, version, dan description mengidentifikasi plugin.
  • author, homepage, repository, license, dan keywords menyediakan metadata penerbit dan penemuan.
  • skills, mcpServers, apps, dan hooks mengarah ke komponen yang disertakan secara relatif terhadap root plugin.
  • interface mengontrol cara antarmuka instalasi menampilkan plugin.

Gunakan objek interface untuk metadata antarmuka instalasi:

  • displayName, shortDescription, dan longDescription mengontrol judul dan teks deskriptif.
  • developerName, category, dan capabilities menambahkan metadata penerbit dan kemampuan.
  • websiteURL, privacyPolicyURL, dan termsOfServiceURL menyediakan tautan eksternal.
  • defaultPrompt, brandColor, composerIcon, logo, dan screenshots mengontrol prompt awal dan tampilan visual.

Aturan jalur

  • Pertahankan jalur manifes agar relatif terhadap root plugin dan awali dengan ./.
  • Simpan aset visual seperti composerIcon, logo, dan screenshots di bawah ./assets/ jika memungkinkan.
  • Gunakan skills untuk folder skill yang disertakan, apps untuk .app.json, mcpServers untuk .mcp.json, dan hooks untuk hook siklus hidup.
  • Plugin yang diaktifkan dapat menyertakan hook siklus hidup bersama skill, server MCP, dan konektor.
  • Jika plugin Anda menyimpan hook di ./hooks/hooks.json, Anda tidak memerlukan entri hooks dalam .codex-plugin/plugin.json; Codex memeriksa file default tersebut secara otomatis.

Server MCP dan hook siklus hidup yang disertakan

mcpServers dapat mengarah ke file .mcp.json yang berisi pemetaan server langsung atau objek mcp_servers yang dibungkus.

Pemetaan server langsung:

{
  "docs": {
    "command": "docs-mcp",
    "args": ["--stdio"]
  }
}

Pemetaan server yang dibungkus:

{
  "mcp_servers": {
    "docs": {
      "command": "docs-mcp",
      "args": ["--stdio"]
    }
  }
}

Setelah instalasi, pengguna dapat mengaktifkan atau menonaktifkan server MCP yang disertakan dan menyesuaikan kebijakan persetujuan alat dari konfigurasi Codex mereka tanpa mengedit plugin. Gunakan plugins.<plugin>.mcp_servers.<server> untuk kebijakan server MCP dengan cakupan plugin:

[plugins."my-plugin".mcp_servers.docs]
enabled = true
default_tools_approval_mode = "prompt"
enabled_tools = ["search"]

[plugins."my-plugin".mcp_servers.docs.tools.search]
approval_mode = "approve"

Saat plugin Anda diaktifkan, Codex dapat memuat hook siklus hidup dari plugin Anda bersama hook pengguna, proyek, dan terkelola.

Menginstal atau mengaktifkan plugin tidak otomatis memercayai hook-nya. Hook yang disertakan dalam plugin merupakan hook tidak terkelola, sehingga Codex melewatinya sampai pengguna meninjau dan memercayai definisi hook saat ini.

File hook plugin default adalah hooks/hooks.json:

{
  "hooks": {
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "python3 ${PLUGIN_ROOT}/hooks/session_start.py",
            "statusMessage": "Loading plugin context"
          }
        ]
      }
    ]
  }
}

Jika Anda menentukan hooks dalam .codex-plugin/plugin.json, Codex menggunakan entri manifes tersebut sebagai pengganti hooks/hooks.json default. Bidang manifes dapat berupa satu jalur, larik jalur, objek hook sebaris, atau larik objek hook sebaris.

{
  "name": "repo-policy",
  "hooks": ["./hooks/session.json", "./hooks/tools.json"]
}

Jalur hook mengikuti aturan jalur manifes yang sama dengan skills, apps, dan mcpServers: awali dengan ./, selesaikan secara relatif terhadap root plugin, dan pastikan tetap berada di dalam root plugin.

Perintah hook plugin menerima variabel lingkungan khusus Codex PLUGIN_ROOT dan PLUGIN_DATA. PLUGIN_ROOT mengarah ke root plugin yang terinstal, dan PLUGIN_DATA mengarah ke direktori data plugin yang dapat ditulisi. Codex juga menetapkan CLAUDE_PLUGIN_ROOT dan CLAUDE_PLUGIN_DATA agar kompatibel dengan hook plugin yang sudah ada.

Hook plugin menggunakan skema peristiwa yang sama dengan hook biasa. Lihat Hook untuk peristiwa, input, output, peninjauan kepercayaan, dan batasan saat ini yang didukung.

Menerbitkan plugin publik resmi

Untuk menerbitkan plugin agar dapat digunakan secara publik, kirimkan plugin melalui portal pengajuan plugin. Lihat Mengajukan plugin untuk mengetahui proses peninjauan dan penerbitan selengkapnya.