华为开发者空间云开发环境部署 OpenHands,解锁 AI 赋能的高效编程搭档

一、概述
1. 案例介绍
华为开发者空间,是为全球开发者打造的专属开发者空间,致力于为每位开发者提供一台云主机、一套开发工具和云上存储空间,汇聚昇腾、鲲鹏、GaussDB、欧拉等华为各项根技术的开发工具资源,并提供配套案例指导开发者 从开发编码到应用调测,基于华为根技术生态高效便捷的知识学习、技术体验、应用创新。
OpenHands(原 OpenDevin)是一个由 AI 驱动的软件开发代理平台,OpenHands 代理可以完成人类开发者能做的所有事情:修改代码、运行命令、浏览网页、调用 API,甚至还能从 StackOverflow 复制代码片段。
本案例通过华为开发者空间 - 云开发环境部署 OpenHands 平台,并接入华为 MaaS 提供的 DeepSeek-R1 模型,体验探索 OpenHands 如何从繁重的代码中解放我们的双手。
2. 适用对象
企业
个人开发者
高校学生
3. 案例时间
本案例总时长预计 60 分钟。
4. 案例流程

说明:
领取代金券开通华为云 MaaS DeepSeek-R1 服务;
创建并远程连接华为开发者空间 - 云开发环境;
安装 OpenHands 平台;
OpenHands 接入华为云 MaaS DeepSeek-R1 模型;
新建对话,体验 OpenHands 功能。
最新案例动态,请查阅 《华为开发者空间云开发环境部署OpenHands,解锁AI赋能的高效编程搭档》。小伙伴快来领取华为开发者空间进行实操吧!
二、环境准备
1. 开通 MaaS DeepSeek-R1 服务
1.1 领取代金券和购买套餐包
华为开发者空间为开发者带来百万 Token 代金券福利,点击领取链接,按照指引进行代金券的领取和套餐包的购买,本案例推荐使用 DeepSeek-R1。

1.2 开通商用模型服务
代金券领取完毕后前往 ModelArts Studio 进行商用模型开通。进入MaaS控制台页面,点击在线推理 -> 商用服务 -> 开通模型服务,这里以 DeepSeek-R1-64K,然后点击一键开通。
注意:步骤 1.1 中若是购买的 DeepSeek-R1-64K 套餐包,在 MaaS 中开通时请开通 DeepSeek-R1-64K,同理若购买 DeepSeek-V3-64K 时,请开通 DeepSeek-V3-64K


1.3 获取模型调用参数
这里拿 DeepSeek-R1-64K 模型为例,开通完毕后点击调用说明,版本选择 DeepSeek-R1 主推版,进入页面后点击 OpenAI SDK 可以看到 API 地址和 model 参数。
点击 API Key 管理,进入页面后,点击右上角创建 API Key,标签和描述可以自定义,输入完毕后点击创建。(注意:创建好的 API Key 只会显示这一次,请妥善保存)

2. 创建并连接云开发环境
2.1 创建云开发环境
登录华为开发者空间,进入开发平台-云开发环境,点击新建开发环境参考以下参数配置创建,点击确定。

在操作列点击更多-开机。

2.2 连接云开发环境
云开发环境创建后,点击远程连接,下载本地环境对应的客户端,这里以 Windows x64 环境为例。

客户端配置华为云账号的密钥(AK/SK)信息(AK 是 Access Key ID,SK 是 Secret Access Key),在开华为云控制台我的凭证页面创建访问密钥,可以参考获取AK/SK文档。

在客户端工具所在目录打开 cmd 命令窗口,输入 hdspace config,配置 Access Key ID 和 Secert Access Key。

配置完成后可以查看云开发环境实例 ID。

新建隧道,使用本地端口(这里使用 1234,可变更)映射云开发环境的 22 端口,用于远程连接云开发环境。
新建终端命令窗口,远程连接云开发环境(developer 是创建云开发环境时设置的默认账户)。

*注意:由于使用 cmd 终端命令窗口会频繁断开重连,可以参考《本地CodeArts IDE基于华为开发者空间云开发环境完成小游戏开发》案例的“1. 下载 CodeArts IDE 并安装 RemoteShell 插件”和“2. 连接云开发环境”步骤实现 CodeArts IDE for Python 连接云开发环境。

三、 安装 OpenHands 平台
远程连接到云开发环境后,在云开发环境中安装 OpenHands。
1. 安装 docker
在云开发环境中下载并解压 docker 环境安装包。
执行安装脚本。

配置镜像加速。
重启容器。

2. 部署 OpenHands 平台
拉取镜像,会要耗费一定时间。

运行服务。这里端口映射选择本地的 8085 端口,保证在创建云开发环境时开放端口范围内,以便后续对云开发环境端口创建隧道,访问 OpenHands 图形界面。

本地创建隧道,使用本地端口(这里使用 5000,可变更)映射云开发环境的 8085 端口,用于通过本地访问云开发环境部署的 OpenHands。

以上步骤都完成后,我们就可以在本地浏览器访问http://127.0.0.1:3000访问OpenHands图形界面。

3. 配置模型
首次打开应用时,系统会提示您选择 LLM 提供商并添加 API 密钥。。这里可以先配置任意填写 API Key,然后点击 Save 保存。

接入前面开通的 MaaS DeepSeek-R1 模型,在 OpenHands 图形界面点击左下角设置,在 LLM 配置页,开启高级配置并配置模型信息。配置参考:

模型添加完成点击右下角 Save Changes 按钮保存。
4. 体验 OpenHands
模型配置完成后,回到主页,点击 Launch from Scratch 开启一个新的对话。

启动需要等待几分钟,我们可以看到 OpenHands 对话界面一些关键性:
聊天面板:显示用户和 OpenHands 之间的对话以及 OpenHands 在这里解释它的操作;
Changes:显示 OpenHands 执行的文件更改记录;
VS Code:嵌入式 VS Code 用于浏览和修改文件;
Terminal:一个供 OpenHands 和用户运行终端命令的空间;
Jupyter:显示 OpenHands 执行过的所有 Python 命令,便于使用 OpenHands 执行数据可视化任务;
App:作为 OpenHands 运行应用程序时显示 web 服务器,使用户可以与运行中的应用程序进行交互;
Browser:用于 OpenHands 浏览网站,是非交互式的。
等待启动完成提示"Agent is awaiting user input"即可进行对话,如:“用 python 写一个简单的 oa 系统首页并运行,然后在浏览器访问展示效果。”

可以在聊天面板看到 OpenHands 的操作及解释,可以在 Changes 看到文件更改记录。

在 Terminal 看到 OpenHands 运行的终端命令输出。

最后可以在 Browser 看到生成的 OA 系统首页效果。(如果出现不成功情况可以重复提问)

至此,该案例到这里就完成啦。
更多的 OpenHands 功能探索,可以访问:https://docs.all-hands.dev/usage/getting-started
评论