C cenaly.com
Bắt đầu miễn phí

Trình chỉnh sửa tùy biến

Các trình chỉnh sửa mini riêng biệt trong môi trường sandbox của bảng quản trị: dành cho chủ sở hữu hoặc lập trình viên bên ngoài, phân quyền truy cập dữ liệu tài khoản

On this page 14

Trình chỉnh sửa tùy chỉnh

Có những công việc không nằm trong bất kỳ bảng điều khiển nào, vì chúng chỉ thuộc về bạn: tự tính lại giá theo công thức của nhà cung cấp, đối chiếu danh mục với hệ thống kế toán bên ngoài, màn hình “điền đặc tính lô hàng trong một lượt”. Mục “Trình chỉnh sửa tùy chỉnh” cho phép bạn tự viết một trình chỉnh sửa nhỏ như vậy (hoặc đặt làm) và chạy nó ngay trong bảng quản trị — trong môi trường cách ly, với quyền truy cập đúng vào những dữ liệu bạn đã cho phép.

Mở: Bảng quản trị → Trình chỉnh sửa tùy chỉnh (admin.cenaly.com/custom-editors). Mục này được bật bằng thẻ “Trình chỉnh sửa tùy chỉnh (SDK)” trong cửa hàng ứng dụng — mặc định nó bị ẩn. Nút “📌 Vào thanh bên” ngay trên trang sẽ đưa nó ra menu bên khi bạn cần dùng thường xuyên.


Đây là mục gì#

Plugin là một script đã được đóng gói (index.js) và phần mô tả của nó (manifest.json). Bảng điều khiển tải script vào một khung cách ly: nó không có quyền truy cập vào phiên của bạn, vào mã của bảng quản trị hay vào mạng. Nó chỉ có thể trao đổi với dữ liệu qua bridge — một tập hợp các yêu cầu được phép, mỗi yêu cầu đều được kiểm tra theo quyền đã cấp.

Trang gồm các khối:

Khối Nội dung
Trình chỉnh sửa đã cài đặt thẻ cho mỗi plugin: tên, “Phiên bản”, “Quyền”, “Vị trí đặt”, “Máy chủ mạng được phép”, “Đã cập nhật”, nguồn (kho lưu trữ và thẻ dưới dạng liên kết). Thao tác: “Mở”, “Bật” / “Tắt”, kiểm tra cập nhật, “Xóa”
Cài đặt trình chỉnh sửa cài đặt từ tệp trên máy
Cài đặt từ GitHub cài đặt theo địa chỉ kho lưu trữ công khai và thẻ
🤖 Phát triển với AI (vibe coding) mẫu dự án, prompt cho tác nhân AI và ảnh chụp danh mục làm dữ liệu thử nghiệm
👩‍💻 Quyền truy cập của nhà phát triển cấp quyền tạm thời cho nhà thầu dùng chế độ nhà phát triển
🛠️ Chế độ nhà phát triển chạy plugin trực tiếp từ máy tính của bạn, không cần cài đặt

Trình chỉnh sửa đang mở chiếm toàn bộ màn hình, và địa chỉ trang có thêm ?app=<mã định danh> — bạn có thể chia sẻ liên kết này với người có quyền truy cập.


Cần gì để chạy#

Cần gì Để làm gì
Thẻ “Trình chỉnh sửa tùy chỉnh (SDK)” trong cửa hàng ứng dụng mục này khá chuyên biệt và mặc định bị tắt
Bạn là chủ tài khoản chỉ chủ tài khoản mới có thể cài đặt, bật, xóa plugin và cấp quyền; nhân viên chỉ thấy danh sách ở chế độ chỉ đọc
Plugin đã đóng gói: index.js + manifest.json của bạn, của nhà phát triển, hoặc bản phát hành trong kho GitHub công khai
Để phát triển — tài khoản nhân viên cho nhà phát triển chế độ nhà phát triển được cấp theo e-mail đăng nhập công việc của người đó

Bước 1. Quyết định ai sẽ viết trình chỉnh sửa#

Có ba con đường, khác nhau ở chỗ ai giữ mã nguồn:

