🚀 CereBro.Unity
CereBro.Unity 是一個基於 CereBro 的模型無關 AI 代理包裝器,專為 Unity 打造。它支持通過 Model Context Protocol 使用不同的 AI 模型。藉助官方的 C# SDK(https://github.com/modelcontextprotocol/csharp-sdk),你可以編寫工具,且無需更改代碼。
🚀 快速開始
CereBro.Unity 能讓你在 Unity 中輕鬆使用不同的 AI 模型,通過簡單的配置即可實現 AI 功能的集成。
✨ 主要特性
- 基於 CereBro,是模型無關的 AI 代理包裝器。
- 支持通過 Model Context Protocol 使用不同的 AI 模型。
- 可使用官方 C# SDK 編寫工具,無需更改代碼。
📦 安裝指南
Git URL
你可以通過 Git URL 從 Unity 的包管理器安裝 CereBro.Unity。具體安裝步驟請訪問 https://docs.unity3d.com/Manual/upm-ui-giturl.html。
在 Unity 項目中,使用以下 Git URL 進行安裝:
https://github.com/rob1997/CereBro.git?path=/Packages/com.cerebro.unity
Open UPM
⚠️ 重要提示
目前尚未提供 Open UPM 支持。
💻 使用示例
MCP Server
步驟 1:導入服務器
從菜單欄選擇 CereBro > Import Server
,這會將 CereBro.Server.Unity
導入到 Unity 項目的根目錄中。它作為中介的 MCP 服務器,負責在 Unity 和 AI 模型之間 relay 數據。
步驟 2:配置客戶端
你需要將具體的聊天客戶端配置為使用 CereBro.Server.Unity
。你可以在客戶端的配置文件中添加以下內容:
"servers": {
"cerebro-server-unity": {
"type": "stdio",
"command": "dotnet",
"args": [
"<Path to Unity Project>/CereBro.Server.Unity/CereBro.Server.Unity.dll",
"--port",
"<Port Number>"
]
}
}
如果你使用的是 CereBro
客戶端,可以在 servers.json
文件中添加以下內容:
[
{
"Id": "unity-server",
"Name": "CereBro.Server.Unity",
"TransportType": "stdio",
"TransportOptions": {
"command": "dotnet \"<Path To Unity Project>/CereBro.Server.Unity/CereBro.Server.Unity.dll\"",
"arguments": "--port <Port Number>"
}
}
]
步驟 3:在 Unity 中運行 CereBro
接下來你需要在 Unity 中運行 CereBro。這將創建一個偵聽器,用於監聽 CereBro.Server.Unity
的請求。
編輯器模式:
[InitializeOnLoad]
public static class CereBroEditorRunner
{
static CereBroEditorRunner()
{
CereBroListener.RunForEditor(5050);
}
}
運行時模式:
在運行時,你需要調用 CereBroListener.Run(int port = 5000, CancellationToken cancellationToken = default)
方法,該方法將返回一個 Awaitable Task。
現在你可以啟動客戶端並使用 CereBro 在 Unity 中。
MCP 客戶端
⚠️ 重要提示
尚未提供 MCP 客戶端相關內容。
基礎用法
上述 MCP Server 的步驟 1 - 3 即為基礎的使用流程,按照這些步驟配置和運行,即可在 Unity 中使用 CereBro。
高級用法
目前文檔未提供高級用法相關內容,可關注項目後續更新。
📚 詳細文檔
CereBro.Unity 示例
你可以在包管理器中導入 CereBro.Unity 的示例項目。它包含可以直接從 MCP 客戶端調用的編輯器工具:
- CreateShapeTool:在當前場景中創建一個 primitives 形狀(例如立方體、球體、圓柱體等)。
- GetCurrentPositionTool:獲取當前場景中 GameObject 的當前位置。
- MoveGameObjectTool:按照指定的偏移量在 x、y 和 z 方向上移動 GameObject。
- RePositionTool:將 GameObject 移動到指定的位置。
- RotateGameObjectTool:按照指定的角度繞 x、y 和 z 軸旋轉 GameObject。
🤝 為項目做貢獻
如果你希望為該項目做出貢獻,可以 fork 倉庫並創建 pull request。你也可以在發現任何問題或有任何功能請求時創建 issue。







