☰
Flowise 本地部署文档及 MCP 使用说明:用 TaoToken 统一 Key 打通 Docker 与 PNPM 两种启动方式
2026/10/1 7:04:20 网站建设 项目流程

1. Flowise 本地部署踩坑记:Docker 与 PNPM 两条路怎么选

Flowise 是一个开源的拖放式 LLM 工作流搭建工具,简单说就是让你用连线的方式把大模型、工具、知识库串成一条自动化流水线,不用从零写代码。它适合想快速验证 AI 应用原型的开发者、需要给团队搭内部工具的产品同学,以及想把 MCP 工具接进可视化流程的运维工程师。我这次的目标很明确:在本机把 Flowise 跑起来,并且让它通过统一的 API 通道调用模型,再把一个查询 GPU 状态的 MCP 服务挂上去,最后用一次对话验证整条链路是否打通。

真正动手时你会发现,Flowise 的本地部署有两条主流路径。一条是 Docker,好处是环境隔离干净,镜像一拉、容器一起,端口映射好就能访问,适合不想折腾 Node 版本、Python 依赖的人。另一条是 PNPM 源码启动,好处是改代码即时生效,调试 UI 和 server 都方便,适合要二次开发或者研究内部实现的人。两条路我都走了一遍,坑主要集中在 Node 版本、端口占用、环境变量文件缺失,以及 MCP 节点连不上模型这几个地方。

模型调用这块是重点。Flowise 里的 Agent、Tool Agent、ChatLocalAI 这些节点都需要一个能对外发起请求的模型入口。如果每个节点都单独填一套 Key,管理起来很乱,换模型时还要一个个改。我的做法是用 TaoToken 统一 Key 和 API 通道,把 Base URL 和 Key 配一次,Flowise 里所有需要模型的地方都指向它,MCP 节点调用工具时也走同一条通道。这样后面不管是换模型还是加节点,配置成本都很低。

下面我会先讲两条部署路径的完整命令和配置,再讲 MCP 服务怎么注册进 Flowise,最后用一次真实对话请求验证 MCP 工具是否被正确调用。整个过程你可以跟着做,遇到报错我会在排障章节里对照真实错误信息给出处理办法。

2. TaoToken 前置准备:统一 Key 与 API 通道配置

在动 Flowise 之前,先把模型调用的入口准备好。TaoToken 在这里扮演的角色是统一的 API 通道:你拿到一个 Base URL 和一个 Key,Flowise 里所有需要模型的地方都填这一套,不用为每个节点单独申请。官网入口是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 地址是 https://taotoken.net/api ,注意 API 地址后面不加 UTM 参数。

第一步是拿到 Key。进入控制台后创建 API Key,这个 Key 就是后面填进 Flowise 的凭证。控制台地址是 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,API Keys 管理页是 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 。创建时建议给 Key 起一个能识别的名字,比如 flowise-local,方便后面排查是哪个应用在用。

第二步是确认模型 ID。Flowise 的 ChatLocalAI 节点需要填 Model Name,这个值要和你实际要调的模型对应。你可以在模型对话页面先试一次请求,确认模型能正常返回,页面地址是 https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=models&utm_campaign=rewrite 。试的时候把 Base URL 填 https://taotoken.net/api ,Key 填刚创建的,模型选你要用的那个,发一条简单消息看是否有回复。

第三步是记下三个关键值,后面配置会反复用到:Base URL 是 https://taotoken.net/api ,API Key 是你在控制台创建的那串字符,Model ID 是你要调用的模型名称。这三个值就是 Flowise 接入模型的三件套,缺一不可。如果你后面要用 Claude Code 或者 Codex 这类编码工具,也是同样的三件套逻辑,Base URL 加 Key 加 Model ID。

这里有个容易忽略的点:Flowise 的某些节点对 Base URL 的格式有要求,有的需要带 /v1,有的不需要。TaoToken 的 API 地址是 https://taotoken.net/api ,在 Flowise 的 ChatLocalAI 节点里填这个地址即可,如果遇到 404 再尝试在末尾加 /v1。我实测下来,ChatLocalAI 节点填 https://taotoken.net/api 能正常返回,不需要额外加路径。

另外,如果你打算长期跑编码类或 Agent 类任务,可以了解一下 Coding Plan,地址是 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite 。它适合需要持续调用模型、跑自动化流程的场景,和 Flowise 里挂 MCP 工具做 Agent 的用法比较契合。不过这一步不是必须的,先用按量 Key 把流程跑通再说。

准备好这三个值之后,就可以进入 Flowise 的部署环节了。下面先讲 Docker 路径,再讲 PNPM 路径,你可以根据自己的环境选一条,也可以两条都试。

3. 可复制配置:Docker Compose 与 PNPM 启动 Flowise

这一节给你可以直接复制的配置。Docker 路径我用 docker-compose 来管理,比裸 docker run 更好维护;PNPM 路径给你完整的命令序列和环境变量文件内容。两条路都会把模型入口指向 TaoToken 的统一通道。

