岑岑米 發表於 2025-4-30 11:04:00

DeepSeek+Coze实战:如何从0到1打造一个热点监控智能体

<p>大家好,我是汤师爷,专注AI智能体分享~</p>
<p>短视频小白经常会遇到这样的困扰。</p>
<p>每天花大量时间刷视频,想要找到你所在赛道的爆款内容,却总是难以系统地整理和分析?</p>
<p>想要批量获取某个关键词的爆款视频数据,但是市面上的采集工具要么特别贵,要么操作极其复杂?</p>
<p>或者,已经尝试过各种方法,但始终找不到一个高效、低成本的解决方案?</p>
<p>不用担心,今天我就教你搭建一个Coze智能体,轻松搞定这些烦恼。</p>
<p>篇幅不短,欢迎先收藏,再慢慢阅读。如果觉得有帮助,也请顺手点个赞、在看、转发支持一下~</p>
<h2 id="1为什么要做热点监控">1.为什么要做热点监控?</h2>
<p>通过热点监控,我们可以及时发现赛道中的爆款视频:</p>
<ul>
<li>掌握市场动向:看看哪些视频火了,就知道大家现在喜欢什么,我们也能紧跟潮流</li>
<li>学习创作技巧:研究爆款视频是怎么拍的,学习他们的拍摄方式,这样就能少走弯路</li>
<li>发现赚钱机会:看看评论区的小伙伴们都在聊什么,说不定就能找到新的商机</li>
<li>了解竞争对手:看看其他创作者都在做什么,先模仿再超越</li>
</ul>
<p>既然这么重要,那我们当然需要一个好用的智能体来帮我们自动收集这些视频。</p>
<p>但是,批量获取抖音视频内容这件事,一直有技术门槛。很多朋友因为不懂技术,只能花钱买工具来完成这项任务。</p>
<p>今天我要分享一个Coze智能体的解决方案,小白也能搭建。</p>
<p>只需输入自己赛道的关键词就能自动批量获取爆款视频内容,轻松实现100条爆款视频的采集工作。效果如下:</p>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110341068-802316556.jpg"></p>
<h2 id="2智能体的搭建流程">2.智能体的搭建流程</h2>
<p>智能体的搭建流程主要分为两个步骤:梳理工作流、设置智能体。</p>
<h3 id="21-梳理工作流"><strong>2.1 梳理工作流</strong></h3>
<p>将对标账号监控的场景流程转化为可自动化运行的工作流节点。</p>
<ol>
<li>根据关键词,批量获取热门视频</li>
<li>批量获取视频详细信息</li>
<li>将数据添加到多维表格</li>
</ol>
<h3 id="22-设置智能体">2.2 设置智能体</h3>
<ol>
<li>设置人设与逻辑:配置热点监控智能体的特征、回复风格和决策逻辑</li>
<li>绑定工作流:将工作流与智能体关联,赋予执行具体任务的能力</li>
<li>设置触发器:定义智能体的启动条件和触发规则,让它能定时执行工作流,采集热门视频。</li>
<li>测试并发布:全面的功能测试,确认正常后将智能体正式发布到生产环境</li>
</ol>
<h2 id="3创建工作流">3.创建工作流</h2>
<p>登录Coze官网,在“资源库-工作流”里新建一个空白工作流,取名“fetch_douyin_hot_videos_daily”。</p>
<h3 id="31-开始节点">3.1 开始节点</h3>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110342056-846904392.jpg"></p>
<h3 id="32-根据关键词批量获取热门视频">3.2 根据关键词,批量获取热门视频</h3>
<p>我们将使用【视频搜索】插件的<strong>douyin_search</strong>功能。通过这个功能,我们可以批量获取热门视频。</p>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110342881-340815748.jpg"></p>
<p>插件节点:根据关键词,批量获取热门视频</p>
<ul>
<li>输入:
<ul>
<li>api_token:点击“感叹号”,通过网站可以获取。</li>
<li>keyword:关键词,从开始节点获取</li>
<li>page:第一页</li>
<li>publish_time:发布时间,可用值: _0(不限), _1(一天之内), _7(一周之内), _180(半年之内),这里我们选择_7</li>
<li>sort_type:排序类型,可用值: _0(综合), _1(最多点赞), _2(最新发布),这里我们选择_1</li>
</ul>
</li>
</ul>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110343523-1332347372.jpg"></p>
<h3 id="33-批量获取视频详细信息">3.3 批量获取视频详细信息</h3>
<p><strong>1.选择器节点:校验视频列表不为空</strong></p>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110344143-342302108.jpg"></p>
<p><strong>2.批处理节点:批量获取视频详细信息</strong></p>
<ul>
<li>输入:
<ul>
<li>aweme_list:从"根据关键词,批量获取热门视频"节点的输出变量中,选择business_data</li>
<li>keyword:关键词,从开始节点获取</li>
<li>page:第一页</li>
<li>publish_time:发布时间,可用值: _0(不限), _1(一天之内), _7(一周之内), _180(半年之内),这里我们选择_7</li>
<li>sort_type:排序类型,可用值: _0(综合), _1(最多点赞), _2(最新发布),这里我们选择_1</li>
</ul>
</li>
<li>输出:
<ul>
<li>new_aweme_list:处理后的视频列表</li>
</ul>
</li>
</ul>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110344946-1394087086.jpg"></p>
<p><strong>3.选择器节点:校验视频信息不为空</strong></p>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110345634-929165512.jpg"></p>
<p><strong>4.视频搜索插件:获取单个视频详细信息(douyin_data)</strong></p>
<ul>
<li>输入:
<ul>
<li>api_token:点击“感叹号”,通过网站可以获取。</li>
<li>douyin_url:从批量获取视频详细信息节点的输出中,选择share_url</li>
</ul>
</li>
</ul>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110346546-953879490.jpg"></p>
<p><strong>5.代码节点:将视频详情整合进视频列表中</strong></p>
<ul>
<li>输入:
<ul>
<li>aweme_detail:从获取单个视频详细信息节点的输出中,选择aweme_detail</li>
<li>aweme:从批量获取视频详细信息节点的输出中,选择item</li>
</ul>
</li>
<li>输出:
<ul>
<li>aweme:处理后的单条视</li>
</ul>
</li>
</ul>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110347175-1223932480.jpg"></p>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110347976-1141060922.jpg"></p>
<p>下面是处理数据的Python代码:</p>
<pre><code class="language-python">async def main(args: Args) -&gt; Output:
    params = args.params
    aweme_detail = params.get("aweme_detail", {})
    aweme = params.get("aweme", {})
    aweme["aweme_detail"] = aweme_detail

    ret: Output = {
      "aweme": aweme
    }
    return ret
