Cordys CRM 全局线索商机信息检索智能体!详细搭建教程 - 实践

目录

一、背景介绍

二、思路介绍

三、工作流展示

四、流程展示

五、详细操作步骤

六、演示效果

七、总结

八、详细视频地址


一、背景介绍

在 Cordys CRM 日常使用中,用户查询线索商机、客户跟进状态时往往需手动查询数据,筛选信息。今天带来的高级查询智能体,可以通过集成 AI 时间提取、代码片段解析、时间戳计算与 Cordys MCP 服务,实现直接提问AI即可获得答案的效果,显著提升 CRM 信息检索效率与操作便捷性。

二、思路介绍

1.明确核心需求:聚焦 CRM 线索 / 客户跟进状态查询场景,确定需支持自然语言时间解析、标准化时间戳转换、Cordys MCP 服务调用、多场景查询反馈四大核心目标;

2.时间处理链路搭建:创建高级编排应用后,通过 AI 对话节点提取用户查询中的时间描述并生成结构化 JSON,经判断器筛选有时间范围的请求,再用代码片段提取工具获取纯净 JSON 数据,最后通过自定义 Python 工具将时间描述转换为 MCP 所需的毫秒级时间戳;

3.MCP 调用与查询闭环:统一配置 AI 对话节点,选择适配模型与 Cordys MCP 服务,填写标准化系统 / 用户提示词,开启工具执行过程与返回内容输出,实现 “时间处理 - 服务调用 - 结果反馈” 的查询闭环;

4.多场景适配优化:针对指定日期、客户名、电话号码三类核心查询场景,完善节点参数配置与工具联动逻辑,确保演示效果覆盖主流使用需求,保障智能体实用性与稳定性。

三、工作流展示

四、流程展示

组件

设置

截图

基本信息

修改名称、描述及开场白

开始

AI对话

①重命名节点名称

②选择AI模型

③填写系统提示词和用户提示词

④关闭返回内容按钮

判断器配置if条件语句
代码片段提取工具

①配置输入参数

②关闭返回内容

自定义工具

①配置输入参数

②填写工具内容

③关闭返回内容

AI对话节点

①选择AI模型

②填写系统提示词和用户提示词

③配置Cordys MCP

④打开输出MCP/工具执行过程和返回内容两个按钮

五、详细操作步骤

①创建代码片段提取工具。我们搭建的智能体需要使用它从markdown格式的文本里提取json数据。在MaxKB工具页面,选择从工具商店创建,在工具商店菜单中的内容处理下面选择代码片段提取工具进行添加。

②配置Cordys MCP。

在MaxKB工具页面,选择创建MCP,填写名称和MCP服务配置。

配置示例:

{
    "cordys-crm-mcp-server": {
        "url": "http://:8082/sse",
        "transport": "sse",
        "headers": {
            "X-Access-Key": "ryXMgJzdrMeOwBVE",
            "X-Secret-Key": "a4b5c5a58c4e49f2b2b683ec6699f1dd"
        }
    }
}

X-Access-Key以及X-Secret-Key可以在Cordys个人信息的API Keys里创建获取

③创建高级编排应用,在基本信息中修改名称、描述以及开场白:

应用名称及描述:

高级查询智能体

开场白示例:

您好,我是 Crm 查询小助手,您可以向我查询线索、线索池、客户、商机、公海、联系人等信息。可以使用日期范围查找。
- 查询昨天华东地区的线索
- 查询星辰云科技这个客户是否有人在跟进
- 查询40000000140这个电话的线索是否有人在跟进

④添加AI对话节点,修改节点名称:提取时间阶段,选择AI模型,填写系统提示词,

系统提示词示例:

# 角色
你是一位专业且精准的时间描述提取专家,凭借扎实的专业知识和敏锐的语言洞察力,专注于从用户问题中准确无误地识别和提取各类时间范围信息。

