|

Codex 接入 Rhino MCP 教程:3 步實現 AI 自動建模

Codex 接入 Rhino MCP 教程:3 步實現 AI 自動建模

作者注:從零部署 Rhino MCP Server,在 Codex 中配置 API易 接口,3 步跑通第一條自然語言建模指令,並對比 GPT Codex 與 Claude 系列的建模表現。

用一句話讓 Rhino 自動建模,是很多 3D 設計師和參數化建模工程師的需求。這件事的難點不在 Rhino,而在於大模型、MCP 協議和客戶端三者怎麼連起來。本文介紹 Codex + Rhino MCP + API易 接口 的完整接入方案,幫助你掌握 Codex 接入 Rhino MCP 的實操方法。

這不是一篇概念科普,而是按照“部署 MCP Server → 配置 Codex 接口 → 跑通第一條指令”的順序寫成的落地指南。我們在支持用戶的過程中發現,大家通常卡在三個地方:環境從零怎麼搭、Codex 怎麼接入第三方 API、哪個模型建模效果更好。本文會逐一給出答案。

核心價值:讀完本文,你將能在本機用自然語言驅動 Rhino 創建幾何體,並知道如何科學地對比不同模型的建模表現。

codex-rhino-mcp-ai-modeling-tutorial-zh-hant-image-0


Codex 接入 Rhino MCP 核心要點

在動手之前,先弄清楚整條鏈路由哪幾部分組成,以及各部分由誰負責。很多接入失敗,其實是把“模型接口問題”和“MCP Server 問題”混在一起排查導致的。

組件 作用 由誰提供/部署
Rhino 插件 在 Rhino 內部監聽指令,執行建模操作 用戶本機安裝
Rhino MCP Server 把 Rhino 能力封裝爲 MCP 工具,供 AI 客戶端調用 用戶本機部署
Codex 客戶端 加載 MCP 工具,負責與大模型對話和任務調度 用戶本機安裝配置
大模型 API 理解指令、規劃步驟、生成工具調用參數 通過 API易 接入

Rhino MCP 工作原理詳解

MCP(Model Context Protocol)是一種讓 AI 客戶端以統一方式調用外部工具的協議。Rhino MCP Server 會把“創建立方體”“獲取當前文檔對象”“執行 Python 腳本”等能力註冊成一組工具,Codex 啓動時讀取這些工具的名稱、說明和參數結構,再把它們一起發給大模型。

當你輸入“在原點畫一個 100×50×20 的立方體”,模型不會直接操作 Rhino,而是返回一個結構化的工具調用請求。Codex 把這個請求轉發給 MCP Server,Server 再通過本地連接通知 Rhino 插件執行,結果原路返回給模型。所以,建模質量本質上取決於模型的工具調用能力和多步任務規劃能力,這也是選型時最需要關注的指標。

codex-rhino-mcp-ai-modeling-tutorial-zh-hant-image-1


Codex 接入 Rhino MCP 環境準備

正式開始之前,請確認本機滿足以下條件。Rhino MCP 是社區開源項目,不同版本的安裝方式可能有細微差別,具體請以項目 README 爲準。

環境項 要求 檢查方式
Rhino Rhino 7 或 Rhino 8(以項目說明爲準) 打開 Rhino 查看版本號
Python 環境 推薦安裝 uv,用於運行 MCP Server 終端執行 uv --version
Node.js Codex CLI 通過 npm 安裝 終端執行 node -v
Codex 客戶端 命令行版、IDE 插件或桌面端均可 終端執行 codex --version
API Key 一個可調用 Codex/Claude 系列模型的 Key 在 API易 控制檯創建

如果你所在的網絡環境無法穩定訪問海外官方接口,建議優先解決模型接口這一環。MCP Server 和 Rhino 都運行在本機,真正需要聯網的只有模型推理請求。


Codex 接入 Rhino MCP 快速上手:3 步實現 AI 自動建模

第 1 步:部署 Rhino MCP Server

以社區開源的 rhinomcp 項目爲例,部署分爲“Rhino 端插件”和“MCP Server 端”兩部分:

  1. 在 Rhino 中打開 Package Manager,搜索 rhinomcp 並安裝插件,安裝後重啓 Rhino。
  2. 在 Rhino 命令行輸入插件提供的啓動命令(項目中爲 mcpstart),讓插件開始監聽本地連接。
  3. 在終端執行 uvx rhinomcp,確認 MCP Server 能夠正常啓動、沒有報錯。

