news 2026/9/18 20:50:20

Dify 工作流发布为 MCP 工具,DeepSeek 的 Base URL 填 TaoToken

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Dify 工作流发布为 MCP 工具,DeepSeek 的 Base URL 填 TaoToken

把 Dify 中已经跑通的翻译工作流发布成 translate_tool,再通过 MCP Server 插件暴露成http://192.168.1.100/mcp/sse,这条链路最容易出问题的位置通常不是工作流节点本身,而是 Dify 调用 DeepSeek 时的模型通道配置。本文只处理这个接入槽:在 Dify 的模型供应商/OpenAI-Compatible 里,把 Base URL 指向 TaoToken,把 API Key 换成在 TaoToken 官网创建的新 Key。你可以先打开 TaoToken 官网 创建 Key;后续 Dify 发布tool_12345、安装 MCP Server 插件、填写插件 JSON、修改.env里的EXPOSE_PLUGIN_DEBUGGING_HOSTENDPOINT_URL_TEMPLATE仍按原 Dify+MCP 流程操作。TaoToken 在这里只负责给 Dify 中的 DeepSeek 模型调用提供 Key 和 Base URL,不替代 MCP Server 插件,也不改变工作流发布工具的逻辑。配通后,外部客户端请求http://192.168.1.100/mcp/ssetranslate_tool能返回“你好,世界!”,就说明 Dify+DeepSeek+MCP 链路已经打通。

一、原问题与场景:Dify 工作流发布为 MCP 工具,DeepSeek 通道需要单独配置

很多人在 Dify 里把翻译工作流调通后,会卡在“如何让外部客户端复用”这一步。Dify 本身可以把工作流发布成工具,比如发布一个名为translate_tool的翻译工具,系统会生成类似tool_12345的工具 ID。之后再到 Dify 插件市场安装 MCP Server 插件,把tool_12345暴露成 MCP 服务,外部客户端就可以通过http://192.168.1.100/mcp/sse这样的地址调用。

问题在于,Dify 工作流内部通常还会调用大模型节点。如果工作流里的 DeepSeek 节点仍然使用旧的模型供应商配置,那么即使 MCP Server 插件配置正确,外部请求也可能在 Dify 执行工作流时失败。常见表现包括 Dify 工作流调试时报 401、模型不存在、连接超时,或者 MCP 接口返回 200 但内容为空。这个时候不要先怀疑 MCP 插件,而是先确认 Dify 是否能正常调用 DeepSeek。

本文的处理方式很明确:MCP Server 插件负责把 Dify 工具暴露成 MCP 服务;TaoToken 只负责 Dify 调用 DeepSeek 时的模型 API 通道。两者职责不同。你需要做的是在 Dify 的 OpenAI-Compatible 模型供应商里,把 Base URL 改成https://taotoken.net/api,API Key 填刚创建的 TaoToken Key。这样 Dify 里的 DeepSeek 节点才走 TaoToken 通道,后续发布translate_tool、生成tool_12345、配置 MCP Server 插件才有意义。

二、TaoToken 前置:创建 Key,并在 Dify OpenAI-Compatible 填 Base URL

先到 TaoToken 官网 注册或登录,进入控制台后找到 API Keys 页面,创建一个新的 Key。创建后复制出来,本文示例统一写成YOUR_API_KEY。如果你还没有创建 Key,可以直接打开 API Keys 页面处理。

接下来进入 Dify 控制台。不同版本的 Dify 菜单名称可能略有差异,通常路径是“设置”里的“模型供应商”,找到 OpenAI-Compatible 或 OpenAI-API-compatible。新建一个供应商配置,建议命名为TaoToken-DeepSeek,方便和旧配置区分。关键字段如下:

  • 供应商名称:TaoToken-DeepSeek
  • API Base / Base URL:https://taotoken.net/api
  • API Key:YOUR_API_KEY
  • 模型类型:LLM
  • 模型名称:填写你在 TaoToken 控制台或文档里看到的 DeepSeek 模型 ID,例如deepseek-chat,但要以实际可见模型为准
  • 上下文长度、最大 token:按你的工作流需求填写,不要随意填超大值

这里最容易错的是 Base URL。按本篇场景,Dify 的 OpenAI-Compatible 配置里填https://taotoken.net/api,不要额外加 UTM 参数,也不要随手写成其他路径。API Key 就填刚创建的 Key。保存后,Dify 通常会提供测试按钮,先测试模型通道是否可用。测试通过后,回到你的翻译工作流,把 LLM 节点绑定到这个新建的模型供应商。注意,TaoToken 只提供模型调用所需的 Key 和 Base URL,MCP Server 插件仍然要在 Dify 里单独安装和配置。