## 技能
### 技能 1: 时间描述提取
1. 深入细致地分析用户输入的问题,运用先进的自然语言理解技术,精准识别其中包含的时间范围描述。
2. 熟练且准确地将识别到的时间描述转化为标准化的结构化数据,保证数据的规范性和一致性。
3. 若涉及到时间维度查询,将 has_time_range 设置为true;否则设置为false。
4. 全面支持提取多种时间类型,具体涵盖:

**基础时间维度**:
- `today` - 今天
- `yesterday` - 昨天  
- `tomorrow` - 明天
- `this_week` - 本周
- `last_week` - 上周
- `this_month` - 本月
- `last_month` - 上月
- `this_year` - 本年
- `last_year` - 去年

**相对时间维度**:
- `past_7_days` - 过去7天内
- `next_7_days` - 未来7天
- `past_30_days` - 过去30天内  
- `next_30_days` - 未来30天

**最近N维度**:
- `recent_days` - 最近N天
- `recent_weeks` - 最近N周
- `recent_months` - 最近N月
- `recent_years` - 最近N年

**自定义范围**:
- `custom_range` - 自定义时间范围


4. 输出必须严格遵循以下JSON格式:
```json
{
  "has_time_range": true/false,
  "time_type": "today|yesterday|tomorrow|this_week|last_week|this_month|last_month|this_year|last_year|past_7_days|next_7_days|past_30_days|next_30_days|recent_days|recent_weeks|recent_months|recent_years|custom_range",
  "value": 数字,
  "unit": "days|months|years|hours|none",
  "start_time": "YYYY-MM-DD",
  "end_time": "YYYY-MM-DD", 
  "description": "原始时间描述文本",
  "confidence": 0.0-1.0
}
```

5. 处理规则:

**类型映射**:
将“今天”准确映射为 today
将“最近3天”映射为 recent_days 并设置 value=3
将“2024-01-01到2024-01-15”映射为 custom_range 并设置 start_time/end_time

**自定义范围**:
当用户提供具体起止日期时,必须准确设置为custom_range
同时必须完整提供start_time和end_time

**数值提取**:
从“最近3天”准确提取 value=3, unit="days"
从“过去2周”准确提取 value=2, unit="weeks"


6. 示例:
**示例1**
用户输入:"查看最近7天的销售数据"
```json
{
  "has_time_range": true,
  "time_type": "recent_days",
  "value": 7,
  "unit": "days",
  "start_time": "",
  "end_time": "",
  "description": "最近7天",
  "confidence": 0.95
}
```
**示例2**
用户输入:"分析2024-01-01到2024-01-15的数据"
```json
{
  "has_time_range": true,
  "time_type": "custom_range",
  "value": 1,
  "unit": "none",
  "start_time": "2024-01-01",
  "end_time": "2024-01-15",
  "description": "2024-01-01到2024-01-15",
  "confidence": 0.98
}
```
**示例3**
用户输入:"今天的数据"
```json
{
  "has_time_range": true,
  "time_type": "today",
  "value": 1,
  "unit": "none",
  "start_time": "",
  "end_time": "",
  "description": "今天",
  "confidence": 0.99
}
```


## 限制
- 仅围绕用户问题中的时间描述展开深入分析和精准提取,绝不涉及其他无关内容。
- 输出内容必须严格按照规定的JSON格式进行组织,杜绝出现任何格式偏差。
- 确保对时间描述的识别和转换高度准确无误,全力保证数据的可靠性。
- 自定义范围必须完整提供start_time和end_time。
- time_type必须严格限定在代码支持的范围内。

示例这里可以看到,遇到带有时间信息的查询语句时,比如用户给出“查询昨天的线索”,AI节点会将has_time_range这个参数置为true,然后输出这一串AI模型从用户输入提取的json信息,就是将识别到的时间描述转化为标准化的结构化数据。一般情况下不需要修改提示词,因为time_type是后面要用到的python代码里定义的参数,大家修改的时候需要修改两个地方:这里的系统提示词里的参数,以及后面python代码里的参数,建议大家直接复制就好。

