<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MCP on 我的博客</title><link>https://blog.5616760.com/tags/mcp/</link><description>Recent content in MCP on 我的博客</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Thu, 17 Sep 2026 09:30:00 +0800</lastBuildDate><atom:link href="https://blog.5616760.com/tags/mcp/index.xml" rel="self" type="application/rss+xml"/><item><title>Revit 命令桥：让 AI 客户端直接操控 Revit 的本地桥接方案</title><link>https://blog.5616760.com/0009.html</link><pubDate>Thu, 17 Sep 2026 09:30:00 +0800</pubDate><guid>https://blog.5616760.com/0009.html</guid><description>&lt;h2 id="一这个项目要解决什么问题"&gt;一、这个项目要解决什么问题&#10;&lt;/h2&gt;&lt;p&gt;如果你在做 BIM 自动化，大概会遇到这样几类需求：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;想让 AI 助手帮你在 Revit 里批量建标高、轴网、墙体&lt;/li&gt;&#10;&lt;li&gt;想把 Revit 接到自己的工作流里（Python 脚本、后端服务、自动化平台）&lt;/li&gt;&#10;&lt;li&gt;想用不同厂商的模型（Codex、Claude、DeepSeek……），不想被某一个生态锁死&lt;/li&gt;&#10;&lt;li&gt;不想为了每个功能写一个插件命令，更不想在插件里开放任意代码执行&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Revit 命令桥（Revit Command Bridge）&lt;/strong&gt; 就是为这些场景设计的：一个面向 Revit 的&lt;strong&gt;本地命令桥&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;它的定位可以用一句话概括：&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;Revit 插件只执行受控 Revit API 命令；Codex、WorkBuddy、任意 MCP 客户端、任意 Function Calling Harness 或 OpenAI 兼容模型 API，通过统一 JSON、CLI、REST 或 MCP 接口调用。&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;几个关键设计取向：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;不依赖 Dynamo&lt;/strong&gt;：纯 Revit API 实现，不引入 Dynamo 运行时&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;不绑定模型厂商&lt;/strong&gt;：只要客户端能发 MCP、HTTP 或 Function Calling 参数即可&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;新建模统一走 &lt;code&gt;execute_plan&lt;/code&gt;&lt;/strong&gt;：一个计划可组合建筑、结构、机电、空间、出图、参数和选中显示，而不是为每一种构件增加一个插件命令&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;不开放任意代码执行&lt;/strong&gt;：桥接层不执行任意 C#、Python 或自然语言，只接受已注册的顶层 operation 和受控原子步骤&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="二版本支持为什么不能用一个万能-dll"&gt;二、版本支持：为什么不能用一个&amp;quot;万能 DLL&amp;quot;&#10;&lt;/h2&gt;&lt;p&gt;这是 Revit 二次开发绕不过去的一条硬约束：&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;&lt;strong&gt;每个 Revit 年份必须使用对应 API 编译出的 DLL，不能共用一个&amp;quot;万能 DLL&amp;quot;。&lt;/strong&gt;&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;原因是 Revit 的 API 程序集（&lt;code&gt;RevitAPI.dll&lt;/code&gt; / &lt;code&gt;RevitAPIUI.dll&lt;/code&gt;）与宿主版本强绑定，跨版本加载通常直接失败或行为异常。&lt;/p&gt;&#10;&lt;p&gt;本交付包支持 &lt;strong&gt;Revit 2020–2026&lt;/strong&gt;，适配入口在 &lt;code&gt;src/Adapter/&lt;/code&gt; 下按 &lt;code&gt;AdapterEntry20.cs ... 27.cs&lt;/code&gt; 组织，版本边界细节见仓库的 &lt;code&gt;VERSION-SUPPORT.md&lt;/code&gt;。&lt;/p&gt;&#10;&lt;p&gt;对安装体验的优化在于：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;单文件安装器会自动扫描本机 Revit 2020–2026&lt;/strong&gt;，使用内置预编译适配包&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;普通用户不需要选择 DLL、安装 Visual Studio 或手工填写 Revit 路径&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;构建机器才需要准备对应年份的 Revit API NuGet 包（通过 Nice3point）和 .NET Framework 4.8 目标包 / .NET 8 SDK&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="三工作方式与架构"&gt;三、工作方式与架构&#10;&lt;/h2&gt;&lt;p&gt;原文给出的数据流非常清晰：&lt;/p&gt;&#10;&lt;pre class="mermaid" style="visibility:hidden"&gt;flowchart LR&#10; A["Codex / WorkBuddy / 任意模型或 Harness"] --&gt; B["MCP / REST / CLI"]&#10; B --&gt; C["本地原子 JSON 队列"]&#10; C --&gt; D["对应年份的 Revit 插件"]&#10; D --&gt; E["ExternalEvent 主线程调度"]&#10; E --&gt; F["受控 Revit API + Transaction"]&#10; F --&gt; G["结果 JSON / Revit 模型"]&#10;&#10; style A fill:#8b5cf6,stroke:#6d28d9,color:#fff&#10; style B fill:#3b82f6,stroke:#1e40af,color:#fff&#10; style C fill:#f59e0b,stroke:#b45309,color:#fff&#10; style D fill:#10b981,stroke:#047857,color:#fff&#10; style E fill:#10b981,stroke:#047857,color:#fff&#10; style F fill:#ef4444,stroke:#b91c1c,color:#fff&#10; style G fill:#64748b,stroke:#334155,color:#fff&lt;/pre&gt;&lt;p&gt;这条链路里有几个值得注意的工程决策：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;本地队列解耦&lt;/strong&gt;：外部请求先落到本地原子 JSON 队列（&lt;code&gt;inbox&lt;/code&gt; / &lt;code&gt;outbox&lt;/code&gt;），插件再按需消费，避免外部进程直接触碰 Revit 线程模型&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;ExternalEvent 主线程调度&lt;/strong&gt;：Revit API 不是线程安全的，所有操作必须回到主线程执行，&lt;code&gt;ExternalEvent&lt;/code&gt; 是官方推荐的正规做法&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;事务化写入&lt;/strong&gt;：&lt;code&gt;execute_plan&lt;/code&gt; 中所有写步骤使用&lt;strong&gt;一个 all-or-nothing Revit Transaction&lt;/strong&gt;，失败即整体回滚&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;网络面最小化&lt;/strong&gt;：REST 默认只绑定 &lt;code&gt;127.0.0.1&lt;/code&gt;，未检测到活动 Revit 桥时拒绝提交&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="四安装"&gt;四、安装&#10;&lt;/h2&gt;&lt;p&gt;先看工具产出对照表，理解每个脚本干什么：&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;脚本&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;产出&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;说明&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;dotnet build -c &amp;quot;Debug R26&amp;quot;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;bin\R26\RevitCommandBridge.dll&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;单版本 DLL，通过 .csproj + Nice3point NuGet&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;build.ps1 -RevitVersion 2026&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;dist\RevitCommandBridge-2026\&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;编译 DLL + 打包配套脚本&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;build-all.ps1&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;dist\RevitCommandBridge-202{0..6}\&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;全部版本 DLL&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;build-installer.ps1&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;dist\RevitCommandBridgeSetup.exe&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;单文件安装器（内置所有年份 DLL + Node）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;build-installer.ps1 -OutputPath ...&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;自定义输出文件名&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;单版本安装器，方便版本区分&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;install-revit.ps1&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;→ &lt;code&gt;%LOCALAPPDATA%\RevitCommandBridge\{year}\&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;复制文件 + 写 &lt;code&gt;.addin&lt;/code&gt; 清单&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="01-方式-a开发者模式编译--安装"&gt;01 方式 A：开发者模式（编译 → 安装）&#10;&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 0. 先关闭 Revit&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 1. 查看本机安装的 Revit 版本&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.\install-revit.ps1 -ListDetected&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 2. 构建指定版本（编译 DLL + 打包安装器）&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.\build.ps1 -RevitVersion &lt;span style="color:#ae81ff"&gt;2026&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 或直接使用 dotnet：&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dotnet build -c &lt;span style="color:#e6db74"&gt;&amp;#34;Debug R26&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 3. 安装到本机 Revit&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.\install-revit.ps1 -RevitVersion &lt;span style="color:#ae81ff"&gt;2026&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;build.ps1&lt;/code&gt; 产出：&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;dist\RevitCommandBridge-2026\&#10;├── RevitCommandBridge.dll&#10;├── RevitCommandBridge.pdb&#10;├── bridge.config.json&#10;├── scripts\ ← MCP Server、REST 网关、CLI 发送器&#10;├── examples\ ← JSON 请求模板&#10;├── deploy\ ← .addin 模板&#10;├── schemas\ ← JSON Schema&#10;├── install-revit.ps1&#10;├── uninstall-revit.ps1&#10;├── PROTOCOL.md 等文档&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;install-revit.ps1&lt;/code&gt; 自动完成六件事：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;检测本机 Revit 安装路径（注册表 + &lt;code&gt;C:\Program Files\Autodesk&lt;/code&gt;）&lt;/li&gt;&#10;&lt;li&gt;匹配 &lt;code&gt;dist\RevitCommandBridge-{year}\&lt;/code&gt; 包&lt;/li&gt;&#10;&lt;li&gt;复制所有文件至 &lt;code&gt;%LOCALAPPDATA%\RevitCommandBridge\{year}\&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;写入 &lt;code&gt;%APPDATA%\Autodesk\Revit\Addins\{year}\RevitCommandBridge.addin&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;清理旧版本残留文件（对比 &lt;code&gt;install-manifest.json&lt;/code&gt;）&lt;/li&gt;&#10;&lt;li&gt;可选配置 AI 客户端连接（&lt;code&gt;-Connector&lt;/code&gt;）&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;安装前确保 Revit 已关闭。&lt;code&gt;install-revit.ps1&lt;/code&gt; 支持 &lt;code&gt;-WhatIf&lt;/code&gt; 预览安装位置不实际写入。&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;h3 id="02-方式-b最终用户模式单文件安装器"&gt;02 方式 B：最终用户模式（单文件安装器）&#10;&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 步骤 1：编译指定版本&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.\build.ps1 -RevitVersion &lt;span style="color:#ae81ff"&gt;2026&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 步骤 2：打包安装器（默认输出 dist\RevitCommandBridgeSetup.exe）&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.\build-installer.ps1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 也可指定版本号后缀的输出文件名：&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.\build-installer.ps1 -OutputPath &lt;span style="color:#e6db74"&gt;&amp;#34;dist\RevitCommandBridgeSetup-2026.exe&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;打包多个版本到同一个安装器：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.\build.ps1 -RevitVersion &lt;span style="color:#ae81ff"&gt;2026&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.\build.ps1 -RevitVersion &lt;span style="color:#ae81ff"&gt;2027&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.\build-installer.ps1 -RevitVersion &lt;span style="color:#ae81ff"&gt;2026&lt;/span&gt;,&lt;span style="color:#ae81ff"&gt;2027&lt;/span&gt; -OutputPath &lt;span style="color:#e6db74"&gt;&amp;#34;dist\RevitCommandBridgeSetup-2026-2027.exe&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;产出文件可分发到&lt;strong&gt;没有开发环境的机器&lt;/strong&gt;：&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;dist\&#10;├── RevitCommandBridgeSetup.exe ← 双击或命令行运行&#10;├── RevitCommandBridge-2026\&#10;└── RevitCommandBridge-2027\&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;RevitCommandBridgeSetup.exe&lt;/code&gt; 内置了 DLL 和 Node.js 运行时：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;自动扫描本机 Revit&lt;/li&gt;&#10;&lt;li&gt;使用内置预编译适配包&lt;/li&gt;&#10;&lt;li&gt;自动配置已识别的 MCP 客户端（Codex、WorkBuddy、Claude Desktop、Cursor、Windsurf、Cline、Roo Code）&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="03-两条安装路径怎么选"&gt;03 两条安装路径怎么选&#10;&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;flowchart TD&#10; S["要安装 Revit 命令桥"] --&gt; Q{"你手上是&lt;br/&gt;源码还是安装器？"}&#10;&#10; Q --&gt;|"源码（自己编译）"| A["方式 A：开发者模式"]&#10; Q --&gt;|"RevitCommandBridgeSetup.exe"| B["方式 B：最终用户模式"]&#10;&#10; A --&gt; A1["install-revit.ps1 -ListDetected"]&#10; A1 --&gt; A2["build.ps1 -RevitVersion 20XX"]&#10; A2 --&gt; A3["install-revit.ps1 -RevitVersion 20XX"]&#10; A3 --&gt; E["启动 Revit，桥接自动加载"]&#10;&#10; B --&gt; B1["双击 Setup.exe"]&#10; B1 --&gt; B2["自动扫描 Revit 2020–2026"]&#10; B2 --&gt; B3["内置适配包 + Node 运行时"]&#10; B3 --&gt; E&#10;&#10; E --&gt; V["健康检查返回 status: ok"]&#10;&#10; style S fill:#8b5cf6,stroke:#6d28d9,color:#fff&#10; style A fill:#3b82f6,stroke:#1e40af,color:#fff&#10; style B fill:#10b981,stroke:#047857,color:#fff&#10; style V fill:#f59e0b,stroke:#b45309,color:#fff&lt;/pre&gt;&lt;h3 id="04-验证安装"&gt;04 验证安装&#10;&lt;/h3&gt;&lt;p&gt;启动 Revit 并打开项目后，桥接自动启动。运行健康检查：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;amp; &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$env:LOCALAPPDATA&lt;span style="color:#e6db74"&gt;\RevitCommandBridge\2026\scripts\send-revit-command.ps1&amp;#34;&lt;/span&gt; `&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -RequestPath &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$env:LOCALAPPDATA&lt;span style="color:#e6db74"&gt;\RevitCommandBridge\2026\examples\health.json&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;返回 &lt;code&gt;&amp;quot;status&amp;quot;: &amp;quot;ok&amp;quot;&lt;/code&gt; 即安装成功。功能区&amp;quot;Revit 命令桥&amp;quot;选项卡的&amp;quot;启动桥接&amp;quot;按钮也可确认连接信息。&lt;/p&gt;&#10;&lt;h3 id="05-卸载"&gt;05 卸载&#10;&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.\uninstall-revit.ps1 -RevitVersion &lt;span style="color:#ae81ff"&gt;2026&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;卸载程序会移除桥接文件、&lt;code&gt;.addin&lt;/code&gt; 注册清单和队列目录。&lt;strong&gt;不同年份的桥接互不干扰，只卸载指定版本。&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h2 id="五快速开始"&gt;五、快速开始&#10;&lt;/h2&gt;&lt;p&gt;启动 Revit（以 2026 为例）：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;amp; &lt;span style="color:#e6db74"&gt;&amp;#39;C:\Program Files\Autodesk\Revit 2026\Revit.exe&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;打开 Revit 后，桥接会自动启动；功能区&amp;quot;Revit 命令桥&amp;quot;的&amp;quot;启动桥接&amp;quot;按钮可用于确认连接信息。&lt;/p&gt;&#10;&lt;p&gt;随后执行一次&lt;strong&gt;只读&lt;/strong&gt;健康检查：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;amp; &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$env:LOCALAPPDATA&lt;span style="color:#e6db74"&gt;\RevitCommandBridge\2026\scripts\send-revit-command.ps1&amp;#34;&lt;/span&gt; -RequestPath &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$env:LOCALAPPDATA&lt;span style="color:#e6db74"&gt;\RevitCommandBridge\2026\examples\health.json&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;预览一个通用建模计划，&lt;strong&gt;不修改模型&lt;/strong&gt;：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;amp; &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$env:LOCALAPPDATA&lt;span style="color:#e6db74"&gt;\RevitCommandBridge\2026\scripts\send-revit-command.ps1&amp;#34;&lt;/span&gt; -RequestPath &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$env:LOCALAPPDATA&lt;span style="color:#e6db74"&gt;\RevitCommandBridge\2026\examples\preview-universal-plan.json&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;确认预览返回正确后，把请求中的 &lt;code&gt;preview&lt;/code&gt; 改为 &lt;code&gt;false&lt;/code&gt; 再提交。实际写入使用 Revit Transaction，&lt;strong&gt;可在 Revit 中用原生撤销命令回退&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;功能区&amp;quot;命令面板&amp;quot;提供当前桥接状态、最近操作和当前项目状态；点击&amp;quot;刷新项目状态&amp;quot;会提交只读 &lt;code&gt;health&lt;/code&gt; 请求。&amp;ldquo;预览计划&amp;quot;不会修改模型，&amp;ldquo;确认执行&amp;quot;会再次要求确认；完成后用 Revit 原生 &lt;code&gt;Ctrl+Z&lt;/code&gt; 撤销该事务。&lt;/p&gt;&#10;&lt;h3 id="一次典型的预览--确认流程"&gt;一次典型的&amp;quot;预览 → 确认&amp;quot;流程&#10;&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;sequenceDiagram&#10; autonumber&#10; participant U as 用户 / AI 客户端&#10; participant S as send-revit-command.ps1&#10; participant Q as 本地 JSON 队列&#10; participant P as Revit 插件&#10; participant R as Revit 文档&#10;&#10; U-&gt;&gt;S: 提交 health.json（只读）&#10; S-&gt;&gt;Q: 写入 inbox&#10; Q-&gt;&gt;P: 消费请求&#10; P-&gt;&gt;R: 查询文档信息&#10; R--&gt;&gt;P: 标题 / 路径 / 活动视图&#10; P-&gt;&gt;Q: 写入 outbox&#10; Q--&gt;&gt;U: 返回 status: ok&#10;&#10; U-&gt;&gt;S: 提交计划（preview = true）&#10; S-&gt;&gt;Q: 写入 inbox&#10; Q-&gt;&gt;P: 消费请求&#10; P-&gt;&gt;P: 校验 operation 与参数&#10; P--&gt;&gt;U: 返回预览结果（模型未变）&#10;&#10; U-&gt;&gt;S: 同一请求（preview = false）&#10; S-&gt;&gt;Q: 写入 inbox&#10; Q-&gt;&gt;P: 消费请求&#10; P-&gt;&gt;R: 开启 Transaction，执行写步骤&#10; alt 全部成功&#10; R--&gt;&gt;P: Commit（所有步骤生效）&#10; else 任一步骤失败&#10; R--&gt;&gt;P: Rollback（整体回滚）&#10; end&#10; P--&gt;&gt;U: 返回结果 JSON&#10; Note over R: 可用 Revit 原生 Ctrl+Z 撤销&lt;/pre&gt;&lt;h2 id="六接入不同客户端"&gt;六、接入不同客户端&#10;&lt;/h2&gt;&lt;p&gt;安装器固定使用&amp;quot;自动识别并配置本机 AI 客户端&amp;rdquo;。它会生成并保存连接配置到安装目录的 &lt;code&gt;connections&lt;/code&gt; 文件夹；未识别的客户端直接使用&amp;quot;复制 MCP&amp;quot;按钮提供的通用配置。&lt;/p&gt;&#10;&lt;p&gt;先看能力与入口的对照：&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;客户端能力&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;入口&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;适用场景&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;支持 stdio MCP&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;scripts/revit-mcp-server.mjs&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Codex、WorkBuddy 和其它 MCP Harness&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;能调用 HTTP&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;scripts/revit-http-gateway.mjs&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;任意 Function Calling Harness、后端服务、自动化平台&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;只有 OpenAI 兼容模型 API&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;scripts/revit-openai-compatible-chat.mjs&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;DeepSeek 及其它支持 Chat Completions + Tool Calling 的模型&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;能运行 PowerShell&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;scripts/send-revit-command.ps1&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Codex Shell、人工测试、批处理&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;只能读写文件&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;%LOCALAPPDATA%\RevitCommandBridge\inbox/outbox&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;自定义旧系统或最小 Harness&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;用一张图理解五种接入方式的定位：&lt;/p&gt;&#10;&lt;pre class="mermaid" style="visibility:hidden"&gt;flowchart LR&#10; C1["MCP 客户端&lt;br/&gt;Codex / WorkBuddy"] --&gt;|"stdio MCP"| BRIDGE&#10; C2["Function Calling Harness&lt;br/&gt;后端服务 / 自动化平台"] --&gt;|"HTTP"| BRIDGE&#10; C3["OpenAI 兼容模型 API&lt;br/&gt;DeepSeek 等"] --&gt;|"Chat Completions + Tool Calling"| BRIDGE&#10; C4["命令行 / 批处理"] --&gt;|"PowerShell CLI"| BRIDGE&#10; C5["最小 Harness / 旧系统"] --&gt;|"文件读写"| BRIDGE&#10;&#10; BRIDGE["本地原子 JSON 队列&lt;br/&gt;inbox / outbox"]&#10; BRIDGE --&gt; PLUGIN["对应年份 Revit 插件"]&#10; PLUGIN --&gt; REVIT["Revit 模型"]&#10;&#10; style BRIDGE fill:#f59e0b,stroke:#b45309,color:#fff&#10; style PLUGIN fill:#10b981,stroke:#047857,color:#fff&#10; style REVIT fill:#3b82f6,stroke:#1e40af,color:#fff&lt;/pre&gt;&lt;h3 id="01-codex-mcp"&gt;01 Codex MCP&#10;&lt;/h3&gt;&lt;p&gt;优先在 Revit 功能区点击&amp;quot;复制 MCP&amp;rdquo;，再粘贴到客户端的 MCP 配置页。手工配置时，使用安装器内置的年份 Node 运行时（&lt;strong&gt;不要求另装 Node.js&lt;/strong&gt;）：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[&lt;span style="color:#a6e22e"&gt;mcp_servers&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;revit&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;command&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;C:\\Users\\&amp;lt;用户名&amp;gt;\\AppData\\Local\\RevitCommandBridge\\2026\\runtime\\node.exe&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;args&lt;/span&gt; = [&lt;span style="color:#e6db74"&gt;&amp;#34;C:\\Users\\&amp;lt;用户名&amp;gt;\\AppData\\Local\\RevitCommandBridge\\2026\\scripts\\revit-mcp-server.mjs&amp;#34;&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;重新启动 Codex 任务后，客户端可发现 &lt;code&gt;revit_execute_plan&lt;/code&gt;。&lt;strong&gt;这是长期主入口&lt;/strong&gt;；旧的 &lt;code&gt;revit_create_wall&lt;/code&gt; 等工具仅为兼容已有脚本保留。&lt;/p&gt;&#10;&lt;h3 id="02-通用-mcp-json"&gt;02 通用 MCP JSON&#10;&lt;/h3&gt;&lt;p&gt;使用 JSON MCP 配置的客户端采用相同进程参数：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;mcpServers&amp;#34;&lt;/span&gt;: {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;revit-command-bridge&amp;#34;&lt;/span&gt;: {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;command&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;C:\\Users\\&amp;lt;用户名&amp;gt;\\AppData\\Local\\RevitCommandBridge\\2026\\runtime\\node.exe&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;args&amp;#34;&lt;/span&gt;: [&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;C:\\Users\\&amp;lt;用户名&amp;gt;\\AppData\\Local\\RevitCommandBridge\\2026\\scripts\\revit-mcp-server.mjs&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="03-rest-与通用-function-calling-harness"&gt;03 REST 与通用 Function Calling Harness&#10;&lt;/h3&gt;&lt;p&gt;启动&lt;strong&gt;仅监听本机&lt;/strong&gt;的 REST 网关：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;node &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$env:LOCALAPPDATA&lt;span style="color:#e6db74"&gt;\RevitCommandBridge\2026\scripts\revit-http-gateway.mjs&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;查询状态：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Invoke-RestMethod &lt;span style="color:#e6db74"&gt;&amp;#39;http://127.0.0.1:8765/health&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;提交并等待预览结果：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$body = @{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; operation = &lt;span style="color:#e6db74"&gt;&amp;#39;execute_plan&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; args = @{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; steps = @(&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @{ id = &lt;span style="color:#e6db74"&gt;&amp;#39;check&amp;#39;&lt;/span&gt;; operation = &lt;span style="color:#e6db74"&gt;&amp;#39;query_document&amp;#39;&lt;/span&gt;; args = @{} }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @{ id = &lt;span style="color:#e6db74"&gt;&amp;#39;support&amp;#39;&lt;/span&gt;; operation = &lt;span style="color:#e6db74"&gt;&amp;#39;create_direct_shape&amp;#39;&lt;/span&gt;; args = @{ name = &lt;span style="color:#e6db74"&gt;&amp;#39;测试支座&amp;#39;&lt;/span&gt; geometry = @(@{ kind = &lt;span style="color:#e6db74"&gt;&amp;#39;box&amp;#39;&lt;/span&gt;; min = @{ x = &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;; y = &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;; z = &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; }; max = @{ x = &lt;span style="color:#ae81ff"&gt;3000&lt;/span&gt;; y = &lt;span style="color:#ae81ff"&gt;2000&lt;/span&gt;; z = &lt;span style="color:#ae81ff"&gt;2500&lt;/span&gt; } }) } }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; )&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; preview = $true&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} | ConvertTo-Json -Depth &lt;span style="color:#ae81ff"&gt;12&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Invoke-RestMethod -Method Post -Uri &lt;span style="color:#e6db74"&gt;&amp;#39;http://127.0.0.1:8765/commands?wait_seconds=60&amp;#39;&lt;/span&gt; -ContentType &lt;span style="color:#e6db74"&gt;&amp;#39;application/json; charset=utf-8&amp;#39;&lt;/span&gt; -Body $body&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;&lt;strong&gt;远程模型 API 本身不直接访问本机 Revit&lt;/strong&gt;；本机 Harness 把 Function Calling 参数转发到这个 REST 端点，或直接启动 MCP Server。&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;需要使用模型 API 时，运行 &lt;code&gt;scripts/configure-ai-provider.ps1&lt;/code&gt; 保存配置，再启动本机助手。&lt;strong&gt;API Key 使用 Windows DPAPI 按当前用户加密保存，不写入 MCP/REST 配置文件。&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h2 id="七当前能力范围"&gt;七、当前能力范围&#10;&lt;/h2&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;模块&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;已实现的高频操作&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;查询与编辑&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;文档、目录、元素、参数、删除、选择与定位&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;建筑&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;标高、轴网、墙、楼板、墙洞口、模型线、房间、空间、DirectShape&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;结构&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;梁、柱、斜撑，以及已载入结构族的实例放置&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;MEP&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;管道、风管、线管、桥架、直连/弯头/三通/活接连接&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;族&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;样板查询、新建 &lt;code&gt;.rfa&lt;/code&gt;、参数、类型、box/cylinder/extrusion 几何、保存、载入、放置&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;放置方式&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;非宿主、宿主、面宿主、工作平面、视图、线基和自适应族&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;出图与注释&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;3D / 平面 / 天花 / 结构平面 / 绘图 / 剖面 / 立面 / 详图索引视图、复制与样板、图纸、视图/明细表放图纸、详图线、文字、尺寸、标签、填充区域、修订及修订云线&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;导出与交付&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PNG/JPG/TIFF/BMP 图像、DWG/DXF、IFC、明细表 CSV/TXT、保存 &lt;code&gt;.rvt&lt;/code&gt;；导出/保存须作为独立计划执行&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;用于出图时，先以 &lt;code&gt;query_catalog(kind=view_types|title_blocks|text_types|filled_region_types|revisions)&lt;/code&gt; 查询项目资源；需要尺寸或标签时，以 &lt;code&gt;query_references&lt;/code&gt; 读取元素稳定引用，再提交 &lt;code&gt;create_dimension&lt;/code&gt; 或 &lt;code&gt;create_tag&lt;/code&gt;。&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;&lt;code&gt;export&lt;/code&gt; 和 &lt;code&gt;save_document&lt;/code&gt; 有外部文件副作用，&lt;strong&gt;须分别放在只含一个步骤的 &lt;code&gt;execute_plan&lt;/code&gt; 中&lt;/strong&gt;。&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;关于&amp;quot;为什么不做成万能执行器&amp;quot;，原文的态度很明确：&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;&amp;ldquo;Revit 的所有功能&amp;quot;包含数千个 API 对象，桥接不会开放任意 C# 执行；新增能力统一以受控原子步骤加入 &lt;code&gt;execute_plan&lt;/code&gt;。&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;h2 id="八原子操作一览"&gt;八、原子操作一览&#10;&lt;/h2&gt;&lt;p&gt;所有顶层 &lt;code&gt;operation&lt;/code&gt; 和 &lt;code&gt;execute_plan&lt;/code&gt; 中的 &lt;code&gt;steps[].operation&lt;/code&gt; 均由一张注册表调度。&lt;/p&gt;&#10;&lt;h3 id="01-顶层操作直接传入-operation-字段"&gt;01 顶层操作（直接传入 &lt;code&gt;operation&lt;/code&gt; 字段）&#10;&lt;/h3&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;操作名称&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;功能&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;health&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;桥接健康检查，返回状态、文档信息&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;execute_plan&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;主入口&lt;/strong&gt;。执行多步骤建模/出图计划，写步骤合并为一个事务&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;new_project&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建新项目（可选 .rte 样板），可选保存为 .rvt&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_family&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;从 .rft 样板创建 .rfa 族，支持参数/类型/几何&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;load_family&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;载入已有 .rfa 到当前项目&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;list_family_templates&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;列出本机 Revit 族样板路径&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;list_levels&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;列出项目标高（兼容旧入口）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;list_wall_types&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;列出基本墙类型（兼容旧入口）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_level&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建标高（兼容旧入口）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_grid&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建轴网（兼容旧入口）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_wall&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建直墙（兼容旧入口）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_rectangle_walls&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建四面闭合矩形墙（兼容旧入口）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="02-查询类原子步骤"&gt;02 查询类原子步骤&#10;&lt;/h3&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;操作名称&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;功能&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;query_document&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;返回当前文档信息（标题、路径、活动视图等）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;query_catalog&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;项目资源目录：标高、类别、视图、图纸、明细表、族类型、MEP 类型、链接等&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;query_elements&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;按类别/名称/族名/ID 过滤查询元素及其参数&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;query_references&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;返回元素的稳定几何引用（面/边）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;query_parameters&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;列出单个元素的所有参数&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;query_geometry&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;返回元素包围盒、实体摘要或面信息&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;query_room&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;查询房间/空间，支持按点查找或全量列出&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;query_selection&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;读取 Revit 界面当前选中的图元 ID、名称、类别&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;query_mep_network&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;从种子元素遍历 MEP 连接拓扑&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;query_view_range&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;返回平面视图范围（顶/剖切面/底/视图深度）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="03-创建类原子步骤"&gt;03 创建类原子步骤&#10;&lt;/h3&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;操作名称&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;功能&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_level&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建标高&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_grid&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建轴网&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_wall&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建直墙，支持新墙类型克隆&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_floor&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;从闭合轮廓创建楼板&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_room&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建房间&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_space&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建 MEP 空间&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_model_curve&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建模型线&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_direct_shape&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;从几何图元（box/cylinder/sphere 等）创建 DirectShape&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_swept_shape&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;沿路径扫掠创建实体（矩形/圆形/管道截面）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_mep_curve&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建 MEP 管线（管道/风管/线管/桥架）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;connect_mep&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;连接 MEP 元素，支持直连/弯头/三通/变径/四通&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_mep_system&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建管道或风管系统&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_insulation&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;添加管道/风管保温层&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;place_family_instance&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;放置族实例，支持多种放置方式&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;load_family&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;载入 .rfa 到项目&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_structural_member&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建结构构件（梁/斜撑/柱）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_view&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建 3D/平面/天花/结构平面视图&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_sheet&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建图纸（可选标题栏）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;place_view_on_sheet&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;将视图放置到图纸&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_opening&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建洞口（墙/楼板/竖井）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_drafting_view&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建绘图视图&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_section_view&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建剖面/详图视图&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_elevation_view&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建立面视图&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_callout&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建详图索引视图&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;duplicate_view&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;复制视图，可选应用视图样板&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_view_template&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;从现有视图创建视图样板&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_detail_curve&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建详图线&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_text_note&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建文字注释&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_dimension&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建尺寸标注&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_tag&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建独立标记&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_filled_region&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建填充区域&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_revision&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建修订&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_revision_cloud&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建修订云线&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;create_schedule&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;创建明细表（常规/材质提取/关键字/视图列表/图纸列表/修订）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;place_schedule_on_sheet&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;将明细表放置到图纸&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="04-视图属性与覆盖"&gt;04 视图属性与覆盖&#10;&lt;/h3&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;操作名称&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;功能&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;set_view_properties&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;设置视图属性（比例、裁剪框、样板、详细程度、规程等）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;set_element_overrides&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;设置元素图形覆盖（颜色、线宽、半色调等）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;set_category_overrides&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;设置类别图形覆盖&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;manage_view_filters&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;管理视图过滤器（添加/删除，支持规则与覆盖）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;set_view_range&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;设置平面视图范围（顶/剖切面/底/视图深度）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;manage_schedule_fields&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;管理明细表字段（添加/删除/隐藏/排序/过滤）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;manage_graphics_resources&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;管理图形资源（线样式子类别/填充图案）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="05-编辑与变更"&gt;05 编辑与变更&#10;&lt;/h3&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;操作名称&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;功能&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;set_parameters&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;批量设置元素参数值&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;manage_schema_data&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;扩展数据读写与搬运&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;manage_family_parameters&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;编辑族参数（添加/重命名/删除/设公式）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;manage_project_parameters&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;管理项目参数&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;duplicate_type&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;复制 ElementType，可选覆盖参数&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;transform_elements&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;移动/复制/旋转/镜像元素&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;rename_element&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;重命名元素（单个或批量前缀模式）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;set_element_curve&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;修改线性元素的 LocationCurve&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;delete_elements&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;删除元素&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;select_elements&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;选中并显示/缩放至元素&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="06-外部操作需单独执行"&gt;06 外部操作（需单独执行）&#10;&lt;/h3&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;操作名称&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;功能&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;export&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;导出视图（PNG/JPG/DWG/DXF/IFC/明细表 CSV）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;save_document&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;保存当前文档&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;全部操作共约 &lt;strong&gt;73 个原子步骤&lt;/strong&gt;。新增能力以受控原子步骤加入此表，&lt;strong&gt;不开放任意 C# 执行&lt;/strong&gt;。完整参数定义见 &lt;code&gt;PROTOCOL.md&lt;/code&gt; 和 &lt;code&gt;schemas/execute-plan.schema.json&lt;/code&gt;。&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;h2 id="九目录结构"&gt;九、目录结构&#10;&lt;/h2&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;revit-mcp-local-bridge/&#10;│&#10;├── src/ ← ★ 单一事实源（全部版本共享）&#10;│ ├── BridgeModels.cs&#10;│ ├── BridgeRuntime.cs&#10;│ ├── PlanCommandExecutor.cs&#10;│ ├── PlanValues.cs&#10;│ ├── RevitApiExtensions.cs&#10;│ ├── RevitCommandBridgeApp.cs&#10;│ ├── RevitCommandExecutor.cs&#10;│ ├── RevitFamilyOperations.cs&#10;│ ├── RevitGeometryFactory.cs&#10;│ ├── RevitLookups.cs&#10;│ ├── RevitOutputOperations.cs&#10;│ ├── RevitParameterAdmin.cs&#10;│ ├── RevitPlanCreations.cs&#10;│ ├── RevitPlanMutations.cs&#10;│ ├── RevitPlanQueries.cs&#10;│ ├── RevitPlanOperations.cs&#10;│ ├── RevitSectionFactory.cs&#10;│ ├── CommandPanelForm.cs&#10;│ ├── BridgeFailurePreprocessor.cs&#10;│ ├── BridgeFamilyLoadOptions.cs&#10;│ ├── BridgeFileQueue.cs&#10;│ ├── BridgeSchemas.cs&#10;│ ├── BridgeBuildInfo.cs&#10;│ ├── GlobalUsings.cs&#10;│ │&#10;│ ├── Adapter/ ← 版本适配入口（R20–R27）&#10;│ │ ├── AdapterEntry20.cs .. 27.cs&#10;│ │ └── Utils/ ← 工具类&#10;│ │&#10;│ ├── build/ ← 版本矩阵&#10;│ └── version-manifest.json&#10;│&#10;├── scripts/ ← 运行时脚本&#10;│ ├── revit-mcp-server.mjs&#10;│ ├── revit-http-gateway.mjs&#10;│ ├── revit-openai-compatible-chat.mjs&#10;│ ├── bridge-client.mjs&#10;│ ├── send-revit-command.ps1&#10;│ ├── configure-ai-provider.ps1&#10;│ ├── configure-connector.ps1&#10;│ ├── configure-detected-clients.ps1&#10;│ └── start-openai-compatible-chat.ps1&#10;│&#10;├── examples/ ← 请求示例&#10;│ ├── health.json&#10;│ ├── create-level.json&#10;│ ├── preview-rectangle-walls.json&#10;│ ├── preview-universal-plan.json&#10;│ ├── preview-create-family.json&#10;│ ├── preview-export-image.json&#10;│ ├── preview-architecture-output-plan.json&#10;│ └── preview-output-documentation-plan.json&#10;│&#10;├── schemas/&#10;│ └── execute-plan.schema.json&#10;│&#10;├── plans/ ← 设计方案&#10;│ ├── BUILD-PIPELINE.md&#10;│ ├── EXTENSION-PLAN.md&#10;│ ├── CAD-BRIDGE-PLAN.md&#10;│ ├── ATOMIC-ANALYSIS.md&#10;│ ├── FAQ.md&#10;│ └── PR-DESCRIPTION.md&#10;│&#10;├── deploy/&#10;│ ├── RevitCommandBridge.addin.template&#10;│ └── RevitCommandBridge.2026.addin ← 生成部署清单&#10;│&#10;├── verification/&#10;│ └── 2026-08-19-regression.md&#10;│&#10;├── setup/&#10;│ ├── RevitAIHubSetup.cs&#10;│ └── RevitCommandBridge.ico&#10;│&#10;├── depandency/ ← 预编译依赖（SQLite、Json、RevitAPI 等）&#10;├── release/ ← 发布包输出&#10;│&#10;├── build.ps1 ← 单版本编译&#10;├── build-all.ps1 ← 全版本批量编译&#10;├── build-installer.ps1 ← 安装器打包&#10;├── install-revit.ps1 ← 安装/检测&#10;├── uninstall-revit.ps1&#10;├── fix_all.ps1&#10;├── fix_value.ps1&#10;├── RevitCommandBridge.csproj ← 单一项目，条件编译 R20–R26&#10;├── RevitCommandBridge.slnx ← .slnx 新格式解决方案&#10;├── PROTOCOL.md&#10;├── ARCHITECTURE.md&#10;├── VERSION-SUPPORT.md&#10;├── CONNECTORS.md&#10;├── ENGINEERING-RECORD.md&#10;├── NOTICE.md&#10;├── LICENSE&#10;├── SOURCE-PACKAGE.txt&#10;└── README.md&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;更多构建管道细节见仓库内的 &lt;code&gt;plans/BUILD-PIPELINE.md&lt;/code&gt;。&lt;/p&gt;&#10;&lt;h2 id="十安全边界与设计约束"&gt;十、安全边界与设计约束&#10;&lt;/h2&gt;&lt;p&gt;这部分虽然不是&amp;quot;功能清单&amp;rdquo;，但它决定了这个项目能否被放心地接进生产流程。&lt;/p&gt;&#10;&lt;pre class="mermaid" style="visibility:hidden"&gt;flowchart TD&#10; REQ["外部请求&lt;br/&gt;MCP / REST / CLI / 文件"] --&gt; V1{"顶层 operation&lt;br/&gt;是否已注册？"}&#10; V1 --&gt;|否| REJ1["拒绝"]&#10; V1 --&gt;|是| V2{"原子步骤参数&lt;br/&gt;是否合法？"}&#10; V2 --&gt;|否| REJ2["拒绝"]&#10; V2 --&gt;|是| V3{"目标文档&lt;br/&gt;是否匹配？"}&#10; V3 --&gt;|否| REJ3["拒绝"]&#10; V3 --&gt;|是| TX["Revit Transaction&lt;br/&gt;all-or-nothing"]&#10; TX --&gt;|成功| OK["Commit + 结果 JSON"]&#10; TX --&gt;|失败| RB["Rollback"]&#10;&#10; style REJ1 fill:#ef4444,stroke:#b91c1c,color:#fff&#10; style REJ2 fill:#ef4444,stroke:#b91c1c,color:#fff&#10; style REJ3 fill:#ef4444,stroke:#b91c1c,color:#fff&#10; style TX fill:#f59e0b,stroke:#b45309,color:#fff&#10; style OK fill:#10b981,stroke:#047857,color:#fff&#10; style RB fill:#64748b,stroke:#334155,color:#fff&lt;/pre&gt;&lt;p&gt;核心约束可以归纳为四条：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;不执行任意代码&lt;/strong&gt;：不执行任意 C#、Python 或自然语言，只接受已注册的顶层 operation 和受控原子步骤&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;校验前置&lt;/strong&gt;：校验参数和目标文档后才调用 Revit API&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;事务原子性&lt;/strong&gt;：&lt;code&gt;execute_plan&lt;/code&gt; 中所有写步骤使用一个 all-or-nothing Revit Transaction&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;网络面收敛&lt;/strong&gt;：REST 默认只绑定 &lt;code&gt;127.0.0.1&lt;/code&gt;，未检测到活动 Revit 桥时拒绝提交&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;关于可扩展性，原文的表述也很克制：&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;客户端识别只是安装层适配器，不进入 Revit 插件核心。以后支持新软件只增加一条配置适配规则，不需要重新设计 Revit 命令协议或建模功能。&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;h2 id="十一常见问题"&gt;十一、常见问题&#10;&lt;/h2&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;现象&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;原因与处理&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;REST 返回 &lt;code&gt;503 bridge_not_running&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Revit 未启动、插件未加载，或启动后尚未完成初始化&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;返回&amp;quot;尚未打开项目文档&amp;quot;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;在 Revit 中打开或新建 &lt;code&gt;.rvt&lt;/code&gt; 项目后重试&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;返回文档标题不一致&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;请求指定了 &lt;code&gt;document_title&lt;/code&gt;，但当前活动项目不是该文档&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;返回命令 ID 已存在&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;读取已有 outbox 结果，或生成新 id&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Revit 功能区没有按钮&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;检查 &lt;code&gt;%APPDATA%\Autodesk\Revit\Addins\&amp;lt;year&amp;gt;\RevitCommandBridge.addin&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;其它年份 Revit 不加载&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;为对应年份重新引用 &lt;code&gt;RevitAPI.dll&lt;/code&gt; / &lt;code&gt;RevitAPIUI.dll&lt;/code&gt; 并编译适配包&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="十二写在最后"&gt;十二、写在最后&#10;&lt;/h2&gt;&lt;p&gt;这个项目的思路其实很清晰：&lt;strong&gt;把&amp;quot;能力&amp;quot;和&amp;quot;接入方式&amp;quot;彻底分开。&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Revit 插件这一侧只做一件事——执行受控的 Revit API 原子操作，用事务保证一致性&lt;/li&gt;&#10;&lt;li&gt;接入层这一侧则完全开放——MCP、REST、CLI、OpenAI 兼容 API、文件队列，随便什么 Harness 都能接&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;这种分层带来的好处是：&lt;strong&gt;换模型、换客户端、换编排框架，都不需要动 Revit 插件本体&lt;/strong&gt;。对 BIM 这种工具链常年迭代、版本碎片化严重的领域来说，这个取舍很实用。&lt;/p&gt;&#10;&lt;p&gt;如果你也想让 AI 助手直接在你的 Revit 项目里干活，又不想开放&amp;quot;任意代码执行&amp;quot;这种危险的口子，这个桥接方案值得研究一下。&lt;/p&gt;&#10;&lt;hr&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;&lt;strong&gt;风险提示&lt;/strong&gt;：本文为项目文档整理，所述脚本包含本机 Revit 插件安装、写入 &lt;code&gt;%APPDATA%&lt;/code&gt;、启动本地服务（&lt;code&gt;127.0.0.1:8765&lt;/code&gt;）以及保存 API 密钥配置等操作。实际使用前请自行评估环境风险，并在测试项目中先行验证。文中命令与配置以仓库文档为准，不同版本可能有所差异。&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;</description></item></channel></rss>