当前位置:首页 > 系统教程 > 正文

OpenHands本地部署指南:在Linux上搭建AI软件开发代理并实现公网访问

1. 什么是OpenHands?

OpenHands 是一个开源的、基于AI的软件开发代理平台,它利用大语言模型(如GPT-4)自动完成代码编写、调试、测试等任务。通过本地部署,开发者可以安全、私密地使用AI能力,适合企业内网或对数据敏感的场景。本教程将手把手教你如何在Linux上部署OpenHands,并通过公网访问实现远程协作。

2. 准备工作

  • 一台运行Linux的服务器(推荐Ubuntu 20.04/22.04,具有公网IP或可访问的内网环境)。
  • 安装Docker和Docker Compose:curl -fsSL https://get.docker.com | sh
  • Python 3.8+(可选,用于源码安装)。
  • 一个OpenAI API密钥或其他兼容的LLM API密钥(用于AI代理)。
  • 域名(可选,但推荐用于公网访问的HTTPS配置)。

3. 使用Docker部署OpenHands

OpenHands官方提供了Docker镜像,这是最简单的部署方式。执行以下命令:

    docker run -it --rm \n  -p 3000:3000 \n  -e OPENAI_API_KEY=你的API密钥 \n  -v /var/run/docker.sock:/var/run/docker.sock \n  ghcr.io/opendevin/opendevin:latest  

参数说明:-p 3000:3000将容器的3000端口映射到主机,-e设置环境变量传入API密钥,挂载docker.sock使OpenHands能在容器内创建子容器执行代码。

启动后,访问http://服务器IP:3000即可看到OpenHands的Web界面。首次启动可能需要下载模型或初始化,请耐心等待。

OpenHands本地部署指南:在Linux上搭建AI软件开发代理并实现公网访问 OpenHands部署  Linux AI开发平台 公网访问 AI软件开发代理 第1张

4. 配置与优化

你可以通过环境变量进一步定制OpenHands,例如指定工作目录、修改AI模型参数。若要持久化数据,可挂载本地目录:

    -v /home/user/workspace:/opt/workspace  

另外,如果使用其他AI服务商(如Azure OpenAI),需修改LLM_BASE_URL等变量。

5. 实现公网访问

要让外网访问你的Linux AI开发平台,常见方法有内网穿透和反向代理。以下介绍两种方式:

方法一:使用ngrok(临时测试)

  • 注册ngrok账号并下载客户端:wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz
  • 解压并添加authtoken:./ngrok config add-authtoken 你的token
  • 启动隧道:./ngrok http 3000,获得一个随机公网URL(如https://xxxx.ngrok.io)。

方法二:使用Nginx + 域名(生产推荐)

  • 安装Nginx:sudo apt install nginx
  • 配置反向代理,编辑/etc/nginx/sites-available/opendevin
    server {    listen 80;    server_name yourdomain.com;    location / {        proxy_pass http://127.0.0.1:3000;        proxy_set_header Host $host;        proxy_set_header X-Real-IP $remote_addr;    }}  
  • 启用配置并重启:sudo ln -s /etc/nginx/sites-available/opendevin /etc/nginx/sites-enabled/sudo systemctl restart nginx
  • 配置SSL证书(使用Let"s Encrypt):sudo apt install certbot python3-certbot-nginxsudo certbot --nginx -d yourdomain.com

完成后,即可通过https://yourdomain.com安全访问OpenHands。记得在防火墙开放80/443端口。

6. 总结

通过以上步骤,你成功在Linux上部署了OpenHands这一强大的AI软件开发代理,并实现了公网访问。现在,你可以随时随地利用AI辅助编程,提升开发效率。如果在部署过程中遇到问题,欢迎在评论区留言交流。

关键词:OpenHands部署、Linux AI开发平台、公网访问、AI软件开发代理