> ## Documentation Index
> Fetch the complete documentation index at: https://ikun.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# AG-UI 应用

> 将您的 Agno Agent 作为 AG-UI 兼容应用公开

AG-UI，或称 [Agent-User Interaction Protocol](https://github.com/ag-ui-protocol/ag-ui)，是一个规范 AI Agent 如何连接到前端应用程序的协议。

## 示例用法

<Steps>
  <Step title="安装后端依赖">
    ```bash theme={null}
    pip install agno ag-ui-protocol
    ```
  </Step>

  <Step title="运行后端">
    现在让我们来运行一个公开 Agno Agent 的 `AGUIApp`。您可以使用之前的代码！
  </Step>

  <Step title="运行前端">
    您可以使用 [Dojo](https://github.com/ag-ui-protocol/ag-ui/tree/main/typescript-sdk/apps/dojo)，一个高级且可自定义的选项，作为 AG-UI Agent 的前端。

    1. 克隆项目：`git clone https://github.com/ag-ui-protocol/ag-ui.git`
    2. 请按照 [此处](https://github.com/ag-ui-protocol/ag-ui/tree/main/typescript-sdk/apps/dojo) 的说明，了解如何安装所需的依赖项和运行项目。
    3. 请记住使用 `pnpm install` 安装 `/ag-ui/typescript-sdk` 中的依赖项，并使用 `pnpm run build` 构建 `/integrations/agno` 中的 Agno 包。
    4. 现在您可以运行您的 Dojo 了！它将我们 Agno Agent 列为可用选项之一。
  </Step>

  <Step title="与您的 Agno Agent 聊天">
    完成！如果您将 Dojo 作为前端运行，现在可以在浏览器中访问 [http://localhost:3000，并与您的](http://localhost:3000，并与您的) Agno Agent 聊天。
  </Step>
</Steps>

<img src="https://mintcdn.com/ikun/QKpfPChraOG28GfC/images/agui-dojo.png?fit=max&auto=format&n=QKpfPChraOG28GfC&q=85&s=6c1e88c7a4f75db24be77669c6cc6227" alt="AG-UI Dojo 截图" width="2820" height="1706" data-path="images/agui-dojo.png" />

您可以在我们的 [AG-UI 集成示例](/examples/applications/ag-ui) 部分查看更多示例。

## 核心组件

* `AGUIApp`: 将 Agno Agent/Teams 封装到 FastAPI 应用中。
* `serve`: 使用 Uvicorn 启动 FastAPI AG-UI 应用。

`AGUIApp` 使用辅助函数进行路由。

## `AGUIApp` 类

Agno AG-UI 应用的主入口。

### 初始化参数

| 参数            | 类型                         | 默认值    | 描述                               |
| ------------- | -------------------------- | ------ | -------------------------------- |
| `agent`       | `Optional[Agent]`          | `None` | Agno `Agent` 实例。                 |
| `team`        | `Optional[Team]`           | `None` | Agno `Team` 实例。                  |
| `settings`    | `Optional[APIAppSettings]` | `None` | API 配置。如果为 `None` 则使用默认值。        |
| `api_app`     | `Optional[FastAPI]`        | `None` | 现有的 FastAPI 应用。如果为 `None` 则创建新的。 |
| `router`      | `Optional[APIRouter]`      | `None` | 现有的 APIRouter。如果为 `None` 则创建新的。  |
| `app_id`      | `Optional[str]`            | `None` | 应用标识符（如果未设置则自动生成）。               |
| `name`        | `Optional[str]`            | `None` | 应用名称。                            |
| `description` | `Optional[str]`            | `None` | 应用描述。                            |

*请提供 `agent` 或 `team`，但不要同时提供两者。*

### 主要方法

| 方法        | 参数                       | 返回类型      | 描述                                            |
| --------- | ------------------------ | --------- | --------------------------------------------- |
| `get_app` | `use_async: bool = True` | `FastAPI` | 返回配置好的 FastAPI 应用（默认为异步）。设置前缀、错误处理程序、CORS、文档。 |

## 终端节点

终端节点位于指定的 `prefix`（默认为 `/v1`）下。

### 1. `POST /agui`

这是与您的 Agno Agent 或 Team 交互的主要入口点。

它期望一个 `RunAgentInput` 对象（来自 `ag-ui-protocol` 包），该对象由协议定义。您可以在[其文档](https://docs.ag-ui.com/quickstart/server)中了解更多信息。

## 启动应用 (`serve`)

使用 Uvicorn 启动 FastAPI 应用。

### 参数

| 参数       | 类型                    | 默认值           | 描述                      |
| -------- | --------------------- | ------------- | ----------------------- |
| `app`    | `Union[str, FastAPI]` | `N/A`         | FastAPI 应用实例或导入字符串（必需）。 |
| `host`   | `str`                 | `"localhost"` | 绑定的主机。                  |
| `port`   | `int`                 | `7777`        | 绑定的端口。                  |
| `reload` | `bool`                | `False`       | 为开发启用自动重新加载。            |

您可以在我们的 [AG-UI 集成示例](/examples/applications/ag-ui) 部分查看一些使用示例。

您还可以查看 [CopilotKit 文档](https://docs.copilotkit.ai/agno) 关于使用 Agno 的内容，以了解更多关于如何构建 UI 端的信息。
