Skip to content

maoweiming/afsimskills

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AFSIM Script Generator - Claude Code Skill

AFSIM 脚本生成器 - Claude Code 技能

License AFSIM Version Claude Code Skill

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 克隆

git clone https://github.com/lookingforfeng/afsim-script-generator.git
cd afsim-script-generator

方式 2:直接下载

  • 下载 ZIP 文件并解压到本地目录
  • 或复制整个 skill 目录到 ~/.claude/skills/ 目录

步骤 2:配置 AFSIM 安装路径

编辑 config.txt 文件,设置你的 AFSIM 安装目录

# 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:验证配置

运行以下命令验证配置是否正确:

python scripts/run_mission.py --help

如果配置正确,会显示:

  • ✅ 帮助信息
  • ✅ 当前 AFSIM 安装目录
  • ✅ mission.exe 路径
  • ✅ 文档目录路径

步骤 4:在 Claude Code 中使用

Claude Code 中,直接描述您的 AFSIM 仿真需求,例如:

"帮我创建一个空对空作战的 AFSIM 脚本"

Claude Code 会自动加载本 Skill 并生成相应的脚本。

基本使用

  1. 生成脚本:使用 AFSIM 脚本语言创建场景脚本
  2. 执行脚本:使用提供的 Python 包装器运行
python scripts/run_mission.py <脚本文件.txt> [选项]

可用选项:

  • -es - 事件步进模式(默认)
  • -rt - 实时帧步进模式
  • -fs - 非实时帧步进模式
  • -fio - 刷新输出
  • -sm - 抑制消息

⚠️ 关键规则(生成脚本前必读)

必须遵守以下规则,否则脚本会失败:

  1. 文件扩展名必须是 .txt - 不是 .wsf
  2. 所有数值参数必须带单位 - 例如:100 m/sec30.0 sec1000 m
  3. 所有代码块必须有结束标记 - end_moverend_platform_typeend_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 运行仿真:

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_moverend_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/sec30.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 文件

🔗 相关链接


👨‍💻 关于作者

我是冯zhangwei,来自四川成都,致力于研究无人机大规模异构协同智能化及仿真相关技术

研究方向

  • 🚁 无人机集群协同
  • 🤖 异构系统智能化
  • 🎮 仿真技术与建模
  • 📊 AFSIM仿真应用

联系方式

欢迎交流讨论!可以通过以下方式联系我:

添加微信好友

微信联系方式

扫码添加微信,一起交流无人机仿真技术 ps:最近发现新手不学习,无脑问,什么这是个什么库?这个插件怎么用?什么是claude code?这种问题,既然都用大模型了,请自己问大模型哈。公益项目,微信可以加,问题选择性回答,工作比较忙,望理解


支持我的工作

如果这个项目对你有帮助,欢迎请我喝杯咖啡!☕

微信赞赏码

感谢你的支持!


⭐ 如果觉得这个项目有用,请给个Star支持一下!⭐

Made with ❤️ by 冯zhangwei

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages