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 开始顺序分配
  • 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
GitHub Stars
2
First Seen
Jan 25, 2026
Installed on
claude-code2
windsurf1
opencode1
codex1
antigravity1
gemini-cli1