micBT — 行为树编辑器(Behavior Tree Editor)

用于 BehaviorTree.CPP v3.8 / v4 XML 文件的可视化图形编辑器。支持在 VS Code 中使用。
功能截图

图形编辑:画布 + 属性检查器,图形 ↔ XML 双向同步
智能助手与推演分析:行为树生成 + 静态推演

运行调试:实时节点状态着色、断点命中动画
功能特性
图形编辑(Graph Editing)
- 交互式行为树图形(缩放、平移、节点检查器)
- 双向 XML 同步 — 图形中的编辑会同步更新 XML 文件
- 双格式支持:自动检测 v3.8 / v4(
BTCPP_format="4")
- Include 解析:相对路径、绝对路径、ROS
ros_pkg
- 可选的 v3 → v4 迁移,带差异预览(Diff Preview)
- v3 / v4 互转(
micbt.convertFormat)
- 新建行为树向导(
micbt.newTree,选择格式 / 树 ID / 空画布或根控制结点)
- 导出工作区配置(
micbt.exportWorkspaceConfig,将自定义类型保存为 .micbt/models.xml)
- 版本忠实(Version-faithful)的往返序列化
- 多选批量操作(框选、复制/粘贴/剪切子树)
- 子树内联展开与钻取导航
- 行为树差异对比(比较两棵树,高亮显示差异)
- 导出 PNG/SVG 图片
效率工具
- 撤销/重做(
Ctrl+Z / Ctrl+Shift+Z)
- 键盘快捷键(
Delete、F2、Ctrl+F、Ctrl+0、? 查看帮助)
- 节点搜索与高亮
- 按节点类型显示颜色图例(
Ctrl+Shift+G)
- 画布便签(Sticky Notes),用于注释说明
- 端口字段中的黑板键自动补全
- 离线调试追踪回放,带步进控制
- C++ 工程生成(
micbt.generateCpp)—— 一键生成可编译的 C++ 工程骨架
- 结点代码生成(
micbt.generateNodeCode,Generation Gap 模式)—— 生成结点实现代码
- 用于 AI 智能体(Agent)集成的 MCP 服务器
运行调试(Runtime Debugging,实验性)
⚠️ 实验功能:断点、单步、故障注入、.btlog 录制与运行时桥接管理依赖 bt-runtime-bridge,处于实验阶段,接口可能随版本调整;实时连接、状态着色与黑板检查等基础能力保持稳定。
- 通过 WebSocket(默认端口 18898)进行实时运行时连接
- 实时节点状态着色:RUNNING(蓝色脉冲)、SUCCESS(绿色)、FAILURE(红色)、SKIPPED(琥珀色)
- 黑板(Blackboard)变量检查,10 Hz 快照(Snapshot)更新
- 节点上的运行时端口值标签
- 断点(Breakpoint),带可视化指示器和命中动画
- 单步执行(Step)(进入 / 跳过 / 跳出)
- 故障注入(Fault Injection),用于测试失败路径
- XML 热重载(hot-reload),保存时保留黑板状态
- 从运行时引擎同步节点模型(端口定义)
.btlog 录制(micbt.runtime.startRecording / stopRecording),与离线追踪回放配套
- 运行时桥接进程管理(
micbt.runtime.startBridge / stopBridge,断点/单步/故障注入依赖)
推演分析
- 推演分析(
micbt.deduce)—— 静态分析当前行为树,发现可达性问题、短路死代码、无限重试、跨树循环等潜在缺陷,输出分析报告
- 离线 Tick 仿真(
micbt.simulate)—— 不依赖运行时模拟 tick 过程,便于快速验证树逻辑
智能助手
- 智能助手 —— 接入本地大模型(Ollama / LM Studio / vLLM 等),对话生成行为树 XML 并一键打开;支持多模型配置档案切换
环境要求
- VS Code >= 1.125
- Node.js 20+(仅开发需要)
安装
| IDE |
安装方式 |
| VS Code |
扩展 → 搜索 micBT 或 ext install lina168.micbt |
快速开始
- 打开包含 BehaviorTree.CPP 行为树的
.xml 文件
- 点击编辑器标题栏中的打开 BT 图,或在命令面板中运行 micBT: Open BT Graph
- 使用 micBT: Open BT Graph to the Side 实现 XML 与图形分屏视图
- 点击节点即可检查和编辑类型(kind)、类别(type)、名称(name)和端口(ports)
运行调试(实验性)
⚠️ 实验功能:断点/单步/故障注入等调试能力依赖 bt-runtime-bridge,处于实验阶段,接口可能随版本调整。
- 在图形编辑器中打开行为树 XML 文件
- 点击头部工具栏中的运行时连接按钮
- 桥接(Bridge)通过 WebSocket 连接并开始推送节点状态
- 使用调试工具栏进行断点/单步/继续操作
- 右键点击任意节点可设置断点或注入故障
- 编辑并保存 XML — 行为树会自动热重载
注意:断点/单步/故障注入等调试能力依赖 bt-runtime-bridge 原生二进制,该二进制不随 VSIX 分发(避免包含原生可执行文件),需要时通过 npm run download-bridge 从 Gitee Releases 单独拉取到本地 bin/ 目录。详见下方免责声明。
文档
文档索引 — 所有指南的完整导航。
问题反馈(Feedback)
使用中遇到问题或有改进建议,欢迎通过邮箱联系:1423505493@qq.com
致谢(Acknowledgements)
本插件基于 guilyx/btview-vscode-plugin
(Apache-2.0,© 2026 Erwin Lejeune,v0.9.0)二次开发,原项目版权归 Erwin Lejeune。
继承自原项目的源文件均带有「基于原项目修改」的文件头标注,详见 LICENSE。
许可证
Apache-2.0 — 详见 LICENSE。
免责声明(Disclaimer)
- 开源免费:本扩展以 Apache-2.0 协议开源,与 Groot、BehaviorTree.CPP 官方无任何隶属或背书关系,也不包含其专有代码。
- 按「原样」提供,无任何担保:本项目按 AS-IS 提供,开发者不承担因使用本工具造成的任何直接或间接损失(包括但不限于业务中断、数据丢失、财产损失)。请在生产环境使用前充分测试。
- 生成内容需人工审查:AI 助手生成的 XML、C++ 工程与推演分析结果仅为辅助,不保证正确性与可运行性,请结合业务语义人工核对后再部署到机器人 / 自动化产线。
- 本地网络与数据:运行时服务默认绑定
127.0.0.1,AI 助手默认访问本地模型接口(Ollama / LM Studio 等),日志与调试数据不主动外传;请勿在不受信任的环境中开启运行时服务,涉密环境请评估后使用。
- 原生调试二进制需单独获取:运行时调试(断点/单步/故障注入)功能依赖另行下载的
bt-runtime-bridge 可执行文件,下载与运行风险由使用者自行承担。
- 实验性功能:运行时调试(断点/单步/故障注入/
.btlog 录制)与 AI 助手等高级功能处于实验阶段,可能不稳定或在版本升级中变更接口,恕不另行通知。
| |