Skip to content

Latest commit

 

History

History
53 lines (32 loc) · 3.52 KB

File metadata and controls

53 lines (32 loc) · 3.52 KB

sealai Agent 设计

超级计算机的底层基于 Kubernetes 架构,包含容器、数据库和开发环境等对象。 现在需要做一个产品原型的设计。

这个产品的核心有两部分:一部分由一个画布组成,画布里可以看到各种对象。比如数据库、开发环境、容器、网络出口等对象,然后可以通过划线对它们进行连接。 然后这个产品有一个聊天框入口,这个聊天框可以让 agent 去创建和管理这些对象。 最左边是一个很窄的导航条,可以列出各种对象;中间是画布页面;右边是聊天窗口。

关于资源创建有几种方式:

  1. 根据源码进行创建。
  2. 根据 Docker 镜像进行创建。
  3. 创建数据库。
  4. 创建我们已封装好的应用,应用包含网络入口、前后端、数据库等,是一个完整的应用。
  5. 创建开发环境。

第一种场景方式:用户可以输入一个公开的 GitHub 项目地址,或者通过授权的方式获取自己的 GitHub 项目列表。

用户完成 GitHub 链接输入后,Agent 会自动分析项目的依赖、开发环境,以及是否存在 Docker 镜像;若没有,则自动生成 Dockerfile,构建镜像并推送到仓库;最后在云操作系统中创建对应的 Pod、Service、Deployment、Ingress 等对象。 然后完成整个项目从源码到最终运行在云操作系统中的全过程,但不需要向用户暴露 Pod、Service、Deployment 等底层概念,只需要让用户看到一些关键信息,比如入口域名以及实例。这个实例可能是容器,也可能是数据库。

第二种方式是:用户输入 Docker 镜像地址,系统自动分析该镜像的启动参数、环境变量等信息,并在云操作系统中运行,最终在画布上进行展示。

第三种方式

第三种方式可以帮助用户创建高可用的 PGSQL、MySQL、MongoDB 等数据库。

数据库创建完成后,在画布上也会以一个方块卡片(Card)的形式呈现。点击该 Card 时,可以展示数据库中的详细数据信息。也可以查看数据库的基本信息,例如:

  • 连接方式
  • 基本运维操作:备份、监控等信息

第四种方式是我们已经封装好的整体应用,例如 FastGPT。它依赖前端、后端和一个数据库。我们已将完整模板打包并上架到应用商店。

  • 用户点击该方式后,可在应用商店中选择所需的封装应用。
  • AI 会自动定位应用并将其所有依赖自动化启动到云操作系统中。

5. 开发环境

第五种环境是开发环境。我们会在云端启动一个名为 DevBox 的容器。该容器内置 VS Code Server,用户可以通过客户端、VS CodeCursor 等工具连接到该开发环境并进行编码。

以上在画布中展示一些基础的原子单元。比如,一个出口域名是一个基础单元,容器是一个基础单元,数据库是一个基础单元,DevBox 开发环境也是一个基础单元。

可以通过连接线条来识别各个单元之间的关系。例如,网络流量入口可以连接到一个容器,容器再连接到一个数据库。在连接过程中,会将数据库的环境变量注入到容器中。

剩下的是聊天框的设计。

  • 用户可以通过自然语言交互,例如输入一个 GitHub 项目地址,AI Agent 会自动分析该项目,将所有依赖在云操作系统中启动,并在画布中展示。
  • 如果启动失败,会将错误信息返回到聊天框。
  • 用户可以通过持续交互让 AI 进行修正。