无人机合规判定器 / Drone Class & Ops Checker
uas-ops-checker v1.0.0 · LGD-Powered 家族 · 零依赖 · 确定性输出(JSON IR)· 条款锚点 · rc=0/1/2
痛点
买无人机/开无人机公司,最怕的不是飞不好,而是不知道自己属于哪一类、要办哪些手续——微型和轻型差一个"速度超过 40km/h"就换一套义务;249g 的航拍机常被误当"微型",实际按条例是轻型;中/大型无人机在非管制空域也要申请飞行(很多人不知道"适飞空域"只属于微/轻/小)。问通用 AI 得到的常常是"仅供参考"的泛泛而谈,注册资料被退回、飞行被拦下才知道条款搞错了。
能力边界
- ✅ 按《无人驾驶航空器飞行管理暂行条例》(国务院/中央军委令第 761 号)§62 六类定义做确定性分类(微型/轻型/小型/中型/大型/农用)
- ✅ 按 §8/§10/§11/§12/§16/§17/§19/§24/§26/§31 输出全量义务清单:实名登记、操控员执照、适飞/管制空域、飞行申请、适航、运营合格证、责任保险、运行识别、行为能力限制
- ✅ 输出逐条带条款锚点,JSON IR 机器可读,可直接入档
- ❌ 不查询实时空域划设(管制/适飞请以 UOM 平台 uom.caac.gov.cn 空域图为准,
--ctrl-zone需人工确认) - ❌ 不做飞行计划申报、不代办公证登记——输出义务清单与差缺项,手续仍走官方渠道
- ❌ 不覆盖军用/警用/海关无人机与跨境飞行(§35 涉外测绘等另有限制);改装后按改装后类别管理(§14)
- ⚠️ 面向 AI:确定性判定结果可复核、可留档;涉及处罚风险的具体个案建议咨询主管部门或执业律师
用法
# 一键判定:报参数 → 得到机型 + 全套义务(JSON IR)
python scripts/uas_ops_checker.py --empty-wt 0.249 --mto-wt 0.249 \
--max-speed 57 --purpose entertainment --ctrl-zone no
# 单位/经营性场景(义务集不同:运营合格证/强制保险会变化)
python scripts/uas_ops_checker.py --empty-wt 8 --mto-wt 20 --max-speed 60 \
--purpose commercial --org-unit yes --licensed yes --ctrl-zone no
# 内置真机示例(4 案例)
python scripts/uas_ops_checker.py --demo
参数速查:--empty-wt 空机重量(kg) · --mto-wt 最大起飞重量(kg) · --max-speed 最大平飞速度(km/h) · --max-alt 最大真高(m) · --radio-micropower yes|no|unknown 无线电微功率 · --keep-capable yes|no|unknown 空域保持/被监视能力 · --agri-scene yes|no 农用作业 · --agri-conventional yes|no 常规农用作业 · --purpose entertainment|commercial · --org-unit yes|no 是否单位主体 · --pilot-age 年龄 · --licensed yes|no · --agri-cert yes|no · --ctrl-zone yes|no 是否管制空域(必填)
python scripts/uas_ops_checker.py --help # 全参数说明
输出示例(真机)
$ python scripts/uas_ops_checker.py --empty-wt 8 --mto-wt 20 --max-speed 60 \
--purpose entertainment --licensed no --ctrl-zone no --org-unit no
{
"tool": "uas-ops-checker", "version": "1.0.0",
"regulation": "《无人驾驶航空器飞行管理暂行条例》(国务院/中央军委令第761号, 2024-01-01施行)",
"class": {"result": "small", "name": "小型无人驾驶航空器",
"basis": "条例§62(四)", "confidence": "high"},
"obligations": [
{"item": "实名登记", "required": true, "channel": "UOM平台(uom.caac.gov.cn)", "basis": "条例§10",
"extra": "全机型一律登记;产品识别码=§9(生产者侧);罚则§47"},
{"item": "操控员执照", "required": true, "channel": "民航局执照考试", "basis": "条例§16",
"extra": "完全民事行为能力+安全操控培训考核合格;无照飞行罚则见§50"},
{"item": "适航要求", "required": true, "channel": "产品质量法规+强制性国标", "basis": "条例§8"},
{"item": "责任保险", "required": true, "channel": "依法投保", "basis": "条例§12",
"extra": "小型及以上非经营性飞行强制投保"},
{"item": "运行识别", "required": true, "channel": "平台报送+广播式发送", "basis": "条例§24"},
{"item": "飞行活动申请", "required": false, "channel": "适飞空域免申请", "basis": "条例§31(一)",
"extra": "微/轻/小在适飞空域(管制空域以外)内飞行无需申请"}
],
"gaps": [
"未持操控员执照而运行小型及以上机型属无照飞行(§16),先取得执照再飞行"
],
"rc": 1
}
退出码与错误码
| rc | 含义 | 错误码(常量) | 触发场景 |
|---|---|---|---|
| 0 | 判定成功,无差缺 | — | 全参数齐备且无待补义务 |
| 1 | 判定成功但需关注 | UAS_E_CLASS_AMBIGUOUS |
分类要素缺失(如无线电微功率/被监视能力未知)→ 低置信附条件归类;或有差缺项(如无执照) |
| 2 | 输入错误 | UAS_E_INPUT_MISSING |
缺必填参数(--empty-wt/--mto-wt/--max-speed/--ctrl-zone) |
| 2 | 输入错误 | UAS_E_PARAM_CONFLICT |
空机重量>最大起飞重量、负值等自相矛盾 |
| 2 | 输入错误 | UAS_E_OUT_OF_RANGE |
数值超民用无人机物理界(单位用错 kg/km/h 时常见) |
| 1 | 不适用场景 | UAS_E_UNSUPPORTED |
军用/警用/跨境等非民用判定范围(提示不判定) |
反模式 FAQ
Q1: 我的无人机 249g,应该算"微型"吧?
不是。微型须同时满足 4 条:空机<0.25kg 且真高≤50m 且速度≤40km/h 且无线电微功率。主流 249g 航拍机速度通常 >40km/h、图传非微功率 → 按条例 §62 实际是轻型。重量只是第一道筛子。用 --max-speed 如实填报,工具会自动走对通道。
Q2: 我在郊区飞着玩(非管制空域),是不是什么都不用办?
不是。实名登记(§10)是全机型义务,先办;微型/轻型个人娱乐非经营性可不投保(§12 不强制);只有"微/轻/小在适飞空域内飞行免飞行申请"(§31)——每次飞行前仍建议查 UOM 空域图确认没进临时管制(§20 遇大型活动会临时增划)。
Q3: 中/大型无人机在自家田地上空飞也要申请吗?
要。条例的"适飞空域"定义只覆盖微型/轻型/小型(§19 末款),中/大型没有免申请通道,所有飞行活动都需按 §26 提出申请。这也是本工具把中/大型的"飞行活动申请"恒置 required=true 的原因。
Q4: 农用植保机是不是最省事?
省在"常规作业":≤150kg 农用机在农林牧渔区域适飞空域内作业,免运营合格证(§11 末款)、免飞行申请(§31(二))、操控者免执照但须取得生产者培训的操作证书(§16 末款)。一旦飞出农区/超过 30m/半径超 2000m,就回到通用机型规则。
Q5: 问通用 AI "我的无人机要办什么" 行不行?
行,但请让它把输出和本工具的条款锚点对一遍。义务判定是"条款查表"问题——通用模型容易把微型豁免、运营合格证主体(单位 vs 个人)、适飞空域范围这类边界记串,错一次可能就是处罚(§47 罚款/§51 没收)。本工具每条义务带条号,可直接复核。
理论依据
LGD 三律(TH-META-006)在此实例化为"凡飞之物,必先有籍、有证、有门禁":实名登记=有籍(§10 全机型入册);适航与操控员执照=有证(§8/§16 能力留痕);管制空域飞行申请=有门禁(§19 未经批准不得飞行)。一架无人机从出厂识别码(§9)到每次飞行的申请批准(§26),就是 LGD 全程治理在低空经济域的完整走带——本工具把三律翻译成民用无人机的合规语言。UAS 域站位件:TH-UAS-001(低空经济全程治理)。
免责 / Disclaimer
本工具输出为规则判定参考,不构成法律意见、不替代主管部门审批。条款依据《无人驾驶航空器飞行管理暂行条例》(2024-01-01 施行),后续修订以官方文本为准;空域实时状态以 UOM 平台为准。具体个案请咨询主管部门或执业律师。AS IS,无任何明示或暗示担保(见 LICENSE.md)。
LGD-Powered 家族 · 诺卫@SynomosAI · UAS 域站位件(TH-UAS-001) · © 2026 SynomosAI
安装与使用矩阵
| 环境 | 安装/使用 | 说明 |
|---|---|---|
| Claude / Codex / Cursor / Windsurf / WorkBuddy | 仓库放入 skills/uas-ops-checker/ |
SKILL.md 自动被 Agent 读取 |
| 直接运行 | python scripts/uas_ops_checker.py --help |
Python 3.8+,零第三方依赖 |
| 智能体调用 | 按"用法"节传参,读 JSON IR | rc=0/1/2 + 错误码常量可编程处理 |