C cenaly.com
Mulai gratis

Editor kustom

Editor mini khusus di dalam panel sandbox: untuk pemilik atau pengembang pihak ketiga, akses ke data akun sesuai hak izin

12 min read Buka layar ini di demo
On this page 14

Editor Kustom

Ada pekerjaan yang tidak ada di panel mana pun karena hanya milik Anda: perhitungan ulang harga dengan formula pemasok, pencocokan katalog dengan sistem akuntansi pihak lain, layar "isi karakteristik batch dalam satu kali jalan". Bagian "Editor Kustom" memungkinkan Anda menulis mini-editor seperti itu sendiri (atau memesankannya) dan menjalankannya di dalam admin panel — di dalam sandbox, dengan akses tepat ke data yang Anda izinkan.

Buka: Panel Admin → Editor Kustom (admin.cenaly.com/custom-editors). Bagian ini diaktifkan melalui kartu "Editor Kustom (SDK)" di toko aplikasi — secara default tersembunyi. Tombol "📌 Ke sidebar" di halaman itu sendiri menambahkannya ke menu samping saat sering dibutuhkan.


Apa itu bagian ini#

Plugin adalah skrip yang sudah dibangun (index.js) dan deskripsinya (manifest.json). Panel memuat skrip ke dalam frame terisolasi: skrip tidak memiliki akses ke sesi Anda, kode admin panel, maupun jaringan. Skrip hanya dapat berkomunikasi dengan data melalui bridge — kumpulan permintaan yang diizinkan, masing-masing diperiksa berdasarkan hak yang diberikan.

Halaman terdiri dari blok-blok:

Blok Isinya
Editor Terpasang kartu per plugin: nama, "Versi", "Hak", "Penempatan", "Host jaringan yang diizinkan", "Diperbarui", sumber (repositori dan tag berupa tautan). Tindakan: "Buka", "Aktifkan" / "Nonaktifkan", periksa pembaruan, "Hapus"
Pasang editor pemasangan dari file di disk
Pemasangan dari GitHub pemasangan melalui alamat repositori publik dan tag
🤖 Pengembangan dengan AI (vibe coding) templat proyek, prompt untuk agen AI, dan snapshot katalog sebagai data uji
👩‍💻 Akses pengembang hibah sementara kepada kontraktor untuk mode pengembang
🛠️ Mode pengembang menjalankan plugin langsung dari komputer Anda, tanpa pemasangan

Editor yang terbuka memenuhi seluruh layar, dan alamat halaman mendapat penanda ?app=<identifikasi> — tautan seperti itu dapat dibagikan kepada yang memiliki akses.


Yang dibutuhkan untuk menjalankan#

Apa Untuk apa
Kartu "Editor Kustom (SDK)" di toko aplikasi bagian ini bersifat khusus dan secara default dimatikan
Anda — pemilik akun hanya pemilik yang dapat memasang, mengaktifkan, menghapus plugin, dan memberikan hibah; karyawan hanya melihat daftar sebagai pembaca
Plugin yang sudah dibangun: index.js + manifest.json baik milik Anda, dari pengembang, atau rilis di repositori GitHub publik
Untuk pengembangan — akun karyawan untuk pengembang mode pengembang diberikan melalui e-mail login kerjanya

Langkah 1. Tentukan siapa yang akan menulis editor#

Ada tiga jalur, dan perbedaannya terletak pada siapa yang memegang kode:

Jalur Cocok untuk Caranya
Agen AI dengan templat kami pemilik yang siap menjelaskan tugas dengan kata-kata blok "Pengembangan dengan AI": templat + prompt → agen membangun rilis → Anda memasangnya
Pengembang sendiri atau sewaan ada kontraktor atau pengembang di tim berikan hibah mode pengembang, ia menulis dan men-debug di akun langsung, Anda memasang rilis yang sudah jadi
Rilis siap pakai dari GitHub plugin sudah ditulis (oleh Anda atau untuk Anda) "Pemasangan dari GitHub": alamat repositori dan tag

Dalam ketiga kasus, pemasangan tetap di tangan pemilik: bahkan pengembang dengan hibah hanya dapat menjalankan kodenya sendiri di mode pengembang, tetapi tidak dapat memasangnya ke akun.


Langkah 2. Pengembangan dengan AI (vibe coding)#

