第一个 AI 全栈软件——DevOpsGPT,国内开源,全网最细操作指南

395 阅读10分钟

引言

DevOpsGPT 是一款结合了LLM(Large Language Model)和DevOps工具的智能软件开发平台。其核心理念是,将自然语言的需求转化为可工作的软件。拥有极高的开发效率和极低的开发成本。能够通过 AI Agent+devops 工具的结合,快速的将一个复杂的开发需求通过需求澄清、开发需求 prd 文档、技术开发文档、代码生成、代码打包构建、代码部署这一套自动化的流程之后,帮您生成一个完全可用的产品,并且可以在线体验。

说实话作为一名开发人员来讲,其实是非常震撼的,做技术的都知道的 AIGCLink 大佬占老师,也聊过这款软件(链接在这里哈:www.bilibili.com/video/BV1Mh…

好了,下面我们开始详细的介绍这个具有革命意义的 AIGC 的产品——DevOpsGPT(社区版)

首先我会介绍一下使用这款产品的一些基础环境(本地环境 OK的可以跳过)

第二部分是讲如何快速的将这个产品跑起来

第三部分主要讲一些详细的配置介绍

最后就是我的感言了

一、环境安装(本地安装好了 python、Git、Anaconda可跳过)

因为我是 MacOS,所以安装以介绍 MacOS 为主,其他系统简要的介绍安装步骤

  1. 安装Python 环境

  1. 安装python3.7 以上的 python 环境,这里以 3.12 为例
MacOS 的几种方式

为了在MacOS上安装Python,你可以采用多种不同的方法。以下是几种常用的方法,每种方法都将详细介绍。

方法 1:使用Python官方网站安装包

  1. 下载Python

    1. 访问 Python官方网站
    2. 在 "Downloads" 部分,根据你的MacOS版本选择适用的Python版本,例如Python 3.12。
    3. 点击下载适用于MacOS的Python安装包(通常是.pkg文件)。

  1. 安装Python:
  • 下载完成后,打开.pkg文件。
  • 跟随安装向导的指示完成安装。这通常包括接受许可协议、选择安装位置等步骤。

  1. 确保Python安装在PATH中:
  • 打开终端(Terminal)。

  • 输入命令 echo $PATH,检查输出中是否包含Python目录。这确保了你可以在任何目录下运行Python。

方法 2:使用Homebrew

Homebrew 是MacOS上的包管理器,可以用来安装Python和其他软件。

  1. 安装Homebrew(如果尚未安装):

    1. 打开终端。

    2. 输入以下命令并回车:

      • /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
        
    3. 按照屏幕上的指示完成安装。

  2. 使用Homebrew安装Python:

  • 在终端中输入以下命令:

    • brew install python
      
  • Homebrew会自动下载和安装最新版本的Python。

  1. 检查Python版本:
  • 安装完成后,在终端中输入 python3 --version 来验证安装。

方法 3:使用pyenv

pyenv 是一个流行的Python版本管理工具,它允许你在同一系统上安装和管理多个Python版本。

  1. 安装pyenv

    1. 通过Homebrew安装pyenv:

      • brew install pyenv
        
  2. 使用pyenv安装Python

    1. 安装特定版本的Python,例如安装Python 3.10:

      • pyenv install 3.10.0
        
    2. 完成安装后,你可以使用 pyenv versions 来查看已安装的Python版本。

  3. 设置Python版本:

  • 你可以为全局或特定项目设置Python版本。例如,要全局使用Python 3.10,可以使用:

    • pyenv global 3.10.0
      

方法 4:使用Anaconda(最推荐的方式)

Anaconda 是一个用于科学计算的Python发行版,包含了许多用于数据科学和机器学习的库。简单来说就是一个 Python 的版本管理器。

  1. 下载 Anaconda

    1. 访问 Anaconda官网
    2. 下载适用于MacOS的Anaconda安装器。
  2. 安装Anaconda:

  • 打开下载的安装文件并跟随指示完成安装。

  1. 使用Anaconda管理Python环境:
  • 通过Anaconda Navigator或命令行创建和管理Python环境。
Windows:
  1. 下载Python

    1. 访问Python官方网站
    2. 导航至Downloads部分,选择Windows操作系统的Python 3.10安装包。
  2. 安装Python:

  • 运行下载的安装包。
  • 在安装向导的开始界面,确保选中“Add Python 3.10 to PATH”选项。
  • 选择“Customize installation”(自定义安装)以自定义安装选项,或直接点击“Install Now”(立即安装)。
  1. 完成安装:
  • 按照向导指示完成安装。
对于Linux用户:
  1. 下载Python

    1. 打开终端。
    2. 输入命令 sudo apt-get updatesudo apt-get upgrade 更新系统包列表和已安装的包。
  2. 安装Python:

  • 输入命令 sudo apt-get install python3.10 安装Python 3.10。
  1. 验证安装:
  • 完成安装后,输入 python3 --version 检查安装的Python版本。

验证Python安装(通用于所有操作系统):

  1. 打开 命令行工具

    1. Windows:打开命令提示符(CMD)或PowerShell。

    2. MacOS/Linux:打开终端(Terminal)。

  2. 验证Python版本:

  • 输入 python --versionpython3 --version(主要取决于操作系统)。
  • 确认输出显示的版本为Python 3.10。

每种方法都有其优缺点,你可以根据个人需求和偏好选择最适合的一种。

  1. 安装 Git 环境

MacOS上安装Git的几种方式

方法1:使用Homebrew

  1. 安装Homebrew(如果您还没有安装):

    1. 打开终端。

    2. 输入 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 来安装Homebrew。

    3. 安装完成后,根据提示设置Homebrew的环境变量。

  2. 使用Homebrew安装Git:

  • 在终端中输入 brew install git

  • Homebrew会自动下载并安装Git。

  1. 验证安装:
  • 输入 git --version 确认安装。

方法2:下载安装包

  1. 下载Git

    1. 访问Git官方网站
    2. 下载适用于MacOS的Git安装包。
  2. 安装Git:

  • 打开下载的 .dmg 文件。
  • 按照安装向导的指示完成安装。
  1. 验证安装:
  • 在终端中输入 git --version 确认安装。

方法3:使用Xcode的命令行工具

  1. 安装Xcode 命令行工具

    1. 打开终端。
    2. 输入 xcode-select --install
    3. 在弹出的对话框中,点击“安装”以安装工具。
  2. 验证安装:

  • 安装完成后,在终端中输入 git --version 确认安装。

Windows系统:

  1. 访问Git官方网站下载安装包。
  2. 运行安装包,选择安装选项,确保Git添加到PATH环境变量。
  3. 完成安装后,在CMD或PowerShell中输入 git --version 验证安装。

Linux系统:

  1. 打开终端。

  2. 使用包管理器安装Git(例如,Ubuntu中使用 sudo apt-get install git)。

  3. 安装完成后,输入 git --version 验证安装。

  4. 安装 Anaconda

Anaconda是一个流行的Python和R语言的数据科学平台,它包含了很多用于科学计算的库和工具

国内建议使用清华大学的镜像源进行安装:mirrors.tuna.tsinghua.edu.cn/anaconda/ar…

方法1:使用图形化安装器

  1. 下载 Anaconda 安装器

    1. 访问Anaconda官方网站
    2. 选择适用于MacOS的Anaconda安装包。图中Graphical是图形化安装包,Command是命令行安装包

  1. 安装Anaconda:
  • 打开下载的 .pkg 文件。

  • 跟随安装向导指示完成安装。

  1. 验证安装:
  • 打开终端。
  • 输入 conda --version,确认安装的Conda版本。

方法2:使用命令行安装

  1. 下载 Anaconda 命令行安装脚本

    1. 从Anaconda官方网站下载适用于MacOS的命令行安装脚本(.sh 文件)。

  2. 使用终端安装:

  • 打开终端。

  • 运行下载的安装脚本,例如:bash Anaconda3-2020.02-MacOSX-x86_64.sh(根据下载的版本号替换文件名)。

  • 遵循屏幕上的指示完成安装。

  1. 验证安装:
  • 在终端中输入 conda --version,确认安装的Conda版本。

方法3:使用Homebrew安装Anaconda

一旦安装了Homebrew,你就可以使用它来安装Anaconda。在终端中输入以下命令来安装Anaconda:

brew install --cask anaconda

这个命令会从Homebrew的Cask仓库下载并安装Anaconda。Cask是Homebrew的一个扩展,专门用于安装macOS的GUI应用程序。

  1. 配置环境变量

安装完成后,你需要将Anaconda的安装路径添加到你的PATH环境变量中。这样做可以确保你能够从任何地方启动Anaconda。

  • 在终端中输入以下命令来编辑你的.zshrc文件(如果你使用的是bash shell,则编辑.bash_profile):
nano ~/.zshrc
  • 在文件的末尾添加以下行(请替换<Anaconda安装路径>为你的Anaconda实际安装路径):
export PATH="/usr/local/anaconda3/bin:$PATH"
  • 按下Ctrl + X,然后按Y来保存更改并退出编辑器。
  • 输入以下命令使更改生效:
source ~/.zshrc
  1. 验证安装
  • 输入以下命令来验证Anaconda是否成功安装:
conda --version
  • 如果一切顺利,你将看到Anaconda的版本号输出。

Windows系统的安装步骤简述:

  1. 访问Anaconda官方网站下载安装包。

  2. 运行下载的安装包,按照指示完成安装。

  3. 在命令提示符中输入 conda --version 验证安装。

Linux系统的安装步骤简述:

  1. 访问Anaconda官方网站下载命令行安装脚本。
  2. 在终端中运行下载的 .sh 安装脚本。
  3. 遵循指示完成安装,然后输入 conda --version 验证安装。

二、快速开始

  1. 克隆最新代码或选择已发布的版本

使用代码:

git clone https://github.com/kuafuai/DevOpsGPT.git

显示这个就是克隆成功了

  1. 更改配置文件:复制 env.yaml.tpl 并重命名为 env.yaml

  1. 打开终端,CD 到DevOpsGPT 目录下,找到 env.yaml.tpl 文件

  1. 使用以下代码复制 env.yaml.tpl 并重命名为 env.yaml,并用 ls 查看

cp env.yaml.tpl env.yaml

  1. 修改配置文件:用本地 IDE 编辑 env.yaml,添加GPT Token等必要信息。

  1. 用 Pycharm 打开该项目文件

点击打开

选择 DevOpsGPT

  1. 更改env.yaml文件

将这里的“SK-xxxxx”替换成自己的OpenAI 的 Key

  1. 运行服务:在 Linux 或 Mac 上执行 sh run.sh,在 Windows 上双击运行 run.bat

  1. 改好了以后,我们就可以运行程序了

点击终端,在命令行中输入:

 sh run.sh

  1. 运行之后会出现这种情况说明启动成功

  1. 访问服务:通过浏览器访问服务(启动日志中提供的访问地址,默认为 http://127.0.0.1:8080)就可以看到具体的页面了

  1. 完成需求开发:按照页面引导完成需求开发,

  1. 选择免费试用

  1. 选择已有应用

  1. 选择一个网页小游戏,点击开始

  1. 输入开发需求:一个贪吃蛇小游戏,点击提交

  1. 按照页面提示完成相关开发

需求澄清,没问题点击提交

生成需求文档,点击提交

等待一会儿,就可以看到代码已经生成啦

  1. ./workspace 目录下查看生成的代码。

三、配置说明

基础配置类

  1. FRONTEND_PORT、BACKEND_PORT:前端端口和后端端口

  2. AICODER_ALLOWED_ORIGIN:后端允许跨域的地址,和前端访问地址保持一致。注意:如果你不使用127.0.0.1访问网站,请手动修改:frontend/static/js/coder.js 中的 apiUrl

  3. LANGUAGE:语言

  4. LLM_MODEL:模型

  5. GPT_KEYS:GPT 的秘钥,配置 openai 和 azure 的接口信息(替换 sk-xxxx 为你的 key),如果不需要某个类型的接口,请将对应的元素整个删除掉(openai\azure),【注意】数组中最后一个元素后面不要加逗号、您可能需要开启全局代理来访问API接口

  6. USERS:登录用户配置

Git 配置

DevOpsGPT 支持对接 Git,开启后,每次的开发任务可从 Git 拉取和推送代码

  1. GIT_ENABLED: 是否启用 Git
  2. GIT_URL: 配置你的 Git 地址,比如:github.com、https://gitlab.com
  3. GIT_TOKEN: 配置你的 Git 令牌,可以从这里获取:github.com/settings/to…
  4. GIT_USERNAME:Git 的登录用户名
  5. GIT_EMAIL:Git 邮箱
  6. APPS.service.git_path:应用对应的Git路径,包含group,比如:kuafuai/template_freestyleApp

CI ****持续集成 工具配置

DevOpsGPT 支持对接 GitlabCI、GithubActions 等 CI 工具,可以在代码提交后,触发您的流水线。

视频介绍:www.bilibili.com/video/BV1C8…

  1. 完成以上“Git 配置”
  2. GIT_API: 配置 Git API 的地址,比如:api.github.com
  3. 如果是 Gitlab,你需要配置好流水线,比如:.gitlab-ci.yml。同时你需要在 Gitlab 中配置好 Gitlab runner,细节请查看 Gitlab 文档
  4. 如果你是 Github,你需要配置好流水线,比如:default.yaml,细节请查看 Github 文档

自动化部署配置

自动化部署实现将开发好的应用程序一键部署到云服务中,供所有人访问和使用,真正实现从自然语言需求到可工作的软件!

视频介绍:www.bilibili.com/video/BV1cV…

以下以阿里云为例进行配置介绍,其它云平台类似,注意:使用云平台的资源可能会产生少量费用。

  1. 在云平台上创建 AccessKey:鼠标移动到头像 - 选择 AccessKey 管理 - 创建 AccessKey
  2. 根据以上创建好的 Kay,配置 CD_ACCESS_KEY 和 CD_SECRET_KEY
  3. CD_REGION:设置部署的地域,比如部署到香港地区,可配置为:cn-hongkong,具体请咨询云平台客服
  4. CD_EIP:在云平台上创建一个公网IP,用于访问公网(注意地域要和CD_REGION匹配)
  5. CD_SECURITY:在云平台上创建一个安全组,用于在启动服务的时候开通外网方端口
  6. CD_SWITCH:在云平台上创建一个交换机

APPS 配置

APPS 是我们需要开发的应用信息。在使用产品的第一步就是选择某个开发应用。在开发过程中需要根据这些信息来分析应用应该如何设计和开发。在开源版本中,这些信息需要手动维护,我们将在商业版中提供 AI 智能分析,自动生成相关信息。

  • app: 应用,包括多个服务,如:后端服务、前端服务、微服务

  • name、intro: 仅用于显示

  • service.name: 服务名称,保持唯一

  • service.git_workflow: Github 的 workflow 名字,当开启 Github CI 的时候才生效

  • service.git_path: git 路径,需要包含group,比如:kuafuai/template_freestyleApp

  • service.base_prompt: 基础起手 Prompt,会影响任务开发的效果

  • service.intro: 服务的基本信息

    • setpReqChooseLib(分析与服务信息一起使用的库包)
  • service.api_doc_url: 接口文档地址,用于动态获取接口文档

  • service.api_doc: 当前的接口文档

  • service.struct: 服务的文件目录结构信息

    • setp1Task(用于分子拆分任务)
  • service.lib: 服务可用的lib包

    • setpReqChooseLib(分析哪些库包与库列表一起使用)
  • service.specification: lib包使用规范

写在最后

2023年,注定是一个非凡的年份。作为人工智能的元年,它见证了从ChatGPT 3.5的发布开始的一场AI革命。这场革命如同波涛般席卷全球,迅速渗透进各行各业,给无数人带来了前所未有的危机感。作为一名软件开发人员,我对这种变化感受尤为深刻。短短几个月内,我亲眼见证了ChatGPT 3.5发展到GPT-4的巨大跨越,以及随后GPT系列技术的快速进步。曾经那个几乎无法理解人类需求的简陋AI,如今已经进化成为强大的GPT-4,它能够完成超过我80%的工作任务。面对这样的技术革新,我不禁感到一丝危机,同时也对未来充满了期待和好奇。它不仅改变了我的工作方式,也让我重新思考作为开发人员的角色和职责。在这个变革的时代,我们必须不断学习和适应,以便在AI的浪潮中保持竞争力。

最后,祝愿他们这个开发团队越做越好,感兴趣的同学可以到他们的官网:www.kuafuai.net 进行他们商业版的体验,商业版比社区版更加完善,并且有着无法替代的优势,可以直接在网页上完成之前开发所需的一切功能。