狂揽60k star,AI编程开发的“新王者”诞生?

B站影视 内地电影 2025-09-09 13:57 1

摘要:OpenHands(前身为OpenDevin)是一个由AI驱动的开源软件开发代理平台,旨在通过自动化软件开发任务来提高开发效率。

OpenHands(前身为OpenDevin)是一个由AI驱动的开源软件开发代理平台,旨在通过自动化软件开发任务来提高开发效率。

该项目由All-Hands-AI团队开发,在GitHub上已获得超过60k star,成为当前最受关注的开源AI开发工具之一。

01

简介

OpenHands 智能体可以完成人类开发者能做的所有事情:修改代码、运行命令、浏览网页、调用 API,甚至还能从 StackOverflow 复制代码片段。

02

核心功能

1. 代码自动修改与优化

OpenHands最强大的能力之一是能够理解和修改现有代码。它通过以下流程实现代码自动化修改:

自然语言解析: 开发者用自然语言描述修改需求,如"将UserService.ts中的fetch改成axios,并加上3次重试逻辑"AST分析: 使用插件对目标文件进行静态分析,构建调用路径图上下文补全: 自动检索StackOverflow等资源获取相关代码示例补丁生成: 调用LLM生成代码diff/patch安全执行: 自动备份原文件后应用修改,支持回滚

这种能力特别适合重复性代码修改、库/框架迁移和代码优化等场景。

2. 网页交互与自动化测试

OpenHands内置了完整的网页自动化能力:

DOM解析: 使用headless浏览器(Puppeteer)提取DOM树,通过文本匹配、属性筛选和XPath/CSS Selector定位元素行为模拟: 支持点击、填写、拖动、滚动和提交表单等操作状态验证: 通过DOM变更监听和回调结果检测确保操作正确性

这使得OpenHands能够自动完成Web应用的测试用例,或执行如数据抓取等重复性网页操作任务。

3. 智能信息检索与集成

OpenHands原生集成了StackOverflow的实时查询接口,实现了:

智能检索: 当检测到开发需求中的不确定性表述时,自动查询相关解决方案上下文适配: 判断检索到的代码片段是否匹配当前项目风格和技术栈安全集成: 将适配后的代码精准插入项目,并记录来源以便审计

这一功能显著降低了开发者的学习成本和信息获取门槛。

4. 多工具链协同

OpenHands通过插件系统整合了各类开发工具:

版本控制(Git)包管理器(npm/pip等)测试框架构建工具容器化工具(Docker)

这种协同能力使其能够处理从代码修改到构建部署的完整开发流程。

03

部署使用

安装与配置

环境要求:

操作系统: 支持Linux、Mac OS以及Windows(通过WSL运行)。

软件依赖: 核心依赖为Docker环境,推荐使用Docker 26.0及以上版本。确保本地已安装Git,用于获取项目代码。

安装步骤:

安装Docker Desktop: 根据操作系统类型,前往Docker官网下载并安装对应的Docker Desktop版本。对于Windows用户,安装过程中需注意配置WSL(Windows Subsystem for Linux),以确保Docker能够正常运行。

拉取OpenHands镜像: 打开终端,执行命令docker pull docker.all-hands.dev/all-hands-ai/runtime:0.28-nikolaik,从镜像仓库拉取OpenHands的Docker镜像。

配置模型:

选择语言模型提供商: OpenHands支持多种大语言模型,如Anthropic的Claude 3.5 Sonnet等。用户根据需求选择合适的模型。

获取并输入API密钥: 前往所选模型的官方网站,注册账号并获取API密钥。在OpenHands平台的配置界面中,输入获取到的API密钥,完成模型配置。

使用步骤

启动服务:

在终端中执行以下命令启动OpenHands服务:

docker pull docker.all-hands.dev/all-hands-ai/runtime:0.28-nikolaikdocker run -it --rm --pull=always \ -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.28-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.28

此命令将创建一个Docker容器并启动OpenHands应用,将本地的workspace目录挂载到容器内的/opt/workspace_base目录,映射容器的3000端口到本地的3000端口。

访问界面:

启动成功后,打开浏览器,访问http://localhost:3000,即可进入OpenHands的Web交互界面。

示例预览

输入提示词请求,让他使用HTML创建一个简单的计算器,点击生成,可以看到右侧出现了相应文件的代码

在输入框中让它运行这个项目,可以看到在对话框中输出了链接

验证一下这个简单的计算器生成是否正确,这里我使用VsCode打开并运行代码。

一个简易的计算器就生成好了,如果不满意就可以回到OpenHands,继续输入要求生成新的代码。

04

开源地址

来源:不秃头程序员

相关推荐