Windows平台OpenManus部署及WebUI远程访问实现

前言:继DeepSeek引发行业震动后,Monica.im团队最新推出的Manus AI 产品正席卷科技圈。这款具备自主思维能力的全能型AI代理,不仅能精准解析复杂指令并直接产出成果,更颠覆了传统人机交互模式。尽管目前仍处于封闭测试阶段,但开源社区已迅速行动起来。

由MetaGPT核心成员主导的OpenManus开源计划,为这场智能革命注入了全新活力。这款零门槛的开源工具不仅打破授权限制,更支持本地化部署的大型语言模型。以笔者在高性能服务器上运行的千问QWQ-32B为例,通过OpenManus即可实现完全免费的深度协作。接下来,我们将逐步展开如何构建这组AI黄金搭档的实战指南,助您激活属于自己的智慧引擎。

目录

1. 环境准备

2. 本地部署OpenManus

3. 安装Ollama

4. 安装QwQ 32B模型

 5. 修改OpenManus配置文件

6. 运行OpenManus

7.通过网页使用OpenManus

8. 安装内网穿透


1. 环境准备

### 1.1 安装Python

本例使用Windows11专业版系统进行演示:

首先需要安装 python 3.12 下载地址:[Python Release Python 3.12.0 | Python.org](https://www.python.org/downloads/release/python-3120/)

页面底部找到Windows版本,点击下载安装程序即可:

安装时需要注意,勾选下边两个选项,不然后续有可能报错:

安装结束后,如出现下图提示,点击该选项(更改您的机器配置,以允许程序(包括Python)绕过260字符的“最大路径”限制)同意即可:

确认后,点击close关闭即可完成Python环境安装:

### 1.2. 安装conda

然后安装conda环境,下载地址:[Anaconda Installers and Packages](https://repo.anaconda.com/)

点击查看所有安装文件,找到Windows版本,点击下载即可:

下载好后,正常安装即可:

需要注意的是在这一步,需要勾选第三个选项,自动加载刚才安装的Python3.12环境:

点击确定,然后点击Install继续安装:

安装完成后,点击Finish即可:

2. 本地部署OpenManus

接下来开始在Windows系统使用conda本地部署OpenManus

### 2.1 创建一个新conda环境

首先在Windows中打开cmd或者powershell等终端工具,执行下方命令:

```shellconda create -n open_manus python=3.12```

如果提示'conda' 不是内部或外部命令,也不是可运行的程序,我们需要配置一下环境变量:

首先在电脑中找到conda的安装路径,本例中安装时选择的是只为我(just me)安装,那么路径是在`C:\Users\[你的用户]` 目录下:

进入.conda文件夹,打开environments文档,复制这个路径:

在Windows系统中搜索环境变量,打开:

选择高级-环境变量-系统变量-**path** ,点击编辑:

点击新建,粘贴刚才复制的Anaconda的地址加上`\Scripts`  比如:C:\Users\admin\anaconda3\Scripts

添加好环境变量后保存退出即可。

现在我们再打开cmd等终端工具,输入conda时,可以看到能正常识别命令了:

再次执行刚才的命令:

```shellconda create -n open_manus python=3.12```

输入y确认:

环境创建好之后,执行下方命令:

```shellconda init```

提示关闭并重启你的shell工具(关闭重新打开cmd)

然后执行下方命令激活这个新的conda环境:

```shellconda activate open_manus```

如上图所示,这个conda环境就激活成功了。

### 2.2 克隆存储库

接下来,我们在终端中执行下方命令,将OpenManus拉取到本地:

```shellgit clone https://github.com/mannaandpoem/OpenManus.git```

> ps:使用git命令需要提前在Windows系统中下载并安装node.js

如上图所示done即为拉取完成。

然后执行下方命令进入OpenManus项目根目录下:

```shellcd OpenManus```

### 2.3 安装依赖环境

执行下方命令安装依赖环境:

```shellpip install -r requirements.txt```

这个阶段安装时间较长,耐心等待安装完成即可:

现在就安装好了:

3. 安装Ollama

现在我们已经在本地部署好了OpenManus,但是我们还需要安装Ollama来接入本地大模型,之后再配置OpenManus 使用的 LLM API才能够使用。

下方为简略安装方法,详细的安装流程可以查看这篇文章:[Windows本地部署Ollama](https://www.cpolar.com/blog/the-deepseek-r1-large-model-is-deployed-locally-on-windows-and-interacts-remotely-using-a-web-interface)

首先访问Ollama的官网:[Download Ollama on Windows](https://ollama.com/download)

下载适配你的操作系统的客户端,我这里使用的是Windows11系统,点击下载即可:

安装好之后,打开cmd输入ollama回车,看到下面信息即为安装成功!

4. 安装QwQ 32B模型

接下来使用Ollama下载本地AI大模型,不支持所有大模型,需要有函数调用能与OpenManus对接的才行。

恰好笔者之前下载的千问QwQ-32B模型就支持,这里就用它来演示。

下面为简略安装方法,详细的安装方式可以查看这篇文章:[Windows本地部署QwQ32B](https://www.cpolar.com/blog/the-qwq32b-is-comparable-to-deepseek-r1-671b-for-local-deployment-and-remote-access)

Ollama安装完成之后,就可以开始去下载 QwQ32B 这个模型了,使用这个命令就能下载:

```shellollama run qwq```

需要预留**20个G**以上的储存空间,默认下载到C盘,如果想修改下载位置,可以在终端中执行下方命令来指定模型文件的存放目录,这里以d:\ollama为例,大家可以自定义:

```shellset OLLAMA_MODELS=d:\ollama```

安装成功后会提示success:

 5. 修改OpenManus配置文件

接下来我们需要修改OpenManus配置文件,让它对接本地qwq32b模型。

需要修改的是全局模型配置Global LLM configuration和视觉模型配置configuration for specific LLM models

**注意:里面的模型文件名称要改成你自己安装的,后面的视觉模型可以和上面的一致,也可以自定义其它的视觉模型!需要自己下载**

首先进入我的电脑,打开C盘-用户-admin下的OpenManus文件夹:

然后进入config文件夹:

复制一份里边的config.example.toml文件,重命名为config.toml,使用记事本打开进行配置:

1.首先将Global LLM configuration中的

model = "claude-3-7-sonnet-20250219" 替换为本地qwq32b的名称:model = "qwq:latest"

> PS:如何查看本地大模型名称:

>

> 新开一个cmd终端,输入`ollama list`进行查看,名称为 qwq:latest

2.将Global LLM configuration中的

base_url = "https://api.anthropic.com/v1/"   替换为 base_url = "http://localhost:11434/v1/"

替换后:

3.将Global LLM configuration中的

api_key = "YOUR_API_KEY" 替换为 api_key = "123"

替换后:

4.然后将下面的[llm] #OLLAMA:这部分整段删除:

删除后:

5.将Optional configuration for specific LLM models的

model = "claude-3-7-sonnet-20250219" 替换为 model = "qwq:latest"

6.将Optional configuration for specific LLM models的

base_url = "https://api.anthropic.com/v1/"   替换为   base_url = "http://localhost:11434/v1/"

7.将Optional configuration for specific LLM models的

api_key = "YOUR_API_KEY"  替换为 api_key = "123"

8.将下面的[llm.vision] #OLLAMA VISION:这部分整段删除:

删除后:

配置完毕后保存关闭此文件即可。

6. 运行OpenManus

现在我们回到刚才创建好的OpenManus根目录下,执行一行命令运行 OpenManus:

```pythonpython main.py```

可以看到提示我们输入指令来让它干活!

输入命令后,可能会出现如下报错:

这个问题是缺少了浏览器,那么需要先下载浏览器组件:

```pythonpython -m playwright install chromium```

然后安装:

```pythonpip install playwright```

然后再次执行运行命令:

```pythonpython main.py```

并向它提出要求:

根据本地硬件配置不同,执行操作的时间也不同,稍等后会自动打开浏览器进行查询操作并给出推理与回答:

> PS:如果关闭终端后,不知道如何进入conda环境下的OpenManus根目录,可以执行下方操作:

>

> 首先执行:

>

> ```shell> conda activate open_manus> ```

>

> 然后执行:

>

> ```shell> cd OpenManus> ```

>

> 就可以进到根目录,使用 `python main.py` 运行 OpenManus 了!

>

7.通过网页使用OpenManus

如果不喜欢在命令行中操作OpenManus,我们也可以在web网页中进行操作

首先,需要下载OpenManus的分支代码:

https://github.com/mannaandpoem/OpenManus/tree/front-end

然后解压下载的包到自定义盘符目录,本例中为 D:\OpenManus-front-end

在终端中进入这个项目路径:

```shellD:``````shellcd OpenManus-front-end```

和上边的在命令行中运行OpenManus一样,我们需要先创建一个新的conda环境:

```shellconda create -n open_manusui python=3.12```

然后激活环境:

```shellconda activate open_manusui```

安装依赖:

```pythonpip install -r requirements.txt```

在运行前,同样需要对config文件进行修改:()

复制一个config.example.toml文件,重命名为config.toml,打开进行如下修改:

保存后,回到终端中执行:

```pythonpython app.py```

会自动打开浏览器访问:http://localhost:5172 打开OpenManus的web ui页面:

在对话框中提问,可以在主界面中看到AI的操作流程:

思考、调用工具、给出结果:

不过这个UI版本似乎优化还有问题,处理速度比在终端中要慢很多,而且容易出现time out的情况。

8. 安装内网穿透

现在我们已经成功在本地部署了OpenManus并使用WebUI在网页中与AI交互,但如果想实现不在同一网络环境下,也能随时随地在网页中远程使用本地部署的OpenManus处理问题,那就需要借助cpolar内网穿透工具来实现公网访问了!接下来介绍一下如何安装cpolar内网穿透,过程同样非常简单:

首先进入cpolar官网:

*cpolar官网地址:* [https://www.cpolar.com](https://www.cpolar.com/)

点击`免费使用`注册一个账号,并下载最新版本的cpolar:

登录成功后,点击下载cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。

cpolar安装成功后,在浏览器上访问http://localhost:9200,使用cpolar账号登录,登录后即可看到配置界面,结下来在WebUI管理界面配置即可。

### 8.1 配置随机公网地址

接下来配置一下 Open WebUI 的公网地址:

登录后,点击左侧仪表盘的隧道管理——创建隧道,

- 隧道名称:openmanus(可自定义命名,注意不要与已有的隧道名称重复)

- 协议:选择 http

- 本地地址:5172 (本地访问的地址)

- 域名类型:选择随机域名

- 地区:选择China Top

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https:

使用上面的任意一个公网地址,在平板或其他电脑的浏览器进行登录访问,即可成功看到 OpenManus 的WebUI 界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可到随时在线访问本地部署的OpenManus了!

**小结**

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期远程访问OpenManus的WebUI使用QWQ-32B模型处理问题,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来为WebUI配置一个公网地址。.

### 8.2  配置固定公网地址

接下来演示如何为其配置固定的HTTP公网地址,该地址不会变化,方便分享给别人长期查看你部署的项目,而无需每天重复修改服务器地址。

> 配置固定http端口地址需要将cpolar升级到专业版套餐或以上。

[登录cpolar官网](https://dashboard.cpolar.com/?_gl=1*1l5hwif*_ga*MjMwNTYyNDYwLjE2OTAyNDg5MTg.*_ga_WF16DPKZZ1*MTczODc0Mjg2OC42NTguMS4xNzM4NzQ0Njg2LjUxLjAuMA..),点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留:

保留成功后复制保留成功的二级子域名的名称:`myops`,大家也可以设置自己喜欢的名称。

返回Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道:`openmanus`,点击右侧的编辑:

修改隧道信息,将保留成功的二级子域名配置到隧道中

- 域名类型:选择二级子域名

- Sub Domain:填写保留成功的二级子域名:`myops`

点击`更新`(注意,点击一次更新即可,不需要重复提交)

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名:

最后,我们使用上边任意一个固定的公网地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,可以随时随地在公网环境异地在线访问本地部署的OpenManus的WebUI来让AI帮你全自动处理问题了!

## 总结

经过系统化的操作流程,我们已在Windows平台完成了OpenManus核心框架及其WebUI可视化模块的部署工作。通过集成cpolar内网穿透解决方案,成功构建了突破空间限制的远程访问通道,使AI助手的调用突破了物理设备的桎梏。整个实施过程展现出显著的便捷性与高效性,仅需配置高性能计算节点及绑定专属二级域名,即可打造个性化的智能服务中枢。

该方案不仅实现了7×24小时的远程交互能力,更通过模块化架构为后续功能扩展预留了充足空间。随着OpenManus生态的持续进化,其在自动化处理、智能决策等领域的应用前景值得期待。对于部署过程中遇到的任何技术细节或优化建议,欢迎在交流区分享见解,共同探索人工智能技术的创新边界。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/83159.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Springboot3自定义starter笔记

场景&#xff1a;抽取聊天机器人场景&#xff0c;它可以打招呼。 效果&#xff1a;任何项目导入此 starter 都具有打招呼功能&#xff0c;并且问候语中的人名需要可以在配置文件中修改。 创建自定义 starter 项目&#xff0c;引入 spring-boot-starter 基础依赖。 <dependen…

Nginx与Tomcat负载均衡集群配置指南

目录 一、资源清单 二、基础环境 三、安装配置Tomcat 四、安装配置Nginx 一、资源清单 主机 操作系统 IP地址 tomcat1 OpenEuler24.03 192.168.16.142 tomcat2 OpenEuler24.03 192.168.16.143 Nginx OpenEuler24.03 192.168.16.144 二、基础环境 hostnamectl …

【数据处理】xarray 数据处理教程:从入门到精通

目录 xarray 数据处理教程&#xff1a;从入门到精通一、简介**核心优势** 二、安装与导入1. 安装2. 导入库 三、数据结构&#xff08;一&#xff09;DataArray&#xff08;二&#xff09; Dataset&#xff08;三&#xff09;关键说明 四、数据操作&#xff08;一&#xff09;索…

网站漏洞存在哪些危害,该如何做好预防?

网站漏洞的危害及预防措施 一、网站漏洞的主要危害 网站漏洞是攻击者利用系统、应用或配置中的缺陷&#xff0c;实施恶意行为的入口。其危害包括但不限于以下方面&#xff1a; 数据泄露与隐私侵犯 危害&#xff1a;攻击者通过SQL注入、XSS等漏洞窃取用户数据&#xff08;如密…

WEB攻防-PHP漏洞解析

Web攻防之PHP漏洞解析 目录结构 引言 1.1 PHP在CTF Web方向的核心地位1.2 报告目标与结构说明1.3 PHP安全研究的方法论代码执行漏洞 2.1 漏洞原理与历史演进2.2 危险函数全解析与利用链2.3 绕过过滤的20种高级技巧2.4 实战案例&#xff1a;从CVE到CTF赛题复现2.5 防御方案与安…

YOLO11解决方案之距离计算探索

概述 Ultralytics提供了一系列的解决方案&#xff0c;利用YOLO11解决现实世界的问题&#xff0c;包括物体计数、模糊处理、热力图、安防系统、速度估计、物体追踪等多个方面的应用。 测量两个物体之间的间距被称为特定空间内的距离计算&#xff0c;YOLO11使用两个边界框的中心…

mongodb处理时区转换问题

1. 程序查询直接使用&#xff08;java&#xff09;Date即可, 因为直接支持 2. 若方便查看日期需要进行格式和时区转换 db.task.aggregate([{ $match: {userId: 113633}},{ $project: {userId: 1,endTime: 1,formattedDate: {$dateToString: {format: "%Y-%m-%d %H:%M:%S&…

基于中心点预测的视觉评估与可视化流程

基于中心点预测的视觉评估与可视化流程 基于中心点预测的视觉评估与可视化流程一、脚本功能概览二、可视化与评分机制详解1. 真实框解析2. 调用模型处理帧3. 预测中心点与真实值的对比4. 打分策略5. 图像可视化三、目录结构要求四、运行方式五、应用场景与拓展思路六、总结七,…

Comparator 比较器

在Java中&#xff0c;Comparator.comparingInt(String::length) 是一个用于创建比较器&#xff08;Comparator&#xff09;的静态方法调用&#xff0c;它的核心作用是定义一个比较规则&#xff0c;使对象按照特定属性&#xff08;这里是字符串长度&#xff09;进行比较。下面从…

无人设备遥控器之无线通讯技术篇

无人设备遥控器的无线通讯技术是确保遥控操作准确、稳定、高效进行的关键。以下是对无人设备遥控器无线通讯技术的详细解析&#xff1a; 一、主要无线通讯技术类型 Wi-Fi通讯技术 原理&#xff1a;基于IEEE 802.11标准&#xff0c;通过无线接入点&#xff08;AP&#xff09;…

Android Coli 3 ImageView load two suit Bitmap thumb and formal,Kotlin(七)

Android Coli 3 ImageView load two suit Bitmap thumb and formal&#xff0c;Kotlin&#xff08;七&#xff09; 在 Android Coli 3 ImageView load two suit Bitmap thumb and formal&#xff0c;Kotlin&#xff08;六&#xff09;-CSDN博客 的基础上改进&#xff0c;主要是…

ET EntityRef EntityWeakRef 类分析

EntityRef EntityWeakRef 相同点 也是这两个的作用&#xff1a;这两个都是用来表示一个实体引用。一般来说使用一个对象&#xff0c;直接持有对象就可以&#xff0c;但是如果对象来自于对象池&#xff0c;这个时候直接持有对象不合适&#xff0c;对象可能已经被对象池回收&…

基于Leaflet和天地图的免费运动场所WebGIS可视化-以长沙市为例

目录 前言 一、免费运动场所数据整理 1、本地宝数据简介 2、Java后台数据解析 二、Leaflet前端地图展示 1、基础数据准备 2、具体位置及属性标记 三、成果展示 1、空间位置分布 2、东风路立交桥运动公园 3、芙蓉区花侯路浏阳河大桥下方 4、梅岭国际小区 5、湖南大学…

Flutter——数据库Drift开发详细教程(六)

目录 1.视图2.视图中列的可空性3.DAO4.流查询5.高级用途6.注意事项 1.视图 也可以将SQL 视图定义 为 Dart 类。为此&#xff0c;请编写一个抽象类来扩展View。此示例声明了一个视图&#xff0c;用于读取示例中架构中某个类别中添加的待办事项数量&#xff1a; abstract class C…

Kafka 4.0版本的推出:数据处理新纪元的破晓之光

之前做大数据相关项目&#xff0c;在项目中都使用过kafka。在数字化时代&#xff0c;数据如洪流般涌来&#xff0c;如何高效处理这些数据成为关键。Kafka 就像是一条 “智能数据管道”&#xff0c;在数据的世界里扮演着至关重要的角色。如果你第一次接触它&#xff0c;不妨把它…

RabbitMQ高级篇-MQ的可靠性

目录 MQ的可靠性 1.如何设置数据持久化 1.1.交换机持久化 1.2.队列持久化 1.3.消息持久化 2.消息持久化 队列持久化&#xff1a; 消息持久化&#xff1a; 3.非消息持久化 非持久化队列&#xff1a; 非持久化消息&#xff1a; 4.消息的存储机制 4.1持久化消息&…

ctfshow权限维持

1&#xff0c;web670 我们先看一下这个php代码 error_reporting(0);#关闭错误报告 highlight_file(__FILE__);#内容高亮显示$a$_GET[action];#get传参switch($a){case cmd:eval($_POST[cmd]);break;case check:file_get_contents("http://checker/api/check");#获取…

力扣算法ing(71 / 100)

5.15 哈希表合集—349.两个数组的交集 给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,2,2,1], nums2 [2,2] 输出&#xff1a;[2]示例…

(面试)Handler消息处理机制原理

Handler是用于实现线程间通信和任务调度的一种机&#xff08;Handler、 Looper、MessageQueue、 Message&#xff09;。Handler 允许线程间发送Message或Runnable对象进行通信。在Android中UI修改只能通过UI Thread&#xff0c;子线程不能更新UI。如果子线程想更新UI&#xff0…

Dify 实战教程 | 5分钟打造文本生成应用( Stable Diffusion 提示词生成器)

AI 绘画离不开「提示词&#xff08;Prompt&#xff09;」——如何构造清晰、生动、有表现力的提示词&#xff0c;直接决定你生成图像的质量。而 Stable Diffusion 的提示词构造相比 Midjourney 更加自由&#xff0c;但也更考验组织语言的能力。 今天这篇教程&#xff0c;教你零…