第 2 步之後,Codex 會自動拉起 MCP Server,所以這裏的手動啓動只用於驗證環境。如果 uvx 提示找不到命令,通常是 uv 沒有加入系統 PATH,重新打開終端或按 uv 官方說明配置即可。

第 2 步:在 Codex 中配置 API易 接口

Codex 的配置文件位於用戶目錄下的 ~/.codex/config.toml。我們需要在這裏同時完成兩件事:聲明自定義模型提供方,以及註冊 Rhino MCP Server。

# ~/.codex/config.toml
model = "gpt-5-codex"          # 以 API易 控制檯中實際可用的模型名爲準
model_provider = "apiyi"

[model_providers.apiyi]
name = "APIYI"
base_url = "https://api.apiyi.com/v1"   # API易 OpenAI 兼容接口
env_key = "APIYI_API_KEY"               # 從環境變量讀取 Key
wire_api = "responses"                  # 若使用 Chat Completions 協議則改爲 "chat"

[mcp_servers.rhino]
command = "uvx"
args = ["rhinomcp"]

然後在終端設置環境變量,Windows 用戶可在系統環境變量中添加:

export APIYI_API_KEY="sk-你的密鑰"

wire_api 的取值需要與所選模型支持的協議一致。如果配置後出現協議相關報錯,可以切換爲另一種取值再試,具體以 API易 文檔中 Codex 使用場景的說明爲準。

第 3 步:跑通第一條自然語言建模指令

保持 Rhino 打開且插件處於監聽狀態,在終端輸入 codex 啓動客戶端。可以先問一句“你現在有哪些 Rhino 工具可用”,如果模型能列出建模相關的工具,說明 MCP 已經加載成功。

建議從簡單指令開始,逐步增加任務複雜度,這樣出問題時更容易定位:

難度 示例指令 考察的模型能力
入門 在原點創建一個 100×50×20 的立方體 單次工具調用、參數準確性
進階 畫一張 1200×600 的桌面,四角各加一條直徑 40、高 720 的桌腿 多步規劃、座標計算
複雜 生成一個 5 層螺旋樓梯,每級臺階旋轉 15 度並逐級升高 循環邏輯、生成 Python 腳本
修改 把場景中所有立方體改成紅色並放到新圖層 讀取文檔狀態後再操作

複雜任務中,模型通常會選擇調用“執行 Python 腳本”這類工具,一次性生成 RhinoScript 代碼完成建模。此時模型的代碼生成能力會直接決定成功率。

極簡示例:用 Python 驗證模型的工具調用能力

在接入 Codex 之前,也可以先用一段腳本,確認模型能否針對建模工具返回正確的調用參數。這一步能快速排除“模型接口不可用”的問題:

import openai, json

client = openai.OpenAI(api_key="YOUR_API_KEY", base_url="https://api.apiyi.com/v1")

tools = [{"type": "function", "function": {
    "name": "create_box",
    "description": "在 Rhino 中創建立方體",
    "parameters": {"type": "object", "properties": {
        "origin": {"type": "array", "items": {"type": "number"}},
        "size": {"type": "array", "items": {"type": "number"}}},
        "required": ["origin", "size"]}}}]

resp = client.chat.completions.create(
    model="gpt-5-codex",  # 以控制檯實際模型名爲準
    messages=[{"role": "user", "content": "在原點畫一個 100x50x20 的立方體"}],
    tools=tools)
call = resp.choices[0].message.tool_calls[0]
print(call.function.name, json.loads(call.function.arguments))

查看完整實現代碼:多模型建模指令對比測試
import openai
import json
from typing import List, Dict

client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"  # 同一個 Key 可調用 GPT 與 Claude 系列
)

# 待測試的模型,請替換爲控制檯中實際可用的模型名
MODELS = ["gpt-5-codex", "claude-sonnet-4-5"]

TOOLS = [
    {"type": "function", "function": {
        "name": "create_box",
        "description": "創建立方體,origin 爲角點座標,size 爲長寬高",
        "parameters": {"type": "object", "properties": {
            "origin": {"type": "array", "items": {"type": "number"}},
            "size": {"type": "array", "items": {"type": "number"}}},
            "required": ["origin", "size"]}}},
    {"type": "function", "function": {
        "name": "create_cylinder",
        "description": "創建圓柱,base 爲底面圓心,radius 爲半徑,height 爲高度",
        "parameters": {"type": "object", "properties": {
            "base": {"type": "array", "items": {"type": "number"}},
            "radius": {"type": "number"},
            "height": {"type": "number"}},
            "required": ["base", "radius", "height"]}}},
]