填写用户提示词,

用户提示词示例:

当前时间:
{{global.time}}

问题:
{{开始.question}}

给出当前的时间,以及用户问题,让AI能够处理“昨天,今天”之类的时间信息。

关闭返回内容按钮。

⑤在提取时间阶段节点后添加判断器节点,在if条件选择AI对话节点的AI回答内容包含false。

⑥在判断器节点的else条件分支后添加代码片段提取工具节点,输入参数input_str选择提取时间阶段节点的AI回答内容,split_str填写json,关闭返回内容。这样做是为了从AI回答内容的markdown格式文本中,提取所需要的json格式数据。

⑦在代码片段提取工具节点后添加自定义工具节点,修改节点名称:计算时间。添加输入参数:time_description和current_date_str,数据类型都选择string,来源选择引用参数,打开必填按钮;time_sescription选择代码片段提取工具的结果,current_date_str选择全局变量里的当前时间,然后在下面代码框添加一段python代码,用于根据AI提取的时间描述和指定的当前日期,来计算出对应的时间范围,并返回毫秒级时间戳。简单来说,就是将代码片段提取工具节点得到的json信息转换为mcp工具调用时需要用到的时间戳。

python代码示例:

import json
from datetime import datetime, timedelta
def calculate_custom_range(current_dt, value, unit):
    """
    根据数值和单位计算自定义时间范围
    Args:
        current_dt: 当前日期时间
        value: 数值
        unit: 单位 (days, weeks, months, years)
    Returns:
        tuple: (start_time, end_time)
    """
    if unit == "days":
        start_time = current_dt.replace(hour=0, minute=0, second=0, microsecond=0)
        end_time = (current_dt + timedelta(days=value - 1)).replace(hour=23, minute=59, second=59, microsecond=999999)
    elif unit == "weeks":
        start_time = current_dt.replace(hour=0, minute=0, second=0, microsecond=0)
        end_time = (current_dt + timedelta(weeks=value - 1)).replace(hour=23, minute=59, second=59, microsecond=999999)
    elif unit == "months":
        # 计算value个月后的日期
        year = current_dt.year
        month = current_dt.month + value
        while month > 12:
            month -= 12
            year += 1
        try:
            end_time = datetime(year, month, current_dt.day, 23, 59, 59, 999999)
        except ValueError:
            # 如果日期无效(如2月30日),则使用该月最后一天
            if month == 12:
                next_month = datetime(year + 1, 1, 1)
            else:
                next_month = datetime(year, month + 1, 1)
            end_time = next_month - timedelta(days=1)
            end_time = end_time.replace(hour=23, minute=59, second=59, microsecond=999999)
        start_time = current_dt.replace(hour=0, minute=0, second=0, microsecond=0)
    elif unit == "years":
        start_time = current_dt.replace(hour=0, minute=0, second=0, microsecond=0)
        end_time = current_dt.replace(year=current_dt.year + value, hour=23, minute=59, second=59, microsecond=999999)
    else:
        # 默认按天处理
        start_time = current_dt.replace(hour=0, minute=0, second=0, microsecond=0)
        end_time = (current_dt + timedelta(days=value - 1)).replace(hour=23, minute=59, second=59, microsecond=999999)
    return start_time, end_time
def calculate_months_ago(current_dt, months):
    """
    计算N个月前的日期
    Args:
        current_dt: 当前日期时间
        months: 月数
    Returns:
        datetime: N个月前的日期
    """
    year = current_dt.year
    month = current_dt.month - months
    # 处理跨年情况
    while month <= 0:
        month += 12
        year -= 1
    # 确保日期有效(比如2月30日的情况)
    day = current_dt.day
    max_day = get_month_days(year, month)
    if day > max_day:
        day = max_day
    return datetime(year, month, day, 0, 0, 0, 0)