先看 Docker 路径。新建一个目录,比如 flowise-docker,在里面创建 docker-compose.yml,内容如下:

version: '3.8' services: flowise: image: flowiseai/flowise:latest container_name: flowise restart: unless-stopped ports: - "3000:3000" environment: - PORT=3000 - FLOWISE_USERNAME=admin - FLOWISE_PASSWORD=admin123 - DATABASE_PATH=/root/.flowise - APIKEY_PATH=/root/.flowise - SECRETKEY_PATH=/root/.flowise - LOG_PATH=/root/.flowise/logs - BLOB_STORAGE_PATH=/root/.flowise/storage volumes: - flowise_data:/root/.flowise volumes: flowise_data:

这个 compose 文件把 Flowise 的 3000 端口映射出来,数据卷挂到 flowise_data,容器重启后流程和配置不会丢。启动命令是:

docker compose up -d

启动后访问 http://localhost:3000 ,用 admin / admin123 登录。如果你本机 3000 端口被占用,把 ports 改成 "3001:3000",访问时用 3001。

再看 PNPM 路径。先确认 Node 版本,Flowise 对 Node 版本有要求,建议 18 或 20。命令如下:

node -v npm i -g pnpm git clone https://github.com/FlowiseAI/Flowise.git cd Flowise pnpm install pnpm build

构建完成后,复制环境变量文件:

cp packages/ui/.env.example packages/ui/.env cp packages/server/.env.example packages/server/.env

然后编辑 packages/ui/vite.config.js,把自动打开浏览器关掉,避免每次启动都弹窗:

server: { open: false, proxy, port: process.env.VITE_PORT ?? 8080, host: process.env.VITE_HOST }

启动生产模式用:

pnpm start

启动开发模式用:

pnpm dev

开发模式下 UI 和 server 会分别起端口,访问 http://localhost:3000 即可。如果你在远程服务器上跑,把 host 改成 0.0.0.0,然后用服务器 IP 访问。

两条路径跑起来之后,进入 Flowise 界面,添加 ChatLocalAI 节点,配置如下三件套:

配置项值
Base URLhttps://taotoken.net/api
API Key你在 TaoToken 控制台创建的 Key
Model Name你要调用的模型 ID

这里要注意,ChatLocalAI 节点的 Base URL 填 https://taotoken.net/api ,不要多加斜杠。API Key 直接粘贴,不要带空格。Model Name 填你在模型对话页面验证过的那个模型 ID。填完之后点节点上的测试按钮,如果能返回内容,说明模型通道通了。

如果你用的是 Cline MCP 或者 Claude Code 这类工具,配置逻辑是一样的三件套:Base URL 加 Key 加 Model ID。Claude Code 的接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,里面有详细的配置步骤。Codex 的 auth.json 配置也是同样的思路,把 Base URL 和 Key 填进去即可。

配置完成后,先别急着挂 MCP,先用一个简单的对话节点验证模型能通。确认模型通了,再进入 MCP 注册环节。

4. 验证请求:注册 MCP 服务并用一次对话确认工具被调用

模型通道通了之后,接下来把 MCP 服务注册进 Flowise,并用一次真实对话验证 MCP 工具是否被正确调用。这一步是整个流程里最容易出问题的地方,我会把每个动作拆开讲。

先准备一个 MCP 服务。这里以查询 GPU 使用情况为例,用 FastMCP 实现。在待查询的服务器上创建 Python 环境:

conda create --name mcp python=3.10 conda activate mcp pip install fastmcp

然后创建 nv_mcp_server.py:

from fastmcp import FastMCP import subprocess mcp = FastMCP(name="GPU Info MCP Server", description="使用 fastmcp 提供 GPU 信息查询工具") @mcp.tool() def gpu_info_184() -> str: """查询184服务器GPU信息或使用状态""" try: output = subprocess.check_output(["nvidia-smi"], stderr=subprocess.STDOUT).decode("utf-8") return output except subprocess.CalledProcessError as e: return f"错误: {e.output.decode('utf-8')}" except FileNotFoundError: return "nvidia-smi 未安装或不可用" if __name__ == "__main__": mcp.run(transport="streamable-http", host="0.0.0.0", port=3456)

运行这个服务:

python nv_mcp_server.py

服务会监听 3456 端口,提供 streamable-http 传输。确认服务起来后,在浏览器或 curl 访问 http://服务器IP:3456/mcp 看是否有响应。

接下来在 Flowise 里创建 Agent 工作流。添加 Tool Agent 节点,再添加 ChatLocalAI 节点作为模型,然后添加 CustomMCP 节点。CustomMCP 的配置里填 MCP 服务的地址,也就是 http://服务器IP:3456/mcp 。如果你在 Docker 里跑 Flowise,而 MCP 服务在宿主机上,地址要用 host.docker.internal 代替 localhost,比如 http://host.docker.internal:3456/mcp 。

配置好之后,点右上角的聊天按钮,在弹出的对话框里输入:

查询184服务器gpu的使用情况

如果一切正常,Agent 会调用 CustomMCP 节点,CustomMCP 再去请求 MCP 服务,MCP 服务执行 nvidia-smi 并把结果返回。你会在对话框里看到 GPU 的使用信息,包括显存占用、温度、进程等。