Con đường Phù hợp với ai Cách làm
Tác nhân AI theo mẫu của chúng tôi chủ tài khoản sẵn sàng mô tả công việc bằng lời khối “Phát triển với AI”: mẫu + prompt → tác nhân đóng gói bản phát hành → bạn cài đặt
Lập trình viên của bạn hoặc thuê ngoài có nhà thầu hoặc lập trình viên trong đội cấp cho họ quyền dùng chế độ nhà phát triển, họ viết và gỡ lỗi trên tài khoản thật, bạn cài bản phát hành hoàn chỉnh
Bản phát hành có sẵn từ GitHub plugin đã được viết (do bạn hoặc cho bạn) “Cài đặt từ GitHub”: địa chỉ kho lưu trữ và thẻ

Trong cả ba trường hợp, việc cài đặt vẫn thuộc về chủ tài khoản: ngay cả nhà phát triển có quyền cũng chỉ có thể chạy mã của mình trong chế độ nhà phát triển, chứ không thể cài nó vào tài khoản.


Bước 2. Phát triển với AI (vibe coding)#

Khối “🤖 Phát triển với AI (vibe coding)” cung cấp bốn thứ để giao việc cho tác nhân AI (Claude Code, Cursor và tương tự) mà không phải giải thích hợp đồng từ đầu:

  1. “⬇️ Tải mẫu dự án (zip)” — bộ khung plugin sẵn có: manifest, điểm vào, mô tả hợp đồng (GUIDE.en.md) và hướng dẫn cho tác nhân. Tệp nén được tạo ngay trong trình duyệt, không cần tải gì từ bên ngoài.
  2. “📋 Sao chép prompt cho tác nhân” — nội dung nhiệm vụ bằng tiếng Anh: bắt đầu từ mẫu, đối chiếu với hướng dẫn, cách kiểm tra kết quả.
  3. Cấu hình bộ công cụ cho tác nhân — với nó, tác nhân đóng gói plugin, dựng bản sao môi trường cách ly chạy cục bộ, chụp ảnh màn hình và ảnh trạng thái, và cuối cùng đóng gói bản phát hành: zip để cài thủ công hoặc bản phát hành trên GitHub.
  4. “⬇️ Tải ảnh chụp danh mục (dữ liệu thử nghiệm)” — danh mục và mặt hàng của bạn dưới dạng tệp, để tác nhân thử nghiệm trên dữ liệu thật thay vì dữ liệu bịa.

⚠️ Khỏi ảnh chụp, các trường tùy chỉnh của plugin khác bị cắt bỏ hoàn toàn: dữ liệu mà tiện ích của người khác lưu trên thẻ của bạn sẽ không rời khỏi tài khoản cùng với dữ liệu thử nghiệm.


Bước 3. Cài đặt trình chỉnh sửa#

Từ tệp. Khối “Cài đặt trình chỉnh sửa”: chọn “Gói (index.js)” và “Manifest (manifest.json)” → “Kiểm tra và cài đặt”. Bảng điều khiển trước tiên kiểm tra manifest — mã định danh, tên đã bản địa hóa, phiên bản, phiên bản SDK tối thiểu, vị trí đặt, quyền và danh sách máy chủ mạng — rồi hiển thị sự đồng thuận: “Trình chỉnh sửa này yêu cầu:” và danh sách quyền bằng ngôn ngữ thông thường. Chừng nào bạn chưa nhấn “Cài đặt”, sẽ không có gì được cài.

Từ GitHub. Khối “Cài đặt từ GitHub”: ô “Kho lưu trữ (URL hoặc owner/repo)”, ô “Thẻ (để trống = bản phát hành mới nhất)” và nút “Kiểm tra kho lưu trữ”. Quy ước đơn giản: manifest.json ở gốc kho lưu trữ, dist/index.js đã đóng gói trong thẻ, thẻ có dạng v{phiên bản}. Manifest và gói được tải trực tiếp từ trình duyệt của bạn. Trong cả hai trường hợp, khi cài đặt, dấu vân tay của gói (sha256) được tính và ghi nhớ: nếu tệp sau đó bị thay thế, việc chạy sẽ bị chặn và bảng điều khiển sẽ yêu cầu cài đặt lại trình chỉnh sửa.


Quyền và vị trí hiển thị#

Quyền (còn gọi là phạm vi) được plugin yêu cầu trong manifest, và bạn xác nhận khi cài đặt. Danh sách đầy đủ như sau, Bridge không thể làm gì khác ngoài những điều này:

