TUI 交互式启动

fastsim_tui 是基于 Textual 构建的终端交互界面(TUI),采用 lazygit 风格的双面板布局,提供与 fastsim 命令行完全相同的功能,以可视化的方式浏览和执行命令。

bash
fastsim_tui

界面布局

TUI 启动后分为两个主要区域:

  • 左侧面板:命令列表,按分组(Simulation / Config Tools / Recording / Registry)排列,使用方向键浏览,Enter 执行
  • 右侧面板:终端输出区域 + 底部状态栏,显示命令的实时输出和仿真状态

底部状态栏显示当前焦点位置、运行状态和可用快捷键提示。

命令分组

分组包含命令说明
Simulationlaunch_simulation仿真启动(子进程模式)
Config Toolsvalidate_configurationshow_configdiff_configinspect_sceneinspect_taskinspect_extension配置校验与检查
Recordinginspect_recordingplot_trajectory录制数据分析
Registryshow_registeryshow_stereotype_paramsshow_static_api注册表与 API 查看

命令执行流程

  1. 选择命令:在左侧面板用 / 导航到目标命令
  2. 按 Enter:弹出参数输入弹窗(Modal)
  3. 填写参数:文本输入框填写路径等参数,Toggle 开关控制布尔选项
  4. 确认执行:按 Enter 或点击 Run 执行;按 Esc 取消
  5. 查看输出:右侧面板实时显示输出结果

对于需要确认的命令(如 launch_simulation),会先弹出确认对话框。

两种执行模式

TUI 内部区分两种执行方式:

  • 函数调用(function):在 TUI 进程内同步执行,输出重定向到右侧面板。适合轻量操作(校验、查看配置等)。
  • 子进程(process):以独立子进程启动,stdout 实时流入右侧面板。launch_simulation 使用此模式,避免仿真进程阻塞 TUI 界面。

同一时刻只能运行一个子进程。

状态监控

launch_simulation--monitor yes 模式运行时,TUI 会实时解析仿真进程输出的状态信息,在底部状态栏显示:

  • 当前仿真步数和时间步长
  • 运行状态(Running / Stopped / Error)

命令过滤

/ 键进入搜索模式,输入关键词过滤命令列表。按 Esc 清除过滤并返回完整列表。

也可以使用 Textual 内置的命令面板(Command Palette)快速定位命令。

快捷键

快捷键功能
/ 在命令列表中移动
Enter执行选中的命令
Tab在左右面板之间切换焦点
/过滤命令(搜索模式)
Esc清除过滤 / 取消弹窗
Ctrl+X终止正在运行的子进程
Ctrl+L清空输出面板
Ctrl+S将输出保存到文件
?显示帮助弹窗
Ctrl+C退出 TUI

典型使用流程

  1. 执行 fastsim_tui 启动界面
  2. 选择 validate_configuration,输入配置文件路径,确认校验结果
  3. 选择 inspect_scene 查看场景实体详情
  4. 选择 launch_simulation,输入配置路径,确认后启动仿真
  5. 仿真运行中,在输出面板查看实时日志和状态
  6. 如需终止仿真,按 Ctrl+X
  7. 仿真结束后选择 inspect_recording 检查录制数据