PROMPT = "畫一張 1200x600x30 的桌面,桌面底部在 z=720,四角各加一條直徑 40、高 720 的桌腿"


def run_test(model: str) -> List[Dict]:
    """返回模型規劃出的全部工具調用"""
    try:
        resp = client.chat.completions.create(
            model=model,
            messages=[
                {"role": "system", "content": "你是 Rhino 建模助手,請一次性規劃所有工具調用。"},
                {"role": "user", "content": PROMPT},
            ],
            tools=TOOLS,
        )
        calls = resp.choices[0].message.tool_calls or []
        return [{"name": c.function.name,
                 "args": json.loads(c.function.arguments)} for c in calls]
    except Exception as e:
        return [{"error": str(e)}]


if __name__ == "__main__":
    for m in MODELS:
        result = run_test(m)
        print(f"\n===== {m}:共 {len(result)} 個調用 =====")
        for item in result:
            print(item)
        # 期望:1 個 create_box + 4 個 create_cylinder,且桌腿位於四個角

🚀 快速開始:推薦先通過 API易 apiyi.com 領取新用戶免費測試額度,用上面的腳本驗證模型的工具調用是否正常,再接入 Codex 與 Rhino。這樣遇到問題時,能清楚區分是模型接口的問題還是本地 MCP 環境的問題。


Codex 接入 Rhino MCP 如何選擇模型

AI 自動建模對模型的要求集中在三點:代碼生成、工具調用和複雜任務規劃。根據我們的支持經驗,建議優先測試 GPT Codex 系列和 Claude Sonnet/Opus 系列。下表給出的是定性對比,實際效果請以你自己的建模任務實測爲準。

codex-rhino-mcp-ai-modeling-tutorial-zh-hant-image-2

模型系列 核心優勢 適用建模場景 可用平臺
GPT Codex 系列 爲 Codex 客戶端深度優化,代碼生成穩定 腳本化建模、參數化批量生成 API易、官方 API
Claude Sonnet 系列 工具調用準確,速度與質量平衡 日常建模指令、多步操作 API易、官方 API
Claude Opus 系列 複雜推理與長任務規劃能力強 複雜結構、需要反覆讀取場景狀態的任務 API易、官方 API

GPT Codex 對標分析:GPT Codex 系列與 Codex 客戶端的配合最爲原生,配置簡單,生成 RhinoScript Python 腳本時風格穩定。但面對需要多輪讀取場景、再做判斷的修改類任務,表現會因提示詞寫法而有波動。對於以腳本生成爲主的參數化建模,它是很穩妥的起點。

Claude 系列對標分析:Claude Sonnet/Opus 在工具調用的參數準確性和長鏈路規劃上口碑較好。如果你更習慣 Claude,也可以使用 Claude Code 加載同一個 Rhino MCP Server 作爲替代客戶端。相比之下,在 Codex 內通過 OpenAI 兼容接口調用 Claude,更方便在同一套環境中橫向對比。

💡 選擇建議:模型表現與你的建模類型高度相關,沒有絕對的最優解。建議通過 API易 apiyi.com 用同一個 Key 分別測試 GPT Codex 與 Claude 系列,用前文的對比腳本跑相同的指令,根據成功率和成本做決定。


Codex 接入 Rhino MCP 常見報錯排查

接入過程中的報錯,大多可以按“模型接口 → Codex 配置 → MCP Server → Rhino 插件”的順序逐層排查。

現象 可能原因 處理方法
Codex 啓動後提示 401 環境變量未生效或 Key 填寫錯誤 重開終端,檢查 APIYI_API_KEY 是否設置
提示模型不存在 模型名與平臺實際名稱不一致 在控制檯複製準確的模型名
模型說沒有 Rhino 工具 MCP Server 未被加載 檢查 config.toml 中 mcp_servers 段落拼寫
工具調用超時 Rhino 插件未處於監聽狀態 在 Rhino 中重新執行啓動命令
模型調錯工具或參數缺失 指令描述模糊或模型規劃能力不足 明確尺寸、座標、單位,或換模型測試


常見問題 FAQ

Q1:什麼是 Rhino MCP?

Rhino MCP 是基於 MCP 協議的 Rhino 工具服務,它把 Rhino 的建模能力封裝成 AI 可調用的工具。配合 Codex、Claude Code 等支持 MCP 的客戶端,大模型就能根據自然語言指令直接在 Rhino 中創建和修改幾何體。

Q2:Codex 接入 Rhino MCP 和直接讓 AI 寫 Grasshopper 有什麼區別?

