# Membuat plugin

> Membangun plugin, melewatkannya ke tinjauan, dan mendapat penghasilan dari prompt yang ia sumbangkan.

Source: https://reverie.im/id/docs/plugins/creating-plugins
Language: id

Siapa pun yang sudah masuk bisa menulis plugin. Buka sebuah obrolan, pergi ke tab **Plugin** di panel samping, lalu tekan **Buat Plugin**. Editornya menuntun lewat tiga langkah: **Tipe**, **Dasar**, dan **Konfigurasi**.

## Pilih satu tipe \[#pick-a-type]

Dari empat tipe plugin, tiga bisa kamu buat. Yang keempat mengatur setelan sampling model dan milik Reverie.

| Tipe                  | Yang kamu tulis                                                                                                                           | Batasan                                                                                                                                                                 |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Plugin Prompt**     | Sebuah templat prompt, ditulis dengan Handlebars, yang ditambahkan ke prompt sistem karakter                                              | Templat hingga 100.000 karakter                                                                                                                                         |
| **Plugin Alat**       | Sebuah templat prompt plus definisi alat: nama, deskripsi, parameter masukan, struktur keluaran, dan templat kartu HTML/CSS yang opsional | Nama alat diawali huruf dan memakai huruf, angka, serta garis bawah, hingga 64 karakter; deskripsi hingga 2.000; templat kartu dan gayanya hingga 100.000 masing-masing |
| **Plugin Interaktif** | Sebuah pengenal dan setidaknya satu dari: tombol pemicu berformulir, permukaan yang dibuat AI, atau alat yang bisa dipanggil AI           | Pengenal hingga 80 karakter, huruf/angka/tanda hubung/garis bawah, diawali huruf atau angka                                                                             |

Tipe tak bisa diubah belakangan — **Tipe plugin tidak dapat diubah saat mengedit**.

> Plugin alat tidak melakukan permintaan jaringan. Ketika model memanggil
> alatmu, modellah yang mengarang argumennya, dan struktur keluaran serta
> templat kartumu hanya menata nilai-nilai karangan itu untuk ditampilkan.
> Tulislah alat yang menyajikan informasi — panel status, meteran, inventaris,
> lemparan dadu — bukan alat yang mengaku mencari sesuatu.

## Isi bagian dasarnya \[#fill-in-the-basics]

**Nama Plugin** wajib, hingga 100 karakter. **Deskripsi (Opsional)** hingga 1.000.

Di sini ada dua sakelar, dan keduanya berdiri sendiri — kamu boleh menyalakan satu, keduanya, atau tidak sama sekali:

| Sakelar                                | Akibatnya                                                                                               |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| **Jadikan Plugin Publik**              | Mengirim versi itu ke tinjauan. Setelah disetujui, ia terdaftar di tab **Komunitas** untuk semua orang. |
| **Hubungkan dengan Karakter Saat Ini** | Membatasi plugin ke obrolan dengan karakter yang obrolannya sedang kamu buka.                           |

Halaman yang dihasilkan AI terdiri dari dua bagian. Yang pertama, **Permintaan konten**, adalah templat seperti templat prompt: bisa memakai placeholder yang sama, seperti `{{char}}`, `{{user}}`, dan `{{date}}`, serta pengaturan apa pun yang Anda buka untuk pemasang, dan menjelaskan isi setiap halaman serta dengan suara siapa. Yang kedua, **Cangkang aplikasi**, adalah halaman itu sendiri — HTML, CSS, dan JavaScript beserta skema konten — yang ditulis sekali dan dipakai untuk setiap halaman: AI hanya menulis kontennya, dan cangkang menampilkannya serta menangani ketukan, kartu, dan status di perangkat pembaca. Tulis cangkangnya sendiri atau tekan **Tulis dengan AI**; pratinjau menjalankannya pada konten contoh selagi cangkang masih ditulis. Setelah ada cangkang, **Revisi dengan AI** menerima apa yang ingin Anda ubah dan mengerjakan ulang cangkang Anda saat ini alih-alih memulai dari awal, dan **Urungkan** mengembalikan versi sebelum AI terakhir dijalankan. Plugin dengan halaman yang dihasilkan AI tidak bisa disimpan tanpa cangkang; plugin yang diterbitkan sebelum ada cangkang tetap berjalan seperti biasa, dan memerlukan cangkang saat Anda menyuntingnya lagi.

