全部版块 我的主页
论坛 数据科学与人工智能 IT基础
50 0
2025-11-20

前言

OpenHands 是一种 AI 编程辅助工具,能够根据用户的需求生成代码、调试错误,支持多种编程语言,对于程序员来说,无论是日常开发还是提高效率都非常有用,特别是对于初学者来说,在查找和修复错误方面提供了极大的帮助。

在使用过程中,我发现它生成代码框架的速度非常快,但有时会出现一些小错误,需要手动检查和调整。尽管如此,它仍然能够节省大量的时间。

不过,该工具的一个缺点是,默认情况下仅限于本地局域网内使用。这意味着如果你在家没有完成的代码,到了公司就无法继续工作了。然而,通过 cpolar 实现公网访问后,无论你在哪台设备上,只要连接互联网,就可以随时打开 OpenHands,团队成员也可以远程协作处理代码。这不仅保持了本地开发的稳定性和安全性,还解决了跨网络使用的难题。

【视频教程】

OpenHands(前身是 OpenDevin) 是基于大型语言模型(LLM)的 AI 编程助手。想象一下,有一个全天候在线的经验丰富的软件工程师为你服务,是不是很吸引人?这就是 OpenHands 的魅力所在!它可以帮助你:

  • 从零开始编写全新的代码
  • 增强现有代码的功能,使其更高效、简洁
  • 智能地调试和修复错误,确保程序稳定运行
  • 支持包括 Python、Java 和 C++ 在内的多种编程语言

部署 OpenHands 步骤

首先,在终端中输入以下命令来获取项目:

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

然后,输入以下命令来运行项目:

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

等待片刻后,在浏览器中输入 localhost:3000,即可看到 OpenHands 的界面。部署过程就是这么简单!

简单使用 OpenHands

首次运行时,会弹出一个窗口让你选择大模型提供商、模型并输入 API 密钥。推荐的提供商是国外的线上付费服务,但对国内用户不太友好。

我建议选择本地部署的大模型,这样不仅免费,而且具有更高的隐私保护性,也没有 token 数量的限制。设置完成后,点击 Save 保存。

返回主界面,我们可以开始一个新的对话。

中间部分会提示你需要等待启动。可以看到左侧是一个类似 ChatGPT 的对话窗口,提供了多种功能,如增加测试覆盖率、自动合并 PR、修复 README 文件和清理依赖等。

上方的 Changes 部分显示了你问题的变更历史记录。

VSCode 中存放着你的项目目录,稍后 AI 生成的文件将会保存在这里。

这是一个终端,可以用来运行或测试输出的代码。

后面的 Browser 可以查看问题转化为网页输出的结果。

这里我提出一个问题:编写一个打印 "hello world!" 的 Bash 脚本。

(提示词:Write a bash script hello.sh that prints "hello world!")

可以看到这里出现了错误,但不用担心,这是正常的,它会逐步修正这些错误。

在 VSCode 中,你可以看到已经生成了文件。

完成后,它会告诉你可以在命令行中输入 chmod +x hello.sh 给脚本添加执行权限,然后输入 ./hello.sh 来验证输出结果。

在顶部的终端中,我们来试一下。已经赋予了执行权限,可以看到成功输出了 "hello world"。

第一个脚本已经完成,接下来让它修改代码,使脚本能接受一个名字作为第一个参数,但默认值为 "world"。

仍然出现了一些错误,但不用着急,稍等片刻即可。

现在已经完成,现在可以使用可选的名字参数运行它,例如 "Alice",它将输出 "hello Alice!";如果没有提供参数,则默认输出 "hello world!"。

在VSCode中,我们注意到成功添加了一个新的变量参数,接下来让我们进行测试。打开终端,输入命令./hello.sh gezi,将参数改为“gezi”。可以看到,程序成功输出了结果,表明操作非常高效。

安装cpolar内网穿透工具

首先,访问cpolar的官方网站:
https://www.cpolar.com
在首页点击注册按钮,创建一个新账户,并下载适用于您系统的最新版本的Cpolar软件。

免费使用

注册并登录后,根据提示下载Cpolar客户端至本地,这里我们选择了Windows版本进行安装。

安装过程非常简单,只需按照默认设置进行即可。

完成安装后,通过浏览器访问http://localhost:9200,使用您的cpolar账户登录。登录成功后,您将进入Cpolar的Web配置界面,接下来的所有设置都将在该界面上完成。

配置公网访问地址

登录到cpolar的Web管理界面后,从左侧菜单选择“隧道管理”下的“创建隧道”选项:
- 隧道名称:您可以自由命名,例如“openhands”,确保名称不与其他现有隧道冲突。
- 协议:选择HTTP。
- 本地地址:设置为3000。
- 域名类型:选择“随机域名”。
- 地区:选择“China Top”。
创建隧道后,您可以在“在线隧道列表”中查看到生成的公网地址。

使用这些地址,您就可以从其他计算机或移动设备上访问本地部署的服务了。

至此,您已经能够利用cpolar生成的公网地址从外部访问本地运行的OpenHands服务。

小结

在上述步骤中,我们使用了cpolar提供的随机公网地址隧道。这种方式的优点是创建迅速,可以立即投入使用。不过,随机生成的公网地址会在24小时内发生变化,适合短期使用。

如果您希望长期稳定地访问本地部署的服务,建议使用固定的二级子域名。这不仅能避免每日重新配置公网地址的麻烦,还能获得更加美观易记的网址以及更佳的性能体验。

配置固定二级子域名公网地址

若要配置固定二级子域名,首先需将cpolar订阅计划升级至基础套餐或更高级别。
登录cpolar Web UI管理界面,从左侧菜单选择“预留”选项,然后选择保留二级子域名。选择地区为“China Top”,并设定一个二级子域名(例如“openhands”),填写备注信息后点击“保留”。

成功保留后,复制二级子域名地址。

接着,在隧道管理页面中找到您之前创建的隧道“openhands”,点击编辑按钮。

编辑

修改隧道配置,将保留的二级子域名填入相应的字段:
- 域名类型:选择“二级子域名”。
- Sub Domain:输入您保留的二级子域名。
- 地区:保持为“China Top”。
最后,点击保存更改。
更新


更新后,返回在线隧道列表,确认公网地址已变更为固定的二级子域名。

此时,您可以使用这个固定公网地址从任何设备上访问本地部署的OpenHands页面。

总结

通过上述步骤,您不仅获得了强大的本地开发环境OpenHands,还学会了如何使用cpolar进行远程访问配置。这意味着无论身处何地,您都能轻松开展编程工作,享受前所未有的灵活性。是不是觉得未来充满了无限可能呢?现在就行动起来,让OpenHands成为您编程道路上的好帮手吧!

本文详细介绍了如何在Windows系统中快速部署OpenHands,并通过cpolar配置固定二级子域名公网地址,实现远程访问。如果您有任何疑问或建议,欢迎留言交流。

总结来说,OpenHands简化了代码编写的流程,而cpolar则突破了网络的限制,两者的结合使得编程工作变得更加灵活高效,无论身在何处都能轻松应对各种编程挑战。

本篇文章的知识点来源于:
[cpolar官网][https://www.cpolar.com]

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群