三、可复制配置:translate_tool、MCP Server 插件 JSON 与 .env 修改

模型通道配好后,再处理工作流发布和 MCP Server 插件。第一步是在 Dify 应用管理里找到已经搭好的翻译工作流,选择发布为工具。工具名称填translate_tool,描述写清楚用途,例如“支持中英互译,支持文本输入”。输入参数按你的工作流定义,常见的是text必填,source_langtarget_lang可选,如果支持文件上传还可以加file。发布完成后,记录系统生成的工具 ID,例如tool_12345

第二步,在 Dify 插件市场搜索 MCP Server 插件并安装。安装后进入插件配置页面,填写类似下面的 JSON。注意server_name可以自定义,url里的 IP、端口、工具 ID 都要换成你的实际值:

{ "dify_translate": { "url": "http://192.168.1.100:5001/mcp/tool_12345", "headers": { "Authorization": "Bearer YOUR_DIFY_TOOL_TOKEN" }, "timeout": 60, "sse_read_timeout": 300 } }

如果你要暴露多个 Dify 工具,可以在 JSON 里增加多个键,每个键对应一个工具地址。headers是否必填取决于你的 Dify 工具认证方式;如果工具不需要额外认证,可以省略或保留为空。timeout是普通请求超时,sse_read_timeout是流式读取超时,翻译类工作流如果处理文本较长,可以适当调大。

第三步,修改 Dify 的.env文件。原流程中需要把EXPOSE_PLUGIN_DEBUGGING_HOSTENDPOINT_URL_TEMPLATE里的localhost替换成外部客户端可以访问的服务器 IP。示例:

EXPOSE_PLUGIN_DEBUGGING_HOST=192.168.1.100 ENDPOINT_URL_TEMPLATE=http://192.168.1.100:5001

如果你的原值包含路径或端口,只替换localhost部分,其他结构保留。修改完成后,重启 Dify 相关服务或插件容器,例如使用docker compose restart或重启对应容器。只改.env不重启,配置通常不会生效。这里再次强调,.env修改的是 MCP Server 插件暴露服务的访问地址,和 TaoToken 的 Base URL 不是同一件事。TaoToken 只负责 Dify 里的 DeepSeek 模型调用。

四、验证请求与成功结果:用 Python 请求 http://192.168.1.100/mcp/sse

MCP Server 插件配置完成并重启后,插件会生成一个 MCP 服务地址,例如http://192.168.1.100/mcp/sse。你可以先用 Python 请求验证translate_tool是否可用。下面这段代码可以直接照着改:

import json import requests mcp_endpoint = "http://192.168.1.100/mcp/sse" payload = { "tool_name": "translate_tool", "input": { "source_lang": "en", "target_lang": "zh", "text": "Hello, world!" } } r = requests.post( mcp_endpoint, headers={"Content-Type": "application/json"}, data=json.dumps(payload), timeout=60 ) print("status:", r.status_code) print("body:", r.text)

如果链路正常,你期望看到类似下面的返回:

{"result": "你好,世界!"}

只要返回里包含result,并且翻译结果是“你好,世界!”,就说明几个关键点都通过了:Dify 里的 DeepSeek 模型通道已经走 TaoToken,工作流能正常执行,translate_tool发布成功,MCP Server 插件已经正确暴露服务,.env里的外部访问地址也已生效。如果状态码是 200 但内容为空,优先检查 SSE 读取超时和反向代理配置;如果返回 401,检查 TaoToken API Key 或 Dify 工具认证头;如果返回 404,检查tool_12345和 MCP 插件 JSON 里的 URL 是否一致;如果返回 500,去看 Dify 和 MCP 插件日志。

五、本篇常见错排查:401、404、SSE 超时与 .env 未生效

第一个高频错误是 Dify 模型供应商 Base URL 填错。OpenAI-Compatible 里应填https://taotoken.net/api,不要随手加/v1/chat/completions,除非 TaoToken 接入文档明确要求。末尾多余的斜杠也建议去掉。填错后,Dify 测试模型时可能报 404 或连接失败。

第二个错误是 API Key 无效。复制 Key 时可能带上空格,或者创建后没有启用,也可能在 Dify 保存供应商后没有重新选择模型。TaoToken 侧的 Key 错误通常表现为 401 或 invalid api key。此时回到 API Keys 重新创建并替换。

第三个错误是模型名称不匹配。Dify 模型供应商里填写的模型 ID 必须和 TaoToken 控制台或文档里可见的 DeepSeek 模型 ID 一致,否则 Dify 工作流执行时会报模型不存在。不要凭记忆写模型名。

