# afsim-script-generator **Repository Path**: feiniu_git/afsim-script-generator ## Basic Information - **Project Name**: afsim-script-generator - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-07 - **Last Updated**: 2026-08-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AFSIM Script Generator - Claude Code Skill # AFSIM 脚本生成器 - Claude Code 技能 [](LICENSE) [](https://github.com/lookingforfeng/afsim-script-generator) [](SKILL.md) > **Claude Code Skill for AFSIM | 专为 Claude Code 设计的 AFSIM 仿真技能** **AFSIM Script Generator** 是一个专业的 **Claude Code Skill**,用于生成和执行 **AFSIM**(Advanced Framework for Simulation, Integration and Modeling)**仿真脚本**。本项目提供完整的 **AFSIM 2.9.0** 脚本语言支持,涵盖**无人机仿真**、**平台建模**、**传感器配置**、**武器系统**、**协同作战**等场景。 --- ## 📋 项目简介 | Project Overview **AFSIM** 是美国空军研究实验室开发的**高级仿真框架**,广泛应用于军事仿真、无人机集群、传感器建模、武器系统和任务规划。本 Skill 为 Claude Code 提供: - ✅ **AFSIM 2.9.0** 完整脚本语言支持 - ✅ **WSF (World Simulation Framework)** 语法和 API - ✅ **158个 API 方法**的完整文档 - ✅ **22+种平台类型** (mover types) 参考 - ✅ **智能脚本生成**和**语法验证** - ✅ **一键仿真执行**和**结果分析** ## ✨ 功能特性 | Features ### 核心能力 - 🎯 **智能脚本生成**:基于 Claude AI 自动生成语法正确的 AFSIM/WSF 场景脚本,支持空对空、空对地、ISR等多种仿真场景 - 🚀 **一键脚本执行**:通过 mission.exe 直接运行 AFSIM 仿真,支持事件步进、实时帧步进等多种执行模式 - 🔍 **智能语法验证**:自动检测并修复 AFSIM 脚本语法错误,避免常见的单位缺失、代码块未闭合等问题 - 📚 **完整文档库**:包含 AFSIM 2.9.0 完整语言语法、158个API方法、22+种mover类型、命令参考和工作示例 - 🛠️ **Python 工具集**:提供便捷的脚本执行包装器,支持配置管理和路径自动推导 ### 仿真场景支持 - ✈️ **空战仿真**:空对空作战、BVR交战、近距格斗 - 🎯 **对地打击**:空对地攻击、精确制导、目标打击 - 🛰️ **ISR任务**:情报监视侦察、目标搜索、态势感知 - 🚁 **无人机集群**:UAV编队协同、分布式任务规划、集群智能 - 🎮 **多域作战**:空天地海多域协同、联合作战仿真 ### 技术特性 - 🔧 **WSF脚本语言**:完整支持 World Simulation Framework 脚本语法 - 📡 **传感器建模**:雷达、ESM、EOIR等多种传感器类型 - 💣 **武器系统**:空空导弹、空地导弹、炸弹、火炮等武器建模 - 🤖 **行为树**:支持复杂的AI决策和任务规划 - 📊 **数据输出**:事件日志、二进制报告、回放文件生成 ## 🚀 快速开始 | Quick Start ### 前置要求 | Prerequisites - **AFSIM 2.9.0** - Advanced Framework for Simulation, Integration and Modeling - 可安装在任意位置(通过配置文件指定) - 需要有效的 AFSIM 许可证 - **Python 3.x** - 用于运行脚本执行包装器 - **Claude Code** - Anthropic 的 AI 编程助手(可选,用于智能脚本生成) ### 安装和配置 | Installation & Configuration #### 步骤 1:获取 Skill **方式 1:从 GitHub 克隆** ```bash git clone https://github.com/lookingforfeng/afsim-script-generator.git cd afsim-script-generator ``` **方式 2:直接下载** - 下载 ZIP 文件并解压到本地目录 - 或复制整个 skill 目录到 `~/.claude/skills/` 目录 #### 步骤 2:配置 AFSIM 安装路径 编辑 `config.txt` 文件,设置你的 **AFSIM 安装目录**: ```ini # AFSIM 安装目录配置 # 修改下面的路径为你的 AFSIM 2.9.0 安装位置 AFSIM_INSTALL_DIR=D:\Program Files\afsim2.9.0 ``` **配置说明:** - ✅ 只需修改 `AFSIM_INSTALL_DIR` 这一行 - ✅ `mission.exe` 路径会自动推导为:`{AFSIM_INSTALL_DIR}/bin/mission.exe` - ✅ 文档路径会自动推导为:`{AFSIM_INSTALL_DIR}/documentation/html/docs` - ✅ 在不同电脑上使用时,只需更新这个配置即可 - ✅ 支持 Windows、Linux、macOS 路径格式 #### 步骤 3:验证配置 运行以下命令验证配置是否正确: ```bash python scripts/run_mission.py --help ``` 如果配置正确,会显示: - ✅ 帮助信息 - ✅ 当前 AFSIM 安装目录 - ✅ mission.exe 路径 - ✅ 文档目录路径 #### 步骤 4:在 Claude Code 中使用 在 **Claude Code** 中,直接描述您的 AFSIM 仿真需求,例如: ``` "帮我创建一个空对空作战的 AFSIM 脚本" ``` Claude Code 会自动加载本 Skill 并生成相应的脚本。 ### 基本使用 1. **生成脚本**:使用 AFSIM 脚本语言创建场景脚本 2. **执行脚本**:使用提供的 Python 包装器运行 ```bash python scripts/run_mission.py <脚本文件.txt> [选项] ``` **可用选项:** - `-es` - 事件步进模式(默认) - `-rt` - 实时帧步进模式 - `-fs` - 非实时帧步进模式 - `-fio` - 刷新输出 - `-sm` - 抑制消息 ## ⚠️ 关键规则(生成脚本前必读) **必须遵守以下规则,否则脚本会失败:** 1. **文件扩展名必须是 `.txt`** - 不是 `.wsf`! 2. **所有数值参数必须带单位** - 例如:`100 m/sec`、`30.0 sec`、`1000 m` 3. **所有代码块必须有结束标记** - `end_mover`、`end_platform_type`、`end_processor` 等 4. **不要使用不存在的脚本方法** - 避免 `Position()`、`Geodetic()`、`Time()` 等 5. **路由中不要使用 `loop` 命令** - 会导致语法错误 **详细错误说明和最佳实践:** 见 `references/common_mistakes.md` ## 📖 使用指南 | Usage Guide ### 1. 收集仿真需求 在生成 **AFSIM 脚本**前,需要明确以下仿真要素: #### 场景类型 - **空对空作战** (Air-to-Air Combat):BVR交战、近距格斗、多机协同 - **空对地打击** (Air-to-Ground Strike):精确打击、区域轰炸、SEAD任务 - **ISR任务** (Intelligence, Surveillance, Reconnaissance):侦察、监视、目标搜索 - **无人机集群** (UAV Swarm):编队飞行、协同作战、分布式任务 - **多域作战** (Multi-Domain Operations):空天地海联合仿真 #### 平台配置 - **有人机平台**:战斗机、轰炸机、运输机、预警机 - **无人机平台**:侦察无人机、攻击无人机、蜂群无人机 - **导弹平台**:空空导弹、空地导弹、巡航导弹 - **地面单位**:SAM系统、雷达站、指挥中心 - **卫星平台**:通信卫星、侦察卫星 #### 传感器和武器 - **传感器类型**:雷达 (Radar)、ESM、EOIR、声纳 - **武器系统**:导弹、炸弹、火炮、电子战设备 #### 任务时间线 - 仿真开始时间和持续时间 - 关键事件触发条件 - 平台航路和机动 #### 输出要求 - 事件日志 (Event Log) - 轨迹数据 (Track Data) - 传感器探测记录 - 武器交战结果 ### 2. 生成 AFSIM 脚本 使用 **AFSIM 脚本语言** (WSF Scripting Language) 创建仿真场景。本 **Skill** 提供完整的语法支持和 API 参考。 #### 基本脚本结构 ``` // AFSIM/WSF 脚本使用 // 或 /* */ 注释 // 文件扩展名必须是 .txt // 1. 平台定义 (Platform Definition) PLATFORM my_aircraft { TYPE air_vehicle // 平台类型 POSITION 0.0 0.0 10000.0 // 初始位置 (m) VELOCITY 250.0 0.0 0.0 // 初始速度 (m/s) } // 2. 传感器定义 (Sensor Definition) SENSOR my_radar { TYPE radar // 传感器类型 PARENT my_aircraft // 父平台 RANGE 100000.0 // 探测距离 (m) } // 3. 武器定义 (Weapon Definition) WEAPON my_missile { TYPE air_to_air_missile // 武器类型 PARENT my_aircraft // 父平台 QUANTITY 4 // 数量 } // 4. 仿真控制 (Simulation Control) RUN_SIMULATION { DURATION 300.0 sec // 仿真时长 // 运行时命令和事件 } ``` #### 关键语法规则 1. **文件扩展名**:必须使用 `.txt`,不是 `.wsf` 2. **单位要求**:所有数值必须带单位 (如 `100 m/sec`, `30.0 sec`, `1000 m`) 3. **代码块闭合**:所有代码块必须有结束标记 (`end_mover`, `end_platform_type` 等) 4. **脚本方法**:避免使用不存在的方法 (如 `Position()`, `Geodetic()`, `Time()`) 5. **路由命令**:不要在路由中使用 `loop` 命令 #### 完整语法参考 - **references/common_mistakes.md** - **首先阅读** - 10条关键规则和常见错误 - **references/file_structure.md** - 标准 AFSIM 脚本文件结构和模板 - **references/mover_reference.md** - 22+种 mover 类型完整参考(含所有参数) - **references/script_api_reference.md** - WsfPlatform/Sensor/Weapon/Track 完整 API(158个方法) - **references/commands_reference.md** - 完整命令语法参考 - **references/message_types_reference.md** - WsfMessage 消息系统(8种核心消息类型) - **references/sensor_types_reference.md** - 特殊传感器类型(Radar/ESM/EOIR) - **references/examples.md** - 4个完整工作示例 + 5种常用模式 ### 3. 执行 AFSIM 仿真 使用提供的 Python 包装器通过 **mission.exe** 运行仿真: ```bash python scripts/run_mission.py scenario.txt -es ``` #### 执行模式选项 - **`-es`** - 事件步进模式 (Event Stepping) - **推荐用于调试** - 按事件驱动仿真 - 适合分析事件序列 - **`-rt`** - 实时帧步进模式 (Real-Time Frame Stepping) - 实时速率执行 - 适合可视化和演示 - **`-fs`** - 非实时帧步进模式 (Fast Frame Stepping) - 最快速度执行 - 适合批量仿真 - **`-fio`** - 刷新输出 (Flush I/O) - 立即输出日志 - 适合实时监控 - **`-sm`** - 抑制消息 (Suppress Messages) - 减少控制台输出 - 适合批处理 #### 仿真输出 AFSIM 仿真会生成以下输出文件: - **事件日志** (.log) - 仿真事件序列 - **二进制报告** (.bin) - 详细仿真数据 - **回放文件** (.replay) - 可视化回放数据 - **轨迹数据** - 平台运动轨迹 - **传感器记录** - 探测和跟踪数据 - **武器交战记录** - 发射和命中数据 ### 4. 验证和迭代仿真结果 #### 检查仿真执行 - 查看 **mission.exe** 控制台输出,检查语法错误和警告 - 验证仿真是否按预期完成 - 检查事件日志中的关键事件 #### 分析仿真结果 - **轨迹分析**:验证平台运动是否符合预期 - **传感器性能**:检查探测距离、跟踪精度 - **武器效能**:分析命中率、杀伤效果 - **任务完成度**:评估任务目标达成情况 #### 脚本优化 根据仿真结果调整脚本参数: - 调整平台性能参数(速度、机动性) - 优化传感器配置(探测距离、视场角) - 修改武器参数(射程、命中率) - 改进任务规划(航路、时序) #### 常见问题排查 - **语法错误**:参考 `references/common_mistakes.md` - **执行错误**:检查 mission.exe 路径和配置 - **性能问题**:优化仿真步长和输出频率 - **结果异常**:验证物理模型和参数设置 ## 📝 常见脚本模式 | Common Script Patterns ### 平台定义 (Platform Definition) 创建一个基本的**空中平台** (Air Vehicle),用于**战斗机仿真**或**无人机仿真**: ``` PLATFORM aircraft_1 { TYPE air_vehicle // 平台类型:空中载具 POSITION 0.0 0.0 10000.0 // 初始位置 (x, y, z) 单位:米 VELOCITY 250.0 0.0 0.0 // 初始速度 (vx, vy, vz) 单位:m/s // 适用于:战斗机、轰炸机、无人机等空中平台 } ``` ### 传感器定义 (Sensor Definition) 为平台添加**雷达传感器** (Radar Sensor),用于**目标探测**和**态势感知**: ``` SENSOR radar_1 { TYPE radar // 传感器类型:雷达 PARENT aircraft_1 // 父平台:挂载在 aircraft_1 上 RANGE 100000.0 // 探测距离:100km // 适用于:空对空雷达、地面搜索雷达、火控雷达 } ``` ### 武器定义 (Weapon Definition) 为平台配置**空空导弹** (Air-to-Air Missile),用于**空战仿真**: ``` WEAPON missile_1 { TYPE air_to_air_missile // 武器类型:空空导弹 PARENT aircraft_1 // 父平台:挂载在 aircraft_1 上 QUANTITY 4 // 携带数量:4枚 // 适用于:AIM-120、AIM-9、霹雳系列等空空导弹 } ``` ### 无人机集群 (UAV Swarm) 创建**无人机编队**,用于**集群协同仿真**: ``` // 创建多个无人机平台 PLATFORM uav_1 { TYPE air_vehicle POSITION 0.0 0.0 5000.0 VELOCITY 50.0 0.0 0.0 // 无人机巡航速度 } PLATFORM uav_2 { TYPE air_vehicle POSITION 100.0 0.0 5000.0 // 编队间距 VELOCITY 50.0 0.0 0.0 } // 为每个无人机配置传感器 SENSOR uav_sensor_1 { TYPE eoir // 光电传感器 PARENT uav_1 } ``` ### 任务规划 (Mission Planning) 定义**ISR任务**的仿真控制流程: ``` RUN_SIMULATION { DURATION 3600.0 sec // 仿真时长:1小时 // 任务阶段1:起飞和爬升 AT_TIME 0.0 sec { // 初始化命令 } // 任务阶段2:巡航和搜索 AT_TIME 300.0 sec { // 搜索区域命令 } // 任务阶段3:返航 AT_TIME 3000.0 sec { // 返航命令 } } ``` ### 更多示例 完整的工作示例和高级模式,请参考: - **references/examples.md** - 4个完整 AFSIM 脚本示例 - **references/mover_reference.md** - 22+种平台类型参考 - **references/commands_reference.md** - 完整命令语法 ## 📂 项目结构 | Project Structure ``` afsim-script-generator/ # AFSIM 脚本生成器 Claude Code Skill ├── README.md # 项目说明文档(中英文) ├── SKILL.md # Claude Code Skill 描述文件(带导航索引) ├── CONFIG_README.md # 配置文件详细说明 ├── config.txt # AFSIM 安装目录配置文件 ├── LICENSE # MIT 开源许可证 │ ├── assets/ # 资源文件目录 │ ├── template.wsf # AFSIM 脚本模板 │ ├── wechat_contact.jpg # 微信联系方式二维码 │ └── wechat_reward.jpg # 微信赞赏码 │ ├── references/ # 参考文档目录(完整系统化) │ ├── common_mistakes.md # ⭐ 10条关键规则和常见错误(必读) │ ├── file_structure.md # 标准 AFSIM 脚本文件结构 │ ├── mover_reference.md # 22+种 mover 类型完整参考 │ ├── script_api_reference.md # WsfPlatform/Sensor/Weapon 完整 API(158个方法) │ ├── commands_reference.md # 完整命令语法参考 │ ├── message_types_reference.md # WsfMessage 消息系统(8种核心消息类型) │ ├── sensor_types_reference.md # 特殊传感器类型(Radar/ESM/EOIR) │ ├── examples.md # 4个完整工作示例 + 5种常用模式 │ ├── language_grammar.md # 完整脚本语言语法 │ ├── script_types.md # 数据类型和类方法 │ └── commands.md # 命令参考(按类别组织) │ └── scripts/ # 工具脚本目录 └── run_mission.py # mission.exe 执行包装器(支持配置管理) ``` ### 文档说明 #### 核心文档 - **README.md** - 项目主文档,包含安装、配置、使用指南 - **SKILL.md** - Claude Code Skill 定义,包含快速参考和导航索引 - **CONFIG_README.md** - 配置系统详细说明 #### 参考文档(references/) - **11个系统化参考文档**,涵盖 AFSIM 脚本语言的所有方面 - 从基础语法到高级 API,从常见错误到完整示例 - 支持快速查找和深度学习 #### 工具脚本(scripts/) - **run_mission.py** - Python 包装器,简化 mission.exe 调用 - 支持配置文件管理、路径自动推导、多种执行模式 ## 🔧 故障排除 | Troubleshooting ### AFSIM 脚本语法错误 **常见问题:** - ❌ 文件扩展名错误(使用了 `.wsf` 而不是 `.txt`) - ❌ 数值缺少单位(如 `100` 而不是 `100 m/sec`) - ❌ 代码块未闭合(缺少 `end_mover`、`end_platform_type` 等) - ❌ 使用了不存在的脚本方法(如 `Position()`、`Geodetic()`) - ❌ 路由中使用了 `loop` 命令 **解决方案:** - 📖 查看 `references/common_mistakes.md` - 10条关键规则 - 📖 参考 `references/language_grammar.md` - 完整语法规则 - 📖 检查 `references/commands_reference.md` - 命令语法 - 📖 查看 `references/examples.md` - 工作示例 ### mission.exe 执行错误 **常见问题:** - ❌ mission.exe 路径不正确 - ❌ AFSIM 安装目录配置错误 - ❌ 文件权限不足 - ❌ 缺少必需的 AFSIM 组件 **解决方案:** - ✅ 检查 `config.txt` 中的 `AFSIM_INSTALL_DIR` 配置 - ✅ 验证 mission.exe 是否存在:`{AFSIM_INSTALL_DIR}/bin/mission.exe` - ✅ 确保有执行权限(Windows: 右键→属性→安全) - ✅ 运行 `python scripts/run_mission.py --help` 验证配置 ### 仿真输出问题 **常见问题:** - ❌ 没有生成输出文件 - ❌ 输出目录不存在 - ❌ 日志文件为空 - ❌ 仿真结果异常 **解决方案:** - ✅ 检查仿真日志文件(.log) - ✅ 验证输出目录存在且有写权限 - ✅ 查看 mission.exe 控制台输出 - ✅ 使用 `-fio` 选项刷新输出 - ✅ 检查仿真时长和事件设置 ### Claude Code Skill 未激活 **常见问题:** - ❌ Skill 未正确安装 - ❌ SKILL.md 文件缺失或损坏 - ❌ Claude Code 未识别 AFSIM 关键词 **解决方案:** - ✅ 确保 skill 目录在 `~/.claude/skills/` 下 - ✅ 验证 SKILL.md 文件存在且完整 - ✅ 在提示词中明确提到 "AFSIM"、"WSF"、"仿真脚本" 等关键词 - ✅ 重启 Claude Code ### 性能和优化问题 **常见问题:** - ❌ 仿真运行缓慢 - ❌ 内存占用过高 - ❌ 输出文件过大 **解决方案:** - ✅ 使用 `-fs` 模式(非实时帧步进)加快仿真 - ✅ 减少输出频率和详细程度 - ✅ 优化仿真步长设置 - ✅ 使用 `-sm` 选项抑制不必要的消息 ## 📚 参考文档 详细文档位于 `references/` 目录(已系统化完善): ### 核心参考文档(新增/更新) - **references/common_mistakes.md** - **从这里开始** - 10条关键规则,避免常见错误 - **references/file_structure.md** - **新增** - 标准AFSIM脚本文件结构和模板 - **references/mover_reference.md** - **新增** - 22+种mover类型完整参考(含所有参数) - **references/script_api_reference.md** - **新增** - WsfPlatform/Sensor/Weapon/Track完整API(158个方法) - **references/commands_reference.md** - **新增** - 完整命令语法参考(platform/route/sensor/weapon/processor) - **references/message_types_reference.md** - **新增** - WsfMessage消息系统完整参考(8种核心消息类型) - **references/sensor_types_reference.md** - **新增** - 特殊传感器类型参数(Radar/ESM/EOIR) - **references/examples.md** - **重写** - 4个完整工作示例+5种常用模式 ### 保留的参考文档 - **references/language_grammar.md** - 完整的脚本语言语法和语法规则 - **references/script_types.md** - 所有可用的数据类型、类及其方法 - **references/commands.md** - 按类别组织的综合命令参考 ## 💡 注意事项 - **AFSIM 脚本使用 `.txt` 扩展名** - 不是 `.wsf`! - **所有数值参数都需要单位** - 例如:`100 m/sec`、`30.0 sec` - 脚本是基于文本的,人类可读 - **配置文件** - `config.txt` 中设置AFSIM安装目录 - **mission.exe 位置** - 从配置文件自动推导:`{AFSIM_INSTALL_DIR}/bin/mission.exe` - **文档目录** - 从配置文件自动推导:`{AFSIM_INSTALL_DIR}/documentation/html/docs` - 输出包括事件日志、二进制报告和回放文件 ## 📂 文档层次结构 本skill提供三层文档支持: ### 1. SKILL.md - 快速参考(首选) - 快速导航索引 - 关键规则和最佳实践 - 各参考文档的摘要 - **使用场景**:日常脚本编写,快速查找 ### 2. references/ - 详细参考(常用) - 11个系统化参考文档 - 完整的API、命令、示例 - **使用场景**:需要详细信息时 ### 3. {AFSIM_INSTALL_DIR}/documentation/ - 终极参考(备用) - 1602个官方HTML文档 - 最权威、最详细的信息 - **使用场景**: - 需要确认非常具体的细节 - 查找罕见参数或选项 - 验证边缘情况 - skill文档未覆盖的内容 **建议使用顺序**:SKILL.md → references/ → documentation/ --- **注意:** 本项目需要AFSIM 2.9.0。如果您的安装路径不同,请修改 `config.txt` 中的 `AFSIM_INSTALL_DIR` 配置。 ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📄 许可证 本项目采用 MIT 许可证 - 详见 LICENSE 文件 ## 🔗 相关链接 - [AFSIM 官方网站](https://github.com/afsim/afsim) - [项目仓库](https://github.com/lookingforfeng/afsim-script-generator) --- ## 👨💻 关于作者 我是**冯zhangwei**,来自四川成都,致力于研究**无人机大规模异构协同智能化及仿真相关技术**。 ### 研究方向 - 🚁 无人机集群协同 - 🤖 异构系统智能化 - 🎮 仿真技术与建模 - 📊 AFSIM仿真应用 ### 联系方式 欢迎交流讨论!可以通过以下方式联系我:
*扫码添加微信,一起交流无人机仿真技术*
*ps:最近发现新手不学习,无脑问,什么这是个什么库?这个插件怎么用?什么是claude code?这种问题,既然都用大模型了,请自己问大模型哈。公益项目,微信可以加,问题选择性回答,工作比较忙,望理解*
---
#### 支持我的工作
如果这个项目对你有帮助,欢迎请我喝杯咖啡!☕
*感谢你的支持!*