---
title: 部署Opendevin在WSL2 on Win11
published: 2025-01-02
pinned: false
description: 部署Opendevin在WSL2 on Win11的教程。
tags: [Opendevin, windows, wsl]
category: 教程系列
draft: false
---
# 一、 WSL2下载和设置

## 1.勾选WSL2所需的Windows功能

打开**控制面板**，选择**程序**，进入**启用或关闭windows功能**，勾选**Hyper-V及其内部**两个选项，向下滑动找到并勾选**适用于Linux的Windows子系统**和**虚拟机平台**，点击**确定**，然后**重启**Windows电脑。

> 若没有该选项则表示你的windows版本不是专业版及以上，要对Windows进行更新

## 2.下载WSL2

设置wsl版本：wsl --set-default-version 2 
**win+R**，cmd进入命令行，设置WSL版本

```bash
wsl --set-default-version 2
```

查看可以安装的发行版：

```bash
wsl --list --online 
```

安装ununtu 22.04：

```bash
wsl --install -d Ubuntu-22.04 
```

> 注意安装完成后，需要你输入用户名和密码，密码是不显示的，安装完自动进入Linux系统(由于我已经下载安装过，这里就不附加图片了)
> 

# 二、 Docker 下载和设置

## 1、Docke下载安装

进入docker官网下载docker desktop  

[Docker Desktop: The #1 Containerization Tool for Developers | Docker](https://www.docker.com/products/docker-desktop/)

下载完成后，点击Docker Desktop Installer.exe进行安装，安装时两个选项都进行勾选，等待安装成功。

## 2.Docker设置

打开刚刚安装好的Docker desktop(桌面有快捷方式)，点击Accept。
可以选择登录、注册或者不登陆直接进入。
点击右上角的齿轮（setting）进入设置，在Resources下的**WSL integration**中打开Ubuntu-22.04，并点击**apply & restart**

## 3.检查Docker是否安装成功

进入Ubuntu，输入

```bash
sudo -i
```

进入root，再输入 

```bash
docker -v
```

查看docker版本，如下图是docker安装成功了。

# 三、使用镜像网络模式，开启局域网访问

关闭WSL(在power shell或者Windows命令行使用)：

```bash
wsl --shutdown
```

过一会docker可能会报一个错，不用管叉掉就行。
打开此电脑，在导航栏输入%UserProfile%，按回车进入，第一次进来应该是没有.wslconfig文件的，所以新建一个.wslconfig文件，并且用记事本进行编写，具体内容：

```
[wsl2]networkingMode=mirroredhostAddressLoopback=true
```

之后建议重启电脑，避免不必要的麻烦。

# 四、 Opendevin部署

## 1.打开Opendevin的官网执行命令

目前是2024.7.12官方的docker部署方式如下：

```bash
WORKSPACE_BASE=$(pwd)/workspace
```

上述命令解释：给opendevin一个工作路径，以便于OpenDevin后续在工作目录下读写文件。

```bash
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]。并提示任务已完成。