Blok "🤖 Pengembangan dengan AI (vibe coding)" memberikan empat hal agar Anda dapat menyerahkan tugas kepada agen AI (Claude Code, Cursor, dan sejenisnya) tanpa harus menjelaskan kontrak dari awal:

  1. "⬇️ Unduh templat proyek (zip)" — kerangka plugin siap pakai: manifes, titik masuk, deskripsi kontrak (GUIDE.en.md), dan instruksi untuk agen. Arsip dibangun langsung di browser, tidak perlu mengunduh apa pun dari luar.
  2. "📋 Salin prompt untuk agen" — teks tugas dalam bahasa Inggris: mulai dari templat, cocokkan dengan panduan, cara memeriksa hasil.
  3. Konfigurasi set alat untuk agen — dengan ini agen membangun plugin, menjalankan stand lokal salinan sandbox, mengambil tangkapan layar dan snapshot status, dan pada akhirnya membangun rilis: zip untuk pemasangan manual atau rilis di GitHub.
  4. "⬇️ Unduh snapshot katalog (fixture uji)" — kategori dan item Anda dalam bentuk file, agar agen menguji dengan data nyata, bukan data karangan.

⚠️ Dari snapshot, kolom kustom plugin lain dipotong seluruhnya: data yang disimpan ekstensi pihak lain pada kartu Anda tidak meninggalkan akun bersama fixture.


Langkah 3. Pasang editor#

Dari file. Blok "Pasang editor": pilih "Bundel (index.js)" dan "Manifes (manifest.json)" → "Periksa dan pasang". Panel terlebih dahulu memeriksa manifes — identifikasi, nama terlokalisasi, versi, versi SDK minimum, penempatan, hak, dan daftar host jaringan — lalu menampilkan persetujuan: "Editor ini meminta:" dan daftar hak dalam bahasa manusia. Selama Anda belum menekan "Pasang", tidak ada yang dipasang.

Dari GitHub. Blok "Pemasangan dari GitHub": kolom "Repositori (URL atau owner/repo)", kolom "Tag (kosong = rilis terakhir)", dan tombol "Periksa repositori". Konvensinya sederhana: manifest.json di akar repositori, dist/index.js yang sudah dibangun di tag, tag berformat v{versi}. Manifes dan bundel diambil langsung dari browser Anda. Dalam kedua kasus, saat pemasangan dihitung dan disimpan sidik jari bundel (sha256): jika file kemudian diganti, eksekusi akan diblokir, dan panel akan meminta pemasangan ulang editor.


Hak dan tempat penempatan#

Hak (disebut juga scope) diminta plugin di dalam manifes, dan Anda mengonfirmasinya saat pemasangan. Daftar lengkapnya — inilah dia, Bridge tidak bisa melakukan apa pun di luar ini:

Hak Apa yang dibuka
Membaca katalog kategori, item, karakteristik, dan kolom kustom kartu
Membuat dan mengubah item katalog pembuatan dan penyuntingan item, impor batch, kolom sendiri, dan definisi karakteristik
Mengubah harga, ketersediaan, dan daftar stok habis per cabang hal yang sama seperti yang dilakukan panel di menu cabang
Membaca buku acuan produk gudang nomenklatur gudang secara baca
Menyimpan pengaturannya sendiri di penyimpanan Anda kunci milik plugin di akun Anda (hingga 1 MB per kunci)
Bagian server ekstensi pemanggilan kode plugin di server kami — satu-satunya cara baginya mengakses internet

Apa yang tidak ada sama sekali dalam daftar — itu tidak akan didapat plugin dengan pengaturan apa pun: tamu dan pelanggan, pesanan, struk, keuangan, karyawan, percakapan, dan panggilan tidak diberikan oleh Bridge.

Tempat penempatan (slot) — ada tiga:

Slot Di mana muncul
Halaman sendiri butir di dalam bagian “Editor kustom”, terbuka layar penuh
Tombol di halaman katalog alat di samping katalog item
Tab bagian “Gudang” plugin digambar sebagai tab gudang — begitulah ekstensi bawaan kami “VetIS” dikemas

Mode pengembang dan akses untuk kontraktor#

Mode pengembang (blok “🛠️ Mode pengembang”) memasang plugin langsung dari komputer Anda: kolom “URL bundel” hanya menerima alamat localhost / 127.0.0.1, di sampingnya — “JSON manifes”, tombol “Mulai sesi dev”. Sidik jari tidak dipatok, dan sesi hidup sampai tab ditutup; “Hentikan sesi dev” mematikannya seketika.

Hibah untuk pengembang (blok “👩‍💻 Akses pengembang”) diperlukan ketika yang menulis bukan pemilik. Pengembang dibuatkan akun karyawan biasa, lalu pemilik memberikan hibah: “Email pengembang (login staff-nya)”, “Hak yang diizinkan”, “Masa berlaku (hari)”, dan catatan opsional → “Berikan akses”. Pencabutan bisa dilakukan kapan saja dengan tombol “Cabut”.

