aliyun-planner
SKILL.md
Aliyun Planner
Aliyun Planner 将用户的自然语言查询转换为标准化的 Aliyun CLI 执行计划。它通过意图分类、实体抽取、关系识别和API映射四个步骤,输出可执行的 JSON 格式 CLI 命令序列。
工作流程
Step 1: 意图分类
读取 意图分类词典库.md,分析用户查询确定:
- primary_intent: 主意图(SIMPLE_QUERY, ASSOCIATION_QUERY, COMPOUND_QUERY, DIAGNOSTIC_QUERY, COMPARISON_QUERY, OPERATIONAL_QUERY)
- sub_intent: 子意图(如 SIMPLE_INSTANCE, ASSOC_HIERARCHY 等)
- complexity: 复杂度等级(L1-L5)
- business_scenario: 业务场景
- confidence: 置信度
如用户信息模糊,可进一步询问澄清。
Step 2: 实体抽取
读取 实体知识库.md,识别云资源实体:
- primary_entity: 主查询目标资源
- target_entities: 其他相关资源
- ambiguous_entities: 模糊实体候选(需澄清)
- filters: 过滤条件(状态、标签等)
Step 3: 关系识别
读取 关系知识库.md,建立资源关联:
- relations: 显式关系列表
- relationship_path: 关系链条
- join_conditions: API关联键
- inferred_relations: 隐含关系
Step 4: 执行计划生成
读取 API操作映射库.md,生成 CLI 命令:
- execution_strategy: 执行策略(SEQUENTIAL, PARALLEL, CACHE_FIRST)
- cli_commands: CLI命令列表(含command、parameters、depends_on、output_processing)
- command: 命令数组格式,如
["ecs", "DescribeInstances"](不包含 "aliyun" 前缀) - tid: 任务ID,从 0 开始顺序分配
- command: 命令数组格式,如
- data_flow: 数据流转关系
- estimated_time: 预估时间
- prerequisites: 前提条件
Step 5: 输出校验
使用 scripts/validate_json.py 对输出 JSON 进行 Pydantic 验证:
- 验证内容: JSON 结构完整性、字段类型、必填字段、数值范围
- 验证失败处理: 如果验证失败,返回 Step 4 重新生成执行计划
- 循环机制: 持续验证直到输出符合规范,确保最终输出为正确格式的 JSON
运行验证:
python3 scripts/validate_json.py your_output.json
或作为库使用:
from validate_json import validate_json_output
is_valid, message = validate_json_output(your_json_dict)
输出格式
仅输出 JSON 格式,包含以下结构:
{
"intent_core": {
"primary_intent": "ASSOCIATION_QUERY",
"sub_intent": "ASSOC_HIERARCHICAL",
"complexity": "L3",
"business_scenario": "生产部署",
"confidence": 0.88
},
"entities": {
"primary_entity": {
"service": "rds",
"resource_type": "instance",
"identifier_type": "tag",
"identifier_value": "role:master",
"original_expression": "生产数据库集群"
}
},
"relationships": {
"relations": [
{
"type": "PART_OF_CLUSTER",
"source": "master_instance",
"target": "readonly_instances"
}
],
"relationship_path": ["RDS主实例", "RDS只读实例"]
},
"execution": {
"execution_strategy": "SEQUENTIAL",
"cli_commands": [
{
"command": ["rds", "DescribeDBInstances"],
"parameters": {
"RegionId": "cn-hangzhou",
"Tags": "[{\"key\":\"env\", \"value\":\"prod\"}]"
},
"tid": 0
},
{
"command": ["rds", "DescribeDBInstanceAttribute"],
"parameters": {
"DBInstanceId": "$.DBInstances.DBInstance[0].DBInstanceId"
},
"tid": 1,
"depends_on": [0],
"output_processing": "jq '.Items.DBInstanceAttribute[] | select(.Role == \"ReadOnly\")'"
}
]
}
}
常见查询示例
| 用户查询 | 主意图 | 子意图 |
|---|---|---|
| "我的ECS实例有哪些" | SIMPLE_QUERY | SIMPLE_INSTANCE |
| "ECS i-123挂载了哪些磁盘" | ASSOCIATION_QUERY | ASSOC_DIRECT |
| "VPC vpc-xxx下的所有资源" | ASSOCIATION_QUERY | ASSOC_HIERARCHY |
| "生产环境所有数据库" | COMPOUND_QUERY | COMPOUND_CONDITIONAL |
| "检查安全组是否安全" | DIAGNOSTIC_QUERY | DIAG_SECURITY |
| "对比生产和测试环境" | COMPARISON_QUERY | COMPARE_CONFIG |
支持的阿里云服务
- 计算: ECS, FC, ACK
- 数据库: RDS, Redis, MongoDB, PolarDB
- 网络: VPC, VSwitch, EIP, SLB, ALB
- 存储: OSS, NAS
- 消息: RocketMQ, Kafka
- 监控: SLS, CMS
- 安全: WAF, DDoS
- 其他: DNS, CDN
完整服务列表详见 实体知识库.md。
执行策略选择
- SEQUENTIAL: 存在依赖关系,需顺序执行
- PARALLEL: 无依赖的独立查询,可并行
- CACHE_FIRST: 重复查询相同资源,优先使用缓存
- BATCH: 大量资源查询,分页处理
Weekly Installs
2
Repository
go-restream/aliyun-askGitHub Stars
2
First Seen
Jan 25, 2026
Security Audits
Installed on
claude-code2
windsurf1
opencode1
codex1
antigravity1
gemini-cli1