{"id":51536725,"url":"https://github.com/wellingfeng/ue-blueprint-mode","last_synced_at":"2026-07-09T09:01:41.759Z","repository":{"id":365284923,"uuid":"1271261227","full_name":"wellingfeng/ue-blueprint-mode","owner":"wellingfeng","description":"Unreal Engine editor plugin for natural-language Blueprint mode","archived":false,"fork":false,"pushed_at":"2026-06-16T16:36:16.000Z","size":39,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-16T18:27:45.297Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wellingfeng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-16T13:43:26.000Z","updated_at":"2026-06-16T16:36:40.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/wellingfeng/ue-blueprint-mode","commit_stats":null,"previous_names":["wellingfeng/ue-blueprint-mode"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/wellingfeng/ue-blueprint-mode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wellingfeng%2Fue-blueprint-mode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wellingfeng%2Fue-blueprint-mode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wellingfeng%2Fue-blueprint-mode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wellingfeng%2Fue-blueprint-mode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wellingfeng","download_url":"https://codeload.github.com/wellingfeng/ue-blueprint-mode/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wellingfeng%2Fue-blueprint-mode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35293217,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-09T02:00:07.329Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-09T09:01:41.023Z","updated_at":"2026-07-09T09:01:41.754Z","avatar_url":"https://github.com/wellingfeng.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FreeUltraCode BluePrint Mode\n\n一个 UE 编辑器插件，提供一对生命周期命令 `/FreeUltraCodeBluePrintMode.BlueprintMode.Start` 与 `/FreeUltraCodeBluePrintMode.BlueprintMode.End`，把\"自然语言生成/编辑蓝图\"框成一个显式模式。设计参考 [Ludus AI](https://ludusengine.com/) 的自然语言蓝图编辑，落地通道为插件内直接调用 UE C++ API（`UEdGraph` / `UK2Node_*` / `FBlueprintEditorUtils`），并在本地无法完成时通过 MCP 桥接自动补全。\n\n## 核心特性\n\n- **模式生命周期**：`start` 进入蓝图编排模式，其后所有自然语言被解释为蓝图意图；`end` 收尾提交或丢弃。\n- **上下文分级加载**：Overview / Header / Balanced / Full / Properties 五级，控制 token 与成本（对齐 Ludus 分层）。默认 `balanced`。\n- **AI 创建蓝图**：目标蓝图不存在时，默认弹确认让用户选择是否创建（`--create-if-missing Ask`）；也可 `--create` 自动创建或 `Never` 报错。\n- **实时编排**：通过结构化操作计划（`FFreeUltraCodeBluePrintModeOp`）spawn 节点、连线、设属性，用户实时看到逻辑生长。\n- **checkpoint 回滚**：`start` 建事务，`end --discard` 回滚，每个操作可 Ctrl+Z 撤销。\n- **校验**：`end --verify --compile` 触发编译与静态校验，失败则留在模式内继续修。\n- **MCP 自动补全**：本地 API 覆盖不到的执行性动作（放置 actor、改工程设置等）转发给 MCP server。\n- **插件自检**：模块启动时自动检测是否已启用、是否有新版本，发现更新弹通知附下载入口，全程非阻塞。\n\n## 命令\n\n```\nFreeUltraCodeBluePrintMode.BlueprintMode.Start [--target \u003c名字\u003e] [--context overview|header|balanced|full|properties]\n                     [--agent lite|full] [--dry-run]\n                     [--create] [--create-parent \u003c类\u003e] [--create-path \u003c路径\u003e]\n                     [--create-if-missing Ask|Always|Never]\n\nFreeUltraCodeBluePrintMode.BlueprintMode.End   [--commit | --discard] [--verify] [--compile]\n\nFreeUltraCodeBluePrintMode.BlueprintMode.Capabilities\n```\n\n- `--target`：点名目标蓝图，缺省取当前聚焦的蓝图编辑器。\n- `--context`：上下文加载等级，控制成本/深度主旋钮。\n- `--dry-run`：只产计划与预览，不落盘。\n- `--create*`：蓝图不存在时的创建策略。\n- `Capabilities`：输出当前 UE 版本、模块、插件与 API 探测后的能力 JSON。\n\n## 目录结构\n\n```\nFreeUltraCodeBluePrintMode.uplugin              插件描述\nSource/FreeUltraCodeBluePrintMode/\n  FreeUltraCodeBluePrintMode.Build.cs           模块依赖\n  Public/Private/\n    FreeUltraCodeBluePrintModeModule.*          模块入口，注册 start/end 控制台命令\n    FreeUltraCodeBluePrintModeTypes.h           枚举与结构（上下文等级、操作原语、参数）\n    FreeUltraCodeBluePrintModeCapabilityRegistry.*  运行时能力探测与自动启用策略\n    FreeUltraCodeBluePrintModeSubsystem.*       核心编排：生命周期、targeting、创建、回滚\n    FreeUltraCodeBluePrintModeContextLoader.*  按等级提取蓝图上下文为 JSON\n    FreeUltraCodeBluePrintModeOpExecutor.*     操作计划 -\u003e UE 图表 API\n    FreeUltraCodeBluePrintModeMcpBridge.*      MCP 桥接，本地无法完成时远程补全\n    FreeUltraCodeBluePrintModePluginUpdateChecker.*  安装/版本自检与更新通知\n```\n\n## 安装\n\n### 从 GitHub 自动下载\n\n仓库地址：`https://github.com/wellingfeng/ue-blueprint-mode`\n\n1. 在 UE 项目里打开 `项目设置 → 插件 → FreeUltraCode 蓝图模式`。\n2. 保持 `GitHub 仓库` 为 `https://github.com/wellingfeng/ue-blueprint-mode.git`。\n3. 点击 `一键安装（从 GitHub 下载）`。\n4. 安装完成后重启编辑器，在 `编辑 → 插件` 中启用 FreeUltraCode BluePrint Mode。\n\n自动安装会把插件下载到当前 UE 工程的 `Plugins/FreeUltraCodeBluePrintMode`。如果 GitHub 下载失败，会尝试使用设置页里的本地源目录作为兜底。\n\n### 手动安装\n\n1. 下载或 clone 本仓库。\n2. 把仓库目录放到工程的 `Plugins/FreeUltraCodeBluePrintMode` 下（或引擎 `Engine/Plugins/Marketplace/`）。\n3. 重新生成工程文件并编译。\n4. 在 `编辑 → 插件` 中启用 FreeUltraCode BluePrint Mode，重启编辑器。\n5. 启动后插件会自动自检安装状态与版本。\n\n## 状态机\n\n```\nidle ──start──▶ Active ──end --commit──▶ Verifying ──ok──▶ idle\n                  │                          └─fail─▶ Active(继续修)\n                  └──end --discard──▶ 回滚 ──▶ idle\n```\n\n## 支持范围\n\n当前采用“能力探测 + 可选后端”策略，不只按 UE 大版本硬判断。每项能力会返回：\n\n- `supported`：当前 UE 版本、模块、插件和关键类/API 是否存在。\n- `implemented`：当前插件是否已有可执行实现。\n- `enabled`：是否可直接向 UI/模型暴露并执行，通常等于 `supported \u0026\u0026 implemented`。\n- `reason`：`ok` / `partial_k2_call_function` / `engine_too_old` / `plugin_missing` / `api_missing` / `not_implemented`。\n- `backend`：`editor_plugin` / `optional_editor_plugin` / `unavailable`。\n\n能力矩阵：\n\n| 能力 | 当前策略 |\n|---|---|\n| `Blueprint.BasicGraph` | 已实现并自动启用：节点创建、连线、设 pin 默认值、变量、删除、断线 |\n| `Blueprint.KeySpawn` | 部分实现并自动启用：当前以 `K2Node_CallFunction:Class.Function` 为骨架 |\n| `Blueprint.AutoLayout` | 已实现并自动启用：按连接深度做基础列布局 |\n| `Blueprint.NodeDiscovery` | 探测 K2 action API，当前未实现完整 palette/action key 发现 |\n| `Blueprint.Dispatcher` | 探测 API，当前未实现执行器 |\n| `Blueprint.Timeline` | 探测 API，当前未实现执行器 |\n| `UMG.WidgetTree` | 作为可选编辑器后端探测，不作为核心自动启用 |\n| `AnimGraph.Edit` | 作为可选编辑器后端探测，不作为核心自动启用 |\n| `StateTree.Edit` | UE5+ 且 StateTree 插件/API 存在时标记 supported，当前仍需可选后端 |\n| `Niagara.StackEdit` | Niagara 插件/API 存在时标记 supported，当前仍需可选后端 |\n\n这意味着低版本 UE 会返回 `engine_too_old` 或 `api_missing`，高版本如果插件/API 存在会返回 `supported=true`；但只有 `enabled=true` 的能力会被当作当前可直接执行，避免把尚未实现的深编辑误暴露给模型。\n\n## 备注\n\n- 所有图操作在 game thread 执行；MCP/HTTP 回调通过 `AsyncTask(GameThread)` 切回主线程。\n- `FFreeUltraCodeBluePrintModeOpExecutor::DoSpawnNode` 当前以 `UK2Node_CallFunction` 为骨架示例，完整实现需按 `NodeType` 前缀分派到各 `UK2Node_*` 子类。\n- `FFreeUltraCodeBluePrintModeCapabilityRegistry` 不直接包含 UMG / AnimGraph / StateTree / Niagara 的编辑器头文件，避免低版本或未启用插件时编译失败。\n- MCP endpoint 默认 `https://mcp.ludusengine.com/mcp`，可在 `EditorPerProjectUserSettings` 的 `[FreeUltraCodeBluePrintMode.BlueprintMode] McpEndpoint` 覆盖；旧的 `[BlueprintMode]` 仍兼容读取。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwellingfeng%2Fue-blueprint-mode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwellingfeng%2Fue-blueprint-mode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwellingfeng%2Fue-blueprint-mode/lists"}