</code></pre>
<h3 id="34-将数据添加到多维表格">3.4 将数据添加到多维表格</h3>
<p><strong>1.代码节点:将信息整理为飞书表格可以使用的数据</strong></p>
<ul>
<li>输入:
<ul>
<li>aweme_list:从"批量获取视频详细信息"节点的输出中,选择new_aweme_list</li>
<li>keywords:从开始节点中,选择keyword</li>
</ul>
</li>
<li>输出:
<ul>
<li>records:处理后的表格数据,选择Array类型</li>
</ul>
</li>
</ul>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110348789-830931491.jpg"></p>
<p>下面是处理数据的Python代码:</p>
<pre><code class="language-python">async def main(args: Args) -&gt; Output:
    """
    处理传入的 args.params.aweme_list 列表,提取每条视频的关键信息并返回。
    """
    # 1. 先安全地获取 params
    params = getattr(args, "params", {})# 如果 args 或 params 不存在,就给空字典

    # 2. 安全地获取 aweme_list
    aweme_list = params.get("aweme_list", [])
    if not isinstance(aweme_list, list):
      return []# 如果 aweme_list 不是列表,也直接返回空列表

    result = []

    # 3. 遍历 aweme_list,依次处理
    for aweme in aweme_list:
      # 如果当前 aweme 非字典类型,直接跳过
      if not isinstance(aweme, dict):
            continue
      # 获取 aweme_detail 并判空
      aweme_detail = aweme.get("aweme_detail") or {}
      title = aweme_detail.get("desc") or ""
      link = aweme_detail.get("share_url") or ""

      # 4. 安全获取 statistics
      statistics = aweme_detail.get("statistics") or {}

      # 5. 提取各字段信息,并在取值时加默认值
      video_id = statistics.get("aweme_id") or ""
      digg_count = statistics.get("digg_count") or 0
      comment_count = statistics.get("comment_count") or 0
      collect_count = statistics.get("collect_count") or 0
      share_count = statistics.get("share_count") or 0

      #   获取作者信息
      author_info = aweme_detail.get("author") or {}
      author_name = author_info.get("nickname") or ""
      signature = author_info.get("signature") or ""
      sec_uid = author_info.get("sec_uid") or ""

      # 7. 获取时间和时长,需要做类型检查,防止计算时报错
      raw_create_time = aweme_detail.get("create_time", 0)
      # 如果不是 int,就尝试转换,失败则为 0
      try:
            create_time = int(raw_create_time)
      except (TypeError, ValueError):
            create_time = 0

      # 创建时间以毫秒计,避免 None 或非法值导致报错
      create_time_ms = create_time * 1000

      raw_duration = aweme_detail.get("duration", 0)
      # 如果不是数字,尝试转换为 float,失败则为 0
      try:
            duration = float(raw_duration)
      except (TypeError, ValueError):
            duration = 0.0
      duration_sec = duration / 1000

      # 8. 组装返回数据
      item_dict = {
            "fields": {
                "视频ID": video_id,
                "标题": title.strip(),
                "关键词": params.get("keywords", ""),
                "链接": {
                  "text": "查看视频",
                  "link": link.strip(),
                },
                "点赞数": digg_count,
                "评论数": comment_count,
                "收藏数": collect_count,
                "分享数": share_count,
                "作者": author_name,
                "用户简介": signature,
                "用户ID": sec_uid,
                "发布日期": create_time_ms,# 毫秒级时间戳
                "时长": duration_sec         # 秒
            }
      }
      result.append(item_dict)

    return result
