Blender Copilot 住在 Blender 里的AI建模助手 Vibe 项目

## 项目简介 Blender Copilot 是一个直接内置在 Blender 三维软件里的 Copilot 式对话

项目简介

Blender Copilot 是一个直接内置在 Blender 三维软件里的 Copilot 式对话面板。它的口号是"说五句话,出来一艘飞船"——你只需用自然语言描述需求,它就能在真实场景中自动完成建模、材质、绑定与动画。与市面上大多数"外挂"式 Blender AI 工具不同,它的 Agent 循环直接跑在 Blender 自带的 Python 进程里,把模型生成的 bpy 代码在你当前的实时场景上执行,并且把一整个回合的所有改动打包成一次 Ctrl+Z。项目作者用一段真实录屏证明:连续输入五句提示词,从零搭出一艘带 RCS 推进器、飞行动画和尾焰的科幻飞船。

核心功能

  1. 内置对话面板:面板位于 3D 视图侧边栏(按 N 键唤出),用户消息、助手回复、工具调用行、报错块分层展示,运行时才有忙碌指示器刷新,不占用界面线程。
  2. 实时场景执行:模型生成的代码直接在 Blender 的 Python 进程中运行,bpy.context 天然就是实时的、正确的,选中对象、当前模式、撤销栈全都一致。
  3. 一次 Ctrl+Z 回退整回合:一个回合内所有操作在结束时合并为一步撤销记录,并附带"回执",说明这一步覆盖了什么、没覆盖什么(仅限本地场景数据,不含文件、网络、偏好设置等)。
  4. 三个精简工具:run_blender_python(每次调用用全新命名空间执行代码并返回完整堆栈)、get_scene_info(返回计数与有界列表,绝不做全场景 dump)、get_rna_info(按精确名称查询实时构建的 API)。
  5. 上下文预算管理:会话在请求时按 UTF-8 字节数投影到 48000 字节预算内,且从不写回存储,保证基础提示词位于索引 0,从而保住模型供应商的缓存前缀。
  6. 按文件保存历史:会话历史以 JSON 存在 .blend 文件之外,按文件路径隔离,另存为时自动加别名,上限 200 条消息 / 1 MiB,按整回合裁剪。
  7. 流式输出与停止:通过子进程的 SSE 实现流式输出,停止按钮与发送按钮同槽位切换,面板明确说明"停止"能中断什么、不能中断什么。

技术实现

Blender Copilot 最核心的技术选择是用 exec 而非"桥接"。传统 Blender AI 工具通常靠 socket、文件邮箱或 Node 边车进程,在另一侧持有一份场景副本再同步回来;而这个项目让 Agent 循环直接运行在 Blender 的 Python 进程内,因此根本不存在"另一侧",也就不需要镜像同步。为避免阻塞 UI 线程,HTTP 请求放在子进程而非线程中(Blender 官方文档明确将"长期线程 + 重复定时器"列为不受支持),实测启动到就绪仅 0.021 秒,IPC 开销比一个定时器 tick 低两个数量级。每个 tick 只做一件事:排空回复、执行一次工具调用、或收尾,从而保证面板先画出 running 行再执行代码。该工具还带有严格的沙箱与重复签名停止、连续失败停止机制,并在真实 Blender 5.2.2 会话中完成了端到端验证(五个回合共 917 秒、52 次模型调用)。目前项目处于原型阶段,尚未发布到扩展平台。

快速上手

  1. 准备环境:需要 Blender 5.2.2 与内置的 Python 3.13,无需额外安装 Node 或边车服务。
  2. 安装插件:将项目作为 Blender 插件加载(仓库当前未提供正式 LICENSE,复用请谨慎)。
  3. 配置模型:使用兼容 OpenAI 的接口,默认对接 DeepSeek(也可自行替换为其他 OpenAI 兼容供应商)。
  4. 打开面板:在 3D 视图中按 N 键唤出侧边栏,切换到 Copilot 标签页。
  5. 开始对话:像聊天一样输入提示词,例如"做一艘科幻飞船",随后逐步追加"加 RCS 推进器""让它匹配科幻风格""加上飞行动画"等指令,观察视口实时变化。
  6. 随时回退:对某回合结果不满意,按一次 Ctrl+Z 即可撤销该回合的全部改动。

适用人群

适合希望用自然语言加速三维建模的 3D 美术与概念设计师、独立游戏与影视动画创作者、需要用脚本批量处理场景的技术美术(TA),以及想研究"AI Agent 如何安全嵌入宿主软件进程"这一课题的 Blender 插件开发者与 AI 工程爱好者。

项目链接

https://github.com/XEonAX/blender-copilot

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论