Quyền Nội dung được mở
Đọc danh mục danh mục, mặt hàng, thuộc tính và trường tùy chỉnh của thẻ
Tạo và sửa mặt hàng danh mục tạo và sửa mặt hàng, nhập lô, trường riêng và định nghĩa thuộc tính
Thay đổi giá, tình trạng còn hàng và danh sách tạm ngừng theo chi nhánh những gì bảng điều khiển làm trong menu của chi nhánh
Đọc danh mục hàng hóa kho danh mục kho ở chế độ chỉ đọc
Lưu cài đặt riêng trong kho lưu trữ của bạn khóa riêng của plugin trong tài khoản của bạn (tối đa 1 MB mỗi khóa)
Phần máy chủ của tiện ích các lệnh gọi mã plugin trên máy chủ của chúng tôi — cách duy nhất để plugin truy cập internet

Những gì không có trong danh sách thì plugin không thể có được bằng bất kỳ cài đặt nào: khách và người dùng, đơn hàng, biên lai, tài chính, nhân viên, tin nhắn và cuộc gọi — Bridge không cung cấp.

Vị trí hiển thị (slot) có ba:

Slot Vị trí xuất hiện
Trang riêng mục trong phần “Trình chỉnh sửa tùy chỉnh”, mở toàn màn hình
Nút trên trang danh mục công cụ bên cạnh danh mục mặt hàng
Tab của phần “Kho” plugin hiển thị dưới dạng tab của kho — tiện ích tích hợp sẵn “VetIS” của chúng tôi được đóng gói theo cách này

Chế độ nhà phát triển và quyền truy cập cho nhà thầu#

Chế độ nhà phát triển (khối “🛠️ Chế độ nhà phát triển”) gắn plugin trực tiếp từ máy tính của bạn: trường “URL gói” chỉ chấp nhận địa chỉ localhost / 127.0.0.1, bên cạnh là “JSON manifest”, nút “Chạy phiên dev”. Trong trường hợp này dấu vân tay không được ghim, và phiên tồn tại cho đến khi đóng tab; “Dừng phiên dev” tắt ngay lập tức.

Quyền cấp cho nhà phát triển (khối “👩‍💻 Quyền truy cập nhà phát triển”) cần thiết khi người viết không phải chủ sở hữu. Nhà phát triển được tạo một tài khoản nhân viên thông thường, sau đó chủ sở hữu cấp quyền: “Email nhà phát triển (đăng nhập nhân viên của họ)”, “Quyền được phép”, “Thời hạn (ngày)” và ghi chú tùy chọn → “Cấp quyền truy cập”. Có thể thu hồi bất cứ lúc nào bằng nút “Thu hồi”.

Quyền cấp cho nhà phát triển cho phép và không cho phép những gì:

  • cho phép — chỉ chế độ nhà phát triển với các quyền bạn đã đánh dấu (mặc định thời hạn 14 ngày, tối đa 90);
  • quyền bị cắt theo giao nhau: những gì manifest yêu cầu và những gì được cấp qua quyền; plugin không nhận được gì thừa, kể cả khi yêu cầu trong manifest;
  • không cho phép — cài đặt, bật và xóa plugin: việc này thuộc về chủ sở hữu.

Cập nhật, bật và xóa#

Hành động Cách thực hiện
Mở nút “Mở” trên thẻ (hoặc liên kết với ?app=…)
Tắt tạm thời “Tắt” — plugin vẫn được cài đặt nhưng không thực thi và không hiển thị ở vị trí của nó
Cập nhật với plugin từ GitHub — “Kiểm tra cập nhật” và sau đó “Cập nhật lên …”; nếu phiên bản đã mới, bảng điều khiển sẽ báo “Đã cài đặt phiên bản mới nhất”. Plugin từ tệp được cập nhật bằng cách cài đặt lại
Xóa “Xóa” với xác nhận: cài đặt và mục bị gỡ bỏ, các bản phát hành đã tải vẫn còn trong kho lưu trữ

Không có tự động cập nhật một cách có chủ đích: phiên bản mới của mã bên thứ ba là dấu vân tay mới và có thể là quyền mới, vì vậy cập nhật luôn là hành động có ý thức của chủ sở hữu.


Tiện ích tích hợp sẵn#

Một số mô-đun của chính chúng tôi được đóng gói theo cùng định dạng — có thể thấy qua hành vi, nhưng không cần cài đặt chúng: chúng đi kèm với bảng điều khiển và được bật bằng thẻ trong cửa hàng ứng dụng, không phải trong phần này.