</code></pre>
<p><strong>2.我们需要创建一个多维表格,设置好表头字段,如下图所示。</strong></p>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110349292-442002915.jpg"></p>
<p>表格模板链接:https://xtninrlicw.feishu.cn/base/BRwvbkFzfaER27smZ7kcKN9wnSe?table=tbl2XVrl6Z0bWpNh&amp;view=vewSzOF5Ix</p>
<p><strong>3.飞书表格插件:将数据添加到多维表格(add_records)</strong></p>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110349878-931569890.jpg"></p>
<ul>
<li>输入:
<ul>
<li>app_token:提前创建一个多维表格,将多维表格的链接复制进去<strong>。</strong></li>
<li>records:从"将信息整理为飞书表格可以使用的数据"的输出变量中,选择records。</li>
<li>table_id:多维表格数据表的唯一标识符</li>
</ul>
</li>
</ul>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110350590-982501572.jpg"></p>
<p>多维表格数据表的唯一标识符:</p>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110351195-1921951352.jpg"></p>
<h3 id="35-结束节点">3.5 结束节点</h3>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110351760-1247864210.jpg"></p>
<h2 id="4创建智能体">4.创建智能体</h2>
<h3 id="41-新建智能体">4.1 新建智能体</h3>
<p>在Coze平台创建一个新的智能体,命名“热点监控智能体”。</p>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110352391-1080748666.jpg"></p>
<h3 id="42-设置人设与逻辑">4.2 设置人设与逻辑</h3>
<p>配置对标账号监控的智能体的特征、回复风格和决策逻辑。</p>
<pre><code class="language-markdown"># 角色
你是一个专业的热点监控智能体,能够熟练调用`fetch_douyin_hot_videos_daily`工作流,根据赛道关键词,为用户获取抖音热门视频。

## 技能
### 技能 1:根据赛道关键词,为用户获取抖音热门视频。
1. 当用户提出监控某个赛道关键词的需求时,使用`fetch_douyin_hot_videos_daily`工作流,获取关键词的最新热门视频列表;
</code></pre>
<h3 id="43-绑定工作流">4.3 绑定工作流</h3>
<p>把“fetch_douyin_hot_videos_daily”工作流加进来,让智能体在合适的时机自动调用它。</p>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110352904-1722024424.jpg"></p>
<h3 id="44-设置触发器">4.4 设置触发器</h3>
<p>添加触发器,让智能体能定时执行工作流,采集关键词的热门视频。</p>
<p>例如,我要在每天凌晨1点,采集“智能体”关键词的热门视频,如下图所示:</p>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110353554-358042294.jpg"></p>
<h3 id="45-测试并发布">4.5 测试并发布</h3>
<p>全面的功能测试,确认正常后将智能体正式发布到生产环境。</p>
<p><img src="https://img2024.cnblogs.com/other/2625446/202504/2625446-20250430110354251-271401568.jpg"></p>
<h2 id="5总结">5.总结</h2>
<p>本文介绍了如何使用Coze搭建热点监控智能体,帮助我们自动收集和分析抖音平台的热门视频数据。</p>
<p>通过工作流实现自动化监控,该智能体能够每天定时采集指定关键词的热门视频,并将数据自动整理存储到飞书多维表格中,便于后续分析。</p>
<p>借助这个智能体,创作者无需逐个搜索关键词,就能轻松追踪赛道热点,从而将更多精力投入到内容创作中。</p>
<blockquote>
<p>本文已收录于,我的技术博客:tangshiye.cn里面有,DeepSeek 资料,AI 智能体教程,算法 Leetcode 详解,BAT 面试真题,架构设计,等干货分享。</p>
</blockquote>


</div>
<div id="MySignature" role="contentinfo">
    <p>本文来自博客园,作者:AI架构师汤师爷,转载请注明原文链接:https://www.cnblogs.com/tangshiye/p/18855101</p><br><br>
来源:https://www.cnblogs.com/tangshiye/p/18855101
頁: [1]
查看完整版本: DeepSeek+Coze实战:如何从0到1打造一个热点监控智能体