资讯动态

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

发布时间:2026/9/18 20:50:23 来源:尧图企业网站定制
把 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_HOST和ENDPOINT_URL_TEMPLATE仍按原 DifyMCP 流程操作。TaoToken 在这里只负责给 Dify 中的 DeepSeek 模型调用提供 Key 和 Base URL不替代 MCP Server 插件也不改变工作流发布工具的逻辑。配通后外部客户端请求http://192.168.1.100/mcp/ssetranslate_tool能返回“你好世界”就说明 DifyDeepSeekMCP 链路已经打通。一、原问题与场景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/apiAPI 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-DeepSeekAPI Base / Base URLhttps://taotoken.net/apiAPI KeyYOUR_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 URLMCP Server 插件仍然要在 Dify 里单独安装和配置。三、可复制配置translate_tool、MCP Server 插件 JSON 与 .env 修改模型通道配好后再处理工作流发布和 MCP Server 插件。第一步是在 Dify 应用管理里找到已经搭好的翻译工作流选择发布为工具。工具名称填translate_tool描述写清楚用途例如“支持中英互译支持文本输入”。输入参数按你的工作流定义常见的是text必填source_lang、target_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_HOST和ENDPOINT_URL_TEMPLATE里的localhost替换成外部客户端可以访问的服务器 IP。示例EXPOSE_PLUGIN_DEBUGGING_HOST192.168.1.100 ENDPOINT_URL_TEMPLATEhttp://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/sseMCP 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}, datajson.dumps(payload), timeout60 ) 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 服务端口。如果前面有 NginxSSE 长连接需要关闭缓冲并延长读取超时例如设置proxy_buffering off、proxy_read_timeout 300s。否则请求可能很快断开。第七个错误是sse_read_timeout太短。翻译工作流如果处理长文本MCP 插件读取 SSE 流的时间可能超过默认值导致客户端只拿到半截响应或空响应。可以把插件 JSON 里的sse_read_timeout调大。第八个错误是请求格式不对。Python 示例里使用 POSTContent-Type为application/jsonbody 包含tool_name和input。如果客户端发成 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 插件层配置。六、语义一致 CTADify 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 暴露问题。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价