OpenManus云端部署及经典案例应用
前言
今年3 月,一款名为 Manus 的 AI Agent 产品横空出世,它凭借出色的任务处理能力,在技术圈火的不行,几乎朋友圈都是在卖Manus 的邀请码。为了满足我们开发者对类似 Manus 产品的开发和探索需求,OpenManus 应运而生。它是由 MetaGPT 团队仅用 3 小时开发的开源 AI 智能体项目,旨在复刻 Manus 的核心功能,对其改进。最重要的是,OpenManus 无需邀请码,支持本地化部署。
这篇文章来讲一下OpenManus的部署以及应用,这里我采用两种方式部署,一种是本地化部署,另一种是云端部署。应用从日程安排、代码生成和数据分析三个方面入手。
部署OpenManus
本地部署
创建新的 Conda 环境 :在终端中运行 创建名为 open_manus 的新环境,并指定 Python 版本为 3.12。然后通过 激活该环境。
- 克隆存储库 :使用命令 https://github.com/mannaandpoem/OpenManus.git将 OpenManus 的代码克隆到本地,然后进入项目目录,即运行 。
- 安装依赖项 :在项目目录下,运行 安装 OpenManus 所需的 Python 依赖包。
- 安装 Ollama 及模型 :从Ollama 官方网站下载并安装 Ollama。本地对接的 AI 模型必须支持函数调用,如 qwen2.5-coder:14b、qwen2.5-coder:14b-instruct-q5_K_S、qwen2.5-coder:32b 等,可通过命令 安装,例如 。若需视觉模型,可使用 minicpm-v,安装命令为 。
- 修改配置文件 :在 OpenManus 安装目录下,将 文件复制并重命名为 ,然后根据自己的需求修改其中的内容,如选择使用的语言模型、API 密钥等。以使用 qwen2.5-coder:14b 模型为例,配置如下:
- 模型名称为 “qwen2.5-coder:14b”,基础 URL 为 “http://localhost:11434/v1”,api_key 为你自己的 API 密钥。
- 模型名称为 “qwen2.5-coder:14b”,基础 URL 为 “http://localhost:11434/v1”,api_key 同上。点击”新建API密钥“
本地化部署 OpenManus 存在一些劣势。例如在部署过程中,可能会遇到环境配置问题,如 Python 脚本尝试从 stdin 获取输入而不被支持,导致执行超时。此外,若对代码理解不足或操作不当,可能导致程序运行错误,例如未正确导入 Python 的标准模块等。所以为了方便让大家更简单方便的体验OpenManus,我推荐使用下面的云端部署。
云端部署
云端部署我推荐在阿里云部署,阿里云提供了免费的额度和一键部署的能力,基本上 5 分钟就能完成整个部署流程,阿里云部署地址:https://www.aliyun.com/solution/tech-solution/open-manus?utm_content=g_1000403468
部署之前需要先开通认证阿里云账号,再开通阿里云百炼服务平台和函数计算服务。
第一步:获取API KEY
准备部分该注册和开通的都完成后,可以开始部署了。我们首先要进入阿里云百炼大模型服务平台复制API KEY,下面是操作步骤。
点击查看,然后复制下来,最好保存一下。
第二步:部署应用
点击前往部署打开阿里云提供的云原生应用开发平台 CAP 项目模板,这里需要注意,第一次打开会让授权,如下图所示。下滑到最底部确认授权就行了。
授权完成后,地域选择华东1,前面复制的百炼API-KEY粘贴上,然后点击部署项目。如下图所示。
等待一两分钟后会显示已部署,到此就算部署成功了。点击访问网址即可进入。
经典案例测试
本次测试用的是基于阿里云一键部署的OpenManus,通过三个方向来体验,分别是日程规划、代码生成、数据分析。
旅游日程安排
提示词:帮我设计一个七天六夜的去新疆旅游的攻略,必须包含酒店、景区信息,包括每一天的行程。
运行结果如下图所示。
这段日志清晰地展示了OpenManus在处理任务时的完整流程。从一开始接收任务,它迅速分析需求并准备调用合适的工具,例如“Search”来收集信息;在得到初步结果后,它又继续调用其他工具(如“QwQ-32B”)进行更深入的处理。整个过程中,OpenManus的思考路径和工具选择非常精准,它会根据任务进展动态调整策略,最终生成符合期望的详细旅游攻略。
最终反馈的日程安排如下图。
内容很长也很详细,除了日程安排以外还有酒店推荐、费用预算、注意事项和实用贴士等内容。
贪吃蛇小游戏
提示词:用JAVA生成一个贪吃蛇小游戏。
运行结果如下图所示。
OpenManus一共执行了两步,第一步准备了python工具,第二步生成贪吃蛇小游戏代码。
主函数部分代码如下:
# 定义游戏主函数
def game_loop():# 初始化蛇的位置和长度snake_x = WIDTH / 2snake_y = HEIGHT / 2snake_x_change = 0snake_y_change = 0snake_body = []snake_length = 1# 初始化食物位置food_x = round(random.randrange(0, WIDTH - FOOD_SIZE) / 10.0) * 10.0food_y = round(random.randrange(0, HEIGHT - FOOD_SIZE) / 10.0) * 10.0# 初始化分数score = 0# 游戏主循环game_exit = Falsewhile not game_exit:# 处理游戏事件for event in pygame.event.get():if event.type == pygame.QUIT:game_exit = Trueelif event.type == pygame.KEYDOWN:if event.key == pygame.K_LEFT:snake_x_change = -SNAKE_SIZEsnake_y_change = 0elif event.key == pygame.K_RIGHT:snake_x_change = SNAKE_SIZEsnake_y_change = 0elif event.key == pygame.K_UP:snake_y_change = -SNAKE_SIZEsnake_x_change = 0elif event.key == pygame.K_DOWN:snake_y_change = SNAKE_SIZEsnake_x_change = 0# 更新蛇的位置snake_x += snake_x_changesnake_y += snake_y_change# 检查是否撞墙if snake_x >= WIDTH or snake_x < 0 or snake_y >= HEIGHT or snake_y < 0:game_over(score)game_exit = True# 清空窗口window.fill(BLACK)# 绘制食物pygame.draw.rect(window, RED, [food_x, food_y, FOOD_SIZE, FOOD_SIZE])# 更新蛇的身体snake_head = []snake_head.append(snake_x)snake_head.append(snake_y)snake_body.append(snake_head)# 移除多余的蛇身部分if len(snake_body) > snake_length:del snake_body[0]# 检查是否撞到自己for segment in snake_body[:-1]:if segment == snake_head:game_over(score)game_exit = True# 绘制蛇for segment in snake_body:pygame.draw.rect(window, GREEN, [segment[0], segment[1], SNAKE_SIZE, SNAKE_SIZE])# 显示分数score_text = font.render("分数: " + str(score), True, WHITE)window.blit(score_text, [10, 10])# 更新显示pygame.display.update()# 检查是否吃到食物if snake_x == food_x and snake_y == food_y:food_x = round(random.randrange(0, WIDTH - FOOD_SIZE) / 10.0) * 10.0food_y = round(random.randrange(0, HEIGHT - FOOD_SIZE) / 10.0) * 10.0snake_length += 1score += 1# 控制游戏速度clock.tick(SPEED)# 退出游戏pygame.quit()quit()# 启动游戏
game_loop()
OpenManus 提供的贪吃蛇小游戏代码结构清晰、注释完备,完整实现了在图形界面中与玩家互动的游戏流程。玩家通过方向键控制蛇的移动,程序能即时检测蛇与食物的碰撞并更新蛇的长度,同时判断蛇是否撞墙或撞到自己,当发生碰撞时游戏结束。代码中兼顾了游戏逻辑的完整性,能够直接复制到本地 Pygame 环境中运行。
此外,它还提供了极大的发挥空间,能基于此轻松地拓展游戏规则、加入新的功能模块,像是调整蛇的移动速度、设计多种障碍物或食物类型,又或是融入计时器来提升游戏的挑战性等,从而进一步加深对Pygame编程的领悟与运用能力。
代码运行结果如下图所示。
分析电商品类趋势
提示词:分析2025年最新中国电商平台【女性服装】品类的最新市场趋势,包括热销款式、价格变化、消费者偏好和主要品牌动态。
运行结果如下图所示。
一开始,OpenManus 对市场趋势和消费者偏好进行深入分析,并调用“Search”工具获取信息。随后,它多次使用“Search”和“QwQ-32B”工具,不断优化查询和分析过程,逐步深入了解市场动态。OpenManus 最终整理并输出了详尽的市场分析结果。整个过程体现了 OpenManus 在复杂任务中的高效性和适应性,其精准的信息获取和分析能力令人印象深刻。
最终结果如下图。
总结
通过这三个案例的测试,最明显的特点就是响应极快,处理任务几乎没有超过一分钟的。除此之外OpenManus在日程安排、代码生成和数据分析方面表现也很出色。它能高效规划日程,与日历系统集成,还能灵活调整计划;在代码生成上,可快速生成多种语言的代码,提升开发效率;数据分析方面,具备快速处理数据、应用多种分析方法的能力。
在部署方面我使用了两种部署方式,显然云端部署更加便捷,自动配置流程省时省力,按需付费降低初期投入,弹性扩展适应业务变化,自动更新维护省心省事,跨地域协作便捷高效,企业级安全保障可靠可信。这些特点都是本地部署不具备的。
OpenManus适用于多种场景,例如软件测试、开发辅助、数据分析、办公自动化和教育教学等。与商业AI工具比,虽在专业深度上稍逊,但模块化设计与丰富工具链更突出。总体而言,OpenManus凭借其独特优势,在特定领域和场景中仍极具竞争力,可满足大家多样化的需求。
【阿里云×CSDN实战特训营来袭!导师带队+实战部署,领丰厚奖励!】
✨【课程亮点】✨
✅ 行业大咖导师全程领航,手把手指导部署实战
✅ 完成项目部署即解锁精美礼品
✅ 专属学习社群实时答疑,与百万开发者同频成长��
本次活动将以领团学习的形式进行,为此我们将除招募对此活动感兴趣的参与者外,也招募学习领团人,只要你热爱技术,想要成长,无论是个人社区创建者,还是万粉博主,都可以点击报名链接,向我们申请成为领团人。赶快参与活动,体验云上技术魅力吧~