Cangkang berjalan di dalam sandbox: tidak bisa mengakses jaringan, memuat file atau skrip dari luar, atau menyentuh bagian lain aplikasi. Gambar berasal dari obrolan itu sendiri (potret atau banner karakter, avatar pembaca, ilustrasi skenario atau momen), dan halaman tidak bisa menunjuk ke mana pun selain itu. Melalui obrolan, halaman bisa mengirim satu baris sebagai pembaca, memberi arahan adegan yang lalu dimainkan karakter, meminta obrolan menarik hasil acak, membuka halaman lain, menulis ulang dirinya di tempat, atau menutup, dan bisa menyimpan apa yang dilakukan pembaca di dalamnya — kartu yang ditarik, catatan yang ditinggalkan — sehingga masih ada saat halaman dibuka kembali. Waktu saat ini serta kanon dunia karakter disediakan secara otomatis.

## Mulai dari sebuah contoh \[#start-from-an-example]

**Muat Contoh** membuka katalog titik awal — Dinamika Hubungan, Penyiapan Adegan, Lorebook / Bank Memori, Panel Status Karakter, Meter Kasih Sayang, Dadu / Pemeriksaan Keterampilan, Selang Waktu, Diary Karakter, Pikiran Batin, Truth or Dare dan banyak lagi, dikelompokkan per kategori.

Ini templat untuk editor, bukan plugin yang dipasang orang. Memilih satu akan mengisi bidang konfigurasi supaya kamu menyunting dari sesuatu yang sudah jalan; tak ada bagiannya yang dibagikan atau diterbitkan sampai kamu menyimpan dan menerbitkan pluginmu sendiri.

## Biarkan AI membuat draftnya \[#let-ai-draft-it]

Tiap tipe punya pembantu AI — **Buat dengan AI** untuk templat prompt bervariabel, dan padanannya untuk konfigurasi alat dan interaktif. Kamu jelaskan maumu dalam satu dua kalimat dan editor mengisi bidangnya. Untuk plugin interaktif dengan halaman yang dihasilkan AI, pembantu itu lalu menulis **Cangkang aplikasi** juga. Pengaturan yang kamu buka untuk pemasang juga bisa diisi begitu, lewat **Konfigurasi Isi AI**. Tiap kali membuat, kredit terpakai.

## Pratinjau dan Debug itu berbeda \[#preview-and-debug-are-different]

|                      | **Pratinjau**                                                                                                 | **Debug**                                                                                                         |
| -------------------- | ------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| Apa yang dilakukan   | Menggambar templatmu dengan nilai uji yang kamu ketik — nama karakter bawaannya *Alice*, nama pengguna *User* | Menjalankan draf yang belum disimpan secara sungguhan terhadap karakter yang obrolannya kamu pakai membuka editor |
| Apa yang ditampilkan | Prompt yang dibuat, prompt sistem, dan keluaran yang digambar                                                 | Balasan karakter, keluaran alat yang digambar, jejak eksekusi, model, durasi, token                               |
| Konteks yang dipakai | Hanya penampung                                                                                               | Potret karakter, skenario, persona, memori, pesan-pesan terbaru, dan plugin yang menyala                          |
| Biaya                | Gratis                                                                                                        | Gratis — tidak ada kredit yang dipotong                                                                           |
| Jatah                | Tanpa batas                                                                                                   | 30 kali per 3 jam; dialognya menunjukkan sisa jatah                                                               |

Debug juga membatasi pesan uji ke 1.000 karakter dan konfigurasi uji ke 50.000. Plugin alat hanya bisa didebug pada model yang mampu memanggil alat.

## Penerbitan dan tinjauan \[#publishing-and-review]

