فهرست منبع

workflow_visualization update

liuzhiheng 1 ماه پیش
والد
کامیت
71361a77e8

+ 39 - 2
knowledge_v2/visualization/workflow_visualization.py

@@ -149,6 +149,19 @@ def parse_workflow_data(data):
                         'sources_count': multi_search_merge.get('sources_count', 0),
                         'valid_sources_count': multi_search_merge.get('valid_sources_count', 0)
                     })
+                
+                # 步骤5: 发现新工具
+                if 'extra_tools' in knowledge_search:
+                    extra_tools = knowledge_search['extra_tools']
+                    match_tool_response = extra_tools.get('match_tool_response', {})
+                    selected_tools = match_tool_response.get('selected_tools', [])
+                    workflow['steps'].append({
+                        'step': 'extra_tools',
+                        'name': '发现新工具',
+                        'prompt': extra_tools.get('match_tool_prompt', ''),
+                        'selected_tools': selected_tools,
+                        'analysis_summary': match_tool_response.get('analysis_summary', '')
+                    })
     
     # 提取输出信息
     if 'output' in data:
@@ -692,8 +705,32 @@ def generate_html(workflows):
                     html += f'                            <div class="step-detail-content">{escape_html(response_str)}</div>\n'
                     html += '                        </div>\n'
             
-            # Prompt放在最后,默认隐藏
-            if step.get('prompt'):
+            elif step['step'] == 'extra_tools':
+                selected_tools = step.get('selected_tools', [])
+                if selected_tools:
+                    html += '                        <div class="step-detail">\n'
+                    html += '                            <span class="step-detail-label">发现的新工具:</span>\n'
+                    for idx, tool in enumerate(selected_tools, 1):
+                        tool_name = tool.get('tool_name', '')
+                        tool_function = tool.get('function', '')
+                        html += '                            <div style="margin-bottom: 15px; padding: 12px; background: #fff3cd; border-radius: 6px; border-left: 3px solid #ffc107;">\n'
+                        html += f'                                <div style="font-weight: 600; color: #856404; margin-bottom: 6px;">工具 {idx}: {escape_html(tool_name)}</div>\n'
+                        html += f'                                <div style="color: #856404; line-height: 1.6;">{escape_html(tool_function)}</div>\n'
+                        html += '                            </div>\n'
+                    html += '                        </div>\n'
+                else:
+                    html += '                        <div class="step-detail">\n'
+                    html += '                            <span class="step-detail-label">发现结果:</span>\n'
+                    html += '                            <div class="step-detail-content" style="color: #6c757d;">未发现合适的新工具</div>\n'
+                    html += '                        </div>\n'
+                if step.get('analysis_summary'):
+                    html += '                        <div class="step-detail">\n'
+                    html += '                            <span class="step-detail-label">分析摘要:</span>\n'
+                    html += f'                            <div class="step-detail-content">{escape_html(step["analysis_summary"])}</div>\n'
+                    html += '                        </div>\n'
+            
+            # Prompt放在最后,默认隐藏(generate_query 步骤不显示 prompt)
+            if step.get('prompt') and step['step'] != 'generate_query':
                 html += f'                        <button class="prompt-toggle-btn" onclick="togglePrompt(\'{prompt_id}\')">显示 Prompt</button>\n'
                 html += f'                        <div class="prompt-content" id="{prompt_id}">{escape_html(step["prompt"])}</div>\n'
             

+ 1378 - 0
knowledge_v2/visualization/workflow_visualization_20251205_151800.html

