Прилагодени уредници
Има работи што ги нема во ниту еден панел, затоа што се само ваши: сопствено пресметување цени по формула на добавувач, сверување на каталог со туѓ систем за евиденција, екран „пополни карактеристики на серија во еден потег“. Делот „Прилагодени уредници“ ви овозможува сами да напишете таков мини-уредник (или да го нарачате) и да го стартувате внатре во админ-панелот — во песочница, со пристап точно до податоците што сте ги дозволиле.
Отворање: Админ-панел → Прилагодени уредници (admin.cenaly.com/custom-editors). Делот се вклучува со картичката „Прилагодени уредници (SDK)“ во продавницата за апликации — стандардно е скриен. Копчето „📌 Во странично мени“ на самата страница го изнесува во страничното мени кога често ви е потребен.
Што е овој дел#
Приклучокот е собрана скрипта (index.js) и нејзин опис (manifest.json). Панелот ја вчитува скриптата во изолиран фрејм: таа нема пристап ниту до вашата сесија, ниту до кодот на админ-панелот, ниту до мрежата. Со податоците може да разговара само преку мост — збир на дозволени барања, од кои секое се проверува според доделените права.
Страницата се состои од блокови:
| Блок | Што содржи |
|---|---|
| Инсталирани уредници | картичка за приклучокот: име, „Верзија“, „Права“, „Разместување“, „Дозволени мрежни хостови“, „Ажуриран“, извор (репозиториум и таг со врска). Дејства: „Отвори“, „Вклучи“ / „Исклучи“, проверка на ажурирања, „Избриши“ |
| Инсталирај уредник | инсталација од датотеки од дискот |
| Инсталација од GitHub | инсталација по адреса на јавен репозиториум и таг |
| 🤖 Развој со ИИ (вајб-кодирање) | шаблон за проект, промпт за ИИ-агент и снимка на каталогот како тест-податоци |
| 👩💻 Пристап за развивач | привремени грантови за изведувач за режим на развивач |
| 🛠️ Режим на развивач | стартување на приклучокот директно од вашиот компјутер, без инсталација |
Отворениот уредник го зафаќа целиот екран, а адресата на страницата добива ознака ?app=<идентификатор> — таква врска може да споделите со некој што има пристап.
Што е потребно за стартување#
| Што | Зошто |
|---|---|
| Картичка „Прилагодени уредници (SDK)“ во продавницата за апликации | делот е нишовен и стандардно е исклучен |
| Вие сте сопственик на сметката | само сопственикот може да инсталира, вклучува, брише приклучоци и да доделува грантови; вработените го гледаат списокот само за читање |
Собран приклучок: index.js + manifest.json |
или ваш, или од развивач, или издание во јавен GitHub-репозиториум |
| За развој — сметка на вработен за развивачот | режимот на развивач се доделува по е-пошта на неговото работно најавување |
Чекор 1. Да се одлучи кој ќе го напише уредникот#
Има три патишта, и тие се разликуваат по тоа кој го држи кодот:
| Пат | За кого е погоден | Како |
|---|---|---|
| ИИ-агент по нашиот шаблон | сопственик што е подготвен да ја објасни задачата со зборови | блокот „Развој со ИИ“: шаблон + промпт → агентот собира издание → вие го инсталирате |
| Сопствен или ангажиран развивач | има изведувач или развивач во тимот | доделете му грант за режим на развивач, тој пишува и отстранува грешки на жива сметка, вие го инсталирате готовото издание |
| Готово издание од GitHub | приклучокот е веќе напишан (од вас или за вас) | „Инсталација од GitHub“: адреса на репозиториумот и таг |
Во сите три случаи инсталацијата останува кај сопственикот: дури и развивач со грант може само да го стартува својот код кај себе во режим на развивач, но не може да го инсталира во сметката.
Чекор 2. Развој со ИИ (вајб-кодирање)#
Блокот „🤖 Развој со ИИ (вајб-кодирање)“ дава четири работи за да ја предадете задачата на ИИ-агент (Claude Code, Cursor и слични) и да не му го објаснувате договорот од нула:
- „⬇️ Преземи шаблон за проект (zip)“ — готов скелет на приклучокот: манифест, влезна точка, опис на договорот (
GUIDE.en.md) и инструкција за агентот. Архивата се собира директно во прелистувачот, ништо надворешно не треба да се презема. - „📋 Копирај промпт за агентот“ — текст на задачата на англиски: да се стартува од шаблонот, да се сверува со водичот, со што да се проверува резултатот.
- Конфигурација на збир инструменти за агентот — со неа агентот го собира приклучокот, подига локален стенд-копија на песочницата, прави скриншоти и снимки на состојбата, а на крајот го собира изданието: zip за рачна инсталација или издание во GitHub.
- „⬇️ Преземи снимка на каталогот (тест-фикстура)“ — вашите категории и ставки како датотека, за агентот да тестира на реални податоци, а не на измислени.
⚠️ Од снимката целосно се отсечени прилагодените полиња на други приклучоци: податоците што туѓо проширување ги чува на вашите картички не ја напуштаат сметката заедно со фикстурата.
Чекор 3. Инсталирај уредник#
Од датотеки. Блок „Инсталирај уредник“: изберете „Бандл (index.js)“ и „Манифест (manifest.json)“ → „Провери и инсталирај“. Панелот најпрво го проверува манифестот — идентификатор, локализирано име, верзија, минимална верзија на SDK, места на разместување, права и список на мрежни хостови — а потоа го покажува согласувањето: „Овој уредник бара:“ и список на правата со човечки јазик. Додека не притиснете „Инсталирај“, ништо не се инсталира.
Од GitHub. Блок „Инсталација од GitHub“: поле „Репозиториум (URL или owner/repo)“, поле „Таг (празно = последно издание)“ и копче „Провери репозиториум“. Конвенцијата е едноставна: manifest.json во коренот на репозиториумот, собран dist/index.js во тагот, таг од видот v{верзија}. Манифестот и бандлот се влечат директно од вашиот прелистувач. Во двата случаи при инсталацијата се пресметува и се памти отпечаток на бандлот (sha256): ако датотеката подоцна се замени, стартувањето ќе биде блокирано, и панелот ќе побара повторна инсталација на уредникот.
Права и места на поставување#
Правата (ги нарекуваат и скоупи) плагинот ги бара во манифестот, а вие ги потврдувате при инсталацијата. Целосниот список е овој, повеќе мостот не умее ништо:
| Право | Што се отвора |
|---|---|
| Читање на каталогот | категории, ставки, карактеристики и кастомни полиња на картичките |
| Создавање и измена на ставки од каталогот | создавање и уредување на ставки, увоз на партија, свои полиња и дефиниции на карактеристики |
| Менување на цени, достапност и стоп-листи по локации | истото што го прави панелот во менито на локацијата |
| Читање на магацинскиот именик на производи | номенклатура на магацинот за читање |
| Чување на свои поставки во вашето складиште | сопствени клучеви на плагинот во вашата сметка (до 1 МБ на клуч) |
| Серверски дел на расширувањето | повици до кодот на плагинот на нашиот сервер — единствениот начин тој да излезе на интернет |
Што го нема воопшто во списокот — тоа плагинот нема да го добие со никакви поставки: гости и клиенти, нарачки, сметки, финансии, вработени, преписки и повици мостот не ги дава.
Местата на поставување (слотови) се три:
| Слот | Каде ќе се појави |
|---|---|
| Сопствена страница | точка во делот „Кастомни редактори“, се отвора на цел екран |
| Копче на страницата на каталогот | алатка покрај каталогот на ставки |
| Јазиче на делот „Магацин“ | плагинот се црта како јазиче на магацинот — така е спакувано нашето вградено расширување „ВетИС“ |
Режим на развивач и пристап за изведувач#
Режимот на развивач (блокот „🛠️ Режим на развивач“) го монтира плагинот во живо од вашиот компјутер: полето „URL на бандлот“ прима само адреси localhost / 127.0.0.1, покрај него — „JSON на манифестот“, копчето „Стартувај dev-сесија“. Отпечатокот притоа не се пиннува, а сесијата живее до затворање на јазичето; „Запри dev-сесија“ ја исклучува веднаш.
Грантовите за развивачот (блокот „👩💻 Пристап за развивач“) се потребни кога не пишува сопственикот. За развивачот се отвора обична сметка на вработен, а потоа сопственикот издава грант: „Email на развивачот (неговиот staff-логин)“, „Дозволени права“, „Рок на важност (денови)“ и незадолжителна белешка → „Издај пристап“. Отповикувањето е можно во секој момент со копчето „Отповикај“.
Што дава грантот, а што не:
- дава — само режим на развивач со правата што сте ги означиле (стандардно рок од 14 дена, максимум 90);
- правата се сечат со пресек: што бара манифестот и што е издадено со грантот; вишок плагинот нема да добие, дури и ако го побара во манифестот;
- не дава — инсталација, вклучување и бришење на плагини: тоа останува за сопственикот.
Ажурирање, вклучување и бришење#
| Дејство | Како |
|---|---|
| Отвори | копче „Отвори“ на картичката (или врска со ?app=…) |
| Исклучи привремено | „Исклучи“ — плагинот останува инсталиран, но не се извршува и не се прикажува на своите места |
| Ажурирај | за плагините од GitHub — „Провери ажурирања“ и потоа „Ажурирај до …“; ако верзијата е свежа, панелот ќе каже „Инсталирана е најновата верзија“. Плагините од датотеки се ажурираат со повторна инсталација |
| Избриши | „Избриши“ со потврда: поставките и точката се отстрануваат, преземените изданија остануваат во складиштето |
Автоматско ажурирање нема намерно: новата верзија на туѓ код е нов отпечаток и, можно е, нови права, затоа ажурирањето е секогаш свесна постапка на сопственикот.
Вградени расширувања#
Дел од нашите сопствени модули се спакувани во истиот формат — тоа се гледа по однесувањето, но не треба да се инсталираат: тие доаѓаат заедно со панелот и се вклучуваат со картичка во продавницата за апликации, а не во овој дел.
Во моментов таков модул е еден — „Меркурий/ВетИС“ за Русија: тој живее како јазиче на делот „Магацин“, се извршува во истиот песок и со истите проверки на отпечатокот. Во списокот на инсталирани редактори вградените расширувања не влегуваат.
Што може редакторот и што не може#
| Може | Не може |
|---|---|
| Да го чита и менува каталогот во границите на издадените права | да ја дознае вашата лозинка или да ја искористи вашата сесија |
| Да прикажува свој интерфејс, известувања и барања за потврда | да го отвори кодот или податоците на админката околу себе |
| Да го отвори родниот редактор на ставка на панелот | да пристапи на интернет директно од прозорецот на плагинот |
| Да ги чува своите поставки во вашата сметка | да ги види податоците на друг плагин на вашите картички |
| Да излегува на интернет преку серверскиот дел — и само по оние https-адреси што се наведени во манифестот (не повеќе од осум) | да се извршува по замена на датотеката: несовпаѓањето на отпечатокот го блокира стартувањето |
Страните плагини се означуваат на картичката со предупредување: „Страна апликација во песок — таа никогаш не бара лозинка.“ Ако плагинот бара логин од панелот, платежни податоци или код од SMS — тоа е измама, а не работа на расширувањето.
Ограничувања#
- Делот е исклучен по стандард и е наменет за оние што пишуваат код (или го нарачуваат): обичниот сопственик нема што да бара овде.
- Сѐ освен прегледување е достапно само за сопственикот на сметката. Вработениот го гледа центарот само за читање; режимот за развивачи е достапен само со активен грант.
- Приватни GitHub-репозитории не се поддржани — репозиториумот мора да биде јавен, инсталацијата оди по таг.
- Нема автоматски ажурирања: ажурирањето на приклучокот секогаш го покренува сопственикот.
- Нема продавница за туѓи приклучоци. Готовите проширувања не се објавуваат и не се продаваат преку панелот — извор е само вашата датотека или вашиот репозиториум.
- Слотови има три (сопствена страница, копче во каталогот, јазиче за магацин) — приклучокот не може да се вгради во произволен екран на панелот.
- Мостот не дава гости, нарачки, финансии, вработени и преписки — ова не може да се заобиколи со права, такви барања едноставно не постојат.
- Нема посебен дневник „приклучокот направи тоа и тоа“. Правата се видливи на картичката, а промените во каталогот влегуваат во вообичаената историја на ставки; ако ви е потребна контрола, почнете со приклучок на кој му е дозволено само читање.
- Технички граници: пакет до 4 МБ, до 8 мрежни адреси во манифестот, до 1 МБ по еден клуч на складиштето; серверско извршување — до 30 секунди и до 50 повици кон интернет одеднаш.
- Податоците на приклучокот остануваат во облакот на вашиот бренд: кај сметка на
cenaly.ruсостојбата на серверскиот дел лежи во рускиот контур.
Решавање проблеми#
| Симптом | Проверете |
|---|---|
| Делот го нема во менито | дали е вклучена картичката „Кастомни редактори (SDK)“ во продавницата за апликации; дали делот е изнесен со копчето „📌 Во странична лента“ |
| Вработениот не ги гледа копчињата за инсталација | така е замислено: инсталација, бришење и грантови — само кај сопственикот на сметката |
| „Пакетот во складиштето не се совпаѓа со инсталираниот отпечаток. Стартувањето е блокирано“ | датотеката на приклучокот е заменета по инсталацијата — преинсталирајте го редакторот за да се запише нов отпечаток |
| „Редакторот не стартуваше навреме (нема connect() за 10 с)“ | приклучокот не се поврза: грешка во неговиот код или е собрана погрешна датотека |
| „Не успеа вчитувањето на пакетот на редакторот“ | изданието е недостапно или датотеката е оштетена — преинсталирајте |
„Редакторот не е најден или е исклучен“ при премин по врската ?app=… |
приклучокот е избришан или исклучен на картичката |
| „Не успеа преземањето на редакторот од GitHub“ | репозиториумот е приватен, нема manifest.json во коренот, нема dist/index.js во тагот или тагот не е именуван по конвенцијата v{верзија} |
| „Дозволени се само адреси localhost / 127.0.0.1“ | режимот за развивачи намерно не прифаќа надворешни адреси — подигнете ја сборката локално |
| Приклучокот не ги гледа потребните податоци | проверете ги „Правата“ на картичката; кај развивач со грант правата дополнително се сечат со пресекот со грантот |
| Приклучокот не може да пристапи до туѓ сервис | нема директен пристап до мрежата од песочницата: пристапот се прави преку серверскиот дел, а адресата мора да биде во манифестот |
| „Редакторот пријавува незачувани промени. Да се затвори сепак?“ | приклучокот сам пријавил нацрт — зачувајте ја работата во него пред затворање |
Чести прашања#
Дали треба да знам да програмирам?#
За да инсталирате готово издание — не. За да го добиете самото издание — да: го пишува развивач или ИИ-агент по нашиот шаблон од блокот „Развој со ИИ“. Делот е алатка за код, а не конструктор со „глувче“.
Може ли туѓ приклучок да ги види моите клиенти или приходот?#
Не. Приклучокот работи во песочница и добива податоци само преку мостот, а мостот умее точно шест работи: каталог, цени и стоп-листи, именик на магацин, сопствено складиште, повик до својот серверски дел и елементи на интерфејсот. Гости, нарачки, сметки, финансии, вработени и преписки таму воопшто ги нема. Што точно му е дозволено на конкретен приклучок, секогаш е видливо на неговата картичка во редот „Права“.
Како да ја дадам разработката на подизведувач, а да не го пуштам целосно во сметката?#
Отворете му сметка на вработен, а потоа издадете грант во блокот „Пристап за развивач“: означете ги само потребните права и поставете рок (по стандард 14 дена, максимум 90). Тој ќе го добие режимот за развивачи и ништо повеќе; инсталацијата на приклучокот сепак останува ваша. Грантот се отповикува со едно копче.
Дали приклучокот сам ќе се ажурира кога авторот ќе издаде нова верзија?#
Не. Ажурирањето го покренува сопственикот: „Провери ажурирања“ → „Ажурирај до …“. Така новата верзија нема да се појави во сметката без знаење на човек — заедно со верзијата може да се сменат и бараните права.
Каде приклучокот ги чува своите поставки и податоци?#
Во вашата сметка, во посебно складиште под неговиот идентификатор (до 1 МБ по клуч), плус, ако ги користи, во кастомните полиња на вашите картички — секој приклучок го гледа само своето пространство. Кај сметка на cenaly.ru серверскиот дел и неговата состојба остануваат во рускиот контур.
По што се разликува ова од API и MCP?#
API за развивачи и MCP на сопствената телефонска централа се потребни кога програмата работи надвор: сопствена веб-страница, туѓ систем за евиденција, ИИ-агент. Кастомниот редактор е обратно — интерфејс внатре во панелот: вработениот го отвора како обична страница на админ панелот и не излегува од работниот прозорец.
Поврзани раздели#
- Продавница за апликации — каде се вклучува делот и вградените проширувања
- Магацин — јазичето во кое живеат проширувања како „ВетИС“, и именикот на производи
- Увоз на каталог — стандардниот пат за вчитување на ставки, ако задачата е само тоа
- Излог на сопствен код (headless) — отворен договор за податоци за надворешна веб-страница
- API и MCP на сопствената телефонска централа и Guest API за ИИ-агенти — работа надвор, а не внатре во панелот
- Вработени и смени — сметка за развивачот и улоги
- Безбедност и податоци — каде се чуваат податоците и кој има пристап до нив
- Поддршка — каде да пишете ако приклучокот се однесува сомнително