Menyimpan plugin privat membuatnya langsung bisa dipakai — olehmu — dan ia terpasang di obrolan tempat kamu membuatnya. Menyalakan **Jadikan Plugin Publik** justru memasukkan versi itu ke tinjauan:

1. Kartunya menampilkan **Menunggu Persetujuan** di tab **Saya** milikmu, dan orang lain tak bisa memasangnya.
2. Pemeriksaan awal otomatis berjalan terjadwal dan mencatat putusannya.
3. Seseorang menyetujui atau menolak. Plugin yang disetujui menampilkan **Disetujui** dan muncul di tab **Komunitas**.

Pemeriksaan awal membaca kode **Cangkang aplikasi** bersama bagian plugin lainnya dan bisa menyetujui atau menolak plugin secara mandiri. Plugin yang terlalu panjang untuk dibacanya secara rinci sepenuhnya — biasanya yang cangkangnya besar — tetap bisa ditolak olehnya, tetapi hanya seseorang yang bisa menyetujuinya.

Menyunting plugin yang sudah disetujui membuat versi baru, yang melewati tinjauan lagi — kartunya kembali ke **Menunggu Persetujuan** sementara versi yang disetujui sebelumnya tetap berjalan bagi semua yang sudah memasangnya.

> Tiap penyimpanan membekukan salinan plugin yang tak bisa diubah, termasuk
> terjemahannya. Pemasangan menjalankan salinan yang dikuncinya, jadi yang
> memasang versi 2 tetap di versi 2 sampai ia menekan perbarui. Bawaan karakter
> hanya boleh mengunci versi yang sudah lolos tinjauan.

## Apa yang kamu peroleh \[#what-you-earn]

Ketika orang lain memakai pluginmu dalam pesan berbayar, kamu memperoleh **5% dari biaya kredit untuk teks yang pluginmu sendiri tambahkan ke prompt** — bukan 5% dari pesannya. Jumlahnya adalah token prompt milik plugin itu sendiri, dikalikan pengali kredit model, dikalikan 5%, lalu diskalakan menurut bagian pesan itu yang dibayar dengan kredit berbayar.

Tidak ada yang tercipta ketika:

| Kasus                                             | Sebabnya                                                                              |
| ------------------------------------------------- | ------------------------------------------------------------------------------------- |
| Pluginnya resmi                                   | Plugin milik Reverie sendiri tidak membayar komisi                                    |
| Kamu memakai pluginmu sendiri                     | Tidak ada bayar ke diri sendiri                                                       |
| Plugin tidak punya templat prompt                 | Plugin interaktif tidak memperoleh apa-apa — mereka tak menambahkan apa pun ke prompt |
| Pesan itu dibayar seluruhnya dengan kredit gratis | Bagian berbayarnya nol                                                                |

> **Plugin interaktif tidak pernah dapat komisi.** Kalau penghasilan penting
> buatmu, bangunlah plugin prompt atau plugin alat — dua tipe itulah yang
> menyumbang teks ke prompt.

## Cara dibayar \[#getting-paid]

Komisi menumpuk sebagai kredit tertunda dan diselesaikan **tiap bulan, pada tanggal 1**. Kalau saldo tertundamu di bawah **100 kredit** saat penyelesaian, bulan itu tidak ada pembayaran dan saldonya bergulir ke bulan berikutnya.

**Lihat Pendapatan** di tab **Saya** menunjukkan **Total Diperoleh**, **Tertunda**, **Bulan Ini**, dan **Penyelesaian Berikutnya**, rincian per plugin dengan pendapatan, jumlah pemakaian, dan tanggal pemakaian terakhir, serta riwayat penyelesaianmu.

## Terkait \[#related]

* [Memakai plugin](https://reverie.im/id/docs/plugins/using-plugins) — bagaimana pemasang melihat karyamu
* [Plugin](https://reverie.im/id/docs/plugins) — tiga jenisnya, bersebelahan
* [Jalur pendapatan](https://reverie.im/id/docs/creators/revenue-streams) — cara-cara lain kreator memperoleh penghasilan
* [Kredit](https://reverie.im/id/docs/billing/credits) — apa itu kredit dan bagaimana pesan dihargai
