AiHummer
Тоҷикӣ
ВоридшавӣКабинети шахсӣ
v1.2.x
{ }Swagger

SDK-и васлкунӣ

v1.2.x · навсозӣ шуд 2026-06-27

Як плагин тавассути **як 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 ва назорати инсонӣ он имзо ва ба ҷомеа нашр мешавад каталог

Дидан Нашр кардани плагин барои роҳнамои пурра.

Баъд куҷо