def get_month_days(year, month):
    """
    获取指定年份月份的天数
    Args:
        year: 年份
        month: 月份
    Returns:
        int: 该月的天数
    """
    if month == 2:
        # 闰年判断
        if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
            return 29
        else:
            return 28
    elif month in [4, 6, 9, 11]:
        return 30
    else:
        return 31
def calculate_time_range_enhanced(time_description, current_date_str):
    """
    根据AI提取的时间描述计算时间范围
    Args:
        time_description: AI提取的时间描述JSON字符串
        current_date_str: 当前日期字符串,可能包含时间部分
    Returns:
        list: 包含start_time和end_time的时间戳列表
    """
    # 解析时间描述字符串为字典
    try:
        time_desc_dict = json.loads(time_description)
        print(f"解析到的时间描述: {time_desc_dict}")
    except json.JSONDecodeError:
        print(f"错误: 无法解析时间描述 '{time_description}'")
        # 如果解析失败,使用默认值
        time_desc_dict = {
            "has_time_range": True,
            "time_type": "today",
            "description": "今天",
            "confidence": 0.9
        }
    # 清理并解析当前日期字符串
    current_date_str = current_date_str.strip()
    # 尝试不同的日期时间格式
    try:
        # 首先尝试完整日期时间格式
        current_dt = datetime.strptime(current_date_str, "%Y-%m-%d %H:%M:%S")
    except ValueError:
        try:
            # 如果失败,尝试只有日期的格式
            current_dt = datetime.strptime(current_date_str, "%Y-%m-%d")
        except ValueError:
            try:
                # 尝试其他可能的日期格式
                current_dt = datetime.strptime(current_date_str, "%Y/%m/%d")
            except ValueError:
                # 如果所有格式都失败,使用当前时间
                current_dt = datetime.now()
                print(f"警告: 无法解析日期字符串 '{current_date_str}',使用当前时间: {current_dt}")
    # 确保我们只使用日期部分,忽略时间部分
    current_dt = current_dt.replace(hour=0, minute=0, second=0, microsecond=0)
    time_type = time_desc_dict.get("time_type", "today")
    value = time_desc_dict.get("value", 1)  # 默认值
    # 基础时间维度处理
    if time_type == "today":
        start_time = current_dt.replace(hour=0, minute=0, second=0, microsecond=0)
        end_time = current_dt.replace(hour=23, minute=59, second=59, microsecond=999999)
    elif time_type == "yesterday":
        yesterday = current_dt - timedelta(days=1)
        start_time = yesterday.replace(hour=0, minute=0, second=0, microsecond=0)
        end_time = yesterday.replace(hour=23, minute=59, second=59, microsecond=999999)
    elif time_type == "tomorrow":
        tomorrow = current_dt + timedelta(days=1)
        start_time = tomorrow.replace(hour=0, minute=0, second=0, microsecond=0)
        end_time = tomorrow.replace(hour=23, minute=59, second=59, microsecond=999999)
    elif time_type == "this_week":
        # 本周(周一到周日)
        start_time = current_dt - timedelta(days=current_dt.weekday())
        start_time = start_time.replace(hour=0, minute=0, second=0, microsecond=0)
        end_time = start_time + timedelta(days=6)
        end_time = end_time.replace(hour=23, minute=59, second=59, microsecond=999999)
    elif time_type == "last_week":
        # 上周
        start_time = current_dt - timedelta(days=current_dt.weekday() + 7)
        start_time = start_time.replace(hour=0, minute=0, second=0, microsecond=0)
        end_time = start_time + timedelta(days=6)
        end_time = end_time.replace(hour=23, minute=59, second=59, microsecond=999999)
    elif time_type == "this_month":
        start_time = current_dt.replace(day=1, hour=0, minute=0, second=0, microsecond=0)
        # 计算当月最后一天
        if current_dt.month == 12:
            next_month = current_dt.replace(year=current_dt.year + 1, month=1, day=1)
        else:
            next_month = current_dt.replace(month=current_dt.month + 1, day=1)
        last_day = next_month - timedelta(days=1)
        end_time = last_day.replace(hour=23, minute=59, second=59, microsecond=999999)
    elif time_type == "last_month":
        # 计算上个月
        if current_dt.month == 1:
            last_month = current_dt.replace(year=current_dt.year - 1, month=12, day=1)
        else:
            last_month = current_dt.replace(month=current_dt.month - 1, day=1)
        start_time = last_month.replace(hour=0, minute=0, second=0, microsecond=0)
        # 计算上个月最后一天
        end_time = current_dt.replace(day=1) - timedelta(days=1)
        end_time = end_time.replace(hour=23, minute=59, second=59, microsecond=999999)
    elif time_type == "this_year":
        start_time = current_dt.replace(month=1, day=1, hour=0, minute=0, second=0, microsecond=0)
        end_time = current_dt.replace(month=12, day=31, hour=23, minute=59, second=59, microsecond=999999)
    elif time_type == "last_year":
        start_time = current_dt.replace(year=current_dt.year - 1, month=1, day=1, hour=0, minute=0, second=0,
                                        microsecond=0)
        end_time = current_dt.replace(year=current_dt.year - 1, month=12, day=31, hour=23, minute=59, second=59,
                                      microsecond=999999)
    # 相对时间维度处理
    elif time_type == "past_7_days":
        start_time = (current_dt - timedelta(days=6)).replace(hour=0, minute=0, second=0, microsecond=0)
        end_time = current_dt.replace(hour=23, minute=59, second=59, microsecond=999999)
    elif time_type == "next_7_days":
        start_time = current_dt.replace(hour=0, minute=0, second=0, microsecond=0)
        end_time = (current_dt + timedelta(days=6)).replace(hour=23, minute=59, second=59, microsecond=999999)
    elif time_type == "past_30_days":
        start_time = (current_dt - timedelta(days=29)).replace(hour=0, minute=0, second=0, microsecond=0)
        end_time = current_dt.replace(hour=23, minute=59, second=59, microsecond=999999)
    elif time_type == "next_30_days":
        start_time = current_dt.replace(hour=0, minute=0, second=0, microsecond=0)
        end_time = (current_dt + timedelta(days=29)).replace(hour=23, minute=59, second=59, microsecond=999999)
    # 最近N天/月/周/年处理
    elif time_type == "recent_days":
        # 最近N天:包含今天在内的过去N天
        start_time = (current_dt - timedelta(days=value - 1)).replace(hour=0, minute=0, second=0, microsecond=0)
        end_time = current_dt.replace(hour=23, minute=59, second=59, microsecond=999999)
    elif time_type == "recent_weeks":
        # 最近N周:包含本周在内的过去N周
        start_time = (current_dt - timedelta(weeks=value - 1, days=current_dt.weekday()))
        start_time = start_time.replace(hour=0, minute=0, second=0, microsecond=0)
        end_time = current_dt.replace(hour=23, minute=59, second=59, microsecond=999999)
    elif time_type == "recent_months":
        # 最近N月:包含本月在内的过去N个月
        start_time = calculate_months_ago(current_dt, value - 1)
        end_time = current_dt.replace(hour=23, minute=59, second=59, microsecond=999999)
    elif time_type == "recent_years":
        # 最近N年:包含今年在内的过去N年
        start_time = current_dt.replace(year=current_dt.year - (value - 1), hour=0, minute=0, second=0, microsecond=0)
        end_time = current_dt.replace(hour=23, minute=59, second=59, microsecond=999999)
    # 自定义时间范围处理
    elif time_type == "custom_range":
        # 处理自定义范围
        custom_start = time_desc_dict.get("start_time")
        custom_end = time_desc_dict.get("end_time")
        value = time_desc_dict.get("value", 1)
        unit = time_desc_dict.get("unit", "days")
        if custom_start and custom_end:
            # 如果有具体的开始和结束时间,解析它们
            try:
                start_time = datetime.strptime(custom_start, "%Y-%m-%d").replace(hour=0, minute=0, second=0,
                                                                                 microsecond=0)
                end_time = datetime.strptime(custom_end, "%Y-%m-%d").replace(hour=23, minute=59, second=59,
                                                                             microsecond=999999)
            except ValueError:
                # 如果解析失败,根据value和unit计算
                start_time, end_time = calculate_custom_range(current_dt, value, unit)
        else:
            # 根据value和unit计算自定义范围
            start_time, end_time = calculate_custom_range(current_dt, value, unit)
    else:
        # 默认返回最近30天
        start_time = (current_dt - timedelta(days=29)).replace(hour=0, minute=0, second=0, microsecond=0)
        end_time = current_dt.replace(hour=23, minute=59, second=59, microsecond=999999)
    # 转换为毫秒级时间戳
    start_timestamp = int(start_time.timestamp() * 1000)
    end_timestamp = int(end_time.timestamp() * 1000)
    print(f"计算的时间范围: {start_time} 到 {end_time}")
    print(f"对应时间戳: [{start_timestamp}, {end_timestamp}]")
    return [start_timestamp, end_timestamp]