讓 AI 寫代碼再手動粘貼,仍需要人來執行和檢查。Codex 接入 Rhino MCP 後,模型可以自己調用工具、讀取執行結果並繼續下一步,形成閉環。它更適合多步建模和反覆修改的場景,而 Grasshopper 更適合需要長期維護的參數化邏輯。

Q3:API易 會幫我部署 Rhino MCP Server 嗎?

不會。API易 提供的是模型 API 接口,Rhino MCP Server 和 Codex 客戶端需要在你的本機自行部署和配置。好在兩者都是本地組件,按本文第 1、2 步操作即可完成。

Q4:Codex 接入 Rhino MCP 最適合哪些場景?

– **方案草模**:快速生成建築體塊、傢俱框架等初步模型
– **參數化批量生成**:按規則生成陣列、螺旋、漸變尺寸的構件
– **場景批量修改**:統一修改圖層、顏色、命名等重複性操作

Q5:如何通過 API 快速爲 Codex 接入可用的模型?

1. 訪問 API易 apiyi.com 註冊賬號並創建 API Key
2. 領取新用戶免費測試額度
3. 在 `config.toml` 中把 `base_url` 設爲 `https://api.apiyi.com/v1`,填寫模型名即可

同一個 Key 可以調用 GPT 與 Claude 等主流模型,切換模型只需修改配置中的模型名。

Q6:爲什麼模型經常調錯工具或參數不對?

工具調用的準確性取決於兩點:工具描述是否清晰,以及模型本身的規劃能力。建議在指令中寫明單位、座標原點和具體尺寸,複雜任務拆成多輪執行。如果同一條指令反覆失敗,可以換用 Claude Opus 等規劃能力更強的模型對比測試。

Q7:Codex 接入 Rhino MCP 有哪些已知限制?

– **成本**:複雜任務會產生多輪工具調用,token 消耗明顯高於普通對話
– **精度**:模型偶爾會算錯座標,關鍵尺寸仍需人工複覈
– **兼容性**:社區插件隨 Rhino 版本更新,可能出現短期不兼容,需關注項目更新


Codex 接入 Rhino MCP 核心要點 Key Takeaways

  • 鏈路組成:Rhino 插件、MCP Server、Codex 客戶端、大模型 API 四部分缺一不可
  • 本地部署:Rhino MCP Server 和 Codex 均在本機運行,只有模型推理需要聯網
  • 關鍵配置:在 config.toml 中同時聲明模型提供方和 mcp_servers
  • 循序漸進:從單個立方體開始,逐步增加到多步規劃和腳本生成任務
  • 模型選型:優先測試 GPT Codex 系列和 Claude Sonnet/Opus 系列
  • 上手方式:用 API易 的一個 Key 即可在同一套環境中橫向對比多個模型

總結

Codex 接入 Rhino MCP 的核心要點:

  1. 第 1 步部署 MCP Server:安裝 Rhino 插件並啓動監聽,用 uvx rhinomcp 驗證服務
  2. 第 2 步配置模型接口:在 Codex 配置文件中設置自定義提供方並註冊 Rhino MCP
  3. 第 3 步跑通建模指令:從簡單指令開始,逐步驗證模型的工具調用與規劃能力

整條鏈路跑通之後,真正決定建模效果的是模型選擇和指令寫法。建議用本文的對比腳本,拿自己常見的建模任務做實測。

推薦通過 API易 apiyi.com 快速驗證效果,平臺提供 OpenAI 兼容接口、免費測試額度和多模型統一接入,便於在 Codex 中靈活切換 GPT 與 Claude 系列。


📚 參考資料

  1. rhinomcp 開源項目:Rhino MCP 插件與 Server 實現
  2. 鏈接:github.com/jingcheng-chen/rhinomcp
  3. 說明:包含安裝步驟、可用工具列表和版本兼容說明

  4. OpenAI Codex 項目倉庫:Codex CLI 安裝與配置說明

  5. 鏈接:github.com/openai/codex
  6. 說明:config.toml 中模型提供方與 MCP Server 配置項的權威說明

  7. Model Context Protocol 官方文檔:MCP 協議規範

  8. 鏈接:modelcontextprotocol.io
  9. 說明:理解工具註冊、調用與返回機制的基礎資料

作者:APIYI 技術團隊
技術交流:歡迎在 API易 官網首頁聯繫我們,Codex、Claude Code 等使用場景的配置說明可訪問 docs.apiyi.com 文檔中心

延伸閱讀

Similar Posts