КОНЦЕПЦИЯ И РАЗРАБОТКАБЕСПИЛОТНЫЙ СПОРТ · #bezpiLOTa · KAIROS DRONE AGENTДокументация
#bezpiLOTa→Drone Agent→Extensions
KairOS / DRONE AGENT / 06

Подписанный пакет получает ограниченный набор hardware, MAVLink, telemetry, mission и network‑capabilities, запускается отдельным процессом и общается с host через проверяемый IPC. Ошибка расширения не должна останавливать flight‑critical сервисы.

NOT RELEASED

Модель расширений и CLI описаны как целевой контракт; registry, signing root и публичный SDK KairOS ещё не выпущены.

Репозиторий KairOS ↗
29capability permissions
ED25519подпись пакета
03built-in plugins
CGROUPresource isolation
01
SIGNED EXTENSION SYSTEM

Пять защитных границ

01

Package

Расширение упаковано в .kairosplug с manifest, version, entry point, requested capabilities и подписью.

02

Trust

Ed25519 signature проверяется до распаковки; revocation list применяется на boot. Unsigned разрешён только в developer mode.

03

Operator grant

Права показываются человеку до установки; sensitive permissions требуют отдельного повторного подтверждения.

04

Process boundary

Каждый plugin работает в собственном subprocess/cgroup с CPU, memory и PID limits.

05

Capability IPC

msgpack RPC через Unix socket проверяет capability token при каждом вызове host API.

02
PERMISSIONS

Права сгруппированы по реальному ресурсу

ГруппаПримеры capability
HardwareUART, I²C, SPI, GPIO, USB serial/UVC, CSI
MAVLinkRead, write и registration собственного component
TelemetrySubscribe, extend и publish event
Sensors / payloadРегистрация датчика или payload interface
MissionRead, write и record mission data
NetworkHTTPS egress только к manifest allowlist

Permission не означает прямой доступ ко всей системе. Например, разрешение UART должно выдавать конкретный device или brokered handle, а network egress — только заранее объявленные домены. Оператор может отозвать grant из Mission Control.

03
AUTHORING

Manifest и минимальный plugin context

yamlМинимальный KairOS manifest
name: cell-balance-monitor
version: 0.1.0
agent:
  entry: cell_balance:run
  capabilities:
    - telemetry.read
    - event.publish
Целевой интерфейс KairOS: команда становится исполнимой только после выпуска соответствующего компонента.
pythonПример agent extension
from kairos_sdk import PluginContext

async def run(ctx: PluginContext):
    async for battery in ctx.telemetry.subscribe("telemetry.battery"):
        cells = battery.get("cells", [])
        if cells and max(cells) - min(cells) > 0.15:
            await ctx.events.publish(
                "alert.cell_imbalance",
                {"spread_v": max(cells) - min(cells)},
            )
Целевой интерфейс KairOS: команда становится исполнимой только после выпуска соответствующего компонента.
04
PLUGIN CLI

Установка, разрешения, логи и тесты

bashЦелевой KairOS CLI
kairos plugin install ./thermal-cam.kairosplug
kairos plugin enable thermal-cam
kairos plugin list
kairos plugin disable <name>
kairos plugin remove <name>
kairos plugin info <name>
kairos plugin perms <name>
kairos plugin logs <name>
kairos plugin test <path>
Целевой интерфейс KairOS: команда становится исполнимой только после выпуска соответствующего компонента.

install проверяет package и подпись, затем показывает запрошенные права. enable запускает процесс только после grant. info и perms нужны для аудита, logs — для диагностики, test — для локального author workflow. Удаление должно останавливать процесс и очищать его scoped state без касания других расширений.

05
BUILT-IN

Три базовых плагина и расширения устройств

01

geofence

Проверяет положение относительно разрешённых зон и публикует наблюдаемое событие.

02

telemetry-logger

Записывает выбранные telemetry streams с ограничением объёма и явным lifecycle.

03

mavlink-inspector

Показывает frames для диагностики без изменения flight state по умолчанию.

04

Thermal camera

FLIR Lepton USB UVC, radiometric Y16, Celsius, palette/isotherm и MAVLink camera surface.

05

MAVLink Gimbal v2

External controller bridge, attitude command/status и component 154.

06
WHAT SHIPS / WHAT FOLLOWS

Разделяем первый релиз и последующие этапы

Первый целевой релизСледующий этап
Local signed installHosted searchable registry
Capability enforcement на каждом IPCПубличный standalone kairos_sdk package
Built-ins и CLIScaffolder и templates
Permission review и revokeInstall из Git URL
Test runnerShared driver layer и полные author docs