关闭返回内容。

⑧在if条件后面和计算时间工具后面连接同一个AI对话节点,选择AI模型,填写系统提示词,在这里我们提示AI调用各种mcp服务的工具,以及输出的格式,这里是对电话号码进行了脱敏处理,大家在使用时可以将技能的第13点删掉。

系统提示词示例:

# 角色
你是一位专业且极为高效的信息查询助手,具备精准无比的判断能力,针对不同的查询对象,能恰如其分地调用对应的专业工具开展信息查询工作,为用户提供详实、精确的相关信息。

## 技能
### 技能 1: 信息查询
1. 当用户提出查询请求时,迅速且精准地判断查询对象。
    - 若查询客户相关信息,调用客户查询工具:account_search。
    - 若查询公海相关信息,调用公海查询工具:pool_account_search。
    - 若查询线索相关信息,调用线索查询工具:lead_search。
    - 若查询线索池相关信息,调用线索池查询工具:pool_lead_search。
    - 若查询商机相关信息,调用商机查询工具:opportunity_search。
    - 若查询联系人相关信息,调用联系人查询工具:contact_search。

2. 熟练且灵活运用相应工具获取信息,精心且细致地将查询到的信息进行全面整理,以清晰直观、一目了然的方式反馈给用户。反馈时尽量采用通俗易懂的语言解释信息含义。

3. 调用工具时 pageSize 参数默认为 100。查询过程中实时、及时反馈查询进度,若出现异常状况,迅速向用户反馈具体情况,并说明可能的原因及解决建议。

5. 返回的时间字段信息严格按照时间戳毫秒格式化成年-月-日的规范格式。若用户对时间格式有特殊要求,尽量满足用户需求。

6. 结果统一用易于阅读和理解的表格形式进行展示,为表格添加适当的注释或说明,确保数据呈现具备高度的直观性和易读性。

7. 如果用户问题当中有产品相关描述,比如 js、mk、jms、ms、de 等信息(不区分大小写),从以下值里面精准筛选:
   [MeterSphere 企业版、JumpServer 企业版、MaxKB 专业版、MaxKB 企业版、DataEase 企业版、DataEase 专业版、DataEase 嵌入式版、Cordys CRM 企业版、SQLBot 专业版、1Panel 专业版、原厂专业服务 (人天服务)、KubeOperator 容器平台、第三方产品 (Gitea)、第三方产品 (TAPD)、第三方产品 (其他)、高校合作计划、MeterSphere 企业版、JumpServer 社区版、第三方产品 (公有云服务)、CloudExplorer 云管平台]
   筛选时对每个产品名称进行详细解释,方便用户理解。

8. 如果查询结果 "total": 0,明确输出返回"无匹配数据",并建议用户检查查询条件是否准确。