Hiện tại có một mô-đun như vậy — “Mercury/VetIS” dành cho Nga: nó sống dưới dạng tab của phần “Kho”, thực thi trong cùng sandbox và với cùng kiểm tra dấu vân tay. Tiện ích tích hợp sẵn không nằm trong danh sách trình chỉnh sửa đã cài đặt.


Trình chỉnh sửa có thể và không thể làm gì#

Có thể Không thể
Đọc và thay đổi danh mục trong phạm vi quyền được cấp biết mật khẩu của bạn hoặc sử dụng phiên của bạn
Hiển thị giao diện, thông báo và yêu cầu xác nhận của riêng nó mở mã hoặc dữ liệu của trang quản trị xung quanh nó
Mở trình chỉnh sửa mặt hàng gốc của bảng điều khiển truy cập internet trực tiếp từ cửa sổ plugin
Lưu cài đặt riêng trong tài khoản của bạn thấy dữ liệu của plugin khác trên thẻ của bạn
Truy cập internet qua phần máy chủ — và chỉ đến các địa chỉ https được liệt kê trong manifest (không quá tám) thực thi sau khi tệp bị thay thế: dấu vân tay không khớp sẽ chặn khởi chạy

Plugin bên thứ ba được đánh dấu trên thẻ bằng cảnh báo: “Ứng dụng bên thứ ba trong sandbox — nó không bao giờ hỏi mật khẩu.” Nếu plugin yêu cầu đăng nhập vào bảng điều khiển, dữ liệu thanh toán hoặc mã từ SMS — đó là gian lận, không phải hoạt động của tiện ích.


Giới hạn#

  • Mục này tắt theo mặc định và dành cho những người viết mã (hoặc đặt viết mã): chủ doanh nghiệp thông thường không có việc gì ở đây.
  • Mọi thứ ngoài việc xem đều chỉ thuộc về chủ tài khoản. Nhân viên chỉ thấy trung tâm ở chế độ chỉ đọc; chế độ nhà phát triển chỉ hoạt động khi có quyền được cấp còn hiệu lực.
  • Không hỗ trợ kho GitHub riêng tư — kho phải ở chế độ công khai, việc cài đặt diễn ra theo thẻ.
  • Không có tự động cập nhật: việc cập nhật plugin luôn do chủ tài khoản khởi chạy.
  • Không có cửa hàng plugin của người khác. Các tiện ích mở rộng sẵn có không được công bố và không được bán qua bảng điều khiển — nguồn duy nhất là tệp của bạn hoặc kho của bạn.
  • Có ba vị trí (trang riêng, nút trong danh mục, tab kho) — plugin không thể chèn vào một màn hình bất kỳ của bảng điều khiển.
  • Bridge không cung cấp khách, đơn hàng, tài chính, nhân viên và hội thoại — không thể vượt qua điều này bằng quyền, vì những yêu cầu như vậy đơn giản là không tồn tại.
  • Không có nhật ký riêng kiểu “plugin đã làm điều gì đó”. Quyền được hiển thị trên thẻ, còn các chỉnh sửa danh mục đi vào lịch sử mặt hàng thông thường; nếu cần kiểm soát, hãy bắt đầu với plugin chỉ được cấp quyền đọc.
  • Giới hạn kỹ thuật: gói tối đa 4 MB, tối đa 8 địa chỉ mạng trong manifest, tối đa 1 MB cho một khóa lưu trữ; lần chạy phía máy chủ — tối đa 30 giây và tối đa 50 lượt truy cập internet mỗi lần.
  • Dữ liệu của plugin vẫn nằm trong đám mây mang thương hiệu của bạn: với tài khoản trên cenaly.ru, trạng thái của phần máy chủ nằm trong hạ tầng Nga.

Xử lý sự cố#

