一、 WSL2下载和设置
1.勾选WSL2所需的Windows功能
打开控制面板,选择程序,进入启用或关闭windows功能,勾选Hyper-V及其内部两个选项,向下滑动找到并勾选适用于Linux的Windows子系统和虚拟机平台,点击确定,然后重启Windows电脑。
若没有该选项则表示你的windows版本不是专业版及以上,要对Windows进行更新
2.下载WSL2
设置wsl版本:wsl –set-default-version 2
win+R,cmd进入命令行,设置WSL版本
wsl --set-default-version 2
查看可以安装的发行版:
wsl --list --online
安装ununtu 22.04:
wsl --install -d Ubuntu-22.04
注意安装完成后,需要你输入用户名和密码,密码是不显示的,安装完自动进入Linux系统(由于我已经下载安装过,这里就不附加图片了)
二、 Docker 下载和设置
1、Docke下载安装
进入docker官网下载docker desktop
Docker Desktop: The #1 Containerization Tool for Developers | Docker
下载完成后,点击Docker Desktop Installer.exe进行安装,安装时两个选项都进行勾选,等待安装成功。
2.Docker设置
打开刚刚安装好的Docker desktop(桌面有快捷方式),点击Accept。
可以选择登录、注册或者不登陆直接进入。
点击右上角的齿轮(setting)进入设置,在Resources下的WSL integration中打开Ubuntu-22.04,并点击apply & restart
3.检查Docker是否安装成功
进入Ubuntu,输入
sudo -i
进入root,再输入
docker -v
查看docker版本,如下图是docker安装成功了。
三、使用镜像网络模式,开启局域网访问
关闭WSL(在power shell或者Windows命令行使用):
wsl --shutdown
过一会docker可能会报一个错,不用管叉掉就行。
打开此电脑,在导航栏输入%UserProfile%,按回车进入,第一次进来应该是没有.wslconfig文件的,所以新建一个.wslconfig文件,并且用记事本进行编写,具体内容:
[wsl2]networkingMode=mirroredhostAddressLoopback=true
之后建议重启电脑,避免不必要的麻烦。
四、 Opendevin部署
1.打开Opendevin的官网执行命令
目前是2024.7.12官方的docker部署方式如下:
WORKSPACE_BASE=$(pwd)/workspace
上述命令解释:给opendevin一个工作路径,以便于OpenDevin后续在工作目录下读写文件。
docker run -it \
--pull=always \
-e SANDBOX_USER_ID=(id -u) \
-e WORKSPACE_MOUNT_PATH=WORKSPACE_BASE \
-v WORKSPACE_BASE:/opt/workspace_base \
-v /var/run/docker.sock:/var/run/docker.sock \
-p 3000:3000 \
--add-host host.docker.internal:host-gateway \
--name opendevin-app-(date +%Y%m%d%H%M%S) \
ghcr.io/opendevin/opendevin
命令解释:拉取执行sandbox和opendevin镜像,其中opendevin镜像用于启动整个opendevin服务,sandbox镜像用于执行命令行和脚本文件,端口映射在了3000。
由于镜像我已经拉过了,所以这里执行docker run已经不需要下载镜像了,即使下载好启动也比较慢,所以要耐心等待,到我如下两张图的程度就可以了(不要点击命令行中的http://0.0.0.0:3000)
2.Docker Desktop启动opendevin
进入docker Desktop,在Containers中找到正在跑的Docker容器,点击port下的3000:3000进入OpenDevin界面。
耐心等待智能体初始化,第一次进入,选择智能体时可以选择语言为简体中文,选择输入你需要使用的对应模型和它的apikey,点击保存,由于我不是第一次进入且我使用工作区的小云朵,上传了yaml.txt文件,所以我的工作区不为空,其次可以看到界面上有一个浏览器的选项卡,它会保留智能体浏览过的网页信息,左下角对话框可以进行交流,左上角是对话历史,右下角四分之一大小的框是命令行执行的界面。
五、opendevin的简单使用示例
我将让智能体用python写一个脚本用于生成斐波那契数列,并执行该脚本。
我们可以看到它很漂亮的完成了我们的工作,且我们可以在工作区找到脚本文件。
后端执行过程:
创建Python脚本文件:系统创建了一个名为fibonacci.py的文件。
编写并插入代码:系统编写了生成斐波那契数列的Python代码,并尝试使用edit_file函数将其插入到fibonacci.py文件中。然而,由于参数传递错误,产生了一个AttributeError异常。随后,系统改用insert_content_at_line函数成功将代码插入文件。
执行脚本:系统运行了fibonacci.py脚本,该脚本生成并打印了前10个斐波那契数列。
返回结果:系统成功运行脚本,并返回生成的斐波那契数列:[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]。并提示任务已完成。