❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新应用和热点信息,提供开源实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 功能强大:支持代码生成、命令行操作、网页浏览等多种功能,提升开发效率。
  2. 多智能体协作:通过多代理协作机制,实现复杂任务的分解与执行。
  3. 安全沙箱环境:基于 Docker 沙箱技术,确保代码执行的安全性。

正文(附运行示例)

OpenHands 是什么

公众号: 蚝油菜花 - OpenHands

OpenHands 是一款基于 AI 的编程工具,旨在通过多智能体协作提升开发效率,减少开发者的编码工作量。它支持代码编写、命令行操作、网页浏览等多种功能,帮助开发者快速完成项目构建、测试和部署。

OpenHands 提供了一个安全的沙箱环境,确保代码执行的安全性。同时,它还支持多代理协作,能够将复杂任务分解为多个子任务,由不同的代理协同完成。OpenHands 涵盖了软件工程、网页浏览等多个领域的 15 个基准测试,为学术界和工业界的研究与应用提供了有力支持。

OpenHands 的主要功能

  • 代码编写与修改:自动生成符合项目需求的代码片段,并进行修改。
  • 命令行操作:支持执行各种命令行操作,帮助完成项目的构建、测试和部署。
  • 网页资源检索:集成网页浏览功能,自动检索开发所需的资源和信息。
  • API 调用集成:简化与外部服务的交互,支持多种 API 的集成。
  • 代码片段复制与应用:从开发者社区如 StackOverflow 复制代码片段,根据需求进行应用和调整。

OpenHands 的技术原理

  • 事件流架构:基于事件流管理代理与环境的交互,包括代理的动作和环境的观察结果。
  • Docker 沙箱:为每个任务会话启动一个安全隔离的 Docker 容器沙箱,所有动作都在沙箱中执行。
  • 动作执行 API:API 服务器在 Docker 沙箱中运行,处理命令执行、Python 代码执行和网页浏览等动作。
  • 任意 Docker 镜像支持:支持代理在任意操作系统和软件环境中运行,基于任意 Docker 镜像的运行时实现。
  • 代理技能:AgentSkills 库提供一些基本工具无法实现的实用功能,如文件编辑、文档阅读等。
  • 多代理委托:支持一个代理将特定子任务委托给另一个代理执行,实现多代理之间的协作。

如何运行 OpenHands

1. 使用 Docker 运行 OpenHands

OpenHands 可以通过 Docker 快速启动。以下是运行 OpenHands 的命令:

docker pull docker.all-hands.dev/all-hands-ai/runtime:0.18-nikolaik

docker run -it --rm --pull=always \
    -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.18-nikolaik \
    -e LOG_ALL_EVENTS=true \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v ~/.openhands-state:/.openhands-state \
    -p 3000:3000 \
    --add-host host.docker.internal:host-gateway \
    --name openhands-app \
    docker.all-hands.dev/all-hands-ai/openhands:0.18

启动后,OpenHands 将在 http://localhost:3000 运行。

2. 配置大模型 API

你需要配置一个模型提供者和 API 密钥。推荐使用 Anthropic 的 Claude 3.5 Sonnet 模型,但你也可以选择其他支持的模型。

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新应用和热点信息,提供开源实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