Apa yang diberikan hibah, dan apa yang tidak:

  • memberikan — hanya mode pengembang dengan hak yang Anda tandai (bawaan masa berlaku 14 hari, maksimum 90);
  • hak dipangkas berdasarkan irisan: apa yang diminta manifes dan apa yang diberikan hibah; plugin tidak akan mendapat yang berlebih, bahkan jika memintanya di manifes;
  • tidak memberikan — pemasangan, pengaktifan, dan penghapusan plugin: itu tetap milik pemilik.

Pembaruan, pengaktifan, dan penghapusan#

Tindakan Cara
Buka tombol “Buka” di kartu (atau tautan dengan ?app=…)
Matikan sementara “Matikan” — plugin tetap terpasang, tetapi tidak dijalankan dan tidak ditampilkan di tempat-tempatnya
Perbarui untuk plugin dari GitHub — “Periksa pembaruan” lalu “Perbarui ke …”; jika versinya terbaru, panel akan mengatakan “Versi terbaru sudah terpasang”. Plugin dari berkas diperbarui dengan pemasangan ulang
Hapus “Hapus” dengan konfirmasi: pengaturan dan butirnya dihapus, rilis yang diunggah tetap tersimpan di penyimpanan

Pembaruan otomatis sengaja tidak ada: versi baru dari kode orang lain adalah sidik jari baru dan mungkin hak baru, jadi pembaruan selalu tindakan sadar pemilik.


Ekstensi bawaan#

Sebagian modul kami sendiri dikemas dalam format yang sama — itu terlihat dari perilakunya, tetapi tidak perlu dipasang: modul-modul itu datang bersama panel dan diaktifkan lewat kartu di toko aplikasi, bukan di bagian ini.

Saat ini modul semacam itu ada satu — “Mercury/VetIS” untuk Rusia: ia hidup sebagai tab bagian “Gudang”, dijalankan di sandbox yang sama dan dengan pemeriksaan sidik jari yang sama. Ekstensi bawaan tidak masuk ke daftar editor yang terpasang.


Apa yang bisa dan tidak bisa dilakukan editor#

Bisa Tidak bisa
Membaca dan mengubah katalog dalam batas hak yang diberikan mengetahui kata sandi Anda atau memakai sesi Anda
Menampilkan antarmukanya sendiri, notifikasi, dan permintaan konfirmasi membuka kode atau data admin di sekitarnya
Membuka editor item bawaan panel mengakses internet langsung dari jendela plugin
Menyimpan pengaturannya sendiri di akun Anda melihat data plugin lain di kartu-kartu Anda
Mengakses internet melalui bagian server — dan hanya ke alamat https yang tercantum di manifes (tidak lebih dari delapan) dijalankan setelah berkas diganti: ketidakcocokan sidik jari memblokir peluncuran

Plugin pihak ketiga ditandai di kartu dengan peringatan: “Aplikasi pihak ketiga di sandbox — ia tidak pernah menanyakan kata sandi.” Jika plugin meminta login panel, data pembayaran, atau kode SMS — itu penipuan, bukan cara kerja ekstensi.


Batasan#

  • Bagian ini nonaktif secara default dan ditujukan bagi mereka yang menulis kode (atau memesankannya): pemilik biasa tidak perlu masuk ke sini.
  • Semua tindakan selain melihat hanya bisa dilakukan pemilik akun. Karyawan hanya melihat hub secara read-only; mode pengembang hanya aktif dengan hibah yang masih berlaku.
  • Repositori GitHub privat tidak didukung — repositori harus publik, pemasangan dilakukan berdasarkan tag.
  • Tidak ada pembaruan otomatis: pembaruan plugin selalu dijalankan oleh pemilik.
  • Tidak ada toko plugin pihak ketiga. Ekstensi siap pakai tidak dipublikasikan atau dijual melalui panel — sumbernya hanya file Anda atau repositori Anda.
  • Tersedia tiga slot (halaman sendiri, tombol katalog, tab gudang) — plugin tidak dapat menyisipkan diri ke layar panel mana pun secara bebas.
  • Bridge tidak memberikan data tamu, pesanan, keuangan, karyawan, dan percakapan — ini tidak bisa dilewati dengan hak akses, karena permintaan semacam itu memang tidak ada.
  • Tidak ada log khusus "plugin melakukan hal tertentu". Hak akses terlihat di kartu, sedangkan perubahan katalog masuk ke riwayat item biasa; jika perlu kontrol, mulailah dari plugin yang hanya diberi hak baca.
  • Batas teknis: bundel hingga 4 MB, hingga 8 alamat jaringan di manifes, hingga 1 MB per kunci penyimpanan; eksekusi sisi server — hingga 30 detik dan hingga 50 permintaan internet sekaligus.
  • Data plugin tetap berada di cloud merek Anda: untuk akun di cenaly.ru, status sisi server berada di kontur Rusia.

