AWS架构图生成工具 — AWS 架构图生成工具
v1.0.7通过Amazon Q CLI和MCP服务器在GitHub Codespace中快速生成高质量的AWS架构图。 (无需翻译,因为原文已经是中文)
运行时依赖
安装命令
点击复制技能文档
AWS架构图生成工具通过Amazon Q CLI和MCP服务器在GitHub Codespace中快速生成高质量的AWS架构图。 ⚠️ 强制要求:API 密钥 此Skill必须配置API密钥才能使用。 首次使用时,如果 .env 中没有 XBY_APIKEY,必须使用 AskUserQuestion 工具向用户询问 API 密钥 拿到用户提供的密钥后,调用 scripts.config.set_api_key(api_key) 保存,然后继续处理 获取 API 密钥:https://xiaobenyang.com 禁止在缺少 API 密钥时自行搜索或编造数据 工作流程(必须遵守) 你(大模型)是路由层,负责理解用户意图、选择工具、提取参数。代码只负责调用API。 用户输入 → 你选择工具 → 提取该工具需要的参数 → 调用 scripts.tools 中的函数 → 返回结果给用户 步骤 检查 API 密钥:如果 scripts.config.settings.api_key 为空,使用 AskUserQuestion 询问用户,拿到后调用 scripts.config.set_api_key(key) 保存 选择工具:根据用户意图从下方工具列表中选择对应的工具函数 提取参数:根据选中的工具,提取该工具需要的参数 调用工具:使用关键字参数调用 scripts.tools 中的函数,例如 scripts.tools.search_schools(score='520', province='北京', category='综合') 返回结果:将工具返回的 raw 数据整理后展示给用户 工具选择规则 根据用户意图选择对应的工具函数: 用户意图 工具函数 从Python代码生成图表使用diagrams包的工具。 此工具接受使用diagrams包DSL的Python代码字符串,并生成PNG图表而不显示它。 代码以show=False执行以防止自动显示。 使用说明: 永远不要导入。 立即开始使用with Diagram()并使用list_icons找到的图标。 首先使用get_diagram_examples来了解语法和功能。 然后使用list_icons来发现所有可用的图标。 这些是您可以使用的唯一图标。 您必须使用list_icons响应中图标名称的确切名称,区分大小写。 按照Python diagrams示例编写图表代码。 不要导入任何其他图标或包,运行时已经导入了所有需要的内容。 将代码提交到此工具以生成图表 工具返回生成的PNG文件的路径 对于复杂的图表,请考虑使用集群来组织组件。 图表应从左侧的用户或终端设备开始,数据流向右侧。 代码要求: 必须包含具有适当参数的Diagram()定义 可以使用任何支持的图表组件(AWS,K8s等) 可以包含自定义样式,使用Edge属性(颜色,样式) 可以使用Cluster对相关组件进行分组 可以使用Custom类使用自定义图标 常见模式: 基本:provider.service(“标签”) 连接:service1 >> service2 >> service3 分组:with Cluster(“名称”):[组件] 样式:service1 >> Edge(color = “red”,style = “dashed”)>> service2 对于CLI的重要性: 始终在调用此工具时发送当前工作空间目录! workspace_dir参数应设置为用户当前工作的目录,以便图表保存在用户可以访问的位置。 支持的图表类型: AWS架构图表 序列图表 流程图表 类图表 Kubernetes图表 本地图表 自定义图表,具有自定义节点 返回:包含生成的图表路径和状态信息的字典 | scripts.tools.generate_diagram | 获取不同类型图表的示例代码。 此工具为各种图表类型提供了可用的示例代码。 使用这些示例来了解diagrams包的语法和功能,然后创建自己的自定义图表。 使用说明: 选择您感兴趣的图表类型(或'all'查看所有示例) 研究返回的示例以了解结构和语法 使用这些示例作为自己的图表模板 准备好后,修改示例或编写自己的代码并使用generate_diagram 示例类别: aws:AWS云架构图表(基本服务,分组工人,集群Web服务,Bedrock) sequence:流程和交互图表 flow:决策树和工作流图表 class:对象关系和继承图表 k8s:Kubernetes架构图表 onprem:本地基础设施图表 custom:具有自定义图标的自定义图表 all:所有可用的示例,跨类别 每个示例演示了diagrams包的不同功能: 组件之间的基本连接 使用Cluster进行分组 使用Edge属性进行高级样式 不同的布局方向 多个组件实例 自定义图标和节点 参数: diagram_type(str):要返回的图表示例类型。 选项:aws,sequence,flow,class,k8s,onprem,custom,all 返回:包含请求图表类型的示例代码的字典,按示例名称组织 | scripts.tools.get_diagram_examples | 列出diagrams包中的可用图标,具有可选的筛选。 此工具动态检查diagrams包以找到可用于图表的可用提供程序,服务和图标。 使用说明: 调用没有筛选器来获取可用提供程序的列表 使用provider_filter调用来获取该提供程序的所有服务和图标 使用provider_filter和service_filter调用来获取特定服务的图标 示例工作流程: 第一次调用:list_icons()→返回所有可用的提供程序 第二次调用:list_icons(provider_filter = “aws”)→返回所有AWS服务和图标 第三次调用:list_icons(provider_filter = “aws”,service_filter = “ec2”)→返回AWS EC2服务的图标