第四个错误是 MCP Server 插件 JSON 写错。url里的tool_12345必须和 Dify 发布工具后生成的 ID 完全一致;协议、IP、端口、路径都要核对。headers如果填了认证头,也要确认 token 没有过期或写错。JSON 本身不能有多余逗号,缩进错误也可能导致插件保存失败。

第五个错误是.env修改后没有重启。EXPOSE_PLUGIN_DEBUGGING_HOST如果仍是localhost,外部客户端访问192.168.1.100时会连不上;ENDPOINT_URL_TEMPLATE如果没替换,插件生成的服务地址可能仍然指向本机。修改后要重启 Dify 和插件容器。

第六个错误是网络和代理层。服务器的防火墙、安全组、Docker 端口映射要放行 MCP 服务端口。如果前面有 Nginx,SSE 长连接需要关闭缓冲并延长读取超时,例如设置proxy_buffering offproxy_read_timeout 300s。否则请求可能很快断开。

第七个错误是sse_read_timeout太短。翻译工作流如果处理长文本,MCP 插件读取 SSE 流的时间可能超过默认值,导致客户端只拿到半截响应或空响应。可以把插件 JSON 里的sse_read_timeout调大。

第八个错误是请求格式不对。Python 示例里使用 POST,Content-Typeapplication/json,body 包含tool_nameinput。如果客户端发成 GET,或者 body 结构不符合插件要求,也会失败。排查时重点看/var/log/dify/mcp.log和 Dify 容器日志。

第九个错误是工作流节点仍绑定旧模型供应商。即使你在模型供应商里新建了 TaoToken-DeepSeek,如果工作流里的 LLM 节点没有切换过去,它仍然可能走旧通道。打开工作流,逐个检查 DeepSeek 节点绑定关系。

第十个错误是把 TaoToken 当成 MCP Server。TaoToken 只提供 Dify 调用 DeepSeek 的 API Key 和 Base URL,不负责把工作流暴露成 MCP 服务。MCP Server 插件、tool_12345.env里的暴露地址,仍然属于 Dify 插件层配置。

六、语义一致 CTA:Dify + DeepSeek + MCP 链路的接入入口

如果你正在配 Dify 的 OpenAI-Compatible,准备把 DeepSeek 的 Base URL 改成 TaoToken,建议先创建 Key,再按接入文档核对 Base URL、模型 ID 和调用方式。需要创建或替换 Key,可以打开 TaoToken API Keys;需要确认https://taotoken.net/api的填写位置和模型列表,可以查看 TaoToken 接入文档。把 Dify 的模型通道和 MCP Server 插件分开处理,先在 Dify 里确认 DeepSeek 节点能正常返回,再发布translate_tool、配置 MCP 插件 JSON、修改.env,最后用 Python 请求http://192.168.1.100/mcp/sse验证translate_tool是否返回“你好,世界!”。这样排错路径最清晰,也最容易定位是模型通道问题还是 MCP 暴露问题。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/18 20:48:51

光学庇病检测:从经验判断到三维应力反演的产线级实现

简介:本资源是一份面向光学制造工程师、质检人员及高校光电专业师生的实用技术资料,系统解析美国军用标准MIL-PRF-13830B中关于光学零件表面缺陷(即‘庇病’)的判定逻辑与实操方法。内容涵盖划痕与麻点的明确定义、等级标号&#…

作者头像 李华
网站建设 2026/9/18 20:48:28

机械原理课程设计:石球自动分拣机的凸轮、槽轮与传动链设计

简介:这份文档是一份完整的机械原理课程设计说明书,面向机械设计制造及其自动化等专业的本科生与课程设计指导教师,围绕健身球自动检验分类机的设计展开。包体为单个 doc 文档,压缩后约 357KB,章节涵盖前言、设计题目与…

作者头像 李华
网站建设 2026/9/18 20:47:46

Cloudflare Workers 兼容性标志解析:启用 `node:repl` 模块 stub

Cloudflare Workers 兼容性标志解析:启用 node:repl 模块 stub 【免费下载链接】cloudflare-docs Cloudflare’s documentation 项目地址: https://gitcode.com/GitHub_Trending/cl/cloudflare-docs enable_nodejs_repl_module 是 Cloudflare Workers 运行时…

作者头像 李华
网站建设 2026/9/18 20:47:33

模具厂管理信息化落地:模具号、BOM、报工与成本交期

简介:这份PPT围绕模具制造行业的管理信息化建设展开,面向模具、注塑、五金、压铸类企业的管理者、信息化负责人及ERP实施人员,也适合希望了解制造业信息系统选型与落地思路的学习者。内容以i-M3模具企业管理系统为主线,梳理了管理…

作者头像 李华
网站建设 2026/9/18 20:47:12

4G云广播系统开发实战:APP控制端与主板量产全复盘

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华