如何在Cline中集成Dify工作流
`inputSchema.type`| 输入类型是 `object`|| `inputSchema.properties.query` | 定义了一个字段叫 `query`,类型为 `string`,表示用户的问题 || `inputSchema.required`| 表示 `query` 是必须字段|"description": "用户问题",
任务目标:Cline调用Dify工作流,按照用户的要求生成代码,Cline作为前端展示,可以直接将代码在vscode窗口中展示并执行。
# MCP
模型上下文协议(Model Context Protocol,简称MCP) 是一种面向大语言模型及其应用的标准化交互协议。
- Cline(VSCode 插件)通过 MCP 协议调用后端能力(比如 Dify 提供的工作流)。
- MCP 守护进程接到 Cline 的请求后,转发给具体的后端服务(如 Dify)。
- 结果再通过 MCP 定义的统一格式(通常是流式 SSE)返回给前端。
# 本地部署
- 下载docker
- https://github.com/langgenius/dify 下载后解压到路径 `path to your dify`,在powershell中执行:
```Bash
cd "path to your dify"
cp .env.example .env
docker compose up -d
docker compose ps
```
在浏览器中访问`localhost`即可访问本地dify。
更详细的官方文档参见:[Docker Compose 部署 - Dify Docs](https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/docker-compose)
# Cline
一个AI编程助手VSCode插件,可以选用OpenRouter的API,搜索free调用免费模型。
# 集成
这里仅做Cline+Dify的集成示例,选用了一个非常简单的工作流。
1. 创建一个chatflow/workflow并发布
简单示例:包含一个必填的输入`query`

2. 下载Dify社区插件mcp-server

3. 点击API端点右方的“+”,添加一个mcp服务
- 端点名称:随意
- App:选择刚刚发布的chatflow/workflow
- 应用类型:chatflow选择chat,workflow选择workflow
- 应用输入schema
```json
{
"name": "mcp-demo",
"description": "a demo",
"inputSchema": {
"title": "mcp-demo",
"type": "object",
"properties": {
"query": {
"title": "query",
"description": "用户问题",
"type": "string"
}
},
"required": [
"query"
]
}
}
```
| 字段 | 含义 |
| ------------------------------ | ------------------------------------- |
| `name` | 插件名称 |
| `description` | 插件描述 |
| `inputSchema.title` | schema 的标题 |
| `inputSchema.type` | 输入类型是 `object` |
| `inputSchema.properties.query` | 定义了一个字段叫 `query`,类型为 `string`,表示用户的问题 |
| `inputSchema.required` | 表示 `query` 是必须字段 |
这里的properties写query是和1.中的chatflow内容对应,required同理。保存后可以看到一个服务正常的API端点。
4. 复制第一个GET的`/sse` 后缀
可以在浏览器中测试,看到以下内容说明服务正常。

5. 在cline中集成MCP server

点击`add server` ,自动保存了一个`json`文件:
```json
{
"mcpServers": {
"mcp-demo": {
"url": "http://localhost/e/a7ffsgpre5qed9gy/sse",
"disabled": false,
"autoApprove": []
}
}
}
```
一段时间后点击`installed` 可以看到:

说明添加mcp服务成功。
6. 测试
在Cline窗口中输入测试prompt:使用MCP服务写一段查询两个字符串的最小公共子串的python代码,并为我返回结果。执行过程中看到:

并且在Dify工作流日志中有:

调用MCP服务成功。
更多推荐
所有评论(0)