KairOS / DRONE AGENT / 06
签名软件包获得有限的硬件、MAVLink、遥测、任务和网络能力权限,在独立进程中运行,通过可验证 IPC 与主机通信。扩展故障不应中断飞行关键服务。
29能力权限
ED25519软件包签名
03内置插件
CGROUP资源隔离
本页内容 +
01
签名扩展系统
五道保护边界
软件包
扩展打包为 .kairosplug,包含清单、版本、入口、请求的能力和签名。
信任
解包前验证 Ed25519 签名;启动时应用撤销列表。仅在开发者模式允许未签名包。
操作员授权
安装前向用户显示权限;敏感权限需要单独再次确认。
进程边界
每个插件在独立子进程/cgroup 中运行,限制 CPU、内存和 PID。
能力 IPC
通过 Unix 套接字传输的 msgpack RPC 在每次主机 API 调用时验证能力令牌。
02
权限
按实际资源分组权限
| 分组 | 能力示例 |
|---|---|
| 硬件 | UART、I²C、SPI、GPIO、USB 串口/UVC、CSI |
| MAVLink | 读取、写入和注册自有组件 |
| 遥测 | 订阅、扩展和发布事件 |
| 传感器/载荷 | 注册传感器或载荷接口 |
| 任务 | 读取、写入和记录任务数据 |
| 网络 | HTTPS 出站仅允许访问清单许可列表 |
权限不意味着可以直接访问整个系统。例如 UART 权限应仅授予特定设备或经代理的句柄,网络出站仅允许预先声明的域名。操作员可在 Mission Control 中撤销授权。
03
开发扩展
清单与最小插件上下文
yaml最小 KairOS 清单
name: cell-balance-monitor
version: 0.1.0
agent:
entry: cell_balance:run
capabilities:
- telemetry.read
- event.publishKairOS 目标接口:只有相应组件发布后,命令才可执行。
python代理扩展示例
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
插件 CLI
安装、权限、日志和测试
bashKairOS 目标 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 验证软件包和签名,然后显示请求权限。enable 仅在授权后启动进程。info 和 perms 用于审计,logs 用于诊断,test 用于本地开发流程。卸载应停止进程并清理其限定范围状态,不影响其他扩展。
05
内置
三个基础插件与设备扩展
geofence
检查位置是否位于允许区域内,并发布可观测事件。
telemetry-logger
记录所选遥测流,具有容量限制和明确生命周期。
mavlink-inspector
显示用于诊断的数据帧,默认不改变飞行状态。
热成像相机
FLIR Lepton USB UVC、辐射测温 Y16、摄氏度、调色板/等温线和 MAVLink 相机接口。
MAVLink Gimbal v2
外部控制器桥接、姿态指令/状态和组件 154。
06
首发内容与后续计划
区分首个版本与后续阶段
| 首个目标版本 | 下一阶段 |
|---|---|
| 本地签名安装 | 托管可搜索注册表 |
| 每次 IPC 均强制执行能力权限 | 公开独立 kairos_sdk 软件包 |
| 内置插件与 CLI | 脚手架与模板 |
| 权限审查与撤销 | 从 Git URL 安装 |
| 测试运行器 | 共享驱动层与完整开发文档 |