Плагин SDK
Плагиныг дараах зүйлээр тодорхойлдог нэг manifest.json. Хөгжүүлэлтийн үеэр манифестыг баталгаажуулдаг гэрээ нь платформ суулгах үед мөрддөг гэрээтэй ижил тул давж гарсан манифест validate нь зах зээл хүлээн авах баримт бичиг юм. Энэхүү aihummer plugin CLI нь бүх амьдралын мөчлөгийг хамардаг: хүрээнаас гарын үсэг зурах, нийтлэх хүртэл.
Нэг мэдүүлэг, нэг гэрээ
Нэг залгаас нь яг нэг үнэн эх үүсвэртэй — үүний manifest.json. Энэ нь нэмэлтийн төрлийг зарладаг (kind), хэрхэн тохируулагдсан нь (config[]), түүний чадварууд, мөн — хост-оршин суудаг үйлчилгээний хувьд — install[] алдаанууд ба эхлэх тушаал гэж тэр SystemdТарьгч ажилладаг. Учир нь хөгжүүлэлт болон суулгалт нь адил баталгаажуулах гэрээг ашигладаг тул, “хүчинтэй мэдүүлэг” ба “суулгаж болох плагин” нь нэгэн утгатай юм.
[!NOTE] Манифест нь плагинийг тайлбарлана гахан, түүний дэлгүүрийн хуудсны нэр биш. Тэр машин
slugдиректорын/багцын нэрээс (хувийн талын суулгалт) эсвэл -аас гардаг та бөглөх бөглөлт «Миний нэмэлтүүд» нийтийн нэмэлтийг нийтлэхдээ — харах Плагин нийтлэх.
CLI
aihummer plugin хөгжүүлэлт, сав баглаа боодол ба нийтлэх командуудыг багтаана:
# Scaffold a manifest (kind: connector | service | openapi | mcp)
aihummer plugin init <kind> [dir]
# Validate a manifest against the install contract
aihummer plugin validate <manifest.json>
# Generate an ed25519 author key (writes <prefix>.key and <prefix>.pub)
aihummer plugin keygen [--out <prefix>]
# Build and package the plugin into a release tarball + .sha256
aihummer plugin package <dir> [--out <file>] [--slug <slug>] [--build "<cmd>"]
# Sign the release identity (slug\0version\0source_ref); with --manifest the
# signature is embedded into the manifest.signature field
aihummer plugin sign --key <priv> [--manifest <m.json>] <bundle|dir>
# Upload a private plugin into your own instance (side-load)
aihummer plugin publish --private --instance <url> --token <admin> <bundle.tar.gz>
Нийтлэх нийгэм энэ бол бүгдэд зориулагдсан залгаас, чи хийдэг гүй CLI командыг ашиглана уу — та өөрийн боловсруулсан, гарын үсэг зурсан файлыг оруулна Миний залгаасууд хувийн кабинетаар (аплоуд → AI шалгалт → зохицуулалт). Үзэх Плагин оруулах.
| Тушаал | Энэ юу хийдэг вэ |
|---|---|
init <kind> [dir] |
Эхлэгч бичдэг manifest.json сонгосон төрлийнх нь төлөө. |
validate <m.json> |
Суулгах процессын адил гэрээгээр мэдүүлэгийг шалгана. |
keygen |
Зохиогчийн түлхүүрийн хос үүсгэнэ: .key (хувийн, нууцал) ба .pub, хэвлэнэ key id. |
package <dir> |
Бүтээн байгуулалт (сонголттой) --build) ба савладаг <slug>-<version>.tar.gz хамт --strip-components=1 хуурцаглал, бичдэг .sha256. Хэзээ ч савладаггүй .env, *.key, node_modules, .git. |
sign --key <priv> |
Гарал үүслийг баталгаажуулах тэмдэг; гарын үсгийг хэвлэнэ ба key id;-тай --manifest гарын үсгийг агуулгын жагсаалтад оруулна. |
publish --private |
Таны instance-д багцыг оруулна POST /v1/admin/modules/upload. |
Хувийн талаас суулгах болон хувийн кабинетээр дамжуулан олон нийтийн нийтлэл гаргах гэсэн хоёуланг нь дэлгэрэнгүй тайлбарласан байна. Плагин нийтлэх.
Манифестийн талбарууд
Талбар шаардлагатай эсэх нь дараагаас хамаарна эрлэг мөн залгаас олон нийтийнх эсэхээс хамаарна. Суурь ба таних оруулгууд:
| Талбай | Төрөл | Шаардлагатай | Зорилго |
|---|---|---|---|
kind |
морь | байнга | Өөр төрөл connector | service | openapi | mcp. |
version |
морь | тийм | Плагин хувилбар (semver), жишээ нь 1.0.0. |
contract |
морь | сувагуудад зориулсан | Гэрээний дугаар, жишээ нь aihummer.channel.v1. |
scope |
морь | үгүй | Нэвтрэх загвар: shared (анхдагч) эсвэл personal. |
capabilities |
мөр[] | үгүй | Тодорхойлсон чадварууд. |
config |
объект[] | үгүй | Тохиргооны маягтын талбарууд; бүгд шаардлагатай key, түүнээс гадна label, secret, required. |
oauth |
объект | үгүй | OAuth2 (authorize_url, token_url, scopes[]) хэрэглэгчийн данстай холбох. |
signature |
морь | гарын үсэг зурсан үед | release identity дээрх base64 ed25519 гарын үсэг (нь оруулсан) sign). |
Төрлийн тусгай талбарууд — яг нэг блок нь …-д хамааран дүүрнэ kind:
| Талбай | Өөрт ээлтэй | Шаардлагатай | Зорилго |
|---|---|---|---|
host_native.exec_start |
холбогч, үйлчилгээ | тийм | Урт настай үйлчилгээг ажиллуулдаг команд. |
host_native.runtime |
коннектор, үйлчилгээ, mcp | үгүй | node | python | binary. |
host_native.install |
коннектор, үйлчилгээ, mcp | үгүй | Суулгах алхмууд (shell командуудын массив), задсаны дараа хост дээр ажиллуулна. |
host_native.port |
холбогч, үйлчилгээ | үгүй | Тавигдсан TCP порт (суулгагч дахин томилж болно) $PORT). |
host_native.health_path |
холбогч, үйлчилгээ | үгүй | Эрүүл мэндийн шалгалтын зам (урьдчилсан тохиргоо) /healthz). |
openapi.spec_url |
openapi | тийм | OpenAPI 3.x-ийн спецификацийн URL. |
openapi.base_url |
openapi | үгүй | Давж гарах servers[0].url. |
openapi.allowed_hosts |
openapi | үгүй | Нэгдсэн хэрэгслийн гарах зөвшөөрөгдсөн жагсаалт. |
openapi.auth |
openapi | үгүй | Газрын зураг securityScheme → нууц нэр. |
openapi.tool_prefix |
openapi | үгүй | Хэрэгслийн нэрний урьдчилсан процессор. |
mcp.transport |
мцп | тийм | stdio эсвэл http. |
mcp.command / mcp.args |
mcp (stdio) | тийм, stdio-ийн хувьд | Серверийн гүйцэтгэгдэх файл ба аргументууд. |
mcp.url |
mcp (http) | тийм http-д зориулсан | MCP төгсгөл цэгийн URL. |
mcp.auth_header / mcp.secret_token_key |
mcp (http) | үгүй | Bearer токен-ийн толгой ба нууц түлхүүр. |
Дэлгүүрийн хуудас ба таних мэдээллийн талбарууд (олон нийтийн залгаасуудын хувьд)
Манифест нь хэвлэгчийн танигдац болон дэлгүүрийн хуудсны талбарыг бас агуулж болно. Тухайлбал нийгэм плагин эдгээр нь каталогт үзүүлж байгаа зүйлс, гэхдээ та тэдгээрийг ихэвчлэн дээр нь оруулдаг «Миний нэмэлтүүд» Илгээх үед хувийн кабинетийн дэлгүүрийн хуудсан дээр (нэр, тайлбар, дүрс, дэлгэцийн зургууд, ангилал, буяны холбоос) дамжуулна, харин manifest-д гараар оруулах шаардлагагүй. Хувийн side-load-д эдгээрийг хэрэггүй — ийм plugin нь instance-ийн түвшинд итгэгдсэн байдаг.
| Талбай | Төрөл | Шаардлагатай | Зорилго |
|---|---|---|---|
visibility |
морь | үгүй | public | private | unlisted. Хоосон = өв залгамжлагдсан/анхны талын (аль нэг танигч шаардлагагүй). |
publisher |
морь | нийтийн зориулалттай | Нийтлэгчийн нэрийн орон зай, ^[a-z0-9][a-z0-9-]{1,38}$. Нийтийн слимоныг нэрлэдэг @publisher/slug. |
publisher_key_id |
морь | нийтийн зориулалттай | key id түлхүүрээр гарчиглагдсан урлагийн бүтээл. |
description |
морь | нийтийн хэрэглээнд | Каталог дахь дэлгүүрийн хуудсын товч танилцуулга. |
icon |
морь | нийтийн зориулалттай | Нэмэлт цэсний дүрс: а https:// URL эсвэл a data: URI. |
screenshots |
мөр[] | үгүй | Дэлгүүрийн хуудасны дэлгэцийн агшнууд (массив) https:// URL-үүд; хоосон биш бүр. |
[!TIP] Гүйх
aihummer plugin validateилгээхээс өмнө. Суулгалт ба баталгаажуулалт эрх зүйн баримт бичгүүд ижил, тиймээс орон нутгийн хэмжээнд дамжсан мэдэгдлийг хоёр талаар нь хүлээн зөвшөөрнө зах зээлийн тавигч ба таны хувийн кабинет дахь зах зээлийн тоймоор.
Хамгийн бага үзүүлэлтүүд
А service босоо босго (юу) aihummer plugin init service бичдэг):
{
"version": "1.0.0",
"kind": "service",
"scope": "shared",
"contract": "aihummer.channel.v1",
"host_native": {
"runtime": "node",
"install": ["npm ci --omit=dev"],
"exec_start": "node dist/main.js",
"port": 8800,
"health_path": "/healthz"
},
"config": [
{ "key": "api_token", "label": "API token", "secret": true, "required": true }
]
}
Шуурхай кодгүй openapi manifest нь бүр ч богино — зөвхөн спецификацид зааж өгдөг:
{
"version": "1.0.0",
"kind": "openapi",
"scope": "shared",
"openapi": {
"spec_url": "https://api.example.com/openapi.json",
"tool_prefix": "example_",
"allowed_hosts": ["api.example.com"],
"auth": { "bearerAuth": "api_token" }
},
"config": [
{ "key": "api_token", "label": "API token", "secret": true, "required": true }
]
}
Нэг mcp манифест (stdio тээвэр):
{
"version": "1.0.0",
"kind": "mcp",
"scope": "shared",
"host_native": { "runtime": "node", "install": ["npm ci --omit=dev"] },
"mcp": { "transport": "stdio", "command": "node", "args": ["server.js"] }
}
Манифестээс зах зээл рүү
Баталгаажуулсны дараа залгаас багцлагдана (package), гарын үсэгтэй (sign) болон хоёр аргын аль нэгээр нийтлэгдсэн:
- Хувийн (өөртөө) — Админ UI-гаар дамжуулан таны жишээнд хажуугийн ачааллаар оруулах эсвэл
publish --private. Энэхүү урлагийн бүтээл хэзээ ч тухайн хувилбараас гардаггүй. - Нийгэмлэг (бүгдэд зориулагдсан) — багцлагдсан, гарын үсэг тавьсан бүтээлийг үүнийгээс өргөжүүлэх Миний залгаасууд таны хувийн кабинетэд; AI-ийн хяналт ба хүний шинжилгээнээс хойш үүнийг гарын үсэг зурж, олон нийтэд нийтэлдэг каталог.
Харах Плагин нийтлэх бүрэн алхам алхамаар зааварт зориулж.
Дараачийн газар хаана вэ
- Плагин нийтлэх — хувийн талд суулгах ба хувийн кабинетээр дамжуулан нийгэмлэгийн нийтлэл, хяналт ба зохицуулалт.
- Шууд кодгүй интеграцчилал — тэр
openapiболонmcpтөрлийг дэлгэрэнгүй. - Суурилуулах болон шинэчлэх — юу хөдөлгөдөг
install[], эрүүл мэндийн хаалга, итгэл ба гарын үсэг зурсан шинэчлэлтүүд. - Маркетплейс: тойм ба зэрэглэл — хаана төрөл бүр хэрхэн амьдардаг ба албан ёсны каталог нь олон нийтийнхээс яаж ялгаатай байдаг.