SDK-и васлкунӣ
Як плагин тавассути **як manifest.json**Шартномае, ки ҳуҷҷати намоиширо ҳангоми рушд тасдиқ мекунад, ҳамон шартномаест, ки платформа ҳангоми насб иҷро мекунад, бинобар ин ҳуҷҷати намоишие, ки мегузарад validate қайдномаиеро нишон медиҳад, ки бозор қабул хоҳад кард. aihummer plugin CLI тамоми давраи ҳаётро фаро мегирад: аз тахтача сохтани то имзо кардан ва нашр кардан.
Як білет, як шартнома
Як плагин дақиқ як манбаи ҳақиқат дорад — он manifest.json. Он намуди плагинро эълон мекунад (kind), чӣ гуна танзим шудааст (config[]), қобилиятҳои он, ва — барои хидматҳои хост-миллии install[] қадамҳо ва фармони оғоз, ки СистемдДеплойер мегирад. Зеро рушди нармафзор ва насб бо ҳамон шартномаи санҷиш кор мекунанд, ‘мафҳуми дуруст’ ва ‘плагини насбшаванда’ як маъно доранд.
[!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> |
МанIFEST-ро бо ҳамон шартнома, ки насб кардан истифода мешавад, тасдиқ мекунад. |
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 |
Як баста ба намунаи шумо бор мекунад POST /v1/admin/modules/upload. |
Ҳар ду роҳи нашр — боргузории шахсӣ ва нашри ҷамъиятӣ тавассути кабинети шахсӣ — ба таври муфассал дар Нашр кардани плагин.
Майдони manifiест
Оё майдон лозим аст, вобаста ба меҳрубон ва оё плагин оммавӣ аст. Майдонҳои асосӣ ва шиноснома:
| Замин | Навъ | Лозим | Мақсад |
|---|---|---|---|
kind |
сатр | ҳамеша | Намуди connector | service | openapi | mcp. |
version |
сатр | ҳа | Нусхаи плагин (версияи семантикӣ), масалан 1.0.0. |
contract |
сатр | барои каналҳо | ID-и шартнома, масалан aihummer.channel.v1. |
scope |
сатр | не | Модели дастрасӣ: shared (пешфарз) ё personal. |
capabilities |
сатр[] | не | Қобилиятҳои эълоншуда. |
config |
объект[] | не | Форматҳои майдони танзимот; ҳар кадоме лозим аст key, инчунин label, secret, required. |
oauth |
объект | не | OAuth2(authorize_url, token_url, scopes[]) барои пайваст кардани ҳисоби корбар. |
signature |
сатр | вақте ки имзо карда шуд | имзои 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 |
опенапи | ҳа | URL-и мушаххаси OpenAPI 3.x. |
openapi.base_url |
опенапи | не | Боломарзӣ servers[0].url. |
openapi.allowed_hosts |
опенапи | не | Рӯйхати иҷозат барои барномаҳои синтезшуда. |
openapi.auth |
опенапи | не | Харита securityScheme → номи махфӣ. |
openapi.tool_prefix |
опенапи | не | Пефикси номи асбоб. |
mcp.transport |
мср | ҳа | stdio ё http. |
mcp.command / mcp.args |
мсп (стдиио) | ҳа барои stdio | Файлҳои иҷроишаванда ва аргументҳои сервер. |
mcp.url |
мсп (http) | ҳа барои http | URL-и нуқтаи MCC. |
mcp.auth_header / mcp.secret_token_key |
мсп (http) | не | Сарлавҳа ва калиди махфӣ барои токени носукӣ. |
Саҳифаи мағоза ва майдонҳои шиносномагӣ (барои плагинҳои ҷомеа)
Манивест инчунин метавонад шиносномаи нашркунанда ва майдонҳои саҳифаи нигоҳдориро дошта бошад. ҷамъият плагин инҳо он чизе мебошанд, ки каталог нишон медиҳад, аммо одатан шумо онҳоро дар ворид мекунед «Плагинҳои ман» саҳифаи мағоза дар кабинет шахсии шумо дар вақти ирсол (ном, тавсифҳо, икона, скриншотҳо, категория, пайванди хайриявӣ) ба ҷои навиштан дастӣ дар манифест. Сайдлоуди хусусӣ ба ягон кадоме аз инҳо ниёз надорад — чунин плагин дар сатҳи намуна боэътимод маҳсуб мешавад.
| Замин | Навъ | Лозим | Мақсад |
|---|---|---|---|
visibility |
сатр | не | public | private | unlisted. Холӣ = мерос/шахси аввал (бе талаботи шиноснома). |
publisher |
сатр | барои ҷамъият | Фазои номгузории нашркунанда, ^[a-z0-9][a-z0-9-]{1,38}$Снаркҳои ҷамъиятӣ номгузорӣ шудаанд @publisher/slug. |
publisher_key_id |
сатр | барои ҷамъият | key id бо калиди ки осори дастӣ бо он имзо шуда аст. |
description |
сатр | барои ҷамъият | Муқаддимаи саҳифаи мағоза дар каталоги. |
icon |
сатр | барои ҷамъият | Нишони иловапардохт: як https:// URL ё як 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 манIFEST ҳатто кӯтоҳтар аст — он танҳо ба спецификатсия ишора мекунад:
{
"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"] }
}
Аз manifiest то бозор
Пас аз тасдиқ, як плагин бастабандӣ мешавад(package), имзо кард (sign) ва ба ягон ду тарзи зерин нашр карда шудааст:
- Private (for yourself) — тавассути интерфейси идоракунӣ ба нусхаи худ ворид кунед ё
publish --private. Аслиҳа ҳеҷ гоҳ аз мисол хориҷ намешавад. - Ҷомеа (барои ҳама) — бор кардани ашёе, ки бастабандӣ шуда ва имзо шудааст аз Плагинҳои ман дар кабинети шахсии шумо пас аз баррасии AI ва назорати инсонӣ он имзо ва ба ҷомеа нашр мешавад каталог
Дидан Нашр кардани плагин барои роҳнамои пурра.
Баъд куҷо
- Нашр кардани плагин — боргирии хусусӣ ва нашри ҷомеа тавассути кабинети шахсӣ, баррасӣ ва таҳрир.
- Интегратсияҳои бе рамз —
openapiваmcpнавъҳо ба таври муфассал. - Насб ва навсозӣ — чӣ ҳаракат медиҳад
install[], дарвозаҳои саломатӣ, эътимод ва навсозиҳои имзошуда. - Бозор: муқаддима ва сатҳҳо — куҷо ҳар як намуди зиндаги мекунад ва чӣ гуна каталоги расмӣ аз ҷомеа фарқ мекунад.