@@ -0,0 +1,1378 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>知识获取工作流可视化</title>
+    <style>
+        * {
+            margin: 0;
+            padding: 0;
+            box-sizing: border-box;
+        }
+        
+        body {
+            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
+            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+            color: #333;
+            line-height: 1.6;
+            min-height: 100vh;
+        }
+        
+        .container {
+            max-width: 1400px;
+            margin: 0 auto;
+            padding: 30px 20px;
+        }
+        
+        h1 {
+            text-align: center;
+            color: white;
+            margin-bottom: 40px;
+            font-size: 32px;
+            font-weight: 600;
+            text-shadow: 0 2px 10px rgba(0,0,0,0.2);
+            letter-spacing: 1px;
+        }
+        
+        .tabs {
+            display: flex;
+            background: white;
+            border-radius: 12px 12px 0 0;
+            box-shadow: 0 4px 20px rgba(0,0,0,0.15);
+            overflow-x: auto;
+            padding: 5px;
+        }
+        
+        .tab {
+            padding: 16px 28px;
+            cursor: pointer;
+            border: none;
+            background: transparent;
+            color: #666;
+            font-size: 14px;
+            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+            white-space: nowrap;
+            border-radius: 8px;
+            margin: 0 4px;
+            position: relative;
+            font-weight: 500;
+        }
+        
+        .tab:hover {
+            background: #f0f0f0;
+            color: #333;
+        }
+        
+        .tab.active {
+            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+            color: white;
+            box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
+        }
+        
+        .tab-content {
+            display: none;
+            background: white;
+            padding: 40px;
+            border-radius: 0 0 12px 12px;
+            box-shadow: 0 4px 20px rgba(0,0,0,0.15);
+            margin-bottom: 20px;
+            animation: fadeIn 0.3s ease-in;
+        }
+        
+        @keyframes fadeIn {
+            from { opacity: 0; transform: translateY(10px); }
+            to { opacity: 1; transform: translateY(0); }
+        }
+        
+        .tab-content.active {
+            display: block;
+        }
+        
+        .input-section {
+            background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
+            padding: 28px;
+            border-radius: 12px;
+            margin-bottom: 35px;
+            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
+            border: 1px solid rgba(255,255,255,0.5);
+        }
+        
+        .input-section h3 {
+            color: #2c3e50;
+            margin-bottom: 20px;
+            font-size: 20px;
+            font-weight: 600;
+            display: flex;
+            align-items: center;
+            gap: 10px;
+        }
+        
+        .input-section h3::before {
+            content: '📋';
+            font-size: 24px;
+        }
+        
+        .input-item {
+            margin-bottom: 16px;
+            padding: 12px;
+            background: rgba(255,255,255,0.7);
+            border-radius: 8px;
+            transition: all 0.3s;
+        }
+        
+        .input-item:hover {
+            background: rgba(255,255,255,0.9);
+            transform: translateX(5px);
+        }
+        
+        .input-item strong {
+            color: #495057;
+            display: inline-block;
+            width: 110px;
+            font-weight: 600;
+        }
+        
+        .input-item .placeholder {
+            color: #999;
+            font-style: italic;
+        }
+        
+        .workflow {
+            position: relative;
+        }
+        
+        .workflow-step {
+            background: white;
+            border: 2px solid #e0e0e0;
+            border-radius: 12px;
+            margin-bottom: 25px;
+            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+            overflow: hidden;
+            box-shadow: 0 2px 8px rgba(0,0,0,0.08);
+        }
+        
+        .workflow-step.active {
+            border-color: #667eea;
+            box-shadow: 0 8px 24px rgba(102, 126, 234, 0.25);
+            transform: translateY(-2px);
+        }
+        
+        .step-header {
+            padding: 20px 24px;
+            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
+            cursor: pointer;
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            user-select: none;
+            transition: all 0.3s;
+        }
+        
+        .step-header:hover {
+            background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
+        }
+        
+        .workflow-step.active .step-header {
+            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+            color: white;
+        }
+        
+        .workflow-step.active .step-name {
+            color: white;
+        }
+        
+        .workflow-step.active .step-toggle {
+            color: white;
+        }
+        
+        .step-title {
+            display: flex;
+            align-items: center;
+            gap: 15px;
+        }
+        
+        .step-number {
+            display: inline-flex;
+            align-items: center;
+            justify-content: center;
+            width: 36px;
+            height: 36px;
+            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+            color: white;
+            border-radius: 50%;
+            font-size: 16px;
+            font-weight: bold;
+            box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
+        }
+        
+        .workflow-step.active .step-number {
+            background: white;
+            color: #667eea;
+            box-shadow: 0 4px 12px rgba(255,255,255,0.3);
+        }
+        
+        .step-name {
+            font-size: 18px;
+            font-weight: 600;
+            color: #2c3e50;
+        }
+        
+        .step-toggle {
+            color: #6c757d;
+            font-size: 20px;
+            transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+        }
+        
+        .step-toggle.expanded {
+            transform: rotate(180deg);
+        }
+        
+        .step-content {
+            padding: 0 20px;
+            max-height: 0;
+            overflow: hidden;
+            transition: max-height 0.3s ease-out, padding 0.3s;
+        }
+        
+        .step-content.expanded {
+            max-height: 5000px;
+            padding: 20px;
+        }
+        
+        .step-detail {
+            margin-bottom: 20px;
+        }
+        
+        .step-detail-label {
+            font-weight: 600;
+            color: #495057;
+            margin-bottom: 10px;
+            display: block;
+            font-size: 14px;
+            text-transform: uppercase;
+            letter-spacing: 0.5px;
+        }
+        
+        .step-detail-content {
+            background: #f8f9fa;
+            padding: 16px;
+            border-radius: 8px;
+            border-left: 4px solid #667eea;
+            font-size: 14px;
+            line-height: 1.8;
+            white-space: pre-wrap;
+            word-wrap: break-word;
+            max-height: 400px;
+            overflow-y: auto;
+            box-shadow: 0 2px 8px rgba(0,0,0,0.05);
+        }
+        
+        .json-content {
+            font-family: 'SF Mono', 'Monaco', 'Courier New', monospace;
+            background: #1e1e1e;
+            color: #d4d4d4;
+            padding: 20px;
+            border-radius: 8px;
+            overflow-x: auto;
+            border-left: 4px solid #667eea;
+            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
+        }
+        
+        .prompt-toggle-btn {
+            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+            color: white;
+            border: none;
+            padding: 10px 20px;
+            border-radius: 6px;
+            cursor: pointer;
+            font-size: 13px;
+            font-weight: 500;
+            margin-top: 15px;
+            transition: all 0.3s;
+            box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
+        }
+        
+        .prompt-toggle-btn:hover {
+            transform: translateY(-2px);
+            box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
+        }
+        
+        .prompt-content {
+            display: none;
+            margin-top: 15px;
+            padding: 16px;
+            background: #fff3cd;
+            border-radius: 8px;
+            border-left: 4px solid #ffc107;
+            font-size: 13px;
+            line-height: 1.8;
+            white-space: pre-wrap;
+            word-wrap: break-word;
+            max-height: 500px;
+            overflow-y: auto;
+        }
+        
+        .prompt-content.show {
+            display: block;
+            animation: slideDown 0.3s ease-out;
+        }
+        
+        @keyframes slideDown {
+            from {
+                opacity: 0;
+                max-height: 0;
+            }
+            to {
+                opacity: 1;
+                max-height: 500px;
+            }
+        }
+        
+        .output-section {
+            background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);
+            padding: 28px;
+            border-radius: 12px;
+            margin-top: 35px;
+            border-left: 4px solid #0ea5e9;
+            box-shadow: 0 4px 15px rgba(14, 165, 233, 0.2);
+        }
+        
+        .output-section h3 {
+            color: #0369a1;
+            margin-bottom: 20px;
+            font-size: 20px;
+            font-weight: 600;
+            display: flex;
+            align-items: center;
+            gap: 10px;
+        }
+        
+        .output-section h3::before {
+            content: '✨';
+            font-size: 24px;
+        }
+        
+        .arrow {
+            text-align: center;
+            color: #667eea;
+            font-size: 32px;
+            margin: -15px 0;
+            position: relative;
+            z-index: 1;
+            filter: drop-shadow(0 2px 4px rgba(102, 126, 234, 0.3));
+        }
+        
+        .arrow::before {
+            content: '↓';
+        }
+        
+        @media (max-width: 768px) {
+            .container {
+                padding: 10px;
+            }
+            
+            .tab {
+                padding: 12px 15px;
+                font-size: 13px;
+            }
+            
+            .tab-content {
+                padding: 20px;
+            }
+        }
+    </style>
+</head>
+<body>
+    <div class="container">
+        <h1>知识获取工作流可视化</h1>
+        <div class="tabs" id="tabs">
+            <button class="tab active" onclick="switchTab(0)">教资查分这个选题点怎么来的</button>
+            <button class="tab " onclick="switchTab(1)">女儿的生日派对这个选题点怎么来的</button>
+            <button class="tab " onclick="switchTab(2)">花艺造型蛋糕这个选题点怎么来的</button>
+        </div>
+        <div class="tab-content active" id="tab-0">
+            <div class="input-section">
+                <h3>输入信息</h3>
+                <div class="input-item"><strong>问题:</strong> 教资查分这个选题点怎么来的</div>
+                <div class="input-item"><strong>帖子信息:</strong> 发帖时间:2025.11.07</div>
+                <div class="input-item"><strong>人设信息:</strong> <span class="placeholder">(无)</span></div>
+            </div>
+            <div class="workflow">
+                <div class="workflow-step" id="step-0-0">
+                    <div class="step-header" onclick="toggleStep('step-0-0')">
+                        <div class="step-title">
+                            <span class="step-number">1</span>
+                            <span class="step-name">生成查询</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-0-0">
+                        <div class="step-detail">
+                            <span class="step-detail-label">生成的Query:</span>
+                            <div class="step-detail-content">用什么工具获取 教资查分这个选题点</div>
+                        </div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-0-1">
+                    <div class="step-header" onclick="toggleStep('step-0-1')">
+                        <div class="step-title">
+                            <span class="step-number">2</span>
+                            <span class="step-name">选择工具</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-0-1">
+                        <div class="step-detail">
+                            <span class="step-detail-label">工具名称:</span>
+                            <div class="step-detail-content">新红热搜词搜索</div>
+                        </div>
+                        <div class="step-detail">
+                            <span class="step-detail-label">工具调用ID:</span>
+                            <div class="step-detail-content">new_red_hot_search_words_search</div>
+                        </div>
+                        <div class="step-detail">
+                            <span class="step-detail-label">使用方法:</span>
+                            <div class="step-detail-content">输入关键词&quot;教资查分&quot;,获取该词在小红书的热度值、声量概览及近90天热度值趋势曲线,以评估其作为选题点的流量潜力和趋势。</div>
+                        </div>
+                        <button class="prompt-toggle-btn" onclick="togglePrompt('prompt-step-0-1')">显示 Prompt</button>
+                        <div class="prompt-content" id="prompt-step-0-1"># 角色定位
+你是一个工具匹配专家,负责根据用户需求从MCP工具库中找到最合适的工具。
+
+# 核心任务
+1. 接收上游传入的需求用什么工具获取 教资查分这个选题点
+2. 理解需求的核心意图(用户想找什么、解决什么问题)
+3. **判断需求内容是否在工具覆盖范围内**
+4. 查询MCP工具库,匹配最相关的工具
+5. 返回工具信息或&quot;无工具&quot;
+
+# MCP工具库信息
+
+工具名:新红话题榜单
+工具调用ID:xh_newrank_hottopics
+工具介绍:提供小红书平台热门话题全景榜单数据,覆盖排名、话题名称及核心简介、参与人数增量、浏览量增量、笔记增量、互动增量(点赞 / 收藏 / 评论综合统计)等核心维度。支持精准筛选与高效应用。话题类型涵盖美妆,美容个护,鞋包潮玩,穿搭打扮,美食,母婴育儿,旅游出行,家居家装,教育,生活,运动健身,兴趣爱好,影视综,婚嫁,摄影摄像,萌宠,情感星座,科技互联网,资讯,健康养生,科学科普,职场,交通工具,其他 24 个垂直领域,统计时间可选择日榜(近 7 天)、周榜(近 4 周)、月榜(近 5 个月),满足不同周期的热点追踪需求。榜单数据实时更新,同步呈现官方流量扶持话题标识,助力品牌、达人快速锁定高曝光赛道;便于拆解爆款逻辑、制定内容选题策略,提升运营效率。
+
+工具名:新红话题搜索
+工具调用ID:new_red_TopicSearch
+工具介绍:提供小红书平台话题精准检索服务,输入关键词即可匹配相关话题完整列表,核心数据包含话题名称及简介、总浏览量、总参与人数、近 30 天笔记增量、近 30 天互动增量。支持按参与人数、浏览量等指标排序筛选,可精准定位品牌发起话题或官方扶持话题,清晰展示话题流量趋势与内容创作方向。无论是达人寻找高适配性话题蹭流,还是品牌监测竞品话题布局,均能通过数据支撑快速决策,降低内容试错成本。
+
+工具名:新红热搜词榜单
+工具调用ID:xh_newrank_hotwords
+工具介绍:提供小红书平台热搜词权威榜单数据,核心维度包括实时排名、热搜词、主要覆盖内容领域、相关笔记总量、爆文数(高互动笔记占比)、热度值(综合搜索量与互动率计算)。支持按统计时间(日榜 / 周榜 / 月榜)及 美妆,美容个护,鞋包潮玩,穿搭打扮,美食,母婴育儿,旅游出行,家居家装,教育,生活,运动健身,兴趣爱好,影视综,婚嫁,摄影摄像,萌宠,情感星座,科技互联网,资讯,健康养生,科学科普,职场,交通工具,其他 24 个垂直内容领域筛选。榜单每日更新,助力用户第一时间捕捉流量风口。可直接应用于选题规划、竞品投放策略分析。
+
+工具名:新红热搜词搜索
+工具调用ID:new_red_hot_search_words_search
+工具介绍:提供小红书热搜词深度检索与趋势分析服务,输入关键词即可获取全维度数据表现:核心包含热度值(实时动态更新)、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词)、近 90 天热度值趋势曲线(支持自定义时间区间)、相关搜索结果。可直观呈现关键词种草趋势、流量峰值时段、高转化内容特征,帮助用户优化笔记标题关键词布局、预判话题生命周期。
+
+# 匹配规则
+
+## 匹配逻辑(按顺序执行)
+
+### 第一步:需求本质识别
+理解需求背后的真实意图:
+- 示例:&quot;谐音梗这个选题灵感怎么来的&quot; → 真实意图是&quot;寻找热门选题的来源/方法&quot;
+- 示例:&quot;女儿生日派对这个选题点怎么来的&quot; → 真实意图是&quot;寻找选题的灵感来源&quot;
+- 不关注具体关键词,而关注用户想解决什么问题
+
+### 第二步:内容适用性判断(关键!)
+用什么工具能寻找到来源方法
+**在匹配工具前,必须先判断选题内容是否在工具覆盖范围内**
+
+#### 热搜词工具适用的内容类型:
+- ✅ **大众话题**:教资查分、高考、春节、双十一等
+- ✅ **社会热点**:政策变化、明星事件、流行趋势
+- ✅ **行业热点**:美妆新品、穿搭流行、热门景点
+- ✅ **周期性事件**:节日、考试、季节性话题
+- ✅ **群体性关注**:大多数人都可能关注的话题
+
+#### 热搜词工具不适用的内容类型:
+- ❌ **个人化场景**:我的生日、女儿生日派对、我的婚礼
+- ❌ **私人事件**:家庭聚会、个人旅行、朋友聚餐
+- ❌ **特定个体**:某个具体的人、某个具体的宠物、某个具体的家庭
+- ❌ **小众话题**:极少数人关注的专业话题
+- ❌ **虚构内容**:不存在的事件、假设的场景
+
+**判断标准**:
+- 这个选题是否有可能出现在小红书热搜榜上?
+- 这个选题是否是大众普遍关注的?
+- 这个选题是否具有&quot;群体性&quot;而非&quot;个体性&quot;?
+
+**如果内容不在适用范围,直接返回&quot;无工具&quot;,不再继续匹配。**
+
+### 第三步:需求类型分类
+判断需求属于哪种类型:
+- 寻找灵感/选题来源 → 需要热搜词/榜单类工具
+- 分析特定词的热度/趋势 → 需要趋势分析类工具
+- 寻找内容案例/参考 → 需要内容搜索/爬取类工具
+- 生成创意内容 → 需要大模型/AI生成类工具
+
+### 第四步:工具能力匹配
+根据需求类型,对比工具的核心能力:
+- 工具能否解决该类型的问题(如&quot;提供热门选题&quot;)
+
+### 第五步:选择最优工具
+返回能力最匹配的1个工具,无匹配则返回&quot;无工具&quot;
+
+## 匹配标准
+- 功能匹配:工具能力是否覆盖需求要解决的问题
+
+
+## 无匹配判定
+当满足以下任一条件时,返回&quot;无工具&quot;:
+1. 需求内容不在工具覆盖范围内(如非常个人化场景)
+2. MCP工具库中没有工具能解决该需求
+3. 需求涉及的领域完全不在工具库范围
+
+# 输出格式
+json格式,字段定义如下:
+&#39;&#39;&#39;json
+{
+    &quot;工具名&quot;: &quot;工具名称&quot;,
+    &quot;工具调用ID&quot;: &quot;调用ID&quot;,
+    &quot;使用方法&quot;: &quot;简要说明如何使用该工具解决用户需求&quot;
+}
+&#39;&#39;&#39;
+
+## 无匹配时
+&#39;&#39;&#39;json
+{
+
+}
+&#39;&#39;&#39;
+
+# 执行要求
+1. **必须先执行&quot;内容适用性判断&quot;**,再进行工具匹配
+2. 只返回1个最优工具,不返回多个备选
+3. 严格按照输出格式返回结果
+4. 使用方法要具体,说明如何用该工具解决当前需求
+
+# 示例
+
+## 示例1:成功匹配
+需求输入:什么工具能找到教资查分这个灵感点?
+
+输出:
+工具名:新红热搜词搜索
+工具调用ID:new_red_hot_search_words_search
+使用方法:输入关键词&quot;教资查分&quot;,获取该词在小红书的热度值、近90天趋势曲线、相关笔记数据,判断是否为热门选题点。
+{
+    &quot;工具名&quot;: &quot;新红热搜词搜索&quot;,
+    &quot;工具调用ID&quot;: &quot;工具调用ID:new_red_hot_search_words_search&quot;,
+    &quot;使用方法&quot;: &quot;输入关键词&quot;教资查分&quot;,获取该词在小红书的热度值、近90天趋势曲线、相关笔记数据,判断是否为热门选题点。&quot;
+}
+
+## 示例2:无匹配
+需求输入:哪里可以找到股票实时行情数据?
+
+输出:
+{
+
+}
+
+# 上游输入的需求用什么工具获取 教资查分这个选题点
+{用什么工具获取 教资查分这个选题点}</div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-0-2">
+                    <div class="step-header" onclick="toggleStep('step-0-2')">
+                        <div class="step-title">
+                            <span class="step-number">3</span>
+                            <span class="step-name">提取参数</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-0-2">
+                        <div class="step-detail">
+                            <span class="step-detail-label">提取的参数:</span>
+                            <div class="step-detail-content json-content">{
+  &quot;prompt&quot;: &quot;输入关键词\&quot;教资查分\&quot;,获取该词在小红书的热度值、近90天热度值趋势曲线、声量概览及相关搜索结果,从而判断其作为选题点的热度和趋势,辅助选题决策。&quot;
+}</div>
+                        </div>
+                        <button class="prompt-toggle-btn" onclick="togglePrompt('prompt-step-0-2')">显示 Prompt</button>
+                        <div class="prompt-content" id="prompt-step-0-2">你是一个API调用专家。你的任务是根据已经选择的工具及使用方法信息生成正确的调用参数。
+
+选择的工具调用ID:
+new_red_hot_search_words_search
+选择的工具使用方法:
+输入关键词&quot;教资查分&quot;,获取该词在小红书的热度值、近90天热度值趋势曲线、声量概览及相关搜索结果,从而判断其作为选题点的热度和趋势,辅助选题决策。
+
+所有的工具参数定义:
+{
+    &quot;name&quot;: &quot;新红热搜词搜索&quot;,
+    &quot;description&quot;: &quot;提供小红书热搜词深度检索与趋势分析服务,输入关键词即可获取全维度数据表现:核心包含热度值(实时动态更新)、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词)、近 90 天热度值趋势曲线(支持自定义时间区间)、相关搜索结果。可直观呈现关键词种草趋势、流量峰值时段、高转化内容特征,帮助用户优化笔记标题关键词布局、预判话题生命周期。&quot;,
+    &quot;inputSchema&quot;: {
+        &quot;type&quot;: &quot;object&quot;,
+        &quot;properties&quot;: {
+            &quot;prompt&quot;: {
+                &quot;type&quot;: &quot;string&quot;,
+                &quot;description&quot;: &quot;用户使用方法,包括输入的关键词&quot;
+            }
+        },
+        &quot;required&quot;: [
+            &quot;prompt&quot;
+        ]
+    }
+}
+
+请分析工具的参数要求,根据查询内容提取或推断出合适的参数值。
+
+输出格式:请以 JSON 格式输出参数字典,例如:
+{
+    &quot;param1&quot;: &quot;value1&quot;,
+    &quot;param2&quot;: &quot;value2&quot;
+}
+
+注意事项:
+1. 只输出参数的JSON字典,不要包含任何解释
+2. 参数名必须与工具定义中的参数名完全一致
+3. 参数值要从查询中提取或合理推断
+4. 不要添加工具定义中没有的参数
+5. 如果某个参数无法从查询中获取,使用合理的默认值或省略该参数
+
+只输出JSON,不要包含markdown标记。</div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-0-3">
+                    <div class="step-header" onclick="toggleStep('step-0-3')">
+                        <div class="step-title">
+                            <span class="step-number">4</span>
+                            <span class="step-name">执行工具</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-0-3">
+                        <div class="step-detail">
+                            <span class="step-detail-label">执行结果:</span>
+                            <div class="step-detail-content json-content">## &quot;教资查分&quot;关键词数据表现和趋势分析
+
+### 热度值
+- 近30天热度值超过96.14%全站其他词
+- 近30天热度值超过95.86%教育领域其他词
+
+### 声量概览
+- **笔记数**: 16篇(环比增长700.00%)
+- **总热度**: 4082(环比增长408100.00%)
+- **热门天数**: 4/30天
+- **近30天热门内容领域**:
+  - 教育: 56.25%
+  - 职场: 31.25%
+  - 运动健身: 6.25%
+- **高频搭配词**: 暂无相关数据
+
+### 热度值趋势
+- **整体趋势**: 下降趋势
+- **效果分析**:
+  - TOP1下降趋势: 2025-11-07 至 2025-11-08
+  - TOP2下降趋势: 2025-11-04 至 2025-11-05
+
+### 相关搜索结果
+- 共1条搜索结果
+- 内容领域分布: 教育、职场等领域为主
+
+从数据可以看出,&quot;教资查分&quot;这个关键词在近期有显著的热度增长,但目前呈现下降趋势。该关键词主要与教育和职场领域相关,这符合教师资格证查询分数的实际应用场景。虽然笔记数量不多(16篇),但环比增长非常高,表明这是一个短期内突然受到关注的话题。</div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="output-section">
+                <h3>最终输出</h3>
+                <div class="step-detail-content json-content">## &quot;教资查分&quot;关键词数据表现和趋势分析
+
+### 热度值
+- 近30天热度值超过96.14%全站其他词
+- 近30天热度值超过95.86%教育领域其他词
+
+### 声量概览
+- **笔记数**: 16篇(环比增长700.00%)
+- **总热度**: 4082(环比增长408100.00%)
+- **热门天数**: 4/30天
+- **近30天热门内容领域**:
+  - 教育: 56.25%
+  - 职场: 31.25%
+  - 运动健身: 6.25%
+- **高频搭配词**: 暂无相关数据
+
+### 热度值趋势
+- **整体趋势**: 下降趋势
+- **效果分析**:
+  - TOP1下降趋势: 2025-11-07 至 2025-11-08
+  - TOP2下降趋势: 2025-11-04 至 2025-11-05
+
+### 相关搜索结果
+- 共1条搜索结果
+- 内容领域分布: 教育、职场等领域为主
+
+从数据可以看出,&quot;教资查分&quot;这个关键词在近期有显著的热度增长,但目前呈现下降趋势。该关键词主要与教育和职场领域相关,这符合教师资格证查询分数的实际应用场景。虽然笔记数量不多(16篇),但环比增长非常高,表明这是一个短期内突然受到关注的话题。</div>
+            </div>
+        </div>
+        <div class="tab-content " id="tab-1">
+            <div class="input-section">
+                <h3>输入信息</h3>
+                <div class="input-item"><strong>问题:</strong> 女儿的生日派对这个选题点怎么来的</div>
+                <div class="input-item"><strong>帖子信息:</strong> 发帖时间:2025-09-16</div>
+                <div class="input-item"><strong>人设信息:</strong> <span class="placeholder">(无)</span></div>
+            </div>
+            <div class="workflow">
+                <div class="workflow-step" id="step-1-0">
+                    <div class="step-header" onclick="toggleStep('step-1-0')">
+                        <div class="step-title">
+                            <span class="step-number">1</span>
+                            <span class="step-name">生成查询</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-1-0">
+                        <div class="step-detail">
+                            <span class="step-detail-label">生成的Query:</span>
+                            <div class="step-detail-content">用什么工具获取女儿的生日派对这个选题点 query</div>
+                        </div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-1-1">
+                    <div class="step-header" onclick="toggleStep('step-1-1')">
+                        <div class="step-title">
+                            <span class="step-number">2</span>
+                            <span class="step-name">选择工具</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-1-1">
+                        <div class="step-detail">
+                            <span class="step-detail-label">选择结果:</span>
+                            <div class="step-detail-content" style="color: #dc3545; font-weight: 500;">无匹配工具</div>
+                        </div>
+                        <button class="prompt-toggle-btn" onclick="togglePrompt('prompt-step-1-1')">显示 Prompt</button>
+                        <div class="prompt-content" id="prompt-step-1-1"># 角色定位
+你是一个工具匹配专家,负责根据用户需求从MCP工具库中找到最合适的工具。
+
+# 核心任务
+1. 接收上游传入的需求用什么工具获取女儿的生日派对这个选题点 query
+2. 理解需求的核心意图(用户想找什么、解决什么问题)
+3. **判断需求内容是否在工具覆盖范围内**
+4. 查询MCP工具库,匹配最相关的工具
+5. 返回工具信息或&quot;无工具&quot;
+
+# MCP工具库信息
+
+工具名:新红话题榜单
+工具调用ID:xh_newrank_hottopics
+工具介绍:提供小红书平台热门话题全景榜单数据,覆盖排名、话题名称及核心简介、参与人数增量、浏览量增量、笔记增量、互动增量(点赞 / 收藏 / 评论综合统计)等核心维度。支持精准筛选与高效应用。话题类型涵盖美妆,美容个护,鞋包潮玩,穿搭打扮,美食,母婴育儿,旅游出行,家居家装,教育,生活,运动健身,兴趣爱好,影视综,婚嫁,摄影摄像,萌宠,情感星座,科技互联网,资讯,健康养生,科学科普,职场,交通工具,其他 24 个垂直领域,统计时间可选择日榜(近 7 天)、周榜(近 4 周)、月榜(近 5 个月),满足不同周期的热点追踪需求。榜单数据实时更新,同步呈现官方流量扶持话题标识,助力品牌、达人快速锁定高曝光赛道;便于拆解爆款逻辑、制定内容选题策略,提升运营效率。
+
+工具名:新红话题搜索
+工具调用ID:new_red_TopicSearch
+工具介绍:提供小红书平台话题精准检索服务,输入关键词即可匹配相关话题完整列表,核心数据包含话题名称及简介、总浏览量、总参与人数、近 30 天笔记增量、近 30 天互动增量。支持按参与人数、浏览量等指标排序筛选,可精准定位品牌发起话题或官方扶持话题,清晰展示话题流量趋势与内容创作方向。无论是达人寻找高适配性话题蹭流,还是品牌监测竞品话题布局,均能通过数据支撑快速决策,降低内容试错成本。
+
+工具名:新红热搜词榜单
+工具调用ID:xh_newrank_hotwords
+工具介绍:提供小红书平台热搜词权威榜单数据,核心维度包括实时排名、热搜词、主要覆盖内容领域、相关笔记总量、爆文数(高互动笔记占比)、热度值(综合搜索量与互动率计算)。支持按统计时间(日榜 / 周榜 / 月榜)及 美妆,美容个护,鞋包潮玩,穿搭打扮,美食,母婴育儿,旅游出行,家居家装,教育,生活,运动健身,兴趣爱好,影视综,婚嫁,摄影摄像,萌宠,情感星座,科技互联网,资讯,健康养生,科学科普,职场,交通工具,其他 24 个垂直内容领域筛选。榜单每日更新,助力用户第一时间捕捉流量风口。可直接应用于选题规划、竞品投放策略分析。
+
+工具名:新红热搜词搜索
+工具调用ID:new_red_hot_search_words_search
+工具介绍:提供小红书热搜词深度检索与趋势分析服务,输入关键词即可获取全维度数据表现:核心包含热度值(实时动态更新)、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词)、近 90 天热度值趋势曲线(支持自定义时间区间)、相关搜索结果。可直观呈现关键词种草趋势、流量峰值时段、高转化内容特征,帮助用户优化笔记标题关键词布局、预判话题生命周期。
+
+# 匹配规则
+
+## 匹配逻辑(按顺序执行)
+
+### 第一步:需求本质识别
+理解需求背后的真实意图:
+- 示例:&quot;谐音梗这个选题灵感怎么来的&quot; → 真实意图是&quot;寻找热门选题的来源/方法&quot;
+- 示例:&quot;女儿生日派对这个选题点怎么来的&quot; → 真实意图是&quot;寻找选题的灵感来源&quot;
+- 不关注具体关键词,而关注用户想解决什么问题
+
+### 第二步:内容适用性判断(关键!)
+用什么工具能寻找到来源方法
+**在匹配工具前,必须先判断选题内容是否在工具覆盖范围内**
+
+#### 热搜词工具适用的内容类型:
+- ✅ **大众话题**:教资查分、高考、春节、双十一等
+- ✅ **社会热点**:政策变化、明星事件、流行趋势
+- ✅ **行业热点**:美妆新品、穿搭流行、热门景点
+- ✅ **周期性事件**:节日、考试、季节性话题
+- ✅ **群体性关注**:大多数人都可能关注的话题
+
+#### 热搜词工具不适用的内容类型:
+- ❌ **个人化场景**:我的生日、女儿生日派对、我的婚礼
+- ❌ **私人事件**:家庭聚会、个人旅行、朋友聚餐
+- ❌ **特定个体**:某个具体的人、某个具体的宠物、某个具体的家庭
+- ❌ **小众话题**:极少数人关注的专业话题
+- ❌ **虚构内容**:不存在的事件、假设的场景
+
+**判断标准**:
+- 这个选题是否有可能出现在小红书热搜榜上?
+- 这个选题是否是大众普遍关注的?
+- 这个选题是否具有&quot;群体性&quot;而非&quot;个体性&quot;?
+
+**如果内容不在适用范围,直接返回&quot;无工具&quot;,不再继续匹配。**
+
+### 第三步:需求类型分类
+判断需求属于哪种类型:
+- 寻找灵感/选题来源 → 需要热搜词/榜单类工具
+- 分析特定词的热度/趋势 → 需要趋势分析类工具
+- 寻找内容案例/参考 → 需要内容搜索/爬取类工具
+- 生成创意内容 → 需要大模型/AI生成类工具
+
+### 第四步:工具能力匹配
+根据需求类型,对比工具的核心能力:
+- 工具能否解决该类型的问题(如&quot;提供热门选题&quot;)
+
+### 第五步:选择最优工具
+返回能力最匹配的1个工具,无匹配则返回&quot;无工具&quot;
+
+## 匹配标准
+- 功能匹配:工具能力是否覆盖需求要解决的问题
+
+
+## 无匹配判定
+当满足以下任一条件时,返回&quot;无工具&quot;:
+1. 需求内容不在工具覆盖范围内(如非常个人化场景)
+2. MCP工具库中没有工具能解决该需求
+3. 需求涉及的领域完全不在工具库范围
+
+# 输出格式
+json格式,字段定义如下:
+&#39;&#39;&#39;json
+{
+    &quot;工具名&quot;: &quot;工具名称&quot;,
+    &quot;工具调用ID&quot;: &quot;调用ID&quot;,
+    &quot;使用方法&quot;: &quot;简要说明如何使用该工具解决用户需求&quot;
+}
+&#39;&#39;&#39;
+
+## 无匹配时
+&#39;&#39;&#39;json
+{
+
+}
+&#39;&#39;&#39;
+
+# 执行要求
+1. **必须先执行&quot;内容适用性判断&quot;**,再进行工具匹配
+2. 只返回1个最优工具,不返回多个备选
+3. 严格按照输出格式返回结果
+4. 使用方法要具体,说明如何用该工具解决当前需求
+
+# 示例
+
+## 示例1:成功匹配
+需求输入:什么工具能找到教资查分这个灵感点?
+
+输出:
+工具名:新红热搜词搜索
+工具调用ID:new_red_hot_search_words_search
+使用方法:输入关键词&quot;教资查分&quot;,获取该词在小红书的热度值、近90天趋势曲线、相关笔记数据,判断是否为热门选题点。
+{
+    &quot;工具名&quot;: &quot;新红热搜词搜索&quot;,
+    &quot;工具调用ID&quot;: &quot;工具调用ID:new_red_hot_search_words_search&quot;,
+    &quot;使用方法&quot;: &quot;输入关键词&quot;教资查分&quot;,获取该词在小红书的热度值、近90天趋势曲线、相关笔记数据,判断是否为热门选题点。&quot;
+}
+
+## 示例2:无匹配
+需求输入:哪里可以找到股票实时行情数据?
+
+输出:
+{
+
+}
+
+# 上游输入的需求用什么工具获取女儿的生日派对这个选题点 query
+{用什么工具获取女儿的生日派对这个选题点 query}</div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-1-2">
+                    <div class="step-header" onclick="toggleStep('step-1-2')">
+                        <div class="step-title">
+                            <span class="step-number">3</span>
+                            <span class="step-name">LLM搜索</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-1-2">
+                        <div class="step-detail">
+                            <span class="step-detail-label">搜索结果:</span>
+                            <div style="margin-bottom: 15px; padding: 12px; background: #f0f8ff; border-radius: 6px; border-left: 3px solid #4a90e2;">
+                                <div style="font-weight: 600; color: #2c3e50; margin-bottom: 8px;">查询 1: 用什么工具获取女儿的生日派对这个选题点 query</div>
+                                <div style="color: #555; line-height: 1.6; white-space: pre-wrap;">根据搜索结果,要围绕“女儿的生日派对”这个选题点进行内容创作或策划,可以使用以下几类工具和方法来获取灵感、信息和执行方案:
+
+**1. 灵感与创意获取工具:**
+*   **社交媒体平台:** 如小红书、Instagram、Pinterest(需科学上网)等。这些平台上有大量用户分享的真实派对照片、视频和经验贴,是获取最新流行主题(如独角兽、小黄鸭、公主风等)、布置创意和DIY点子的绝佳来源。
+*   **视频平台:** 如YouTube、Bilibili。可以搜索“低成本生日派对”、“XX岁女孩生日派对”等关键词,观看详细的策划和布置过程视频,非常直观且具有可操作性。
+
+**2. 实用策划与执行工具:**
+*   **在线邀请函制作工具:** 如Canva、金数据、腾讯问卷等。可以轻松创建精美的电子邀请函,并附带RSVP(请回复)功能,方便统计人数。
+*   **清单与项目管理工具:** 如滴答清单(TickTick)、微软To Do、甚至简单的Excel表格。用于制定详细的待办事项清单,包括预算、采购清单、时间安排等,确保不遗漏任何环节。
+*   **本地生活服务平台:** 如大众点评、美团。用于搜索和预订附近的亲子餐厅、室内游乐场、派对策划公司、蛋糕房等服务。
+
+**3. 信息查询与学习工具:**
+*   **搜索引擎:** 直接使用百度、谷歌等搜索引擎,输入具体的疑问,例如“4岁女孩生日派对游戏”、“低预算生日派对食物”、“生日派对注意事项”等,可以找到大量博客文章、论坛讨论(如知乎、Reddit)和专业指南,了解不同年龄段孩子的派对要点、避坑指南和花费参考。
+
+总而言之,将**社交媒体/视频平台**作为灵感库,用**在线工具**处理邀请和规划,并通过**搜索引擎**解决具体问题,就能高效地完成“女儿生日派对”的选题策划。</div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-1-3">
+                    <div class="step-header" onclick="toggleStep('step-1-3')">
+                        <div class="step-title">
+                            <span class="step-number">4</span>
+                            <span class="step-name">多渠道搜索结果整合</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-1-3">
+                        <div class="step-detail">
+                            <span class="step-detail-label">来源统计:</span>
+                            <div class="step-detail-content">总来源数: 1, 有效来源数: 1</div>
+                        </div>
+                        <div class="step-detail">
+                            <span class="step-detail-label">整合结果:</span>
+                            <div class="step-detail-content">女儿的生日派对这一选题点,可以通过以下工具和方法进行灵感获取、信息查询及策划执行,从而使内容或派对本身得以具体化和完善:
+
+### 1. 灵感与创意获取
+
+*   **社交媒体平台:** 小红书、Instagram、Pinterest等平台汇集了大量用户分享的派对照片、视频和经验贴,是发现最新流行主题(如独角兽、小黄鸭、公主风)、布置创意和DIY点子的宝库。
+*   **视频平台:** YouTube、Bilibili等平台可搜索“低成本生日派对”、“XX岁女孩生日派对”等关键词,通过观看详细的策划和布置过程视频,获取直观且可操作的灵感。
+
+### 2. 实用策划与执行
+
+*   **在线邀请函制作工具:** Canva、金数据、腾讯问卷等工具可用于轻松创建精美的电子邀请函,并支持RSVP(请回复)功能,便于统计派对人数。
+*   **清单与项目管理工具:** 滴答清单(TickTick)、微软To Do或Excel表格等,有助于制定详细的待办事项清单,包括预算、采购清单和时间安排,确保派对筹备不遗漏任何环节。
+*   **本地生活服务平台:** 大众点评、美团等平台可用于搜索和预订附近的亲子餐厅、室内游乐场、派对策划公司、蛋糕房等服务。
+
+### 3. 信息查询与学习
+
+*   **搜索引擎:** 百度、谷歌等搜索引擎是解答具体疑问的强大工具。输入“4岁女孩生日派对游戏”、“低预算生日派对食物”、“生日派对注意事项”等关键词,可以找到大量博客文章、论坛讨论(如知乎、Reddit)和专业指南,了解不同年龄段孩子派对的要点、避坑指南及花费参考。
+
+总而言之,通过将社交媒体/视频平台作为灵感来源,利用在线工具进行邀请和规划,并通过搜索引擎解决具体问题,可以高效地展开和完善“女儿生日派对”这个选题点。</div>
+                        </div>
+                        <button class="prompt-toggle-btn" onclick="togglePrompt('prompt-step-1-3')">显示 Prompt</button>
+                        <div class="prompt-content" id="prompt-step-1-3">你是一个知识整合专家。你的任务是根据用户的问题,将来自不同渠道(如LLM搜索、小红书搜索等)的知识文本进行整合,生成一份全面、准确、逻辑清晰的回答。
+
+用户问题:
+女儿的生日派对这个选题点怎么来的||发帖时间:2025-09-16||
+
+以下是来自不同渠道的知识文本:
+【来源:LLM Search】
+根据搜索结果,要围绕“女儿的生日派对”这个选题点进行内容创作或策划,可以使用以下几类工具和方法来获取灵感、信息和执行方案:
+
+**1. 灵感与创意获取工具:**
+*   **社交媒体平台:** 如小红书、Instagram、Pinterest(需科学上网)等。这些平台上有大量用户分享的真实派对照片、视频和经验贴,是获取最新流行主题(如独角兽、小黄鸭、公主风等)、布置创意和DIY点子的绝佳来源。
+*   **视频平台:** 如YouTube、Bilibili。可以搜索“低成本生日派对”、“XX岁女孩生日派对”等关键词,观看详细的策划和布置过程视频,非常直观且具有可操作性。
+
+**2. 实用策划与执行工具:**
+*   **在线邀请函制作工具:** 如Canva、金数据、腾讯问卷等。可以轻松创建精美的电子邀请函,并附带RSVP(请回复)功能,方便统计人数。
+*   **清单与项目管理工具:** 如滴答清单(TickTick)、微软To Do、甚至简单的Excel表格。用于制定详细的待办事项清单,包括预算、采购清单、时间安排等,确保不遗漏任何环节。
+*   **本地生活服务平台:** 如大众点评、美团。用于搜索和预订附近的亲子餐厅、室内游乐场、派对策划公司、蛋糕房等服务。
+
+**3. 信息查询与学习工具:**
+*   **搜索引擎:** 直接使用百度、谷歌等搜索引擎,输入具体的疑问,例如“4岁女孩生日派对游戏”、“低预算生日派对食物”、“生日派对注意事项”等,可以找到大量博客文章、论坛讨论(如知乎、Reddit)和专业指南,了解不同年龄段孩子的派对要点、避坑指南和花费参考。
+
+总而言之,将**社交媒体/视频平台**作为灵感库,用**在线工具**处理邀请和规划,并通过**搜索引擎**解决具体问题,就能高效地完成“女儿生日派对”的选题策划。
+
+
+
+请遵循以下原则进行整合:
+1. **全面性**:涵盖所有渠道提供的关键信息,不要遗漏重要细节。
+2. **准确性**:如果不同渠道的信息存在冲突,请尝试分析原因并给出最合理的解释,或者同时呈现不同的观点并说明来源。
+3. **逻辑性**:将信息组织成结构清晰的文章,使用恰当的标题、列表和段落。
+4. **可读性**:语言通顺流畅,易于理解。
+5. **去重**:去除重复的信息。
+
+请直接输出整合后的知识文本,不要包含任何解释性的话语。</div>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="tab-content " id="tab-2">
+            <div class="input-section">
+                <h3>输入信息</h3>
+                <div class="input-item"><strong>问题:</strong> 花艺造型蛋糕这个选题点怎么来的</div>
+                <div class="input-item"><strong>帖子信息:</strong> 发帖时间:2025-09-16</div>
+                <div class="input-item"><strong>人设信息:</strong> <span class="placeholder">(无)</span></div>
+            </div>
+            <div class="workflow">
+                <div class="workflow-step" id="step-2-0">
+                    <div class="step-header" onclick="toggleStep('step-2-0')">
+                        <div class="step-title">
+                            <span class="step-number">1</span>
+                            <span class="step-name">生成查询</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-2-0">
+                        <div class="step-detail">
+                            <span class="step-detail-label">生成的Query:</span>
+                            <div class="step-detail-content">用什么工具获取花艺造型蛋糕这个选题点</div>
+                        </div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-2-1">
+                    <div class="step-header" onclick="toggleStep('step-2-1')">
+                        <div class="step-title">
+                            <span class="step-number">2</span>
+                            <span class="step-name">选择工具</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-2-1">
+                        <div class="step-detail">
+                            <span class="step-detail-label">工具名称:</span>
+                            <div class="step-detail-content">新红热搜词搜索</div>
+                        </div>
+                        <div class="step-detail">
+                            <span class="step-detail-label">工具调用ID:</span>
+                            <div class="step-detail-content">new_red_hot_search_words_search</div>
+                        </div>
+                        <div class="step-detail">
+                            <span class="step-detail-label">使用方法:</span>
+                            <div class="step-detail-content">输入关键词&quot;花艺造型蛋糕&quot;,获取该词在小红书的热度值、近90天趋势曲线、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词),以此评估其作为选题点的潜力与创作方向。</div>
+                        </div>
+                        <button class="prompt-toggle-btn" onclick="togglePrompt('prompt-step-2-1')">显示 Prompt</button>
+                        <div class="prompt-content" id="prompt-step-2-1"># 角色定位
+你是一个工具匹配专家,负责根据用户需求从MCP工具库中找到最合适的工具。
+
+# 核心任务
+1. 接收上游传入的需求用什么工具获取花艺造型蛋糕这个选题点
+2. 理解需求的核心意图(用户想找什么、解决什么问题)
+3. **判断需求内容是否在工具覆盖范围内**
+4. 查询MCP工具库,匹配最相关的工具
+5. 返回工具信息或&quot;无工具&quot;
+
+# MCP工具库信息
+
+工具名:新红话题榜单
+工具调用ID:xh_newrank_hottopics
+工具介绍:提供小红书平台热门话题全景榜单数据,覆盖排名、话题名称及核心简介、参与人数增量、浏览量增量、笔记增量、互动增量(点赞 / 收藏 / 评论综合统计)等核心维度。支持精准筛选与高效应用。话题类型涵盖美妆,美容个护,鞋包潮玩,穿搭打扮,美食,母婴育儿,旅游出行,家居家装,教育,生活,运动健身,兴趣爱好,影视综,婚嫁,摄影摄像,萌宠,情感星座,科技互联网,资讯,健康养生,科学科普,职场,交通工具,其他 24 个垂直领域,统计时间可选择日榜(近 7 天)、周榜(近 4 周)、月榜(近 5 个月),满足不同周期的热点追踪需求。榜单数据实时更新,同步呈现官方流量扶持话题标识,助力品牌、达人快速锁定高曝光赛道;便于拆解爆款逻辑、制定内容选题策略,提升运营效率。
+
+工具名:新红话题搜索
+工具调用ID:new_red_TopicSearch
+工具介绍:提供小红书平台话题精准检索服务,输入关键词即可匹配相关话题完整列表,核心数据包含话题名称及简介、总浏览量、总参与人数、近 30 天笔记增量、近 30 天互动增量。支持按参与人数、浏览量等指标排序筛选,可精准定位品牌发起话题或官方扶持话题,清晰展示话题流量趋势与内容创作方向。无论是达人寻找高适配性话题蹭流,还是品牌监测竞品话题布局,均能通过数据支撑快速决策,降低内容试错成本。
+
+工具名:新红热搜词榜单
+工具调用ID:xh_newrank_hotwords
+工具介绍:提供小红书平台热搜词权威榜单数据,核心维度包括实时排名、热搜词、主要覆盖内容领域、相关笔记总量、爆文数(高互动笔记占比)、热度值(综合搜索量与互动率计算)。支持按统计时间(日榜 / 周榜 / 月榜)及 美妆,美容个护,鞋包潮玩,穿搭打扮,美食,母婴育儿,旅游出行,家居家装,教育,生活,运动健身,兴趣爱好,影视综,婚嫁,摄影摄像,萌宠,情感星座,科技互联网,资讯,健康养生,科学科普,职场,交通工具,其他 24 个垂直内容领域筛选。榜单每日更新,助力用户第一时间捕捉流量风口。可直接应用于选题规划、竞品投放策略分析。
+
+工具名:新红热搜词搜索
+工具调用ID:new_red_hot_search_words_search
+工具介绍:提供小红书热搜词深度检索与趋势分析服务,输入关键词即可获取全维度数据表现:核心包含热度值(实时动态更新)、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词)、近 90 天热度值趋势曲线(支持自定义时间区间)、相关搜索结果。可直观呈现关键词种草趋势、流量峰值时段、高转化内容特征,帮助用户优化笔记标题关键词布局、预判话题生命周期。
+
+# 匹配规则
+
+## 匹配逻辑(按顺序执行)
+
+### 第一步:需求本质识别
+理解需求背后的真实意图:
+- 示例:&quot;谐音梗这个选题灵感怎么来的&quot; → 真实意图是&quot;寻找热门选题的来源/方法&quot;
+- 示例:&quot;女儿生日派对这个选题点怎么来的&quot; → 真实意图是&quot;寻找选题的灵感来源&quot;
+- 不关注具体关键词,而关注用户想解决什么问题
+
+### 第二步:内容适用性判断(关键!)
+用什么工具能寻找到来源方法
+**在匹配工具前,必须先判断选题内容是否在工具覆盖范围内**
+
+#### 热搜词工具适用的内容类型:
+- ✅ **大众话题**:教资查分、高考、春节、双十一等
+- ✅ **社会热点**:政策变化、明星事件、流行趋势
+- ✅ **行业热点**:美妆新品、穿搭流行、热门景点
+- ✅ **周期性事件**:节日、考试、季节性话题
+- ✅ **群体性关注**:大多数人都可能关注的话题
+
+#### 热搜词工具不适用的内容类型:
+- ❌ **个人化场景**:我的生日、女儿生日派对、我的婚礼
+- ❌ **私人事件**:家庭聚会、个人旅行、朋友聚餐
+- ❌ **特定个体**:某个具体的人、某个具体的宠物、某个具体的家庭
+- ❌ **小众话题**:极少数人关注的专业话题
+- ❌ **虚构内容**:不存在的事件、假设的场景
+
+**判断标准**:
+- 这个选题是否有可能出现在小红书热搜榜上?
+- 这个选题是否是大众普遍关注的?
+- 这个选题是否具有&quot;群体性&quot;而非&quot;个体性&quot;?
+
+**如果内容不在适用范围,直接返回&quot;无工具&quot;,不再继续匹配。**
+
+### 第三步:需求类型分类
+判断需求属于哪种类型:
+- 寻找灵感/选题来源 → 需要热搜词/榜单类工具
+- 分析特定词的热度/趋势 → 需要趋势分析类工具
+- 寻找内容案例/参考 → 需要内容搜索/爬取类工具
+- 生成创意内容 → 需要大模型/AI生成类工具
+
+### 第四步:工具能力匹配
+根据需求类型,对比工具的核心能力:
+- 工具能否解决该类型的问题(如&quot;提供热门选题&quot;)
+
+### 第五步:选择最优工具
+返回能力最匹配的1个工具,无匹配则返回&quot;无工具&quot;
+
+## 匹配标准
+- 功能匹配:工具能力是否覆盖需求要解决的问题
+
+
+## 无匹配判定
+当满足以下任一条件时,返回&quot;无工具&quot;:
+1. 需求内容不在工具覆盖范围内(如非常个人化场景)
+2. MCP工具库中没有工具能解决该需求
+3. 需求涉及的领域完全不在工具库范围
+
+# 输出格式
+json格式,字段定义如下:
+&#39;&#39;&#39;json
+{
+    &quot;工具名&quot;: &quot;工具名称&quot;,
+    &quot;工具调用ID&quot;: &quot;调用ID&quot;,
+    &quot;使用方法&quot;: &quot;简要说明如何使用该工具解决用户需求&quot;
+}
+&#39;&#39;&#39;
+
+## 无匹配时
+&#39;&#39;&#39;json
+{
+
+}
+&#39;&#39;&#39;
+
+# 执行要求
+1. **必须先执行&quot;内容适用性判断&quot;**,再进行工具匹配
+2. 只返回1个最优工具,不返回多个备选
+3. 严格按照输出格式返回结果
+4. 使用方法要具体,说明如何用该工具解决当前需求
+
+# 示例
+
+## 示例1:成功匹配
+需求输入:什么工具能找到教资查分这个灵感点?
+
+输出:
+工具名:新红热搜词搜索
+工具调用ID:new_red_hot_search_words_search
+使用方法:输入关键词&quot;教资查分&quot;,获取该词在小红书的热度值、近90天趋势曲线、相关笔记数据,判断是否为热门选题点。
+{
+    &quot;工具名&quot;: &quot;新红热搜词搜索&quot;,
+    &quot;工具调用ID&quot;: &quot;工具调用ID:new_red_hot_search_words_search&quot;,
+    &quot;使用方法&quot;: &quot;输入关键词&quot;教资查分&quot;,获取该词在小红书的热度值、近90天趋势曲线、相关笔记数据,判断是否为热门选题点。&quot;
+}
+
+## 示例2:无匹配
+需求输入:哪里可以找到股票实时行情数据?
+
+输出:
+{
+
+}
+
+# 上游输入的需求用什么工具获取花艺造型蛋糕这个选题点
+{用什么工具获取花艺造型蛋糕这个选题点}</div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-2-2">
+                    <div class="step-header" onclick="toggleStep('step-2-2')">
+                        <div class="step-title">
+                            <span class="step-number">3</span>
+                            <span class="step-name">提取参数</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-2-2">
+                        <div class="step-detail">
+                            <span class="step-detail-label">提取的参数:</span>
+                            <div class="step-detail-content json-content">{
+  &quot;prompt&quot;: &quot;输入关键词\&quot;花艺造型蛋糕\&quot;,获取该词在小红书的热度值、近90天趋势曲线、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词),以此评估其作为选题点的潜力与创作方向。&quot;
+}</div>
+                        </div>
+                        <button class="prompt-toggle-btn" onclick="togglePrompt('prompt-step-2-2')">显示 Prompt</button>
+                        <div class="prompt-content" id="prompt-step-2-2">你是一个API调用专家。你的任务是根据已经选择的工具及使用方法信息生成正确的调用参数。
+
+选择的工具调用ID:
+new_red_hot_search_words_search
+选择的工具使用方法:
+输入关键词&quot;花艺造型蛋糕&quot;,获取该词在小红书的热度值、近90天趋势曲线、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词),以此评估其作为选题点的潜力与创作方向。
+
+所有的工具参数定义:
+{
+    &quot;name&quot;: &quot;新红热搜词搜索&quot;,
+    &quot;description&quot;: &quot;提供小红书热搜词深度检索与趋势分析服务,输入关键词即可获取全维度数据表现:核心包含热度值(实时动态更新)、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词)、近 90 天热度值趋势曲线(支持自定义时间区间)、相关搜索结果。可直观呈现关键词种草趋势、流量峰值时段、高转化内容特征,帮助用户优化笔记标题关键词布局、预判话题生命周期。&quot;,
+    &quot;inputSchema&quot;: {
+        &quot;type&quot;: &quot;object&quot;,
+        &quot;properties&quot;: {
+            &quot;prompt&quot;: {
+                &quot;type&quot;: &quot;string&quot;,
+                &quot;description&quot;: &quot;用户使用方法,包括输入的关键词&quot;
+            }
+        },
+        &quot;required&quot;: [
+            &quot;prompt&quot;
+        ]
+    }
+}
+
+请分析工具的参数要求,根据查询内容提取或推断出合适的参数值。
+
+输出格式:请以 JSON 格式输出参数字典,例如:
+{
+    &quot;param1&quot;: &quot;value1&quot;,
+    &quot;param2&quot;: &quot;value2&quot;
+}
+
+注意事项:
+1. 只输出参数的JSON字典,不要包含任何解释
+2. 参数名必须与工具定义中的参数名完全一致
+3. 参数值要从查询中提取或合理推断
+4. 不要添加工具定义中没有的参数
+5. 如果某个参数无法从查询中获取,使用合理的默认值或省略该参数
+
+只输出JSON,不要包含markdown标记。</div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-2-3">
+                    <div class="step-header" onclick="toggleStep('step-2-3')">
+                        <div class="step-title">
+                            <span class="step-number">4</span>
+                            <span class="step-name">执行工具</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-2-3">
+                        <div class="step-detail">
+                            <span class="step-detail-label">执行结果:</span>
+                            <div class="step-detail-content json-content">## &quot;花艺造型蛋糕&quot;关键词数据分析结果
+
+**关键词**: 花艺造型蛋糕
+
+**平台**: 小红书
+
+**主要发现**:
+1. **热度值**: 该关键词未达到小红书热搜榜单的门槛,无法获取具体的热度值数据
+2. **趋势曲线**: 由于未上榜,近90天的趋势曲线数据不可用
+3. **声量概览**:
+   - 笔记数: 数据不可用(未达到展示门槛)
+   - 总热度: 数据不可用(未达到展示门槛)
+   - 热门天数: 数据不可用(未达到展示门槛)
+   - 热门内容领域: 数据不可用(未达到展示门槛)
+   - 高频搭配词: 数据不可用(未达到展示门槛)
+
+**选题潜力评估**:
+- **热度水平**: 较低。该关键词在小红书平台上的讨论度和关注度不足以进入热搜榜单
+- **创作方向建议**:
+  1. 考虑使用更热门的相关关键词,如&quot;蛋糕&quot;、&quot;花艺&quot;、&quot;甜品&quot;等单独词汇
+  2. 或者尝试组合其他热门元素,如&quot;ins风花艺蛋糕&quot;、&quot;网红花艺蛋糕&quot;等
+  3. 可以关注页面推荐的热门热搜词,如&quot;美食VLOG&quot;、&quot;美食制作&quot;等,将花艺蛋糕内容融入这些热门话题中
+
+**建议**:
+由于&quot;花艺造型蛋糕&quot;关键词热度较低,建议调整选题策略:
+1. 扩大关键词范围,使用更通用的词汇
+2. 关注相关但更热门的话题标签
+3. 结合当前热门趋势(如页面显示的&quot;美食VLOG&quot;、&quot;美食制作&quot;等)来包装花艺蛋糕内容
+
+这个结果表明,虽然花艺造型蛋糕可能是一个有创意的内容方向,但在小红书平台上目前的热度不足以支撑作为独立的热门选题点.</div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="output-section">
+                <h3>最终输出</h3>
+                <div class="step-detail-content json-content">## &quot;花艺造型蛋糕&quot;关键词数据分析结果
+
+**关键词**: 花艺造型蛋糕
+
+**平台**: 小红书
+
+**主要发现**:
+1. **热度值**: 该关键词未达到小红书热搜榜单的门槛,无法获取具体的热度值数据
+2. **趋势曲线**: 由于未上榜,近90天的趋势曲线数据不可用
+3. **声量概览**:
+   - 笔记数: 数据不可用(未达到展示门槛)
+   - 总热度: 数据不可用(未达到展示门槛)
+   - 热门天数: 数据不可用(未达到展示门槛)
+   - 热门内容领域: 数据不可用(未达到展示门槛)
+   - 高频搭配词: 数据不可用(未达到展示门槛)
+
+**选题潜力评估**:
+- **热度水平**: 较低。该关键词在小红书平台上的讨论度和关注度不足以进入热搜榜单
+- **创作方向建议**:
+  1. 考虑使用更热门的相关关键词,如&quot;蛋糕&quot;、&quot;花艺&quot;、&quot;甜品&quot;等单独词汇
+  2. 或者尝试组合其他热门元素,如&quot;ins风花艺蛋糕&quot;、&quot;网红花艺蛋糕&quot;等
+  3. 可以关注页面推荐的热门热搜词,如&quot;美食VLOG&quot;、&quot;美食制作&quot;等,将花艺蛋糕内容融入这些热门话题中
+
+**建议**:
+由于&quot;花艺造型蛋糕&quot;关键词热度较低,建议调整选题策略:
+1. 扩大关键词范围,使用更通用的词汇
+2. 关注相关但更热门的话题标签
+3. 结合当前热门趋势(如页面显示的&quot;美食VLOG&quot;、&quot;美食制作&quot;等)来包装花艺蛋糕内容
+
+这个结果表明,虽然花艺造型蛋糕可能是一个有创意的内容方向,但在小红书平台上目前的热度不足以支撑作为独立的热门选题点.</div>
+            </div>
+        </div>
+    </div>
+    
+    <script>
+        function switchTab(index) {
+            // 隐藏所有tab内容
+            const contents = document.querySelectorAll('.tab-content');
+            contents.forEach(content => content.classList.remove('active'));
+            
+            // 移除所有tab的active状态
+            const tabs = document.querySelectorAll('.tab');
+            tabs.forEach(tab => tab.classList.remove('active'));
+            
+            // 显示选中的tab内容
+            document.getElementById('tab-' + index).classList.add('active');
+            tabs[index].classList.add('active');
+        }
+        
+        function toggleStep(stepId) {
+            const step = document.getElementById(stepId);
+            const content = document.getElementById('content-' + stepId);
+            const toggle = step.querySelector('.step-toggle');
+            
+            if (content.classList.contains('expanded')) {
+                content.classList.remove('expanded');
+                toggle.classList.remove('expanded');
+                step.classList.remove('active');
+            } else {
+                content.classList.add('expanded');
+                toggle.classList.add('expanded');
+                step.classList.add('active');
+            }
+        }
+        
+        function togglePrompt(promptId) {
+            const promptContent = document.getElementById(promptId);
+            const btn = promptContent.previousElementSibling;
+            
+            if (promptContent.classList.contains('show')) {
+                promptContent.classList.remove('show');
+                btn.textContent = '显示 Prompt';
+            } else {
+                promptContent.classList.add('show');
+                btn.textContent = '隐藏 Prompt';
+            }
+        }
+        
+        // 页面加载时高亮第一个步骤
+        window.addEventListener('load', function() {
+            const firstSteps = document.querySelectorAll('.workflow-step');
+            firstSteps.forEach((step, index) => {
+                if (index === 0 || index % (firstSteps.length / document.querySelectorAll('.tab-content').length) === 0) {
+                    step.classList.add('active');
+                    const content = step.querySelector('.step-content');
+                    const toggle = step.querySelector('.step-toggle');
+                    if (content) {
+                        content.classList.add('expanded');
+                        toggle.classList.add('expanded');
+                    }
+                }
+            });
+        });
+    </script>
+</body>
+</html>

