探索
Cerebro

Cerebro

CereBro.Unity是一个基于CereBro的模型无关AI代理包装器,支持Model Context Protocol(MCP),允许开发者编写可跨AI模型使用的工具。
2.5分
17
2025-04-28 16:49:31
内容详情
替代品
安装
复制以下命令到你的Client进行配置
注意:您的密钥属于敏感信息,请勿与任何人分享。

CereBro.Unity

CereBro.Unity 是一个基于 CereBro 的模型无关 AI 代理包装器,用于 Unity,并且支持通过 Model Context Protocol 使用不同的 AI 模型。现在你可以使用官方的 C# SDK(https://github.com/modelcontextprotocol/csharp-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 客户端

尚未提供。

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。