这里的关键验证点是:模型是否真的调用了 MCP 工具,而不是自己编了一个回答。判断方法是看返回内容里是否有 nvidia-smi 的真实输出格式,比如表格、显存数字、进程 PID 等。如果模型只是泛泛地说"GPU 使用率正常",那说明 MCP 工具没被调用,模型在自由发挥。

如果 MCP 工具被正确调用,你还可以通过 API Endpoint 把这条工作流分享出去,或者嵌入到网页里。Flowise 的 API Endpoint 在流程编辑页右上角可以找到,复制出来就能用 curl 或代码调用。

验证通过后,整个链路就打通了:Flowise 负责编排,TaoToken 负责模型调用,MCP 负责执行具体工具。后面你要加新的 MCP 工具,只需要在 MCP 服务里加一个 @mcp.tool() 函数,然后在 Flowise 的 CustomMCP 节点里刷新即可。

5. 常见报错排查:401、local proxy failed 与 reading choices

这一节对照真实报错给出处理办法。我在部署过程中遇到过几个典型错误,每个都花了不少时间定位,这里直接给你结论。

第一个是 401 Unauthorized。这个错误通常出现在 ChatLocalAI 节点测试时,说明 API Key 不对或者没传。检查三件事:Key 是否复制完整,有没有多余空格;Base URL 是否填的 https://taotoken.net/api ;Key 是否在 TaoToken 控制台里被禁用或删除。如果 Key 没问题,尝试在 Base URL 末尾加 /v1 再试。还有一种情况是 Flowise 容器里读不到环境变量,如果你把 Key 放在 .env 文件里,确认文件路径和变量名正确。

第二个是 local proxy failed。这个错误在 Docker 部署时比较常见,原因是 Flowise 容器内访问宿主机上的 MCP 服务或模型服务时,localhost 指向的是容器自己,不是宿主机。解决办法是把 localhost 换成 host.docker.internal。如果你在 Linux 上跑 Docker,可能还需要在 compose 文件里加 extra_hosts:

extra_hosts: - "host.docker.internal:host-gateway"

第三个是 reading choices 相关错误。这个错误通常出现在模型返回格式不符合预期时,比如模型返回了空内容或者非 JSON 格式。检查 Model Name 是否填对,有些模型 ID 大小写敏感。另外确认 TaoToken 的 API 地址没有多写路径,https://taotoken.net/api 就是完整地址。如果用的是流式输出,某些节点可能不兼容,尝试关掉流式再试。

第四个是 OAuth 相关错误。如果你在配置 Claude Code 或 Codex 时遇到 OAuth 报错,说明认证方式选错了。这类工具应该用 API Key 认证,不是 OAuth。Claude Code 的接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,里面有正确的配置方式。Codex 的 auth.json 里填 Base URL 和 Key,不要走 OAuth 流程。

第五个是 MCP 服务连不上。检查 MCP 服务是否在运行,端口是否开放,防火墙是否放行。用 curl 测试 MCP 地址:

curl http://服务器IP:3456/mcp

如果有响应,说明服务正常。如果 Flowise 在 Docker 里,确认用了 host.docker.internal。如果 MCP 服务在另一台机器上,确认网络互通。

第六个是 PNPM 启动时报 Node 版本不兼容。Flowise 对 Node 版本有要求,建议用 18 或 20。用 nvm 切换版本:

nvm install 20 nvm use 20

然后重新 pnpm install 和 pnpm build。

第七个是端口占用。3000 端口被占用时,Docker 路径改 ports 映射,PNPM 路径改 .env 里的 PORT 变量。改完重启即可。

排障的核心思路是分层定位:先确认模型通道通不通,再确认 MCP 服务通不通,最后确认 Flowise 到两者的网络通不通。每一层都用 curl 或节点测试按钮单独验证,不要一上来就怀疑整个链路。

6. 长期使用建议与接入入口

把 Flowise 跑起来只是第一步,后面你要考虑的是怎么稳定地用下去。我的经验是,模型入口统一走 TaoToken 之后,换模型、加节点、调参数都只改一处,维护成本低很多。MCP 服务建议单独部署,不要和 Flowise 混在一个容器里,这样重启 Flowise 不会影响 MCP 工具。

如果你要长期跑编码类或 Agent 类任务,可以看看 Coding Plan,地址是 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite 。它适合需要持续调用模型的场景,和 Flowise 里挂 MCP 做自动化的用法比较搭。

接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,里面有各种工具的配置示例。API Keys 管理在 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite ,建议给不同应用创建不同的 Key,方便排查问题。模型对话页面在 https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=models&utm_campaign=rewrite ,用来验证模型是否可用。

最后提醒一点:Flowise 的流程配置和数据都存在数据卷里,Docker 路径下是 flowise_data,PNPM 路径下是 ~/.flowise。定期备份这个目录,换机器时直接迁移即可。MCP 服务的代码也建议纳入版本管理,后面加工具时好追溯。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询