+ 1645 - 0
knowledge_v2/visualization/workflow_visualization_20251205_153231.html

@@ -0,0 +1,1645 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>知识获取工作流可视化</title>
+    <style>
+        * {
+            margin: 0;
+            padding: 0;
+            box-sizing: border-box;
+        }
+        
+        body {
+            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
+            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+            color: #333;
+            line-height: 1.6;
+            min-height: 100vh;
+        }
+        
+        .container {
+            max-width: 1400px;
+            margin: 0 auto;
+            padding: 30px 20px;
+        }
+        
+        h1 {
+            text-align: center;
+            color: white;
+            margin-bottom: 40px;
+            font-size: 32px;
+            font-weight: 600;
+            text-shadow: 0 2px 10px rgba(0,0,0,0.2);
+            letter-spacing: 1px;
+        }
+        
+        .tabs {
+            display: flex;
+            background: white;
+            border-radius: 12px 12px 0 0;
+            box-shadow: 0 4px 20px rgba(0,0,0,0.15);
+            overflow-x: auto;
+            padding: 5px;
+        }
+        
+        .tab {
+            padding: 16px 28px;
+            cursor: pointer;
+            border: none;
+            background: transparent;
+            color: #666;
+            font-size: 14px;
+            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+            white-space: nowrap;
+            border-radius: 8px;
+            margin: 0 4px;
+            position: relative;
+            font-weight: 500;
+        }
+        
+        .tab:hover {
+            background: #f0f0f0;
+            color: #333;
+        }
+        
+        .tab.active {
+            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+            color: white;
+            box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
+        }
+        
+        .tab-content {
+            display: none;
+            background: white;
+            padding: 40px;
+            border-radius: 0 0 12px 12px;
+            box-shadow: 0 4px 20px rgba(0,0,0,0.15);
+            margin-bottom: 20px;
+            animation: fadeIn 0.3s ease-in;
+        }
+        
+        @keyframes fadeIn {
+            from { opacity: 0; transform: translateY(10px); }
+            to { opacity: 1; transform: translateY(0); }
+        }
+        
+        .tab-content.active {
+            display: block;
+        }
+        
+        .input-section {
+            background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
+            padding: 28px;
+            border-radius: 12px;
+            margin-bottom: 35px;
+            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
+            border: 1px solid rgba(255,255,255,0.5);
+        }
+        
+        .input-section h3 {
+            color: #2c3e50;
+            margin-bottom: 20px;
+            font-size: 20px;
+            font-weight: 600;
+            display: flex;
+            align-items: center;
+            gap: 10px;
+        }
+        
+        .input-section h3::before {
+            content: '📋';
+            font-size: 24px;
+        }
+        
+        .input-item {
+            margin-bottom: 16px;
+            padding: 12px;
+            background: rgba(255,255,255,0.7);
+            border-radius: 8px;
+            transition: all 0.3s;
+        }
+        
+        .input-item:hover {
+            background: rgba(255,255,255,0.9);
+            transform: translateX(5px);
+        }
+        
+        .input-item strong {
+            color: #495057;
+            display: inline-block;
+            width: 110px;
+            font-weight: 600;
+        }
+        
+        .input-item .placeholder {
+            color: #999;
+            font-style: italic;
+        }
+        
+        .workflow {
+            position: relative;
+        }
+        
+        .workflow-step {
+            background: white;
+            border: 2px solid #e0e0e0;
+            border-radius: 12px;
+            margin-bottom: 25px;
+            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+            overflow: hidden;
+            box-shadow: 0 2px 8px rgba(0,0,0,0.08);
+        }
+        
+        .workflow-step.active {
+            border-color: #667eea;
+            box-shadow: 0 8px 24px rgba(102, 126, 234, 0.25);
+            transform: translateY(-2px);
+        }
+        
+        .step-header {
+            padding: 20px 24px;
+            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
+            cursor: pointer;
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            user-select: none;
+            transition: all 0.3s;
+        }
+        
+        .step-header:hover {
+            background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
+        }
+        
+        .workflow-step.active .step-header {
+            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+            color: white;
+        }
+        
+        .workflow-step.active .step-name {
+            color: white;
+        }
+        
+        .workflow-step.active .step-toggle {
+            color: white;
+        }
+        
+        .step-title {
+            display: flex;
+            align-items: center;
+            gap: 15px;
+        }
+        
+        .step-number {
+            display: inline-flex;
+            align-items: center;
+            justify-content: center;
+            width: 36px;
+            height: 36px;
+            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+            color: white;
+            border-radius: 50%;
+            font-size: 16px;
+            font-weight: bold;
+            box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
+        }
+        
+        .workflow-step.active .step-number {
+            background: white;
+            color: #667eea;
+            box-shadow: 0 4px 12px rgba(255,255,255,0.3);
+        }
+        
+        .step-name {
+            font-size: 18px;
+            font-weight: 600;
+            color: #2c3e50;
+        }
+        
+        .step-toggle {
+            color: #6c757d;
+            font-size: 20px;
+            transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+        }
+        
+        .step-toggle.expanded {
+            transform: rotate(180deg);
+        }
+        
+        .step-content {
+            padding: 0 20px;
+            max-height: 0;
+            overflow: hidden;
+            transition: max-height 0.3s ease-out, padding 0.3s;
+        }
+        
+        .step-content.expanded {
+            max-height: 5000px;
+            padding: 20px;
+        }
+        
+        .step-detail {
+            margin-bottom: 20px;
+        }
+        
+        .step-detail-label {
+            font-weight: 600;
+            color: #495057;
+            margin-bottom: 10px;
+            display: block;
+            font-size: 14px;
+            text-transform: uppercase;
+            letter-spacing: 0.5px;
+        }
+        
+        .step-detail-content {
+            background: #f8f9fa;
+            padding: 16px;
+            border-radius: 8px;
+            border-left: 4px solid #667eea;
+            font-size: 14px;
+            line-height: 1.8;
+            white-space: pre-wrap;
+            word-wrap: break-word;
+            max-height: 400px;
+            overflow-y: auto;
+            box-shadow: 0 2px 8px rgba(0,0,0,0.05);
+        }
+        
+        .json-content {
+            font-family: 'SF Mono', 'Monaco', 'Courier New', monospace;
+            background: #1e1e1e;
+            color: #d4d4d4;
+            padding: 20px;
+            border-radius: 8px;
+            overflow-x: auto;
+            border-left: 4px solid #667eea;
+            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
+        }
+        
+        .prompt-toggle-btn {
+            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+            color: white;
+            border: none;
+            padding: 10px 20px;
+            border-radius: 6px;
+            cursor: pointer;
+            font-size: 13px;
+            font-weight: 500;
+            margin-top: 15px;
+            transition: all 0.3s;
+            box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
+        }
+        
+        .prompt-toggle-btn:hover {
+            transform: translateY(-2px);
+            box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
+        }
+        
+        .prompt-content {
+            display: none;
+            margin-top: 15px;
+            padding: 16px;
+            background: #fff3cd;
+            border-radius: 8px;
+            border-left: 4px solid #ffc107;
+            font-size: 13px;
+            line-height: 1.8;
+            white-space: pre-wrap;
+            word-wrap: break-word;
+            max-height: 500px;
+            overflow-y: auto;
+        }
+        
+        .prompt-content.show {
+            display: block;
+            animation: slideDown 0.3s ease-out;
+        }
+        
+        @keyframes slideDown {
+            from {
+                opacity: 0;
+                max-height: 0;
+            }
+            to {
+                opacity: 1;
+                max-height: 500px;
+            }
+        }
+        
+        .output-section {
+            background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);
+            padding: 28px;
+            border-radius: 12px;
+            margin-top: 35px;
+            border-left: 4px solid #0ea5e9;
+            box-shadow: 0 4px 15px rgba(14, 165, 233, 0.2);
+        }
+        
+        .output-section h3 {
+            color: #0369a1;
+            margin-bottom: 20px;
+            font-size: 20px;
+            font-weight: 600;
+            display: flex;
+            align-items: center;
+            gap: 10px;
+        }
+        
+        .output-section h3::before {
+            content: '✨';
+            font-size: 24px;
+        }
+        
+        .arrow {
+            text-align: center;
+            color: #667eea;
+            font-size: 32px;
+            margin: -15px 0;
+            position: relative;
+            z-index: 1;
+            filter: drop-shadow(0 2px 4px rgba(102, 126, 234, 0.3));
+        }
+        
+        .arrow::before {
+            content: '↓';
+        }
+        
+        @media (max-width: 768px) {
+            .container {
+                padding: 10px;
+            }
+            
+            .tab {
+                padding: 12px 15px;
+                font-size: 13px;
+            }
+            
+            .tab-content {
+                padding: 20px;
+            }
+        }
+    </style>
+</head>
+<body>
+    <div class="container">
+        <h1>知识获取工作流可视化</h1>
+        <div class="tabs" id="tabs">
+            <button class="tab active" onclick="switchTab(0)">教资查分这个选题点怎么来的</button>
+            <button class="tab " onclick="switchTab(1)">女儿的生日派对这个选题点怎么来的</button>
+            <button class="tab " onclick="switchTab(2)">花艺造型蛋糕这个选题点怎么来的</button>
+        </div>
+        <div class="tab-content active" id="tab-0">
+            <div class="input-section">
+                <h3>输入信息</h3>
+                <div class="input-item"><strong>问题:</strong> 教资查分这个选题点怎么来的</div>
+                <div class="input-item"><strong>帖子信息:</strong> 发帖时间:2025.11.07</div>
+                <div class="input-item"><strong>人设信息:</strong> <span class="placeholder">(无)</span></div>
+            </div>
+            <div class="workflow">
+                <div class="workflow-step" id="step-0-0">
+                    <div class="step-header" onclick="toggleStep('step-0-0')">
+                        <div class="step-title">
+                            <span class="step-number">1</span>
+                            <span class="step-name">生成查询</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-0-0">
+                        <div class="step-detail">
+                            <span class="step-detail-label">生成的Query:</span>
+                            <div class="step-detail-content">用什么工具获取 教资查分这个选题点</div>
+                        </div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-0-1">
+                    <div class="step-header" onclick="toggleStep('step-0-1')">
+                        <div class="step-title">
+                            <span class="step-number">2</span>
+                            <span class="step-name">选择工具</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-0-1">
+                        <div class="step-detail">
+                            <span class="step-detail-label">工具名称:</span>
+                            <div class="step-detail-content">新红热搜词搜索</div>
+                        </div>
+                        <div class="step-detail">
+                            <span class="step-detail-label">工具调用ID:</span>
+                            <div class="step-detail-content">new_red_hot_search_words_search</div>
+                        </div>
+                        <div class="step-detail">
+                            <span class="step-detail-label">使用方法:</span>
+                            <div class="step-detail-content">输入关键词&quot;教资查分&quot;,获取该词在小红书的热度值、声量概览及近90天热度值趋势曲线,以评估其作为选题点的流量潜力和趋势。</div>
+                        </div>
+                        <button class="prompt-toggle-btn" onclick="togglePrompt('prompt-step-0-1')">显示 Prompt</button>
+                        <div class="prompt-content" id="prompt-step-0-1"># 角色定位
+你是一个工具匹配专家,负责根据用户需求从MCP工具库中找到最合适的工具。
+
+# 核心任务
+1. 接收上游传入的需求用什么工具获取 教资查分这个选题点
+2. 理解需求的核心意图(用户想找什么、解决什么问题)
+3. **判断需求内容是否在工具覆盖范围内**
+4. 查询MCP工具库,匹配最相关的工具
+5. 返回工具信息或&quot;无工具&quot;
+
+# MCP工具库信息
+
+工具名:新红话题榜单
+工具调用ID:xh_newrank_hottopics
+工具介绍:提供小红书平台热门话题全景榜单数据,覆盖排名、话题名称及核心简介、参与人数增量、浏览量增量、笔记增量、互动增量(点赞 / 收藏 / 评论综合统计)等核心维度。支持精准筛选与高效应用。话题类型涵盖美妆,美容个护,鞋包潮玩,穿搭打扮,美食,母婴育儿,旅游出行,家居家装,教育,生活,运动健身,兴趣爱好,影视综,婚嫁,摄影摄像,萌宠,情感星座,科技互联网,资讯,健康养生,科学科普,职场,交通工具,其他 24 个垂直领域,统计时间可选择日榜(近 7 天)、周榜(近 4 周)、月榜(近 5 个月),满足不同周期的热点追踪需求。榜单数据实时更新,同步呈现官方流量扶持话题标识,助力品牌、达人快速锁定高曝光赛道;便于拆解爆款逻辑、制定内容选题策略,提升运营效率。
+
+工具名:新红话题搜索
+工具调用ID:new_red_TopicSearch
+工具介绍:提供小红书平台话题精准检索服务,输入关键词即可匹配相关话题完整列表,核心数据包含话题名称及简介、总浏览量、总参与人数、近 30 天笔记增量、近 30 天互动增量。支持按参与人数、浏览量等指标排序筛选,可精准定位品牌发起话题或官方扶持话题,清晰展示话题流量趋势与内容创作方向。无论是达人寻找高适配性话题蹭流,还是品牌监测竞品话题布局,均能通过数据支撑快速决策,降低内容试错成本。
+
+工具名:新红热搜词榜单
+工具调用ID:xh_newrank_hotwords
+工具介绍:提供小红书平台热搜词权威榜单数据,核心维度包括实时排名、热搜词、主要覆盖内容领域、相关笔记总量、爆文数(高互动笔记占比)、热度值(综合搜索量与互动率计算)。支持按统计时间(日榜 / 周榜 / 月榜)及 美妆,美容个护,鞋包潮玩,穿搭打扮,美食,母婴育儿,旅游出行,家居家装,教育,生活,运动健身,兴趣爱好,影视综,婚嫁,摄影摄像,萌宠,情感星座,科技互联网,资讯,健康养生,科学科普,职场,交通工具,其他 24 个垂直内容领域筛选。榜单每日更新,助力用户第一时间捕捉流量风口。可直接应用于选题规划、竞品投放策略分析。
+
+工具名:新红热搜词搜索
+工具调用ID:new_red_hot_search_words_search
+工具介绍:提供小红书热搜词深度检索与趋势分析服务,输入关键词即可获取全维度数据表现:核心包含热度值(实时动态更新)、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词)、近 90 天热度值趋势曲线(支持自定义时间区间)、相关搜索结果。可直观呈现关键词种草趋势、流量峰值时段、高转化内容特征,帮助用户优化笔记标题关键词布局、预判话题生命周期。
+
+# 匹配规则
+
+## 匹配逻辑(按顺序执行)
+
+### 第一步:需求本质识别
+理解需求背后的真实意图:
+- 示例:&quot;谐音梗这个选题灵感怎么来的&quot; → 真实意图是&quot;寻找热门选题的来源/方法&quot;
+- 示例:&quot;女儿生日派对这个选题点怎么来的&quot; → 真实意图是&quot;寻找选题的灵感来源&quot;
+- 不关注具体关键词,而关注用户想解决什么问题
+
+### 第二步:内容适用性判断(关键!)
+用什么工具能寻找到来源方法
+**在匹配工具前,必须先判断选题内容是否在工具覆盖范围内**
+
+#### 热搜词工具适用的内容类型:
+- ✅ **大众话题**:教资查分、高考、春节、双十一等
+- ✅ **社会热点**:政策变化、明星事件、流行趋势
+- ✅ **行业热点**:美妆新品、穿搭流行、热门景点
+- ✅ **周期性事件**:节日、考试、季节性话题
+- ✅ **群体性关注**:大多数人都可能关注的话题
+
+#### 热搜词工具不适用的内容类型:
+- ❌ **个人化场景**:我的生日、女儿生日派对、我的婚礼
+- ❌ **私人事件**:家庭聚会、个人旅行、朋友聚餐
+- ❌ **特定个体**:某个具体的人、某个具体的宠物、某个具体的家庭
+- ❌ **小众话题**:极少数人关注的专业话题
+- ❌ **虚构内容**:不存在的事件、假设的场景
+
+**判断标准**:
+- 这个选题是否有可能出现在小红书热搜榜上?
+- 这个选题是否是大众普遍关注的?
+- 这个选题是否具有&quot;群体性&quot;而非&quot;个体性&quot;?
+
+**如果内容不在适用范围,直接返回&quot;无工具&quot;,不再继续匹配。**
+
+### 第三步:需求类型分类
+判断需求属于哪种类型:
+- 寻找灵感/选题来源 → 需要热搜词/榜单类工具
+- 分析特定词的热度/趋势 → 需要趋势分析类工具
+- 寻找内容案例/参考 → 需要内容搜索/爬取类工具
+- 生成创意内容 → 需要大模型/AI生成类工具
+
+### 第四步:工具能力匹配
+根据需求类型,对比工具的核心能力:
+- 工具能否解决该类型的问题(如&quot;提供热门选题&quot;)
+
+### 第五步:选择最优工具
+返回能力最匹配的1个工具,无匹配则返回&quot;无工具&quot;
+
+## 匹配标准
+- 功能匹配:工具能力是否覆盖需求要解决的问题
+
+
+## 无匹配判定
+当满足以下任一条件时,返回&quot;无工具&quot;:
+1. 需求内容不在工具覆盖范围内(如非常个人化场景)
+2. MCP工具库中没有工具能解决该需求
+3. 需求涉及的领域完全不在工具库范围
+
+# 输出格式
+json格式,字段定义如下:
+&#39;&#39;&#39;json
+{
+    &quot;工具名&quot;: &quot;工具名称&quot;,
+    &quot;工具调用ID&quot;: &quot;调用ID&quot;,
+    &quot;使用方法&quot;: &quot;简要说明如何使用该工具解决用户需求&quot;
+}
+&#39;&#39;&#39;
+
+## 无匹配时
+&#39;&#39;&#39;json
+{
+
+}
+&#39;&#39;&#39;
+
+# 执行要求
+1. **必须先执行&quot;内容适用性判断&quot;**,再进行工具匹配
+2. 只返回1个最优工具,不返回多个备选
+3. 严格按照输出格式返回结果
+4. 使用方法要具体,说明如何用该工具解决当前需求
+
+# 示例
+
+## 示例1:成功匹配
+需求输入:什么工具能找到教资查分这个灵感点?
+
+输出:
+工具名:新红热搜词搜索
+工具调用ID:new_red_hot_search_words_search
+使用方法:输入关键词&quot;教资查分&quot;,获取该词在小红书的热度值、近90天趋势曲线、相关笔记数据,判断是否为热门选题点。
+{
+    &quot;工具名&quot;: &quot;新红热搜词搜索&quot;,
+    &quot;工具调用ID&quot;: &quot;工具调用ID:new_red_hot_search_words_search&quot;,
+    &quot;使用方法&quot;: &quot;输入关键词&quot;教资查分&quot;,获取该词在小红书的热度值、近90天趋势曲线、相关笔记数据,判断是否为热门选题点。&quot;
+}
+
+## 示例2:无匹配
+需求输入:哪里可以找到股票实时行情数据?
+
+输出:
+{
+
+}
+
+# 上游输入的需求用什么工具获取 教资查分这个选题点
+{用什么工具获取 教资查分这个选题点}</div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-0-2">
+                    <div class="step-header" onclick="toggleStep('step-0-2')">
+                        <div class="step-title">
+                            <span class="step-number">3</span>
+                            <span class="step-name">提取参数</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-0-2">
+                        <div class="step-detail">
+                            <span class="step-detail-label">提取的参数:</span>
+                            <div class="step-detail-content json-content">{
+  &quot;prompt&quot;: &quot;输入关键词\&quot;教资查分\&quot;,获取该词在小红书的热度值、近90天热度值趋势曲线、声量概览及相关搜索结果,从而判断其作为选题点的热度和趋势,辅助选题决策。&quot;
+}</div>
+                        </div>
+                        <button class="prompt-toggle-btn" onclick="togglePrompt('prompt-step-0-2')">显示 Prompt</button>
+                        <div class="prompt-content" id="prompt-step-0-2">你是一个API调用专家。你的任务是根据已经选择的工具及使用方法信息生成正确的调用参数。
+
+选择的工具调用ID:
+new_red_hot_search_words_search
+选择的工具使用方法:
+输入关键词&quot;教资查分&quot;,获取该词在小红书的热度值、近90天热度值趋势曲线、声量概览及相关搜索结果,从而判断其作为选题点的热度和趋势,辅助选题决策。
+
+所有的工具参数定义:
+{
+    &quot;name&quot;: &quot;新红热搜词搜索&quot;,
+    &quot;description&quot;: &quot;提供小红书热搜词深度检索与趋势分析服务,输入关键词即可获取全维度数据表现:核心包含热度值(实时动态更新)、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词)、近 90 天热度值趋势曲线(支持自定义时间区间)、相关搜索结果。可直观呈现关键词种草趋势、流量峰值时段、高转化内容特征,帮助用户优化笔记标题关键词布局、预判话题生命周期。&quot;,
+    &quot;inputSchema&quot;: {
+        &quot;type&quot;: &quot;object&quot;,
+        &quot;properties&quot;: {
+            &quot;prompt&quot;: {
+                &quot;type&quot;: &quot;string&quot;,
+                &quot;description&quot;: &quot;用户使用方法,包括输入的关键词&quot;
+            }
+        },
+        &quot;required&quot;: [
+            &quot;prompt&quot;
+        ]
+    }
+}
+
+请分析工具的参数要求,根据查询内容提取或推断出合适的参数值。
+
+输出格式:请以 JSON 格式输出参数字典,例如:
+{
+    &quot;param1&quot;: &quot;value1&quot;,
+    &quot;param2&quot;: &quot;value2&quot;
+}
+
+注意事项:
+1. 只输出参数的JSON字典,不要包含任何解释
+2. 参数名必须与工具定义中的参数名完全一致
+3. 参数值要从查询中提取或合理推断
+4. 不要添加工具定义中没有的参数
+5. 如果某个参数无法从查询中获取,使用合理的默认值或省略该参数
+
+只输出JSON,不要包含markdown标记。</div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-0-3">
+                    <div class="step-header" onclick="toggleStep('step-0-3')">
+                        <div class="step-title">
+                            <span class="step-number">4</span>
+                            <span class="step-name">执行工具</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-0-3">
+                        <div class="step-detail">
+                            <span class="step-detail-label">执行结果:</span>
+                            <div class="step-detail-content json-content">## &quot;教资查分&quot;关键词数据表现和趋势分析
+
+### 热度值
+- 近30天热度值超过96.14%全站其他词
+- 近30天热度值超过95.86%教育领域其他词
+
+### 声量概览
+- **笔记数**: 16篇(环比增长700.00%)
+- **总热度**: 4082(环比增长408100.00%)
+- **热门天数**: 4/30天
+- **近30天热门内容领域**:
+  - 教育: 56.25%
+  - 职场: 31.25%
+  - 运动健身: 6.25%
+- **高频搭配词**: 暂无相关数据
+
+### 热度值趋势
+- **整体趋势**: 下降趋势
+- **效果分析**:
+  - TOP1下降趋势: 2025-11-07 至 2025-11-08
+  - TOP2下降趋势: 2025-11-04 至 2025-11-05
+
+### 相关搜索结果
+- 共1条搜索结果
+- 内容领域分布: 教育、职场等领域为主
+
+从数据可以看出,&quot;教资查分&quot;这个关键词在近期有显著的热度增长,但目前呈现下降趋势。该关键词主要与教育和职场领域相关,这符合教师资格证查询分数的实际应用场景。虽然笔记数量不多(16篇),但环比增长非常高,表明这是一个短期内突然受到关注的话题。</div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="output-section">
+                <h3>最终输出</h3>
+                <div class="step-detail-content json-content">## &quot;教资查分&quot;关键词数据表现和趋势分析
+
+### 热度值
+- 近30天热度值超过96.14%全站其他词
+- 近30天热度值超过95.86%教育领域其他词
+
+### 声量概览
+- **笔记数**: 16篇(环比增长700.00%)
+- **总热度**: 4082(环比增长408100.00%)
+- **热门天数**: 4/30天
+- **近30天热门内容领域**:
+  - 教育: 56.25%
+  - 职场: 31.25%
+  - 运动健身: 6.25%
+- **高频搭配词**: 暂无相关数据
+
+### 热度值趋势
+- **整体趋势**: 下降趋势
+- **效果分析**:
+  - TOP1下降趋势: 2025-11-07 至 2025-11-08
+  - TOP2下降趋势: 2025-11-04 至 2025-11-05
+
+### 相关搜索结果
+- 共1条搜索结果
+- 内容领域分布: 教育、职场等领域为主
+
+从数据可以看出,&quot;教资查分&quot;这个关键词在近期有显著的热度增长,但目前呈现下降趋势。该关键词主要与教育和职场领域相关,这符合教师资格证查询分数的实际应用场景。虽然笔记数量不多(16篇),但环比增长非常高,表明这是一个短期内突然受到关注的话题。</div>
+            </div>
+        </div>
+        <div class="tab-content " id="tab-1">
+            <div class="input-section">
+                <h3>输入信息</h3>
+                <div class="input-item"><strong>问题:</strong> 女儿的生日派对这个选题点怎么来的</div>
+                <div class="input-item"><strong>帖子信息:</strong> 发帖时间:2025-09-16</div>
+                <div class="input-item"><strong>人设信息:</strong> <span class="placeholder">(无)</span></div>
+            </div>
+            <div class="workflow">
+                <div class="workflow-step" id="step-1-0">
+                    <div class="step-header" onclick="toggleStep('step-1-0')">
+                        <div class="step-title">
+                            <span class="step-number">1</span>
+                            <span class="step-name">生成查询</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-1-0">
+                        <div class="step-detail">
+                            <span class="step-detail-label">生成的Query:</span>
+                            <div class="step-detail-content">用什么工具获取女儿的生日派对这个选题点 query</div>
+                        </div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-1-1">
+                    <div class="step-header" onclick="toggleStep('step-1-1')">
+                        <div class="step-title">
+                            <span class="step-number">2</span>
+                            <span class="step-name">选择工具</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-1-1">
+                        <div class="step-detail">
+                            <span class="step-detail-label">选择结果:</span>
+                            <div class="step-detail-content" style="color: #dc3545; font-weight: 500;">无匹配工具</div>
+                        </div>
+                        <button class="prompt-toggle-btn" onclick="togglePrompt('prompt-step-1-1')">显示 Prompt</button>
+                        <div class="prompt-content" id="prompt-step-1-1"># 角色定位
+你是一个工具匹配专家,负责根据用户需求从MCP工具库中找到最合适的工具。
+
+# 核心任务
+1. 接收上游传入的需求用什么工具获取女儿的生日派对这个选题点 query
+2. 理解需求的核心意图(用户想找什么、解决什么问题)
+3. **判断需求内容是否在工具覆盖范围内**
+4. 查询MCP工具库,匹配最相关的工具
+5. 返回工具信息或&quot;无工具&quot;
+
+# MCP工具库信息
+
+工具名:新红话题榜单
+工具调用ID:xh_newrank_hottopics
+工具介绍:提供小红书平台热门话题全景榜单数据,覆盖排名、话题名称及核心简介、参与人数增量、浏览量增量、笔记增量、互动增量(点赞 / 收藏 / 评论综合统计)等核心维度。支持精准筛选与高效应用。话题类型涵盖美妆,美容个护,鞋包潮玩,穿搭打扮,美食,母婴育儿,旅游出行,家居家装,教育,生活,运动健身,兴趣爱好,影视综,婚嫁,摄影摄像,萌宠,情感星座,科技互联网,资讯,健康养生,科学科普,职场,交通工具,其他 24 个垂直领域,统计时间可选择日榜(近 7 天)、周榜(近 4 周)、月榜(近 5 个月),满足不同周期的热点追踪需求。榜单数据实时更新,同步呈现官方流量扶持话题标识,助力品牌、达人快速锁定高曝光赛道;便于拆解爆款逻辑、制定内容选题策略,提升运营效率。
+
+工具名:新红话题搜索
+工具调用ID:new_red_TopicSearch
+工具介绍:提供小红书平台话题精准检索服务,输入关键词即可匹配相关话题完整列表,核心数据包含话题名称及简介、总浏览量、总参与人数、近 30 天笔记增量、近 30 天互动增量。支持按参与人数、浏览量等指标排序筛选,可精准定位品牌发起话题或官方扶持话题,清晰展示话题流量趋势与内容创作方向。无论是达人寻找高适配性话题蹭流,还是品牌监测竞品话题布局,均能通过数据支撑快速决策,降低内容试错成本。
+
+工具名:新红热搜词榜单
+工具调用ID:xh_newrank_hotwords
+工具介绍:提供小红书平台热搜词权威榜单数据,核心维度包括实时排名、热搜词、主要覆盖内容领域、相关笔记总量、爆文数(高互动笔记占比)、热度值(综合搜索量与互动率计算)。支持按统计时间(日榜 / 周榜 / 月榜)及 美妆,美容个护,鞋包潮玩,穿搭打扮,美食,母婴育儿,旅游出行,家居家装,教育,生活,运动健身,兴趣爱好,影视综,婚嫁,摄影摄像,萌宠,情感星座,科技互联网,资讯,健康养生,科学科普,职场,交通工具,其他 24 个垂直内容领域筛选。榜单每日更新,助力用户第一时间捕捉流量风口。可直接应用于选题规划、竞品投放策略分析。
+
+工具名:新红热搜词搜索
+工具调用ID:new_red_hot_search_words_search
+工具介绍:提供小红书热搜词深度检索与趋势分析服务,输入关键词即可获取全维度数据表现:核心包含热度值(实时动态更新)、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词)、近 90 天热度值趋势曲线(支持自定义时间区间)、相关搜索结果。可直观呈现关键词种草趋势、流量峰值时段、高转化内容特征,帮助用户优化笔记标题关键词布局、预判话题生命周期。
+
+# 匹配规则
+
+## 匹配逻辑(按顺序执行)
+
+### 第一步:需求本质识别
+理解需求背后的真实意图:
+- 示例:&quot;谐音梗这个选题灵感怎么来的&quot; → 真实意图是&quot;寻找热门选题的来源/方法&quot;
+- 示例:&quot;女儿生日派对这个选题点怎么来的&quot; → 真实意图是&quot;寻找选题的灵感来源&quot;
+- 不关注具体关键词,而关注用户想解决什么问题
+
+### 第二步:内容适用性判断(关键!)
+用什么工具能寻找到来源方法
+**在匹配工具前,必须先判断选题内容是否在工具覆盖范围内**
+
+#### 热搜词工具适用的内容类型:
+- ✅ **大众话题**:教资查分、高考、春节、双十一等
+- ✅ **社会热点**:政策变化、明星事件、流行趋势
+- ✅ **行业热点**:美妆新品、穿搭流行、热门景点
+- ✅ **周期性事件**:节日、考试、季节性话题
+- ✅ **群体性关注**:大多数人都可能关注的话题
+
+#### 热搜词工具不适用的内容类型:
+- ❌ **个人化场景**:我的生日、女儿生日派对、我的婚礼
+- ❌ **私人事件**:家庭聚会、个人旅行、朋友聚餐
+- ❌ **特定个体**:某个具体的人、某个具体的宠物、某个具体的家庭
+- ❌ **小众话题**:极少数人关注的专业话题
+- ❌ **虚构内容**:不存在的事件、假设的场景
+
+**判断标准**:
+- 这个选题是否有可能出现在小红书热搜榜上?
+- 这个选题是否是大众普遍关注的?
+- 这个选题是否具有&quot;群体性&quot;而非&quot;个体性&quot;?
+
+**如果内容不在适用范围,直接返回&quot;无工具&quot;,不再继续匹配。**
+
+### 第三步:需求类型分类
+判断需求属于哪种类型:
+- 寻找灵感/选题来源 → 需要热搜词/榜单类工具
+- 分析特定词的热度/趋势 → 需要趋势分析类工具
+- 寻找内容案例/参考 → 需要内容搜索/爬取类工具
+- 生成创意内容 → 需要大模型/AI生成类工具
+
+### 第四步:工具能力匹配
+根据需求类型,对比工具的核心能力:
+- 工具能否解决该类型的问题(如&quot;提供热门选题&quot;)
+
+### 第五步:选择最优工具
+返回能力最匹配的1个工具,无匹配则返回&quot;无工具&quot;
+
+## 匹配标准
+- 功能匹配:工具能力是否覆盖需求要解决的问题
+
+
+## 无匹配判定
+当满足以下任一条件时,返回&quot;无工具&quot;:
+1. 需求内容不在工具覆盖范围内(如非常个人化场景)
+2. MCP工具库中没有工具能解决该需求
+3. 需求涉及的领域完全不在工具库范围
+
+# 输出格式
+json格式,字段定义如下:
+&#39;&#39;&#39;json
+{
+    &quot;工具名&quot;: &quot;工具名称&quot;,
+    &quot;工具调用ID&quot;: &quot;调用ID&quot;,
+    &quot;使用方法&quot;: &quot;简要说明如何使用该工具解决用户需求&quot;
+}
+&#39;&#39;&#39;
+
+## 无匹配时
+&#39;&#39;&#39;json
+{
+
+}
+&#39;&#39;&#39;
+
+# 执行要求
+1. **必须先执行&quot;内容适用性判断&quot;**,再进行工具匹配
+2. 只返回1个最优工具,不返回多个备选
+3. 严格按照输出格式返回结果
+4. 使用方法要具体,说明如何用该工具解决当前需求
+
+# 示例
+
+## 示例1:成功匹配
+需求输入:什么工具能找到教资查分这个灵感点?
+
+输出:
+工具名:新红热搜词搜索
+工具调用ID:new_red_hot_search_words_search
+使用方法:输入关键词&quot;教资查分&quot;,获取该词在小红书的热度值、近90天趋势曲线、相关笔记数据,判断是否为热门选题点。
+{
+    &quot;工具名&quot;: &quot;新红热搜词搜索&quot;,
+    &quot;工具调用ID&quot;: &quot;工具调用ID:new_red_hot_search_words_search&quot;,
+    &quot;使用方法&quot;: &quot;输入关键词&quot;教资查分&quot;,获取该词在小红书的热度值、近90天趋势曲线、相关笔记数据,判断是否为热门选题点。&quot;
+}
+
+## 示例2:无匹配
+需求输入:哪里可以找到股票实时行情数据?
+
+输出:
+{
+
+}
+
+# 上游输入的需求用什么工具获取女儿的生日派对这个选题点 query
+{用什么工具获取女儿的生日派对这个选题点 query}</div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-1-2">
+                    <div class="step-header" onclick="toggleStep('step-1-2')">
+                        <div class="step-title">
+                            <span class="step-number">3</span>
+                            <span class="step-name">LLM搜索</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-1-2">
+                        <div class="step-detail">
+                            <span class="step-detail-label">搜索结果:</span>
+                            <div style="margin-bottom: 15px; padding: 12px; background: #f0f8ff; border-radius: 6px; border-left: 3px solid #4a90e2;">
+                                <div style="font-weight: 600; color: #2c3e50; margin-bottom: 8px;">查询 1: 用什么工具获取女儿的生日派对这个选题点 query</div>
+                                <div style="color: #555; line-height: 1.6; white-space: pre-wrap;">根据搜索结果,要围绕“女儿的生日派对”这个选题点进行内容创作或策划,可以使用以下几类工具和方法来获取灵感、信息和执行方案:
+
+**1. 灵感与创意获取工具:**
+*   **社交媒体平台:** 如小红书、Instagram、Pinterest(需科学上网)等。这些平台上有大量用户分享的真实派对照片、视频和经验贴,是获取最新流行主题(如独角兽、小黄鸭、公主风等)、布置创意和DIY点子的绝佳来源。
+*   **视频平台:** 如YouTube、Bilibili。可以搜索“低成本生日派对”、“XX岁女孩生日派对”等关键词,观看详细的策划和布置过程视频,非常直观且具有可操作性。
+
+**2. 实用策划与执行工具:**
+*   **在线邀请函制作工具:** 如Canva、金数据、腾讯问卷等。可以轻松创建精美的电子邀请函,并附带RSVP(请回复)功能,方便统计人数。
+*   **清单与项目管理工具:** 如滴答清单(TickTick)、微软To Do、甚至简单的Excel表格。用于制定详细的待办事项清单,包括预算、采购清单、时间安排等,确保不遗漏任何环节。
+*   **本地生活服务平台:** 如大众点评、美团。用于搜索和预订附近的亲子餐厅、室内游乐场、派对策划公司、蛋糕房等服务。
+
+**3. 信息查询与学习工具:**
+*   **搜索引擎:** 直接使用百度、谷歌等搜索引擎,输入具体的疑问,例如“4岁女孩生日派对游戏”、“低预算生日派对食物”、“生日派对注意事项”等,可以找到大量博客文章、论坛讨论(如知乎、Reddit)和专业指南,了解不同年龄段孩子的派对要点、避坑指南和花费参考。
+
+总而言之,将**社交媒体/视频平台**作为灵感库,用**在线工具**处理邀请和规划,并通过**搜索引擎**解决具体问题,就能高效地完成“女儿生日派对”的选题策划。</div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-1-3">
+                    <div class="step-header" onclick="toggleStep('step-1-3')">
+                        <div class="step-title">
+                            <span class="step-number">4</span>
+                            <span class="step-name">多渠道搜索结果整合</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-1-3">
+                        <div class="step-detail">
+                            <span class="step-detail-label">来源统计:</span>
+                            <div class="step-detail-content">总来源数: 1, 有效来源数: 1</div>
+                        </div>
+                        <div class="step-detail">
+                            <span class="step-detail-label">整合结果:</span>
+                            <div class="step-detail-content">要围绕“女儿的生日派对”这个选题点进行内容创作或策划,其“来源”或生成过程主要涉及通过一系列工具和方法来获取灵感、信息和制定执行方案。这可以归纳为以下几个方面:
+
+### 1. 灵感与创意获取
+
+*   **社交媒体平台:** 小红书、Instagram、Pinterest等是获取派对主题、布置创意和DIY点子的主要来源。用户在此分享大量真实的派对照片、视频和经验贴,从中可以了解最新的流行主题,如独角兽、小黄鸭或公主风等。
+*   **视频平台:** YouTube、Bilibili等平台通过搜索“低成本生日派对”、“XX岁女孩生日派对”等关键词,能观看详细的策划和布置过程视频,提供直观且可操作的灵感。
+
+### 2. 实用策划与执行
+
+*   **在线邀请函制作工具:** Canva、金数据、腾讯问卷等工具可用于创建精美的电子邀请函,并能方便地集成RSVP(请回复)功能,以便统计派对人数。
+*   **清单与项目管理工具:** 滴答清单(TickTick)、微软To Do或Excel表格等,可用于制定详细的待办事项清单,包括预算、采购清单和时间安排,确保策划过程不遗漏任何环节。
+*   **本地生活服务平台:** 大众点评、美团等平台可用于搜索和预订附近的亲子餐厅、室内游乐场、派对策划公司或蛋糕房等服务。
+
+### 3. 信息查询与学习
+
+*   **搜索引擎:** 百度、谷歌等搜索引擎是解决具体疑问的关键工具。通过输入“4岁女孩生日派对游戏”、“低预算生日派对食物”、“生日派对注意事项”等关键词,可以找到大量博客文章、论坛讨论(如知乎、Reddit)和专业指南,从而了解不同年龄段孩子的派对要点、避坑指南和花费参考。
+
+综上所述,“女儿的生日派对”这一选题点的生成,是一个通过结合社交媒体和视频平台获取灵感,利用在线工具进行规划和执行,并通过搜索引擎解决具体问题的高效策划过程。</div>
+                        </div>
+                        <button class="prompt-toggle-btn" onclick="togglePrompt('prompt-step-1-3')">显示 Prompt</button>
+                        <div class="prompt-content" id="prompt-step-1-3">你是一个知识整合专家。你的任务是根据用户的问题,将来自不同渠道(如LLM搜索、小红书搜索等)的知识文本进行整合,生成一份全面、准确、逻辑清晰的回答。
+
+用户问题:
+女儿的生日派对这个选题点怎么来的||发帖时间:2025-09-16||
+
+以下是来自不同渠道的知识文本:
+【来源:LLM Search】
+根据搜索结果,要围绕“女儿的生日派对”这个选题点进行内容创作或策划,可以使用以下几类工具和方法来获取灵感、信息和执行方案:
+
+**1. 灵感与创意获取工具:**
+*   **社交媒体平台:** 如小红书、Instagram、Pinterest(需科学上网)等。这些平台上有大量用户分享的真实派对照片、视频和经验贴,是获取最新流行主题(如独角兽、小黄鸭、公主风等)、布置创意和DIY点子的绝佳来源。
+*   **视频平台:** 如YouTube、Bilibili。可以搜索“低成本生日派对”、“XX岁女孩生日派对”等关键词,观看详细的策划和布置过程视频,非常直观且具有可操作性。
+
+**2. 实用策划与执行工具:**
+*   **在线邀请函制作工具:** 如Canva、金数据、腾讯问卷等。可以轻松创建精美的电子邀请函,并附带RSVP(请回复)功能,方便统计人数。
+*   **清单与项目管理工具:** 如滴答清单(TickTick)、微软To Do、甚至简单的Excel表格。用于制定详细的待办事项清单,包括预算、采购清单、时间安排等,确保不遗漏任何环节。
+*   **本地生活服务平台:** 如大众点评、美团。用于搜索和预订附近的亲子餐厅、室内游乐场、派对策划公司、蛋糕房等服务。
+
+**3. 信息查询与学习工具:**
+*   **搜索引擎:** 直接使用百度、谷歌等搜索引擎,输入具体的疑问,例如“4岁女孩生日派对游戏”、“低预算生日派对食物”、“生日派对注意事项”等,可以找到大量博客文章、论坛讨论(如知乎、Reddit)和专业指南,了解不同年龄段孩子的派对要点、避坑指南和花费参考。
+
+总而言之,将**社交媒体/视频平台**作为灵感库,用**在线工具**处理邀请和规划,并通过**搜索引擎**解决具体问题,就能高效地完成“女儿生日派对”的选题策划。
+
+
+
+请遵循以下原则进行整合:
+1. **全面性**:涵盖所有渠道提供的关键信息,不要遗漏重要细节。
+2. **准确性**:如果不同渠道的信息存在冲突,请尝试分析原因并给出最合理的解释,或者同时呈现不同的观点并说明来源。
+3. **逻辑性**:将信息组织成结构清晰的文章,使用恰当的标题、列表和段落。
+4. **可读性**:语言通顺流畅,易于理解。
+5. **去重**:去除重复的信息。
+
+请直接输出整合后的知识文本,不要包含任何解释性的话语。</div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-1-4">
+                    <div class="step-header" onclick="toggleStep('step-1-4')">
+                        <div class="step-title">
+                            <span class="step-number">5</span>
+                            <span class="step-name">发现新工具</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-1-4">
+                        <div class="step-detail">
+                            <span class="step-detail-label">发现的新工具:</span>
+                            <div style="margin-bottom: 15px; padding: 12px; background: #fff3cd; border-radius: 6px; border-left: 3px solid #ffc107;">
+                                <div style="font-weight: 600; color: #856404; margin-bottom: 6px;">工具 1: Pinterest</div>
+                                <div style="color: #856404; line-height: 1.6;">获取派对主题、布置创意和DIY点子,了解最新的流行主题。</div>
+                            </div>
+                            <div style="margin-bottom: 15px; padding: 12px; background: #fff3cd; border-radius: 6px; border-left: 3px solid #ffc107;">
+                                <div style="font-weight: 600; color: #856404; margin-bottom: 6px;">工具 2: 小红书</div>
+                                <div style="color: #856404; line-height: 1.6;">获取派对主题、布置创意和DIY点子,了解最新的流行主题。</div>
+                            </div>
+                        </div>
+                        <div class="step-detail">
+                            <span class="step-detail-label">分析摘要:</span>
+                            <div class="step-detail-content">根据用户&#39;获取女儿的生日派对这个选题点&#39;的需求,我作为高级AI工具筛选专家进行了以下评估:
+
+1.  **明确核心需求**:用户的核心需求是寻找生日派对的创意、主题和灵感点,即&#39;选题点&#39;。
+
+2.  **第一轮筛选(需求匹配度与功能关联性)**:
+    *   **保留工具(直接匹配&#39;选题点&#39;)**:
+        *   **小红书, Instagram, Pinterest**:这些平台以图片和短视频为主,提供丰富的视觉创意,非常适合获取派对主题、布置创意和DIY点子,直接满足&#39;选题点&#39;需求。
+        *   **YouTube, Bilibili**:这些视频平台提供详细的策划和布置过程视频,也能提供直观且可操作的灵感,间接但有效匹配&#39;选题点&#39;需求。
+        *   **百度, 谷歌**:作为搜索引擎,虽然可以通过搜索获取相关博客、指南,但其本身并非直接的灵感发现平台,更多是辅助研究工具。
+    *   **剔除工具(不匹配&#39;选题点&#39;)**:
+        *   **Canva, 金数据, 腾讯问卷**:这些工具主要用于&#39;创建邀请函&#39;或&#39;收集信息&#39;,与获取&#39;选题点&#39;无关,功能不匹配,故删除。
+        *   **滴答清单(TickTick), 微软To Do, Excel表格**:这些工具主要用于&#39;任务管理和计划&#39;,与获取&#39;选题点&#39;无关,功能不匹配,故删除。
+        *   **大众点评, 美团**:这些工具主要用于&#39;搜索和预订服务&#39;,与获取&#39;选题点&#39;无关,功能不匹配,故删除。
+
+3.  **第二轮筛选(通用性与市场普及率)**:所有保留的工具(小红书, Instagram, Pinterest, YouTube, Bilibili, 百度, 谷歌)均为通用且市场普及率高的工具,符合此项标准。
+
+4.  **第三轮筛选(去重与最优选择)**:
+    *   经过第一轮筛选,我们剩下 小红书, Instagram, Pinterest (视觉灵感类) 和 YouTube, Bilibili (视频教程类), 以及 百度, 谷歌 (通用搜索类)。
+    *   **Pinterest**:作为全球领先的视觉内容发现平台,它专注于通过图片收集、整理和发现创意灵感,与获取&#39;选题点&#39;的需求高度契合且效率极高。是获取全球化、系统化派对灵感的最佳工具之一。
+    *   **小红书**:在中国市场,小红书是时尚、生活方式和潮流趋势的强大策源地,提供大量用户分享的真实派对案例、布置技巧和流行主题。其内容更贴近国内用户的审美和需求,对于&#39;女儿的生日派对&#39;这一具体场景,能提供非常实用和接地气的&#39;选题点&#39;。
+    *   **Instagram** 虽然与小红书功能相似,但在中文语境下,小红书在本土化内容和用户活跃度上更具优势。
+    *   **YouTube/Bilibili** 更侧重于&#39;如何做&#39;的视频教程,虽然也能提供灵感,但对于&#39;选题点&#39;的快速浏览和发现,视觉图片平台(如Pinterest和小红书)通常更为高效直接。
+    *   **百度/谷歌** 虽然能搜索到灵感,但它们是通用搜索引擎,不是直接的灵感策源地,效率低于专业的内容平台。
+
+5.  **最终决策**:基于需求匹配度最高、提供直接视觉灵感、且兼顾全球化趋势与本地化实用的原则,我选择 **Pinterest** 和 **小红书** 作为最优的两个工具。它们各自代表了全球化的创意探索和本土化的生活潮流,能最全面、高效地帮助用户获取女儿生日派对的&#39;选题点&#39;。</div>
+                        </div>
+                        <button class="prompt-toggle-btn" onclick="togglePrompt('prompt-step-1-4')">显示 Prompt</button>
+                        <div class="prompt-content" id="prompt-step-1-4">## 你的角色 (Role)
+你是一个&quot;**高级AI工具筛选专家**&quot;和&quot;**工具可行性评估专家**&quot;。你具备广博的工具知识和严格的筛选标准。
+你能够严格评估工具的需求相关性、市场通用性和自动化接入潜力。
+
+## 任务目标 (Goal)
+你的核心任务是:从外部搜索返回的工具列表中,筛选出最能解决当前需求的工具。你需要:
+
+1. **验证工具与需求的匹配度**:判断工具功能是否能真正解决用户的需求
+2. **去重与功能合并**:对具有相同`tool_name`的工具进行去重,并将其功能描述合并
+3. **剔除小众/专有工具**:过滤掉市场小众、或特定手机厂商/生态系统内置的专有工具
+4. **返回最优工具**:最终返回1个最优工具,最多不超过2个
+
+
+## 输入 (Input)
+1. **`query`**: 用户的工具需求/方法需求(例如:&quot;什么工具能找到教资查分这个灵感点?&quot;)
+2. **`search_results`**: 从外部搜索返回的工具名称列表
+
+**输入示例:**
+```json
+{
+  &quot;query&quot;: &quot;什么工具能找到教资查分这个灵感点?&quot;,
+  &quot;search_results&quot;: [
+    {
+      &quot;tool_name&quot;: &quot;营销日历&quot;,
+      &quot;function&quot;: &quot;提供节日、热点事件时间表,帮助创作者提前规划内容&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;百度指数&quot;,
+      &quot;function&quot;: &quot;查看关键词搜索趋势和热度变化&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;微博热搜&quot;,
+      &quot;function&quot;: &quot;实时热门话题榜单&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;教育信息网&quot;,
+      &quot;function&quot;: &quot;提供教育行业资讯和政策信息&quot;
+    }
+  ]
+}
+
+``` 
+
+## 输出要求 (Output)
+输出一个JSON对象,包含:
+1. **`query`**: 原始需求(保持不变)
+2. **`selected_tools`**: 筛选后的工具数组(1-2个工具)
+3. **`analysis_summary`**: 简要的筛选过程说明
+
+``` 
+```
+
+## 约束条件 (Constraints)
+
+### 1. 需求匹配度(最高优先级)
+- 工具的`function`描述**必须能够直接解决`query`中提出的需求**
+- **如果工具功能与需求不直接相关,一律删除**
+
+### 2. 工具-功能关联性验证
+- 你必须运用你广博的工具知识,判断每个`tool_name`与其对应的`function`描述是否真实、合理且紧密相关
+- **如果`tool_name`与`function`明显不符、误导或虚假,请直接删除该工具**
+
+### 3. 通用性与市场普及率筛选
+- **删除小众、专有或生态系统强绑定的工具**,包括但不限于:
+  - 特定手机厂商(如华为、小米、三星)的内置AI助手或工具
+  - 仅限于特定垂直行业且市场占有率极低、或难以获取的工具
+- 目标是保留那些**具有较广使用范围和市场认可度**的通用工具
+
+### 4. 严格去重与功能精炼合并
+- 以`tool_name`为唯一标识进行去重
+- **如果相同的`tool_name`对应多个不同的`function`描述,请将这些功能描述合并,精炼为一个准确的功能说明**
+- 确保最终输出中每个`tool_name`只出现一次
+
+### 5. 数量限制
+- **必须返回1个最优工具**
+- **只有在多个工具同等优秀且都能解决需求时,才返回2个工具**
+- **绝不返回超过2个工具**
+
+### 6. 空结果处理
+- 如果经过所有筛选,没有工具符合要求,`selected_tools`应输出空数组 `[]`
+- 必须在`analysis_summary`中说明为什么所有工具都不符合
+
+
+### 最终:构建输出与总结
+1. 构建符合格式的JSON输出
+2. 撰写详细的`analysis_summary`,说明筛选过程和决策依据
+
+## 筛选决策示例
+
+### 示例1:成功筛选
+```
+需求:&quot;什么工具能找到教资查分这个灵感点?&quot;
+
+搜索返回4个工具:
+1. 营销日历 - 提供节日、热点事件时间表
+2. 百度指数 - 查看关键词搜索趋势
+3. 微博热搜 - 实时热门话题榜单
+4. 教育信息网 - 提供教育行业资讯
+
+筛选过程:
+- 第一轮(需求匹配):营销日历能提供周期性事件时间点(包括教资查分),百度指数能看趋势但不能直接提供灵感来源,微博热搜是实时的但教资查分是周期性的,教育信息网是资讯类不是灵感来源工具 → 保留营销日历
+- 第二轮(关联性验证):营销日历的功能描述与工具名称匹配 → 通过
+- 第三轮(去重):无重复工具
+- 第五轮(最优选择):营销日历是唯一通过所有筛选的工具 → 返回1个
+
+最终输出:营销日历
+```
+
+### 示例2:返回2个工具
+```
+需求:&quot;什么工具能分析小红书热门话题?&quot;
+
+搜索返回:
+1. 新红数据 - 小红书数据分析平台
+2. 千瓜数据 - 小红书数据分析平台
+3. 飞瓜数据 - 抖音数据分析平台
+
+筛选过程:
+- 第一轮:新红数据和千瓜数据都是小红书专业分析工具,飞瓜数据是抖音平台 → 保留新红、千瓜
+- 第二轮-第四轮:两者都通过验证
+- 第五轮:新红数据和千瓜数据都是市场知名的小红书分析工具,功能相近且都能解决需求 → 返回2个
+
+最终输出:新红数据、千瓜数据
+```
+
+### 示例3:无合适工具
+```
+需求:&quot;什么工具能预测明天的股票走势?&quot;
+
+搜索返回:
+1. 同花顺 - 股票交易软件
+2. 东方财富 - 金融资讯平台
+
+筛选过程:
+- 第一轮:这些都是股票交易/资讯工具,不是预测工具 → 全部删除
+- 最终:无工具符合要求
+
+最终输出:[]
+```
+
+## 重要提醒
+1. **质量优于数量**:宁可返回0个工具,也不返回不符合标准的工具
+2. **需求导向**:始终以`need_query`为核心判断标准
+3. **严格限量**:记住数量限制是1个,最多2个
+4. **客观评估**:不要被工具名称的&quot;高大上&quot;迷惑,关注实际功能
+5. **详细说明**:`analysis_summary`必须清晰说明筛选依据
+
+#输入数据
+```json
+{
+  &quot;query&quot;: &quot;用什么工具获取女儿的生日派对这个选题点 query&quot;,
+  &quot;search_results&quot;: [
+    {
+      &quot;tool_name&quot;: &quot;小红书&quot;,
+      &quot;function&quot;: &quot;获取派对主题、布置创意和DIY点子,了解最新的流行主题。&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;Instagram&quot;,
+      &quot;function&quot;: &quot;获取派对主题、布置创意和DIY点子,了解最新的流行主题。&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;Pinterest&quot;,
+      &quot;function&quot;: &quot;获取派对主题、布置创意和DIY点子,了解最新的流行主题。&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;YouTube&quot;,
+      &quot;function&quot;: &quot;观看详细的策划和布置过程视频,提供直观且可操作的灵感。&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;Bilibili&quot;,
+      &quot;function&quot;: &quot;观看详细的策划和布置过程视频,提供直观且可操作的灵感。&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;Canva&quot;,
+      &quot;function&quot;: &quot;创建精美的电子邀请函,并能集成RSVP功能,统计派对人数。&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;金数据&quot;,
+      &quot;function&quot;: &quot;创建精美的电子邀请函,并能集成RSVP功能,统计派对人数。&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;腾讯问卷&quot;,
+      &quot;function&quot;: &quot;创建精美的电子邀请函,并能集成RSVP功能,统计派对人数。&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;滴答清单(TickTick)&quot;,
+      &quot;function&quot;: &quot;制定详细的待办事项清单,包括预算、采购清单和时间安排。&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;微软To Do&quot;,
+      &quot;function&quot;: &quot;制定详细的待办事项清单,包括预算、采购清单和时间安排。&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;Excel表格&quot;,
+      &quot;function&quot;: &quot;制定详细的待办事项清单,包括预算、采购清单和时间安排。&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;大众点评&quot;,
+      &quot;function&quot;: &quot;搜索和预订附近的亲子餐厅、室内游乐场、派对策划公司或蛋糕房等服务。&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;美团&quot;,
+      &quot;function&quot;: &quot;搜索和预订附近的亲子餐厅、室内游乐场、派对策划公司或蛋糕房等服务。&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;百度&quot;,
+      &quot;function&quot;: &quot;解决具体疑问,查找博客文章、论坛讨论和专业指南,了解不同年龄段孩子的派对要点、避坑指南和花费参考。&quot;
+    },
+    {
+      &quot;tool_name&quot;: &quot;谷歌&quot;,
+      &quot;function&quot;: &quot;解决具体疑问,查找博客文章、论坛讨论和专业指南,了解不同年龄段孩子的派对要点、避坑指南和花费参考。&quot;
+    }
+  ]
+}
+```</div>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="tab-content " id="tab-2">
+            <div class="input-section">
+                <h3>输入信息</h3>
+                <div class="input-item"><strong>问题:</strong> 花艺造型蛋糕这个选题点怎么来的</div>
+                <div class="input-item"><strong>帖子信息:</strong> 发帖时间:2025-09-16</div>
+                <div class="input-item"><strong>人设信息:</strong> <span class="placeholder">(无)</span></div>
+            </div>
+            <div class="workflow">
+                <div class="workflow-step" id="step-2-0">
+                    <div class="step-header" onclick="toggleStep('step-2-0')">
+                        <div class="step-title">
+                            <span class="step-number">1</span>
+                            <span class="step-name">生成查询</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-2-0">
+                        <div class="step-detail">
+                            <span class="step-detail-label">生成的Query:</span>
+                            <div class="step-detail-content">用什么工具获取花艺造型蛋糕这个选题点</div>
+                        </div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-2-1">
+                    <div class="step-header" onclick="toggleStep('step-2-1')">
+                        <div class="step-title">
+                            <span class="step-number">2</span>
+                            <span class="step-name">选择工具</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-2-1">
+                        <div class="step-detail">
+                            <span class="step-detail-label">工具名称:</span>
+                            <div class="step-detail-content">新红热搜词搜索</div>
+                        </div>
+                        <div class="step-detail">
+                            <span class="step-detail-label">工具调用ID:</span>
+                            <div class="step-detail-content">new_red_hot_search_words_search</div>
+                        </div>
+                        <div class="step-detail">
+                            <span class="step-detail-label">使用方法:</span>
+                            <div class="step-detail-content">输入关键词&quot;花艺造型蛋糕&quot;,获取该词在小红书的热度值、近90天趋势曲线、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词),以此评估其作为选题点的潜力与创作方向。</div>
+                        </div>
+                        <button class="prompt-toggle-btn" onclick="togglePrompt('prompt-step-2-1')">显示 Prompt</button>
+                        <div class="prompt-content" id="prompt-step-2-1"># 角色定位
+你是一个工具匹配专家,负责根据用户需求从MCP工具库中找到最合适的工具。
+
+# 核心任务
+1. 接收上游传入的需求用什么工具获取花艺造型蛋糕这个选题点
+2. 理解需求的核心意图(用户想找什么、解决什么问题)
+3. **判断需求内容是否在工具覆盖范围内**
+4. 查询MCP工具库,匹配最相关的工具
+5. 返回工具信息或&quot;无工具&quot;
+
+# MCP工具库信息
+
+工具名:新红话题榜单
+工具调用ID:xh_newrank_hottopics
+工具介绍:提供小红书平台热门话题全景榜单数据,覆盖排名、话题名称及核心简介、参与人数增量、浏览量增量、笔记增量、互动增量(点赞 / 收藏 / 评论综合统计)等核心维度。支持精准筛选与高效应用。话题类型涵盖美妆,美容个护,鞋包潮玩,穿搭打扮,美食,母婴育儿,旅游出行,家居家装,教育,生活,运动健身,兴趣爱好,影视综,婚嫁,摄影摄像,萌宠,情感星座,科技互联网,资讯,健康养生,科学科普,职场,交通工具,其他 24 个垂直领域,统计时间可选择日榜(近 7 天)、周榜(近 4 周)、月榜(近 5 个月),满足不同周期的热点追踪需求。榜单数据实时更新,同步呈现官方流量扶持话题标识,助力品牌、达人快速锁定高曝光赛道;便于拆解爆款逻辑、制定内容选题策略,提升运营效率。
+
+工具名:新红话题搜索
+工具调用ID:new_red_TopicSearch
+工具介绍:提供小红书平台话题精准检索服务,输入关键词即可匹配相关话题完整列表,核心数据包含话题名称及简介、总浏览量、总参与人数、近 30 天笔记增量、近 30 天互动增量。支持按参与人数、浏览量等指标排序筛选,可精准定位品牌发起话题或官方扶持话题,清晰展示话题流量趋势与内容创作方向。无论是达人寻找高适配性话题蹭流,还是品牌监测竞品话题布局,均能通过数据支撑快速决策,降低内容试错成本。
+
+工具名:新红热搜词榜单
+工具调用ID:xh_newrank_hotwords
+工具介绍:提供小红书平台热搜词权威榜单数据,核心维度包括实时排名、热搜词、主要覆盖内容领域、相关笔记总量、爆文数(高互动笔记占比)、热度值(综合搜索量与互动率计算)。支持按统计时间(日榜 / 周榜 / 月榜)及 美妆,美容个护,鞋包潮玩,穿搭打扮,美食,母婴育儿,旅游出行,家居家装,教育,生活,运动健身,兴趣爱好,影视综,婚嫁,摄影摄像,萌宠,情感星座,科技互联网,资讯,健康养生,科学科普,职场,交通工具,其他 24 个垂直内容领域筛选。榜单每日更新,助力用户第一时间捕捉流量风口。可直接应用于选题规划、竞品投放策略分析。
+
+工具名:新红热搜词搜索
+工具调用ID:new_red_hot_search_words_search
+工具介绍:提供小红书热搜词深度检索与趋势分析服务,输入关键词即可获取全维度数据表现:核心包含热度值(实时动态更新)、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词)、近 90 天热度值趋势曲线(支持自定义时间区间)、相关搜索结果。可直观呈现关键词种草趋势、流量峰值时段、高转化内容特征,帮助用户优化笔记标题关键词布局、预判话题生命周期。
+
+# 匹配规则
+
+## 匹配逻辑(按顺序执行)
+
+### 第一步:需求本质识别
+理解需求背后的真实意图:
+- 示例:&quot;谐音梗这个选题灵感怎么来的&quot; → 真实意图是&quot;寻找热门选题的来源/方法&quot;
+- 示例:&quot;女儿生日派对这个选题点怎么来的&quot; → 真实意图是&quot;寻找选题的灵感来源&quot;
+- 不关注具体关键词,而关注用户想解决什么问题
+
+### 第二步:内容适用性判断(关键!)
+用什么工具能寻找到来源方法
+**在匹配工具前,必须先判断选题内容是否在工具覆盖范围内**
+
+#### 热搜词工具适用的内容类型:
+- ✅ **大众话题**:教资查分、高考、春节、双十一等
+- ✅ **社会热点**:政策变化、明星事件、流行趋势
+- ✅ **行业热点**:美妆新品、穿搭流行、热门景点
+- ✅ **周期性事件**:节日、考试、季节性话题
+- ✅ **群体性关注**:大多数人都可能关注的话题
+
+#### 热搜词工具不适用的内容类型:
+- ❌ **个人化场景**:我的生日、女儿生日派对、我的婚礼
+- ❌ **私人事件**:家庭聚会、个人旅行、朋友聚餐
+- ❌ **特定个体**:某个具体的人、某个具体的宠物、某个具体的家庭
+- ❌ **小众话题**:极少数人关注的专业话题
+- ❌ **虚构内容**:不存在的事件、假设的场景
+
+**判断标准**:
+- 这个选题是否有可能出现在小红书热搜榜上?
+- 这个选题是否是大众普遍关注的?
+- 这个选题是否具有&quot;群体性&quot;而非&quot;个体性&quot;?
+
+**如果内容不在适用范围,直接返回&quot;无工具&quot;,不再继续匹配。**
+
+### 第三步:需求类型分类
+判断需求属于哪种类型:
+- 寻找灵感/选题来源 → 需要热搜词/榜单类工具
+- 分析特定词的热度/趋势 → 需要趋势分析类工具
+- 寻找内容案例/参考 → 需要内容搜索/爬取类工具
+- 生成创意内容 → 需要大模型/AI生成类工具
+
+### 第四步:工具能力匹配
+根据需求类型,对比工具的核心能力:
+- 工具能否解决该类型的问题(如&quot;提供热门选题&quot;)
+
+### 第五步:选择最优工具
+返回能力最匹配的1个工具,无匹配则返回&quot;无工具&quot;
+
+## 匹配标准
+- 功能匹配:工具能力是否覆盖需求要解决的问题
+
+
+## 无匹配判定
+当满足以下任一条件时,返回&quot;无工具&quot;:
+1. 需求内容不在工具覆盖范围内(如非常个人化场景)
+2. MCP工具库中没有工具能解决该需求
+3. 需求涉及的领域完全不在工具库范围
+
+# 输出格式
+json格式,字段定义如下:
+&#39;&#39;&#39;json
+{
+    &quot;工具名&quot;: &quot;工具名称&quot;,
+    &quot;工具调用ID&quot;: &quot;调用ID&quot;,
+    &quot;使用方法&quot;: &quot;简要说明如何使用该工具解决用户需求&quot;
+}
+&#39;&#39;&#39;
+
+## 无匹配时
+&#39;&#39;&#39;json
+{
+
+}
+&#39;&#39;&#39;
+
+# 执行要求
+1. **必须先执行&quot;内容适用性判断&quot;**,再进行工具匹配
+2. 只返回1个最优工具,不返回多个备选
+3. 严格按照输出格式返回结果
+4. 使用方法要具体,说明如何用该工具解决当前需求
+
+# 示例
+
+## 示例1:成功匹配
+需求输入:什么工具能找到教资查分这个灵感点?
+
+输出:
+工具名:新红热搜词搜索
+工具调用ID:new_red_hot_search_words_search
+使用方法:输入关键词&quot;教资查分&quot;,获取该词在小红书的热度值、近90天趋势曲线、相关笔记数据,判断是否为热门选题点。
+{
+    &quot;工具名&quot;: &quot;新红热搜词搜索&quot;,
+    &quot;工具调用ID&quot;: &quot;工具调用ID:new_red_hot_search_words_search&quot;,
+    &quot;使用方法&quot;: &quot;输入关键词&quot;教资查分&quot;,获取该词在小红书的热度值、近90天趋势曲线、相关笔记数据,判断是否为热门选题点。&quot;
+}
+
+## 示例2:无匹配
+需求输入:哪里可以找到股票实时行情数据?
+
+输出:
+{
+
+}
+
+# 上游输入的需求用什么工具获取花艺造型蛋糕这个选题点
+{用什么工具获取花艺造型蛋糕这个选题点}</div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-2-2">
+                    <div class="step-header" onclick="toggleStep('step-2-2')">
+                        <div class="step-title">
+                            <span class="step-number">3</span>
+                            <span class="step-name">提取参数</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-2-2">
+                        <div class="step-detail">
+                            <span class="step-detail-label">提取的参数:</span>
+                            <div class="step-detail-content json-content">{
+  &quot;prompt&quot;: &quot;输入关键词\&quot;花艺造型蛋糕\&quot;,获取该词在小红书的热度值、近90天趋势曲线、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词),以此评估其作为选题点的潜力与创作方向。&quot;
+}</div>
+                        </div>
+                        <button class="prompt-toggle-btn" onclick="togglePrompt('prompt-step-2-2')">显示 Prompt</button>
+                        <div class="prompt-content" id="prompt-step-2-2">你是一个API调用专家。你的任务是根据已经选择的工具及使用方法信息生成正确的调用参数。
+
+选择的工具调用ID:
+new_red_hot_search_words_search
+选择的工具使用方法:
+输入关键词&quot;花艺造型蛋糕&quot;,获取该词在小红书的热度值、近90天趋势曲线、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词),以此评估其作为选题点的潜力与创作方向。
+
+所有的工具参数定义:
+{
+    &quot;name&quot;: &quot;新红热搜词搜索&quot;,
+    &quot;description&quot;: &quot;提供小红书热搜词深度检索与趋势分析服务,输入关键词即可获取全维度数据表现:核心包含热度值(实时动态更新)、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词)、近 90 天热度值趋势曲线(支持自定义时间区间)、相关搜索结果。可直观呈现关键词种草趋势、流量峰值时段、高转化内容特征,帮助用户优化笔记标题关键词布局、预判话题生命周期。&quot;,
+    &quot;inputSchema&quot;: {
+        &quot;type&quot;: &quot;object&quot;,
+        &quot;properties&quot;: {
+            &quot;prompt&quot;: {
+                &quot;type&quot;: &quot;string&quot;,
+                &quot;description&quot;: &quot;用户使用方法,包括输入的关键词&quot;
+            }
+        },
+        &quot;required&quot;: [
+            &quot;prompt&quot;
+        ]
+    }
+}
+
+请分析工具的参数要求,根据查询内容提取或推断出合适的参数值。
+
+输出格式:请以 JSON 格式输出参数字典,例如:
+{
+    &quot;param1&quot;: &quot;value1&quot;,
+    &quot;param2&quot;: &quot;value2&quot;
+}
+
+注意事项:
+1. 只输出参数的JSON字典,不要包含任何解释
+2. 参数名必须与工具定义中的参数名完全一致
+3. 参数值要从查询中提取或合理推断
+4. 不要添加工具定义中没有的参数
+5. 如果某个参数无法从查询中获取,使用合理的默认值或省略该参数
+
+只输出JSON,不要包含markdown标记。</div>
+                    </div>
+                </div>
+                <div class="arrow"></div>
+                <div class="workflow-step" id="step-2-3">
+                    <div class="step-header" onclick="toggleStep('step-2-3')">
+                        <div class="step-title">
+                            <span class="step-number">4</span>
+                            <span class="step-name">执行工具</span>
+                        </div>
+                        <span class="step-toggle">▼</span>
+                    </div>
+                    <div class="step-content" id="content-step-2-3">
+                        <div class="step-detail">
+                            <span class="step-detail-label">执行结果:</span>
+                            <div class="step-detail-content json-content">## &quot;花艺造型蛋糕&quot;关键词数据分析结果
+
+**关键词**: 花艺造型蛋糕
+
+**平台**: 小红书
+
+**主要发现**:
+1. **热度值**: 该关键词未达到小红书热搜榜单的门槛,无法获取具体的热度值数据
+2. **趋势曲线**: 由于未上榜,近90天的趋势曲线数据不可用
+3. **声量概览**:
+   - 笔记数: 数据不可用(未达到展示门槛)
+   - 总热度: 数据不可用(未达到展示门槛)
+   - 热门天数: 数据不可用(未达到展示门槛)
+   - 热门内容领域: 数据不可用(未达到展示门槛)
+   - 高频搭配词: 数据不可用(未达到展示门槛)
+
+**选题潜力评估**:
+- **热度水平**: 较低。该关键词在小红书平台上的讨论度和关注度不足以进入热搜榜单
+- **创作方向建议**:
+  1. 考虑使用更热门的相关关键词,如&quot;蛋糕&quot;、&quot;花艺&quot;、&quot;甜品&quot;等单独词汇
+  2. 或者尝试组合其他热门元素,如&quot;ins风花艺蛋糕&quot;、&quot;网红花艺蛋糕&quot;等
+  3. 可以关注页面推荐的热门热搜词,如&quot;美食VLOG&quot;、&quot;美食制作&quot;等,将花艺蛋糕内容融入这些热门话题中
+
+**建议**:
+由于&quot;花艺造型蛋糕&quot;关键词热度较低,建议调整选题策略:
+1. 扩大关键词范围,使用更通用的词汇
+2. 关注相关但更热门的话题标签
+3. 结合当前热门趋势(如页面显示的&quot;美食VLOG&quot;、&quot;美食制作&quot;等)来包装花艺蛋糕内容
+
+这个结果表明,虽然花艺造型蛋糕可能是一个有创意的内容方向,但在小红书平台上目前的热度不足以支撑作为独立的热门选题点.</div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="output-section">
+                <h3>最终输出</h3>
+                <div class="step-detail-content json-content">## &quot;花艺造型蛋糕&quot;关键词数据分析结果
+
+**关键词**: 花艺造型蛋糕
+
+**平台**: 小红书
+
+**主要发现**:
+1. **热度值**: 该关键词未达到小红书热搜榜单的门槛,无法获取具体的热度值数据
+2. **趋势曲线**: 由于未上榜,近90天的趋势曲线数据不可用
+3. **声量概览**:
+   - 笔记数: 数据不可用(未达到展示门槛)
+   - 总热度: 数据不可用(未达到展示门槛)
+   - 热门天数: 数据不可用(未达到展示门槛)
+   - 热门内容领域: 数据不可用(未达到展示门槛)
+   - 高频搭配词: 数据不可用(未达到展示门槛)
+
+**选题潜力评估**:
+- **热度水平**: 较低。该关键词在小红书平台上的讨论度和关注度不足以进入热搜榜单
+- **创作方向建议**:
+  1. 考虑使用更热门的相关关键词,如&quot;蛋糕&quot;、&quot;花艺&quot;、&quot;甜品&quot;等单独词汇
+  2. 或者尝试组合其他热门元素,如&quot;ins风花艺蛋糕&quot;、&quot;网红花艺蛋糕&quot;等
+  3. 可以关注页面推荐的热门热搜词,如&quot;美食VLOG&quot;、&quot;美食制作&quot;等,将花艺蛋糕内容融入这些热门话题中
+
+**建议**:
+由于&quot;花艺造型蛋糕&quot;关键词热度较低,建议调整选题策略:
+1. 扩大关键词范围,使用更通用的词汇
+2. 关注相关但更热门的话题标签
+3. 结合当前热门趋势(如页面显示的&quot;美食VLOG&quot;、&quot;美食制作&quot;等)来包装花艺蛋糕内容
+
+这个结果表明,虽然花艺造型蛋糕可能是一个有创意的内容方向,但在小红书平台上目前的热度不足以支撑作为独立的热门选题点.</div>
+            </div>
+        </div>
+    </div>
+    
+    <script>
+        function switchTab(index) {
+            // 隐藏所有tab内容
+            const contents = document.querySelectorAll('.tab-content');
+            contents.forEach(content => content.classList.remove('active'));
+            
+            // 移除所有tab的active状态
+            const tabs = document.querySelectorAll('.tab');
+            tabs.forEach(tab => tab.classList.remove('active'));
+            
+            // 显示选中的tab内容
+            document.getElementById('tab-' + index).classList.add('active');
+            tabs[index].classList.add('active');
+        }
+        
+        function toggleStep(stepId) {
+            const step = document.getElementById(stepId);
+            const content = document.getElementById('content-' + stepId);
+            const toggle = step.querySelector('.step-toggle');
+            
+            if (content.classList.contains('expanded')) {
+                content.classList.remove('expanded');
+                toggle.classList.remove('expanded');
+                step.classList.remove('active');
+            } else {
+                content.classList.add('expanded');
+                toggle.classList.add('expanded');
+                step.classList.add('active');
+            }
+        }
+        
+        function togglePrompt(promptId) {
+            const promptContent = document.getElementById(promptId);
+            const btn = promptContent.previousElementSibling;
+            
+            if (promptContent.classList.contains('show')) {
+                promptContent.classList.remove('show');
+                btn.textContent = '显示 Prompt';
+            } else {
+                promptContent.classList.add('show');
+                btn.textContent = '隐藏 Prompt';
+            }
+        }
+        
+        // 页面加载时高亮第一个步骤
+        window.addEventListener('load', function() {
+            const firstSteps = document.querySelectorAll('.workflow-step');
+            firstSteps.forEach((step, index) => {
+                if (index === 0 || index % (firstSteps.length / document.querySelectorAll('.tab-content').length) === 0) {
+                    step.classList.add('active');
+                    const content = step.querySelector('.step-content');
+                    const toggle = step.querySelector('.step-toggle');
+                    if (content) {
+                        content.classList.add('expanded');
+                        toggle.classList.add('expanded');
+                    }
+                }
+            });
+        });
+    </script>
+</body>
+</html>