Triệu chứng Hãy kiểm tra
Không thấy mục trong menu thẻ “Trình chỉnh sửa tùy chỉnh (SDK)” đã được bật trong cửa hàng ứng dụng chưa; mục đã được đưa ra bằng nút “📌 Vào thanh bên” chưa
Nhân viên không thấy nút cài đặt đúng như thiết kế: cài đặt, xóa và cấp quyền chỉ thuộc về chủ tài khoản
“Gói trong lưu trữ không khớp với dấu vân tay đã cài đặt. Đã chặn chạy” tệp plugin đã bị thay thế sau khi cài đặt — hãy cài lại trình chỉnh sửa để ghi dấu vân tay mới
“Trình chỉnh sửa không khởi chạy kịp thời (không có connect() trong 10 giây)” plugin không kết nối được: lỗi trong mã của nó hoặc đã đóng gói nhầm tệp
“Không tải được gói trình chỉnh sửa” bản phát hành không khả dụng hoặc tệp bị hỏng — hãy cài lại
“Không tìm thấy trình chỉnh sửa hoặc trình chỉnh sửa đã tắt” khi mở liên kết ?app=… plugin đã bị xóa hoặc bị tắt trên thẻ
“Không lấy được trình chỉnh sửa từ GitHub” kho ở chế độ riêng tư, không có manifest.json ở thư mục gốc, không có dist/index.js trong thẻ hoặc thẻ không được đặt tên theo quy ước v{phiên bản}
“Chỉ chấp nhận địa chỉ localhost / 127.0.0.1” chế độ nhà phát triển cố ý không nhận địa chỉ bên ngoài — hãy dựng bản build cục bộ
Plugin không thấy dữ liệu cần thiết đối chiếu mục “Quyền” trên thẻ; với nhà phát triển có quyền được cấp, quyền còn bị cắt thêm bởi phần giao với quyền được cấp
Plugin không thể truy cập dịch vụ của người khác không có mạng trực tiếp từ sandbox: việc truy cập do phần máy chủ thực hiện, và địa chỉ phải có trong manifest
“Trình chỉnh sửa báo có thay đổi chưa lưu. Vẫn đóng?” plugin tự báo có bản nháp — hãy lưu công việc trong đó trước khi đóng

Câu hỏi thường gặp#

Có cần biết lập trình không?#

Để cài một bản phát hành sẵn có — không. Để có chính bản phát hành đó — có: nó do nhà phát triển hoặc tác nhân AI viết theo mẫu của chúng tôi trong khối “Phát triển với AI”. Mục này là công cụ dành cho mã, không phải trình tạo bằng “chuột”.

Plugin của người khác có thể thấy khách hàng hoặc doanh thu của tôi không?#

Không. Plugin chạy trong sandbox và chỉ nhận dữ liệu qua bridge, mà bridge chỉ làm được đúng sáu việc: danh mục, giá và danh sách tạm ngừng bán, danh mục kho, lưu trữ riêng của nó, gọi phần máy chủ của nó và các phần tử giao diện. Khách, đơn hàng, biên lai, tài chính, nhân viên và hội thoại về nguyên tắc không có ở đó. Một plugin cụ thể được phép làm gì luôn hiển thị trên thẻ của nó ở dòng “Quyền”.

Làm sao giao việc phát triển cho nhà thầu mà không cho họ vào toàn bộ tài khoản?#

Hãy tạo cho họ một tài khoản nhân viên, rồi cấp quyền trong khối “Quyền truy cập của nhà phát triển”: chỉ đánh dấu những quyền cần thiết và đặt thời hạn (mặc định 14 ngày, tối đa 90). Họ sẽ có chế độ nhà phát triển và không có gì hơn; việc cài đặt plugin vẫn thuộc về bạn. Quyền được cấp có thể thu hồi bằng một nút.

Plugin có tự cập nhật khi tác giả phát hành phiên bản mới không?#

Không. Việc cập nhật do chủ tài khoản khởi chạy: “Kiểm tra cập nhật” → “Cập nhật lên …”. Như vậy phiên bản mới sẽ không xuất hiện trong tài khoản mà người dùng không biết — cùng với phiên bản, các quyền được yêu cầu cũng có thể đã thay đổi.

Plugin lưu cài đặt và dữ liệu của nó ở đâu?#

Trong tài khoản của bạn, trong một lưu trữ riêng theo mã định danh của nó (tối đa 1 MB cho mỗi khóa), cộng thêm, nếu nó sử dụng, trong các trường tùy chỉnh của thẻ của bạn — mỗi plugin chỉ thấy không gian của chính nó. Với tài khoản trên cenaly.ru, phần máy chủ và trạng thái của nó vẫn nằm trong hạ tầng Nga.

Điều này khác gì API và MCP?#

API cho nhà phát triển và MCP của tổng đài cần thiết khi chương trình hoạt động từ bên ngoài: trang web của bạn, hệ thống tài khoản của người khác, tác nhân AI. Trình chỉnh sửa tùy chỉnh thì ngược lại, là giao diện bên trong bảng điều khiển: nhân viên mở nó như một trang quản trị thông thường và không rời khỏi cửa sổ làm việc.


Các mục liên quan#

Was this article helpful?