Pemecahan masalah#

Gejala Yang perlu diperiksa
Bagian tidak ada di menu apakah kartu "Editor Kustom (SDK)" aktif di toko aplikasi; apakah bagian sudah dipindahkan dengan tombol "📌 Ke sidebar"
Karyawan tidak melihat tombol pemasangan memang begitu: pemasangan, penghapusan, dan hibah hanya untuk pemilik akun
"Bundel di penyimpanan tidak cocok dengan sidik jari yang terpasang. Peluncuran diblokir" file plugin diganti setelah pemasangan — pasang ulang editor untuk mencatat sidik jari baru
"Editor tidak mulai tepat waktu (tidak ada connect() dalam 10 detik)" plugin tidak terhubung: ada kesalahan di kodenya atau file yang dikompilasi salah
"Gagal memuat bundel editor" rilis tidak tersedia atau file rusak — pasang ulang
"Editor tidak ditemukan atau nonaktif" saat membuka tautan ?app=… plugin dihapus atau dinonaktifkan di kartunya
"Gagal mengambil editor dari GitHub" repositori privat, tidak ada manifest.json di root, tidak ada dist/index.js di tag, atau tag tidak mengikuti konvensi v{versi}
"Hanya alamat localhost / 127.0.0.1 yang diizinkan" mode pengembang sengaja tidak menerima alamat eksternal — jalankan build secara lokal
Plugin tidak melihat data yang dibutuhkan periksa "Hak akses" di kartu; untuk pengembang dengan hibah, hak aksesnya juga dipangkas oleh irisan dengan hibah
Plugin tidak dapat mengakses layanan pihak ketiga tidak ada jaringan langsung dari sandbox: akses dilakukan oleh sisi server, dan alamatnya harus ada di manifes
"Editor melaporkan ada perubahan yang belum disimpan. Tetap tutup?" plugin sendiri melaporkan adanya draf — simpan pekerjaan di dalamnya sebelum menutup

Pertanyaan umum#

Apakah perlu bisa memprogram?#

Untuk memasang rilis yang sudah jadi — tidak. Untuk mendapatkan rilisnya sendiri — ya: rilis ditulis oleh pengembang atau agen AI berdasarkan templat kami dari blok "Pengembangan dengan AI". Bagian ini adalah alat untuk kode, bukan pembuat "dengan mouse".

Bisakah plugin pihak ketiga melihat klien atau pendapatan saya?#

Tidak. Plugin berjalan di sandbox dan hanya menerima data melalui bridge, sedangkan bridge hanya bisa melakukan tepat enam hal: katalog, harga dan stop-list, direktori gudang, penyimpanannya sendiri, pemanggilan sisi servernya sendiri, dan elemen antarmuka. Tamu, pesanan, struk, keuangan, karyawan, dan percakapan tidak ada di sana sejak awal. Apa yang diizinkan untuk plugin tertentu selalu terlihat di kartunya pada baris "Hak akses".

Bagaimana menyerahkan pengembangan ke kontraktor tanpa memberinya akses ke seluruh akun?#

Buatkan akun karyawan untuknya, lalu berikan hibah di blok "Akses pengembang": centang hanya hak yang diperlukan dan tetapkan jangka waktu (default 14 hari, maksimum 90). Ia akan mendapatkan mode pengembang dan tidak lebih; pemasangan plugin tetap menjadi tanggung jawab Anda. Hibah dapat dicabut dengan satu tombol.

Apakah plugin akan diperbarui sendiri saat penulis merilis versi baru?#

Tidak. Pembaruan dijalankan oleh pemilik: "Periksa pembaruan" → "Perbarui ke …". Dengan begitu versi baru tidak akan muncul di akun tanpa sepengetahuan manusia — bersama versi, hak akses yang diminta juga bisa berubah.

Di mana plugin menyimpan pengaturan dan datanya?#

Di akun Anda, di penyimpanan terpisah berdasarkan identifikatornya (hingga 1 MB per kunci), plus, jika digunakan, di bidang kustom kartu Anda — setiap plugin hanya melihat ruangnya sendiri. Untuk akun di cenaly.ru, sisi server dan statusnya tetap berada di kontur Rusia.

Apa bedanya dengan API dan MCP?#

API untuk pengembang dan MCP PBX Anda sendiri diperlukan ketika program bekerja dari luar: situs sendiri, sistem akuntansi pihak ketiga, agen AI. Editor kustom justru sebaliknya, antarmuka di dalam panel: karyawan membukanya seperti halaman admin biasa dan tidak keluar dari jendela kerja.


Bagian terkait#

Was this article helpful?