前言
本文主要介绍如何在Windows系统使用Docker部署n8n工作流自动平台,并添加MCP服务实现自动化AI处理任务,结合cpolar内网穿透工具还能轻松实现随时随地远程在线访问与使用,无需公网IP也不用准备云服务器那么麻烦。
n8n是一个开源的低代码自动化工作流平台,它拥有400多个集成和900多个可以立即使用的模版,允许用户通过可视化界面连接不同的应用程序和服务,方便我们构建强大的任务自动化流程。
n8n通过画布的方式,构建自动化工作流,可以有效减少重复性手动操作,提高工作效率。最重要它支持本地部署,保证我们数据安全。官方提供了两种方式本地部署n8n,本例中使用docker方式进行部署,下面就来具体演示一下操作流程。
1.安装Docker
首先访问Docker官网下载地址,下载X86_64版本的Docker Desktop for Windows:
其他操作系统下载与安装Docker可以查看这篇文章:Linux、Windows、MacOS安装Docker
可选: 如果想自己指定安装目录,可以打开cmd等终端工具使用命令行的方式 :
参数 –installation-dir=D:\Docker可以指定安装位置:
start /w "" "Docker Desktop Installer.exe" install --installation-dir=D:\Docker
然后,在任务栏搜索功能
,勾选适用于Linux的Windows子系统
、虚拟机平台
管理员权限打开命令提示符(cmd),安装wsl2:
wsl --set-default-version 2
wsl --update --web-download
等待wsl安装成功:
如因网络问题无法拉取docker镜像可按下方步骤操作配置镜像源:
Setting->Docker Engine->添加上换源的那一段,如下图:
"registry-mirrors":["https://hub.rat.dev","https://docker.1panel.live"],
点击应用并保存后,重新打开docker desktop后,左下角显示 engine running 即可正常使用Docker。
2. 本地部署n8n
在n8n的github主页:https://github.com/n8n-io/n8n 我们可以看到docker拉取并运行n8n容器的命令:
打开cmd终端,执行命令即可:
docker volume create n8n_data
docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
n8n容器启动后,在浏览器中输入 http://localhost:5678
在docker desktop中也能看到容器信息:
访问后如果显示 n8n 注册账号页面,则说明安装成功:
3. 简单使用演示
3.1 激活license key
填写注册信息后,点击next下一步:
再简单填写一下调查问题点击get started继续:
点击获取免费的license key到邮箱:
最后进入邮箱,点击激活license key即可。
3.2 创建AI工作流
在n8n的主界面,我们首先点击右侧的使用现成的AI Agent模版进行创建即可:
打开后,我们能看到提供了一个基础的工作流模版,我下面进行一下简单的修改,以便调用本地大模型进行工作:
这个工作流的流程是接受到聊天信息后传导至后边的AI Agent模块,然后调用聊天大模型,这里的示例使用的是OpenAI的模型,我在本地已经安装了Ollama来调用大模型,所以先将这个删除:
删除之后,点击加号,在右侧的语言模型栏中能看到ollama chat model,选择即可:
在跳转的配置界面中,点击创建新凭证:
然后输入你的ollama安装设备的IP地址,左上方的名字也可以自定义修改:
看到连接测试成功的提示,即配置成功:
PS:为了成功远程调用本地安装的Ollama,我们需要提前进行一下环境变量设置:
setx OLLAMA_HOST "0.0.0.0"
setx OLLAMA_ORIGINS "*"
然后重启一下ollama服务即可
然后,选择一下要通过ollama调用本地哪个大模型:(支持函数调用的模型)
然后点击返回即可:
现在可以在n8n主界面看到模型已经修改为了ollama chat model:
memory部分默认保留,tool暂时不用管,稍后添加:
我们先用这个简单的工作流来测试一下:
运行结束后,可以看到工作流的每个节点都显示绿色的对号表示没有出错:
底部左侧能看到聊天交互中的提问与回答,在右边的日志面板中点击模型也能查看聊天记录:
3.3 安装MCP节点
接下来,我们可以在n8n中添加MCP节点来实现在工作流中支持MCP服务。
点击个人账号–设置:
点击社区节点后安装一个社区节点:
输入节点名称:n8n-nodes-mcp 勾选下面选项,点击安装:
安装完成后,需要重启一下n8n服务,我们现在就能在n8n工作流中中集成mcp服务了:
3.4 添加MCP服务
回到首页,点击刚才创建的工作流:
点击添加tool:
输入mcp,选择下面描述为Use MCP client的MCP Client Tool:
选择后,在弹出的页面首先点击新建进行mcp服务的设置:
这里我们创建一个Tavily MCP Server进行演示,这是一款开源项目,AI助手可以方便地利用 Tavily 提供的搜索和提取工具,获得实时网络搜索和数据提取能力,快速获取和解析网络上的信息资源。
Tavily MCP Server的github主页:https://github.com/tavily-ai/tavily-mcp
在添加Tavily MCP Server到n8n工作流中之前,我们需要先获得它的安装参数与API Key,都可以在它的github主页获得。
将上边的参数添加到新建的MCP服务配置中:
这里的环境变量需要添加的是TAVILY_API_KEY:
三项都填好后,保存即可:
然后在跳转的页面给这个mcp服务重新命名一下方便识别,大家可以自定义:
修改完点击返回,可以看到已经在tool中添加了一个Tavily Mcp服务:
然后在AI Agent中进行一下设置修改:
将source for prompt选项修改为define below,然后下面的prompt修改为:{{"Choose proper tool for user input:"+$json.chatInput }}
即根据用户的输入选择工具
现在我们在聊天框中向它提个问题,可以看到每个节点都正常执行工作流,并给出了答案:
到这里就成功在本地部署了n8n工作流平台并学习了如何调用本地大模型与添加mcp服务,之后你可以根据自己的需求添加其他的mcp服务来打造自己的全自动AI助手啦。
4. 安装内网穿透工具
但如果想实现不在同一网络环境下,也能随时随地在线使用n8n平台在网页中让AI助手执行任务,那就需要借助cpolar内网穿透工具来实现公网访问了!接下来介绍一下如何安装cpolar内网穿透,过程同样非常简单:
首先进入cpolar官网:
cpolar官网地址: https://www.cpolar.com
点击免费使用
注册一个账号,并下载最新版本的cpolar:
登录成功后,点击下载cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。
cpolar安装成功后,在浏览器上访问http://localhost:9200,使用cpolar账号登录,登录后即可看到配置界面,结下来在WebUI管理界面配置即可。
接下来配置一下 n8n Web UI 页面的公网地址:
登录后,点击左侧仪表盘的隧道管理——创建隧道,
- 隧道名称:n8n(可自定义命名,注意不要与已有的隧道名称重复)
- 协议:选择 http
- 本地地址:5678
- 域名类型:选择随机域名
- 地区:选择China Top
隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式。
使用上面的任意一个公网地址,在电脑或手机平板任意设备的浏览器进行登录访问,即可成功看到n8n的 WebUI 界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可随时随地在网页中远程使用本地部署的AI工作流平台了!
小结
为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。
如果有长期远程访问本地部署的n8n通过WebUI在线使用工作流平台,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置一个公网地址。
5. 配置固定公网地址
接下来演示如何为其配置固定的HTTP公网地址,该地址不会变化,方便分享给别人长期查看你部署的项目,而无需每天重复修改服务器地址。
配置固定http端口地址需要将cpolar升级到专业版套餐或以上。
登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留:
保留成功后复制保留成功的二级子域名的名称:myn8n
,大家也可以设置自己喜欢的名称。
返回Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道:n8n
,点击右侧的编辑:
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名:
myn8n
点击更新
(注意,点击一次更新即可,不需要重复提交)
更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名:
最后,我们使用上边任意一个固定的公网地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,可以随时随地在公网环境异地在线访问本地部署的Open WebUI来使用QWQ32B大模型了!
总结
通过以上步骤,我们实现了在Windows系统电脑本地安装n8n工作流平台,并结合cpolar内网穿透工具轻松实现在公网环境中使用浏览器远程访问,并为其配置固定不变的二级子域名公网地址的全部流程,经过简单测试,这款工作流平台确实效果很惊艳,非常期待它后续的发展,也感谢您的观看,有任何问题欢迎留言交流。