9. 如果涉及到调用多个工具,依次有序轮询调用准确的工具查询,然后全面汇总结果并整理成规范表格输出。在汇总过程中,对重复数据进行合理处理,避免信息冗余。

10. 在反馈信息之前,你需要先把调用工具的所有详细描述以及枚举值和入参 JSON 清晰地打印出来,并对每个工具进行简要的功能说明。

11. 如果有时间范围的查询,请使用 [计算的时间] 拼接到参数当中。

12. 最后可以简单总结一下查询到的数据。

13. 其中如果有手机号码信息,则展示脱敏后展示,如:186****2620


## 限制:
- 仅围绕与用户查询对象紧密相关的信息进行回答,坚决不回应任何无关话题。若用户询问无关内容,友好提示用户当前 Bot 仅专注于信息查询相关内容。
- 输出内容必须完全基于相应工具查询到的信息,严禁随意编造信息。若查询工具出现数据缺失或不完整情况,如实告知用户并说明可能影响。


## 回复示例

### 调用工具描述及枚举值和入参 JSON
[此处详细列出调用工具的所有描述以及枚举值和入参 JSON,并对每个工具进行简要功能说明]

**有查询结果的情况**
<example>
## 关键词: [这里清晰呈现提取所有的关键词]
### 线索
[展示表头为:公司、线索所有人、部门、产品类型、手机、最新跟新日期、创建时间]
[这里详细呈现查询出来所有的线索信息,并对部分关键信息进行简要解释]
### 线索池
[展示表头为:公司、产品类型、线索池名字、手机、最新跟新日期]
[这里详细呈现查询出来所有的线索池信息,并对部分关键信息进行简要解释]
### 客户
[展示表头为:客户名、客户所有人、部门、创建时间]
[这里详细呈现查询出来所有的客户信息,并对部分关键信息进行简要解释]
### 公海
[展示表头为:客户名、公海名称、最新跟新日期]
[这里详细呈现查询出来所有的公海信息,并对部分关键信息进行简要解释]
### 商机
[展示表头为:商机名、客户名、商机所有人、部门、产品类型、商机阶段、最新跟新日期、创建时间]
[这里详细呈现查询出来所有的商机信息,并对部分关键信息进行简要解释]
### 联系人
[展示表头为:客户名、姓名、手机、负责人、部门、创建时间]
[这里详细呈现查询出来所有的联系人信息,并对部分关键信息进行简要解释]
</example>

**无结果的情况**
<example>
无查询结果。建议你检查查询条件是否准确,以便获取到相关数据。
</example>

## 示例结束

填写用户提示词,这里我们给出了用户的问题,当前的时间以及计算出来的时间戳,用于Cordys MCP调用工具进行查询。

用户提示词示例:

## 问题:
{{开始.question}}


## 当前时间:
{{global.time}}


## 计算的时间
{{计算时间.result}}

最后选择我们创建的cordys mcp,打开输出 mcp 工具执行过程以及返回内容两个按钮。

六、演示效果

1.通过指定日期来查询线索

2.通过客户名查询客户是否有人在跟进

3.通过电话号码查询线索是否有人在跟进

七、总结

Cordys CRM 全局线索商机信息检索智能体,基于 MaxKB 平台搭建,核心实现了 “自然语言时间解析 - 标准化时间戳计算 - Cordys MCP 服务调用 - 多场景查询反馈” 的全流程自动化。智能体不仅支持多样化查询场景,还简化了操作门槛,无需手动配置时间参数与 MCP 调用细节,即可快速获取准确的线索商机与客户跟进信息,为 CRM 用户节省大量操作时间,提升工作效率与数据查询准确性。

八、详细视频地址

【Cordys CRM 全局线索商机信息检索智能体!详细搭建教程⚡】 https://www.bilibili.com/video/BV1Bq1ZBGEoS/?share_source=copy_web&vd_source=34908678c6a81884e5cbfc9d1b5226c3

posted on 2025-12-08 12:09  ljbguanli  阅读(45)  评论(0)    收藏  举报