C cenaly.com
Започнете безплатно

Персонализирани редактори

Собствени миниредактори в панела в изолирана среда (sandbox): за собственика или външен разработчик, достъп до данните на акаунта според правата

On this page 14

Персонализирани редактори

Има работа, която не съществува в нито един панел, защото е само ваша: собствено преизчисляване на цени по формула на доставчик, сверяване на каталог с чужда отчетна система, екран „попълни характеристиките на партида наведнъж“. Разделът „Персонализирани редактори“ ви позволява да напишете такъв мини-редактор сами (или да го поръчате) и да го стартирате вътре в админ панела — в пясъчник, с достъп точно до данните, които сте разрешили.

Отваряне: Админ панел → Персонализирани редактори (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 и подобни) и да не му обяснявате контракта от нулата:

  1. „⬇️ Изтегли шаблон на проект (zip)“ — готова рамка на плъгин: манифест, входна точка, описание на контракта (GUIDE.en.md) и инструкция за агента. Архивът се компилира директно в браузъра, нищо външно не е нужно да се изтегля.
  2. „📋 Копирай промпт за агента“ — текст на задачата на английски: да стартира от шаблона, да се сверява с гида, с какво да проверява резултата.
  3. Конфигурация на набор от инструменти за агента — с нея агентът компилира плъгина, вдига локален стенд-копие на пясъчника, прави скрийншоти и снимки на състоянието, а накрая компилира релиз: zip за ръчно инсталиране или релиз в GitHub.
  4. „⬇️ Изтегли снимка на каталога (тестова фикстура)“ — вашите категории и позиции като файл, за да тества агентът с реални данни, а не с измислени.

⚠️ От снимката се изрязват изцяло персонализираните полета на други плъгини: данните, които чуждо разширение съхранява на вашите карти, не напускат акаунта заедно с фикстурата.


Стъпка 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 на собствената АТС са нужни, когато програмата работи отвън: собствен сайт, чужда отчетна система, ИИ агент. Кастомният редактор е обратното — интерфейс вътре в панела: служителят го отваря като обикновена страница на админ панела и не излиза от работния прозорец.


Свързани раздели#

Was this article helpful?