Просмотр исходного кода

更新抖音平台、升级skill模式

gangvy 12 часов назад
Родитель
Сommit
2f0110f522
76 измененных файлов с 6519 добавлено и 859 удалено
  1. 7 2
      competitor-analysis/competitor-bsr-tracking/SKILL.md
  2. 7 2
      competitor-analysis/competitor-discovery/SKILL.md
  3. 6 1
      competitor-analysis/competitor-pricing-analysis/SKILL.md
  4. 7 2
      competitor-analysis/competitor-product-comparison/SKILL.md
  5. 2 1
      deploy-to-openclaw.ps1
  6. 487 0
      docs/mcp文件/sorftime-mcp.ts
  7. 335 0
      docs/tikhub接口文档/获取单个作品数据 V3 (无版权限制)/Get single video data V3.md
  8. 359 0
      docs/tikhub接口文档/获取单个视频评论数据/Get single video comments data.md
  9. 330 0
      docs/tikhub接口文档/获取指定用户的信息/Get information of specified user.md
  10. 375 0
      docs/tikhub接口文档/获取指定视频的评论回复数据/Get comment replies data of specified video.md
  11. 401 0
      docs/tikhub接口文档/获取用户搜索 V2/Fetch user search V2.md
  12. 612 0
      docs/tikhub接口文档/获取综合搜索 V2/Fetch general search V2.md
  13. 621 0
      docs/tikhub接口文档/获取视频搜索 V2/Fetch video search V2.md
  14. 539 0
      docs/tikhub接口文档/获取话题搜索 V2/Fetch hashtag search V2.md
  15. 61 0
      douyin/douyin-comment-replies/SKILL.md
  16. 104 0
      douyin/douyin-comment-replies/api-config.json
  17. 96 0
      douyin/douyin-general-search/SKILL.md
  18. 188 0
      douyin/douyin-general-search/api-config.json
  19. 73 0
      douyin/douyin-hashtag-search/SKILL.md
  20. 146 0
      douyin/douyin-hashtag-search/api-config.json
  21. 60 0
      douyin/douyin-user-profile/SKILL.md
  22. 85 0
      douyin/douyin-user-profile/api-config.json
  23. 63 0
      douyin/douyin-user-search/SKILL.md
  24. 108 0
      douyin/douyin-user-search/api-config.json
  25. 65 0
      douyin/douyin-video-comments/SKILL.md
  26. 113 0
      douyin/douyin-video-comments/api-config.json
  27. 63 0
      douyin/douyin-video-detail/SKILL.md
  28. 86 0
      douyin/douyin-video-detail/api-config.json
  29. 7 2
      review-analysis/review-batch-collection/SKILL.md
  30. 5 0
      review-analysis/review-highlight-extraction/SKILL.md
  31. 6 1
      review-analysis/review-keyword-cloud/SKILL.md
  32. 6 1
      review-analysis/review-pain-point-extraction/SKILL.md
  33. 6 1
      review-analysis/review-sentiment-analysis/SKILL.md
  34. 37 36
      social-media/instagram-search/SKILL.md
  35. 25 8
      social-media/instagram-search/api-config.json
  36. 33 33
      social-media/instagram-user-info/SKILL.md
  37. 22 14
      social-media/instagram-user-info/api-config.json
  38. 35 40
      social-media/instagram-user-posts/SKILL.md
  39. 27 10
      social-media/instagram-user-posts/api-config.json
  40. 28 23
      social-media/tiktok-hashtag-detail/SKILL.md
  41. 21 6
      social-media/tiktok-hashtag-detail/api-config.json
  42. 33 36
      social-media/tiktok-hashtag-videos/SKILL.md
  43. 26 7
      social-media/tiktok-hashtag-videos/api-config.json
  44. 35 37
      social-media/tiktok-user-posts/SKILL.md
  45. 29 9
      social-media/tiktok-user-posts/api-config.json
  46. 32 33
      social-media/tiktok-user-profile/SKILL.md
  47. 26 10
      social-media/tiktok-user-profile/api-config.json
  48. 32 33
      social-media/tiktok-user-search/SKILL.md
  49. 21 12
      social-media/tiktok-user-search/api-config.json
  50. 37 35
      social-media/tiktok-video-comments/SKILL.md
  51. 27 7
      social-media/tiktok-video-comments/api-config.json
  52. 38 32
      social-media/tiktok-video-detail/SKILL.md
  53. 23 6
      social-media/tiktok-video-detail/api-config.json
  54. 37 38
      social-media/tiktok-video-search/SKILL.md
  55. 33 12
      social-media/tiktok-video-search/api-config.json
  56. 6 2
      social-voc/instagram-brand-voc/SKILL.md
  57. 6 1
      social-voc/social-trend-analysis/SKILL.md
  58. 6 2
      social-voc/tiktok-brand-voc/SKILL.md
  59. 6 2
      social-voc/tiktok-category-voc/SKILL.md
  60. 7 2
      synthesis/brand-profile/SKILL.md
  61. 7 2
      synthesis/category-landscape/SKILL.md
  62. 8 3
      synthesis/product-deep-analysis/SKILL.md
  63. 7 2
      synthesis/user-persona/SKILL.md
  64. 6 1
      synthesis/voc-proposal/SKILL.md
  65. 28 23
      voc/asin-reverse-keywords/SKILL.md
  66. 29 24
      voc/asin-sales-volume/SKILL.md
  67. 31 26
      voc/category-products/SKILL.md
  68. 24 18
      voc/category-tree/SKILL.md
  69. 29 25
      voc/keyword-product-ranking/SKILL.md
  70. 27 27
      voc/keyword-search-trend/SKILL.md
  71. 32 24
      voc/keyword-search/SKILL.md
  72. 41 51
      voc/product-detail-query/SKILL.md
  73. 28 23
      voc/product-monitor/SKILL.md
  74. 43 55
      voc/product-reviews-query/SKILL.md
  75. 33 32
      voc/product-search/SKILL.md
  76. 29 24
      voc/similar-products/SKILL.md

+ 7 - 2
competitor-analysis/competitor-bsr-tracking/SKILL.md

@@ -76,9 +76,14 @@ competitor-bsr-tracking
 }
 ```
 
+## 核心业务场景
+- 竞品动态追踪(日常监控竞品 BSR/价格/评分变化)
+- 价格战预警(检测竞品降价或 BSR 暴涨信号)
+- 增长路径定位(判断自身处于头部/腰部/尾部并量化差距)
+
 ## 依赖
-- Sorftime API
-- 需要 competitor-discovery 输出的竞品ASIN列表
+- Amazon VOC API: `https://server.fmode.cn/api/voc-ecom/forward`(统一转发,认证已内置)
+- 需要 competitor-discovery 输出的竞品 ASIN 列表
 
 ## 对应工作坊环节
 Day2 上午 竞品VOC深度分析 辅助数据

+ 7 - 2
competitor-analysis/competitor-discovery/SKILL.md

@@ -83,9 +83,14 @@ competitor-discovery
 }
 ```
 
+## 核心业务场景
+- 工作坊 Day1 竞品初筛(品类关键词 → 自动筛选 3-5 家直接竞品)
+- 定价对标(找到价格带/评分相近的竞品组)
+- 市场格局报告(CR5 垄断度分级)
+
 ## 依赖
-- Sorftime API(通过 https://server.fmode.cn/api/voc/forward)
-- 需要先确定自身品牌ASIN和品类关键词
+- Amazon VOC API: `https://server.fmode.cn/api/voc-ecom/forward`(统一转发,认证已内置
+- 需要先确定自身品牌 ASIN 和品类关键词
 
 ## 对应工作坊环节
 Day1 下午 16:00-17:00「竞品初筛」

+ 6 - 1
competitor-analysis/competitor-pricing-analysis/SKILL.md

@@ -78,8 +78,13 @@ competitor-pricing-analysis
 }
 ```
 
+## 核心业务场景
+- 品类黄金价格带识别(量利平衡最优定价区间)
+- 竞品定价策略破解(渗透定价/溢价定价/跟随定价识别)
+- 毛利率估算(15%佣金+FBA 费用+采购成本推算)
+
 ## 依赖
-- Sorftime API
+- Amazon VOC API: `https://server.fmode.cn/api/voc-ecom/forward`(统一转发,认证已内置)
 - 需要 competitor-discovery 输出的竞品列表
 
 ## 对应工作坊环节

+ 7 - 2
competitor-analysis/competitor-product-comparison/SKILL.md

@@ -84,9 +84,14 @@ competitor-product-comparison
 }
 ```
 
+## 核心业务场景
+- 竞品五维健康度仪表盘(定价/评分/流量/销量/增长 0-100 评分)
+- 自身产品短板识别(找出得分最低维度作为优先改进方向)
+- 竞品机会/风险标签生成(报告直接可用)
+
 ## 依赖
-- Sorftime API
-- 需要先通过 competitor-discovery 获取竞品ASIN列表
+- Amazon VOC API: `https://server.fmode.cn/api/voc-ecom/forward`(统一转发,认证已内置)
+- 需要先通过 competitor-discovery 获取竞品 ASIN 列表
 
 ## 对应工作坊环节
 Day1 下午 16:00-17:00「竞品初筛」后续深度对比

+ 2 - 1
deploy-to-openclaw.ps1

@@ -21,7 +21,8 @@ $categories = @(
     "competitor-analysis",
     "review-analysis",
     "synthesis",
-    "social-voc"
+    "social-voc",
+    "douyin"
 )
 
 Write-Host "========================================"

+ 487 - 0
docs/mcp文件/sorftime-mcp.ts

@@ -0,0 +1,487 @@
+/**
+   * 查询Tiktok电商平台**指定类目**的类目数据报告
+   *
+   * @param nodeId 类目市场nodeid,可通过TiktokCategoryNameSearch获得
+   * @param site? TikTok站点
+   */
+  function tiktok_category_report(nodeId: string, site?: "Unknow" | "US" | "MY" | "PH" | "VN" | "ID" | "GB");
+
+  /**
+   * 查询亚马逊平台上类目产品的特点
+   *
+   * @param searchName 查询的类目名称
+   * @param amzSite? 亚马逊站点
+   */
+  function similar_product_feature(searchName: string, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "IN" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 查询我的亚马逊平台关键词词库的词
+   *
+   * @param dict? 选填,如果指定,查询指定收藏夹下的词;如需查询全部词,指定传值`all`
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   * @param amzSite? 亚马逊站点
+   */
+  function get_favorite_keyword(dict?: string, page?: number, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 查询亚马逊电商平台上热搜关键词搜索结果自然位产品清单
+   *
+   * @param searchKeyword 查询的关键词
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   * @param amzSite? 亚马逊站点
+   */
+  function keyword_search_results(searchKeyword: string, page?: number, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 查询亚马逊电商平台细分类目市场趋势数据,基于类目Top100产品统计
+   *
+   * @param nodeId 查询类目的nodeid
+   * @param trendIndex? 所查询的趋势类型
+   * @param amzSite? 亚马逊站点
+   */
+  function category_trend(nodeId: string, trendIndex?: "SalesCount" | "BrandProductCount" | "SellerProductCount" | "AvgPrice" | "AvgRatingCount" | "AvgScore" | "NewProductSalesAmountShare" | "AmazonSalesAmountShare" | "Top3ProductSalesAmountShare" | "Top3BrandSalesAmountShare" | "Top3SellerSalesAmountShare", amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "IN" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 查询亚马逊电商平台上实时热搜关键词榜,按周搜索量排序
+   *
+   * @param rank_min? 可选参数,如果指定表示筛选周搜索量排名大于等于此值的关键词
+   * @param rank_max? 可选参数,如果指定表示筛选周搜索量排名小于等于此值的关键词
+   * @param search_volume_min? 可选参数,如果指定表示筛选月搜索量大于等于此值的关键词
+   * @param search_volume_max? 可选参数,如果指定表示筛选月搜索量小于等于此值的关键词
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   * @param amzSite? 亚马逊站点
+   */
+  function keyword_list(rank_min?: number, rank_max?: number, search_volume_min?: number, search_volume_max?: number, page?: number);
+  // optional (1): amzSite
+
+  /**
+   * 亚马逊平台上单个产品分析报告
+   *
+   * @param asin 产品asin码
+   * @param amzSite? 亚马逊站点
+   */
+  function product_report(asin: string, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "IN" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 查询亚马逊电商平台产品类目结构
+   *
+   * @param amzSite? 亚马逊站点
+   */
+  function category_tree(amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "IN" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 查询亚马逊电商平台上产品的详情数据
+   *
+   * @param asin 产品ASIN,仅支持单ASIN查询
+   * @param amzSite? 亚马逊站点
+   */
+  function product_detail(asin: string, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "IN" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 按名称搜索Tiktok上相关类目市场,返回类目市场名称和nodeid
+   *
+   * @param searchName 搜索的产品名称
+   * @param site? TikTok站点
+   */
+  function tiktok_category_name_search(searchName: string, site?: "Unknow" | "US" | "MY" | "PH" | "VN" | "ID" | "GB");
+
+  /**
+   * 查询产品在Tiktok平台上的相似产品,可用于分析此类产品的销售情况
+   *
+   * @param searchName 查询的产品名称
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   * @param site? TikTok站点
+   */
+  function tiktok_similar_product(searchName: string, page?: number, site?: "Unknow" | "US" | "MY" | "PH" | "VN" | "ID" | "GB");
+
+  /**
+   * 获取当前时间
+   */
+  function get_time();
+
+  /**
+   * 查询亚马逊电商平台上历史日期的热搜关键词榜,按周搜索量排序
+   *
+   * @param date 所查询的时间,格式yyyy-MM-dd,最早支持2025-03-04
+   * @param rank_min? 可选参数,如果指定表示筛选周搜索量排名大于等于此值的关键词
+   * @param rank_max? 可选参数,如果指定表示筛选周搜索量排名小于等于此值的关键词
+   * @param search_volume_min? 可选参数,如果指定表示筛选周搜索量大于等于此值的关键词
+   * @param search_volume_max? 可选参数,如果指定表示筛选周搜索量小于等于此值的关键词
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   * @param amzSite? 亚马逊站点
+   */
+  function keyword_list_from_history(date: string, rank_min?: number, rank_max?: number, search_volume_min?: number, search_volume_max?: number);
+  // optional (2): page, amzSite
+
+  /**
+   * 删除我的亚马逊平台关键词词库中收藏的指定关键词
+   *
+   * @param keyword 需要删除的词
+   * @param dict? 选填,如果指定,将删除指定收藏夹下的词
+   * @param amzSite? 亚马逊站点
+   */
+  function del_favorite_keyword(keyword: string, dict?: string, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 亚马逊电商平台产品在指定关键词下曝光的排名趋势,按曝光时间倒序排列
+   *
+   * @param asin 产品ASIN
+   * @param keyword 关键词
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   * @param amzSite? 亚马逊站点
+   */
+  function product_ranking_trend_by_keyword(asin: string, keyword: string, page?: number, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "IN" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 查询亚马逊电商平台**指定类目**的**指定历史时间段**销量Top100产品数据报告
+   *
+   * @param startDate 查看历史数据,指定起始时间(格式:yyyy-MM-dd)
+   * @param endDate 查看历史数据,当指定起始时间后(startDate)后用于指定查询截止时间,支持最长40天数据组合
+   * @param nodeId 选填,细分类目nodeid,查询这个指定细分类目数据
+   * @param amzSite? 亚马逊站点
+   */
+  function category_report_from_history(startDate: string, endDate: string, nodeId: string, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "IN" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 查询Tiktok平台产品的带货视频
+   *
+   * @param productId 产品Id
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   * @param site? TikTok站点
+   */
+  function tiktok_product_video(productId: string, page?: number, site?: "Unknow" | "US" | "MY" | "PH" | "VN" | "ID" | "GB");
+
+  /**
+   * 按产品名称搜索相关带货达人
+   *
+   * @param searchName 搜索的产品名称
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   * @param site? TikTok站点
+   */
+  function tiktok_author(searchName: string, page?: number, site?: "Unknow" | "US" | "MY" | "PH" | "VN" | "ID" | "GB");
+
+  /**
+   * 获取亚马逊电商平台产品的竞品在各核心关键词下的曝光位置,这里只会使用自然曝光计算(排除了广告曝光),以此可以分析此产品获取流量的能力(例如:在搜索量大的核心词下都有排名靠前的曝光,就说明获取流量能力强;反之则有待加强)
+   *
+   * @param asin 产品ASIN
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   * @param amzSite? 亚马逊站点
+   */
+  function competitor_product_keywords(asin: string, page?: number, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 基于多维度约束,广泛的搜索符合条件的细分类目(品类)市场,用于多维度选品。
+   *
+   * @param month_sales_volume_min? 可选参数,如果指定表示筛选月销量大于等于此值的细分类目市场
+   * @param month_sales_volume_max? 可选参数,如果指定表示筛选月销量小于等于此值的细分类目市场
+   * @param ratings_min? 可选参数,如果指定表示筛选星级大于等于此值的细分类目市场
+   * @param ratings_max? 可选参数,如果指定表示筛选星级小于等于此值的细分类目市场
+   * @param ratings_count_min? 可选参数,如果指定表示筛选评论数量大于等于此值的细分类目市场
+   * @param ratings_count_max? 可选参数,如果指定表示筛选评论数量小于等于此值的细分类目市场
+   * @param price_min? 可选参数,如果指定如果指定表示筛选平均销售价(当地货币,如US为美元,FR为欧元)大于等于此值的细分类目市场
+   * @param price_max? 可选参数,如果指定如果指定表示筛选平均销售价(当地货币,如US为美元,FR为欧元)小于等于此值的细分类目市场
+   * @param seasonal_popular_product? 可选参数,如果指定表示筛选在指定月份为热销旺季的细分类目
+   * @param top3Product_sales_share_min? 可选参数,用0-1表示百分比数(如10% 为
+   *                                     0.1)。如果指定表示筛选Top3产品在Top100产品的销量占比(销量垄断系数)大于等于此值的细分类目市场
+   * @param top3Product_sales_share_max? 可选参数,用0-1表示百分比数(如10% 为
+   *                                     0.1)。如果指定表示筛选Top3产品在Top100产品的销量占比(销量垄断系数)小于等于此值的细分类目市场
+   * @param amazonOwned_sales_share_min? 可选参数,用0-1表示百分比数(如10% 为
+   *                                     0.1)。如果指定表示筛选在Top100产品中亚马逊自营产品的销量占比(卖家垄断系数)大于等于此值的细分类目市场
+   * @param amazonOwned_sales_share_max? 可选参数,用0-1表示百分比数(如10% 为
+   *                                     0.1)。如果指定表示筛选在Top100产品中亚马逊自营产品的销量占比(卖家垄断系数)小于等于此值的细分类目市场
+   * @param top100_top400_sales_share_min? 可选参数,用0-1表示百分比数(如10% 为
+   *                                       0.1)。如果指定表示筛选Top100产品在Top400产品中的销量占比(占比低表示长尾市场)大于等于此值的细分类目市场
+   * @param top100_top400_sales_share_max? 可选参数,用0-1表示百分比数(如10% 为
+   *                                       0.1)。如果指定表示筛选Top100产品在Top400产品中的销量占比(占比低表示长尾市场)小于等于此值的细分类目市场
+   * @param newproduct_sales_share_min? 可选参数,用0-1表示百分比数(如10% 为
+   *                                    0.1)。如果指定表示筛选Top100产品中上架时间在3个月内产品的销量占比(新品销量占比)大于等于此值的细分类目市场
+   * @param newproduct_sales_share_max? 可选参数,用0-1表示百分比数(如10% 为
+   *                                    0.1)。如果指定表示筛选Top100产品中上架时间在3个月内产品的销量占比(新品销量占比)小于等于此值的细分类目市场
+   * @param page? 查询结果的页码索引,默认为第 1 页。每页返回 50 条数据
+   * @param amzSite? 亚马逊站点
+   */
+  function search_categories_broadly(month_sales_volume_min?: number, month_sales_volume_max?: number, ratings_min?: number, ratings_max?: number, ratings_count_min?: number);
+  // optional (14): ratings_count_max, price_min, price_max, seasonal_popular_product, top3Product_sales_share_min, ...
+
+  /**
+   * 搜索亚马逊电商平台上的潜力产品
+   *
+   * @param searchName? 可选参数,如果指定,将按此名称搜索相关产品
+   * @param price_min? 可选参数,如果指定表示筛选销售价大于等于此值的产品
+   * @param price_max? 可选参数,如果指定表示筛选销售价小于等于此值的产品
+   * @param month_sales_volume_min? 可选参数,如果指定表示筛选月销量大于等于此值的产品
+   * @param month_sales_volume_max? 可选参数,如果指定表示筛选月销量小于等于此值的产品
+   * @param delivery_type? 可选参数,如果指定,筛选产品的发货方式
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   * @param amzSite? 亚马逊站点
+   */
+  function potential_product(searchName?: string, price_min?: number, price_max?: number, month_sales_volume_min?: number, month_sales_volume_max?: number);
+  // optional (3): delivery_type, page, amzSite
+
+  /**
+   * 查询亚马逊电商平台上热搜关键词的延伸词关键词,可用于卖家查询相关关键词、发现长尾词或挖掘个性化需求
+   *
+   * @param searchKeyword 查询的关键词
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   * @param amzSite? 亚马逊站点
+   */
+  function keyword_extends(searchKeyword: string, page?: number, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 通过1688平台找产品的采购货源。可用于分析产品的采购成本价
+   *
+   * @param searchName 查询的产品名称
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   */
+  function ali1688_similar_product(searchName: string, page?: number);
+
+  /**
+   * 移动我的亚马逊平台关键词词库中收藏的关键词到指定收藏夹,如果收藏夹不存在会新建
+   *
+   * @param keyword 需要移动的词
+   * @param toDict 移动到的收藏夹名称
+   * @param fromDict? 选填,如果指定,将移动指定收藏夹下的词
+   * @param amzSite? 亚马逊站点
+   */
+  function change_favorite_keyword(keyword: string, toDict: string, fromDict?: string, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 亚马逊电商平台产品反查关键词,返回近期产品在哪些关键词前3页中曝光,按最后曝光时间倒序排列
+   *
+   * @param asin 产品ASIN
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   * @param amzSite? 亚马逊站点
+   */
+  function product_traffic_terms(asin: string, page?: number, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "IN" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 查询Tiktok平台产品趋势,同时返回`销量`,`价格`,`星级`,`评论数量`,`新增带货视频数`,`新增带货达人数`多个维度
+   *
+   * @param productId 产品Id
+   * @param site? TikTok站点
+   */
+  function tiktok_product_trend(productId: string, site?: "Unknow" | "US" | "MY" | "PH" | "VN" | "ID" | "GB");
+
+  /**
+   * 查询亚马逊电商平台细分类目市场的核心关键词
+   *
+   * @param nodeId 选填,基于nodeid查询指定细分类目市场
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   * @param amzSite? 亚马逊站点
+   */
+  function category_keywords(nodeId: string, page?: number, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "IN" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 指定产品品类名称(如空气炸锅、手机充电宝)搜索亚马逊电商平台上相关的细分类目(品类)市场,按销量倒序排列返回数据。
+   *
+   * @param searchName 搜索某个产品的品类名称(如空气炸锅、手机充电宝等)。
+   * @param month_sales_volume_min? 可选参数,如果指定表示筛选月销量大于等于此值的细分类目市场
+   * @param month_sales_volume_max? 可选参数,如果指定表示筛选月销量小于等于此值的细分类目市场
+   * @param ratings_min? 可选参数,如果指定表示筛选星级大于等于此值的细分类目市场
+   * @param ratings_max? 可选参数,如果指定表示筛选星级小于等于此值的细分类目市场
+   * @param ratings_count_min? 可选参数,如果指定表示筛选评论数量大于等于此值的细分类目市场
+   * @param ratings_count_max? 可选参数,如果指定表示筛选评论数量小于等于此值的细分类目市场
+   * @param price_min? 可选参数,如果指定如果指定表示筛选平均销售价(当地货币,如US为美元,FR为欧元)大于等于此值的细分类目市场
+   * @param price_max? 可选参数,如果指定如果指定表示筛选平均销售价(当地货币,如US为美元,FR为欧元)小于等于此值的细分类目市场
+   * @param seasonal_popular_product? 可选参数,如果指定表示筛选在指定月份为热销旺季的细分类目
+   * @param top3Product_sales_share_min? 可选参数,用0-1表示百分比数(如10% 为
+   *                                     0.1)。如果指定表示筛选Top3产品在Top100产品的销量占比(销量垄断系数)大于等于此值的细分类目市场
+   * @param top3Product_sales_share_max? 可选参数,用0-1表示百分比数(如10% 为
+   *                                     0.1)。如果指定表示筛选Top3产品在Top100产品的销量占比(销量垄断系数)小于等于此值的细分类目市场
+   * @param amazonOwned_sales_share_min? 可选参数,用0-1表示百分比数(如10% 为
+   *                                     0.1)。如果指定表示筛选在Top100产品中亚马逊自营产品的销量占比(卖家垄断系数)大于等于此值的细分类目市场
+   * @param amazonOwned_sales_share_max? 可选参数,用0-1表示百分比数(如10% 为
+   *                                     0.1)。如果指定表示筛选在Top100产品中亚马逊自营产品的销量占比(卖家垄断系数)小于等于此值的细分类目市场
+   * @param top100_top400_sales_share_min? 可选参数,用0-1表示百分比数(如10% 为
+   *                                       0.1)。如果指定表示筛选Top100产品在Top400产品中的销量占比(占比低表示长尾市场)大于等于此值的细分类目市场
+   * @param top100_top400_sales_share_max? 可选参数,用0-1表示百分比数(如10% 为
+   *                                       0.1)。如果指定表示筛选Top100产品在Top400产品中的销量占比(占比低表示长尾市场)小于等于此值的细分类目市场
+   * @param newproduct_sales_share_min? 可选参数,用0-1表示百分比数(如10% 为
+   *                                    0.1)。如果指定表示筛选Top100产品中上架时间在3个月内产品的销量占比(新品销量占比)大于等于此值的细分类目市场
+   * @param newproduct_sales_share_max? 可选参数,用0-1表示百分比数(如10% 为
+   *                                    0.1)。如果指定表示筛选Top100产品中上架时间在3个月内产品的销量占比(新品销量占比)小于等于此值的细分类目市场
+   * @param page? 查询结果的页码索引,默认为第 1 页。每页返回 50 条数据
+   * @param amzSite? 亚马逊站点
+   */
+  function category_search_from_product_name(searchName: string, month_sales_volume_min?: number, month_sales_volume_max?: number, ratings_min?: number, ratings_max?: number);
+  // optional (15): ratings_count_min, ratings_count_max, price_min, price_max, seasonal_popular_product, ...
+
+  /**
+   * 查询亚马逊电商平台产品的近一年的用户留评,最多返回100条评论
+   *
+   * @param asin 产品ASIN
+   * @param reviewType? 查询评论意见倾向:积极评论(4-5星),消极评论(1-3星)
+   * @param amzSite? 亚马逊站点
+   */
+  function product_reviews(asin: string, reviewType?: "Both" | "Positive" | "Negative", amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "IN" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 查询亚马逊电商平台上热搜关键词历史趋势,支持搜索量、搜索排名、cpc价格趋势
+   *
+   * @param searchKeyword 查询的关键词
+   * @param amzSite? 亚马逊站点
+   */
+  function keyword_trend(searchKeyword: string, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 查询亚马逊电商平台产品的子体明细
+   *
+   * @param asin 产品ASIN,仅支持单ASIN查询
+   * @param amzSite? 亚马逊站点
+   */
+  function product_variations(asin: string, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "IN" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 查询亚马逊电商平台上热搜关键词详情
+   *
+   * @param keyword 查询的关键词
+   * @param amzSite? 亚马逊站点
+   */
+  function keyword_detail(keyword: string, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 搜索亚马逊电商平台上的**实时**产品数据,默认按月销量倒序排列
+   *
+   * @param seasonal_popular_product? 可选参数,如果指定,将筛选在指定月份为热销旺季的产品
+   * @param brand? 可选参数,如果指定,将筛选此品牌的产品
+   * @param seller_name? 可选参数,如果指定,将筛选此卖家的产品
+   * @param searchName? 可选参数,如果指定,将按此名称搜索相关产品
+   * @param property_name? 可选参数,如果指定,将筛选产品标题或属性中包含指定property的产品
+   * @param price_min? 可选参数,如果指定表示筛选销售价大于等于此值的产品
+   * @param price_max? 可选参数,如果指定表示筛选销售价小于等于此值的产品
+   * @param month_sales_volume_min? 可选参数,如果指定表示筛选月销量大于等于此值的产品
+   * @param month_sales_volume_max? 可选参数,如果指定表示筛选月销量小于等于此值的产品
+   * @param ratings_min? 可选参数,如果指定表示筛选星级大于等于此值的产品
+   * @param ratings_max? 可选参数,如果指定表示筛选星级小于等于此值的产品
+   * @param ratings_count_min? 可选参数,如果指定表示筛选评论数量大于等于此值的产品
+   * @param ratings_count_max? 可选参数,如果指定表示筛选评论数量小于等于此值的产品
+   * @param subcategory_sales_volume_rank_min? 可选参数,如果指定表示筛选在细分类目中销量排名大于等于此值的产品
+   * @param subcategory_sales_volume_rank_max? 可选参数,如果指定表示筛选在细分类目中销量排名小于等于此值的产品
+   * @param delivery_type? 可选参数,如果指定,筛选产品的发货方式
+   * @param variation_count_min? 可选参数,如果指定表示筛选产品子体数量大于等于此值的产品
+   * @param variation_count_max? 可选参数,如果指定表示筛选产品子体数量小于等于此值的产品
+   * @param sortby_potential_index? 可选参数,产品的潜力指数(隐赚指数),若指定将按产品潜力从高到低排列
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   * @param amzSite? 亚马逊站点
+   */
+  function product_search(seasonal_popular_product?: "Both" | "January" | "February" | "March" | "April" | "May" | "June" | "July" | "August" | "September" | "October" | "November" | "December", brand?: string, seller_name?: string, searchName?: string, property_name?: string);
+  // optional (16): price_min, price_max, month_sales_volume_min, month_sales_volume_max, ratings_min, ...
+
+  /**
+   * 按指定大品类(如汽车用品,家居用品)搜索亚马逊电商平台上相关的细分类目(品类)市场,按销量倒序排列返回数据。
+   *
+   * @param topNodeId 在指定大品类下搜索(如汽车用品,家居用品),先通过CategoryTree获取
+   * @param month_sales_volume_min? 可选参数,如果指定表示筛选月销量大于等于此值的细分类目市场
+   * @param month_sales_volume_max? 可选参数,如果指定表示筛选月销量小于等于此值的细分类目市场
+   * @param ratings_min? 可选参数,如果指定表示筛选星级大于等于此值的细分类目市场
+   * @param ratings_max? 可选参数,如果指定表示筛选星级小于等于此值的细分类目市场
+   * @param ratings_count_min? 可选参数,如果指定表示筛选评论数量大于等于此值的细分类目市场
+   * @param ratings_count_max? 可选参数,如果指定表示筛选评论数量小于等于此值的细分类目市场
+   * @param price_min? 可选参数,如果指定如果指定表示筛选平均销售价(当地货币,如US为美元,FR为欧元)大于等于此值的细分类目市场
+   * @param price_max? 可选参数,如果指定如果指定表示筛选平均销售价(当地货币,如US为美元,FR为欧元)小于等于此值的细分类目市场
+   * @param seasonal_popular_product? 可选参数,如果指定表示筛选在指定月份为热销旺季的细分类目
+   * @param top3Product_sales_share_min? 可选参数,用0-1表示百分比数(如10% 为
+   *                                     0.1)。如果指定表示筛选Top3产品在Top100产品的销量占比(销量垄断系数)大于等于此值的细分类目市场
+   * @param top3Product_sales_share_max? 可选参数,用0-1表示百分比数(如10% 为
+   *                                     0.1)。如果指定表示筛选Top3产品在Top100产品的销量占比(销量垄断系数)小于等于此值的细分类目市场
+   * @param amazonOwned_sales_share_min? 可选参数,用0-1表示百分比数(如10% 为
+   *                                     0.1)。如果指定表示筛选在Top100产品中亚马逊自营产品的销量占比(卖家垄断系数)大于等于此值的细分类目市场
+   * @param amazonOwned_sales_share_max? 可选参数,用0-1表示百分比数(如10% 为
+   *                                     0.1)。如果指定表示筛选在Top100产品中亚马逊自营产品的销量占比(卖家垄断系数)小于等于此值的细分类目市场
+   * @param top100_top400_sales_share_min? 可选参数,用0-1表示百分比数(如10% 为
+   *                                       0.1)。如果指定表示筛选Top100产品在Top400产品中的销量占比(占比低表示长尾市场)大于等于此值的细分类目市场
+   * @param top100_top400_sales_share_max? 可选参数,用0-1表示百分比数(如10% 为
+   *                                       0.1)。如果指定表示筛选Top100产品在Top400产品中的销量占比(占比低表示长尾市场)小于等于此值的细分类目市场
+   * @param newproduct_sales_share_min? 可选参数,用0-1表示百分比数(如10% 为
+   *                                    0.1)。如果指定表示筛选Top100产品中上架时间在3个月内产品的销量占比(新品销量占比)大于等于此值的细分类目市场
+   * @param newproduct_sales_share_max? 可选参数,用0-1表示百分比数(如10% 为
+   *                                    0.1)。如果指定表示筛选Top100产品中上架时间在3个月内产品的销量占比(新品销量占比)小于等于此值的细分类目市场
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   * @param amzSite? 亚马逊站点
+   */
+  function category_search_from_top_node(topNodeId: string, month_sales_volume_min?: number, month_sales_volume_max?: number, ratings_min?: number, ratings_max?: number);
+  // optional (15): ratings_count_min, ratings_count_max, price_min, price_max, seasonal_popular_product, ...
+
+  /**
+   * 查询我的亚马逊平台关键词词库的收藏夹列表
+   *
+   * @param page? 查询结果的页码索引,默认为第1页。每页返回50条数据
+   * @param amzSite? 亚马逊站点
+   */
+  function get_favorite_keyword_dict(page?: number, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 查询Tiktok平台产品详情
+   *
+   * @param productId 产品Id
+   * @param site? TikTok站点
+   */
+  function tiktok_product_detail(productId: string, site?: "Unknow" | "US" | "MY" | "PH" | "VN" | "ID" | "GB");
+
+  /**
+   * 搜索亚马逊电商平台上的**历史**产品,用于查看历史时间段的热卖产品。默认按月销量倒序排列
+   *
+   * @param searchTime 搜索的时间段,格式yyyy-MM。表示搜索指定年月的产品
+   * @param searchName? 可选参数,如果指定,将按此名称搜索相关产品
+   * @param price_min? 可选参数,如果指定表示筛选销售价大于等于此值的产品
+   * @param price_max? 可选参数,如果指定表示筛选销售价小于等于此值的产品
+   * @param month_sales_volume_min? 可选参数,如果指定表示筛选月销量大于等于此值的产品
+   * @param month_sales_volume_max? 可选参数,如果指定表示筛选月销量小于等于此值的产品
+   * @param ratings_min? 可选参数,如果指定表示筛选星级大于等于此值的产品
+   * @param ratings_max? 可选参数,如果指定表示筛选星级小于等于此值的产品
+   * @param ratings_count_min? 可选参数,如果指定表示筛选评论数量大于等于此值的产品
+   * @param ratings_count_max? 可选参数,如果指定表示筛选评论数量小于等于此值的产品
+   * @param delivery_type? 可选参数,如果指定,筛选产品的发货方式
+   * @param amzSite? 亚马逊站点
+   */
+  function product_search_from_history(searchTime: string, searchName?: string, price_min?: number, price_max?: number, month_sales_volume_min?: number);
+  // optional (7): month_sales_volume_max, ratings_min, ratings_max, ratings_count_min, ratings_count_max, ...
+
+  /**
+   * 查询Tiktok平台产品的带货达人
+   *
+   * @param productId 产品Id
+   * @param site? TikTok站点
+   */
+  function tiktok_product_video_author(productId: string, site?: "Unknow" | "US" | "MY" | "PH" | "VN" | "ID" | "GB");
+
+  /**
+   * 查询亚马逊电商平台产品的历史趋势数据,支持月销量/月销额/价格/所属大类排名趋势
+   *
+   * @param asin 产品ASIN
+   * @param productTrendType? 所需查询的产品趋势类型
+   * @param amzSite? 亚马逊站点
+   */
+  function product_trend(asin: string, productTrendType?: "SalesVolume" | "SalesAmount" | "Price" | "Rank", amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "IN" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 在我的亚马逊平台关键词词库中添加关键词收藏
+   *
+   * @param keyword 需要收藏的词
+   * @param dict? 选填,如果指定,将添加词到指定收藏夹
+   * @param amzSite? 亚马逊站点
+   */
+  function favorite_keyword(keyword: string, dict?: string, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 基于名称查询亚马逊电商平台细分类目市场,返回相关细分类目的Nodeid和Name
+   *
+   * @param searchName 需要查询的类目市场名称
+   * @param amzSite? 亚马逊站点
+   */
+  function category_name_search(searchName: string, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "IN" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  /**
+   * 查询亚马逊电商平台**指定类目**的**实时**销量Top100产品数据报告
+   *
+   * @param nodeId 选填,细分类目nodeid,查询这个指定细分类目数据
+   * @param amzSite? 亚马逊站点
+   */
+  function category_report(nodeId: string, amzSite?: "Unknow" | "US" | "GB" | "DE" | "FR" | "IN" | "CA" | "JP" | "ES" | "IT" | "MX" | "AE" | "AU" | "BR" | "SA");
+
+  Examples:
+    mcporter call sorftime-mcp.tiktok_category_report(nodeId: "example-id", si, ...)
+
+  Optional parameters hidden; run with --all-parameters to view all fields.
+
+  42 tools · 4411ms · HTTP https://mcp.sorftime.com/?key=slj2ehzxqui1bvztefl6c29sctk1qt09

+ 335 - 0
docs/tikhub接口文档/获取单个作品数据 V3 (无版权限制)/Get single video data V3.md

@@ -0,0 +1,335 @@
+# 获取单个作品数据 V3 (无版权限制)/Get single video data V3 (No copyright restrictions)
+
+## OpenAPI Specification
+
+```yaml
+openapi: 3.0.1
+info:
+  title: ''
+  description: ''
+  version: 1.0.0
+paths:
+  /api/v1/douyin/app/v3/fetch_one_video_v3:
+    get:
+      summary: 获取单个作品数据 V3 (无版权限制)/Get single video data V3 (No copyright restrictions)
+      deprecated: false
+      description: >-
+        # [中文]
+
+        ### 用途:
+
+        - 获取单个作品数据,支持文章、图文、视频等。
+
+        - V3版本的接口,解决了版权限制问题,可以获取更多受限内容,比如 V1,V2版本返回的Reason为8的内容和部分文章或短剧等。
+
+        ### 参数:
+
+        - aweme_id: 作品id
+
+        ### 返回:
+
+        - 作品数据
+
+
+        # [English]
+
+        ### Purpose:
+
+        - Get single video data, support article, photo, video, etc.
+
+        - V3 version of the interface, which solves the copyright restriction
+        problem and can obtain more restricted content, such as content with
+        Reason 8 returned by V1 and V2 versions and some articles or short
+        dramas.
+
+        ### Parameters:
+
+        - aweme_id: Video id
+
+        ### Return:
+
+        - Video data
+
+
+        # [示例/Example]
+
+        aweme_id = "7592116912205630761"
+      operationId: fetch_one_video_v3_api_v1_douyin_app_v3_fetch_one_video_v3_get
+      tags:
+        - Douyin-App-V3-API
+        - Douyin-App-V3-API
+      parameters:
+        - name: aweme_id
+          in: query
+          description: 作品或文章ID/Video or Article ID
+          required: true
+          example: '7592116912205630761'
+          schema:
+            type: string
+            description: 作品或文章ID/Video or Article ID
+            title: Aweme Id
+      responses:
+        '200':
+          description: Successful Response
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ResponseModel'
+          headers: {}
+          x-apifox-name: OK
+        '422':
+          description: Validation Error
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/HTTPValidationError'
+          headers: {}
+          x-apifox-name: Unprocessable Entity
+      security:
+        - HTTPBearer: []
+          x-apifox:
+            schemeGroups:
+              - id: uDCvwcHF3_BF8eUkSxZAj
+                schemeIds:
+                  - HTTPBearer
+            required: true
+            use:
+              id: uDCvwcHF3_BF8eUkSxZAj
+            scopes:
+              uDCvwcHF3_BF8eUkSxZAj:
+                HTTPBearer: []
+      x-apifox-folder: Douyin-App-V3-API
+      x-apifox-status: released
+      x-run-in-apifox: https://app.apifox.com/web/project/4705614/apis/api-406098636-run
+components:
+  schemas:
+    ResponseModel:
+      properties:
+        code:
+          type: integer
+          title: Code
+          description: HTTP status code | HTTP状态码
+          default: 200
+        request_id:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Request Id
+          description: Unique request identifier | 唯一请求标识符
+        message:
+          type: string
+          title: Message
+          description: Response message (EN-US) | 响应消息 (English)
+          default: Request successful. This request will incur a charge.
+        message_zh:
+          type: string
+          title: Message Zh
+          description: Response message (ZH-CN) | 响应消息 (中文)
+          default: 请求成功,本次请求将被计费。
+        support:
+          type: string
+          title: Support
+          description: Support message | 支持消息
+          default: 'Discord: https://discord.gg/aMEAS8Xsvz'
+        time:
+          type: string
+          title: Time
+          description: The time the response was generated | 生成响应的时间
+        time_stamp:
+          type: integer
+          title: Time Stamp
+          description: The timestamp the response was generated | 生成响应的时间戳
+        time_zone:
+          type: string
+          title: Time Zone
+          description: The timezone of the response time | 响应时间的时区
+          default: America/Los_Angeles
+        docs:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Docs
+          description: >-
+            Link to the API Swagger documentation for this endpoint | 此端点的 API
+            Swagger 文档链接
+        cache_message:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Message
+          description: Cache message (EN-US) | 缓存消息 (English)
+          default: >-
+            This request will be cached. You can access the cached result
+            directly using the URL below, valid for 24 hours. Accessing the
+            cache will not incur additional charges.
+        cache_message_zh:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Message Zh
+          description: Cache message (ZH-CN) | 缓存消息 (中文)
+          default: 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。
+        cache_url:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Url
+          description: The URL to access the cached result | 访问缓存结果的 URL
+        router:
+          type: string
+          title: Router
+          description: The endpoint that generated this response | 生成此响应的端点
+          default: ''
+        params:
+          type: string
+        data:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Data
+          description: The response data | 响应数据
+      type: object
+      title: ResponseModel
+      x-apifox-orders:
+        - code
+        - request_id
+        - message
+        - message_zh
+        - support
+        - time
+        - time_stamp
+        - time_zone
+        - docs
+        - cache_message
+        - cache_message_zh
+        - cache_url
+        - router
+        - params
+        - data
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    HTTPValidationError:
+      properties:
+        detail:
+          items:
+            $ref: '#/components/schemas/ValidationError'
+          type: array
+          title: Detail
+      type: object
+      title: HTTPValidationError
+      x-apifox-orders:
+        - detail
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    ValidationError:
+      properties:
+        loc:
+          items:
+            anyOf:
+              - type: string
+              - type: integer
+          type: array
+          title: Location
+        msg:
+          type: string
+          title: Message
+        type:
+          type: string
+          title: Error Type
+      type: object
+      required:
+        - loc
+        - msg
+        - type
+      title: ValidationError
+      x-apifox-orders:
+        - loc
+        - msg
+        - type
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+  securitySchemes:
+    HTTPBearer:
+      type: bearer
+      description: >
+        ----
+
+        #### API Token Introduction:
+
+        ##### Method 1: Use API Token in the Request Header (Recommended)
+
+        - **Header**: `Authorization`
+
+        - **Format**: `Bearer {token}`
+
+        - **Example**: `{"Authorization": "Bearer your_token"}`
+
+        - **Swagger UI**: Click on the `Authorize` button in the upper right
+        corner of the page to enter the API token directly without the `Bearer`
+        keyword.
+
+
+        ##### Method 2: Use API Token in the Cookie (Not Recommended, Use Only
+        When Method 1 is Unavailable)
+
+        - **Cookie**: `Authorization`
+
+        - **Format**: `Bearer {token}`
+
+        - **Example**: `Authorization=Bearer your_token`
+
+
+        #### Get API Token:
+
+        1. Register and log in to your account on the TikHub website.
+
+        2. Go to the user center, click on the API token menu, and create an API
+        token.
+
+        3. Copy and use the API token in the request header.
+
+        4. Keep your API token confidential and use it only in the request
+        header.
+
+
+        ----
+
+
+        #### API令牌简介:
+
+        ##### 方法一:在请求头中使用API令牌(推荐)
+
+        - **请求头**: `Authorization`
+
+        - **格式**: `Bearer {token}`
+
+        - **示例**: `{"Authorization": "Bearer your_token"}`
+
+        - **Swagger UI**: 点击页面右上角的`Authorize`按钮,直接输入API令牌,不需要`Bearer`关键字。
+
+
+        ##### 方法二:在Cookie中使用API令牌(不推荐,仅在无法使用方法一时使用)
+
+        - **Cookie**: `Authorization`
+
+        - **格式**: `Bearer {token}`
+
+        - **示例**: `Authorization=Bearer your_token`
+
+
+        #### 获取API令牌:
+
+        1. 在TikHub网站注册并登录账户。
+
+        2. 进入用户中心,点击API令牌菜单,创建API令牌。
+
+        3. 复制并在请求头中使用API令牌。
+
+        4. 保密您的API令牌,仅在请求头中使用。
+      scheme: bearer
+servers:
+  - url: https://api.tikhub.io
+    description: Production Environment
+security: []
+
+```

+ 359 - 0
docs/tikhub接口文档/获取单个视频评论数据/Get single video comments data.md

@@ -0,0 +1,359 @@
+# 获取单个视频评论数据/Get single video comments data
+
+## OpenAPI Specification
+
+```yaml
+openapi: 3.0.1
+info:
+  title: ''
+  description: ''
+  version: 1.0.0
+paths:
+  /api/v1/douyin/app/v3/fetch_video_comments:
+    get:
+      summary: 获取单个视频评论数据/Get single video comments data
+      deprecated: false
+      description: >-
+        # [中文]
+
+        ### 用途:
+
+        - 获取单个视频评论数据
+
+        ### 参数:
+
+        - aweme_id: 作品id
+
+        - cursor: 游标,用于翻页,第一页为0,第二页为第一次响应中的cursor值。
+
+        - count: 数量,请保持默认,否则会出现BUG。
+
+        ### 返回:
+
+        - 评论数据
+
+
+        # [English]
+
+        ### Purpose:
+
+        - Get single video comments data
+
+        ### Parameters:
+
+        - aweme_id: Video id
+
+        - cursor: Cursor, used for paging, the first page is 0, the second page
+        is the cursor value in the first response.
+
+        - count: Number Please keep the default, otherwise there will be BUG.
+
+        ### Return:
+
+        - Comments data
+
+
+        # [示例/Example]
+
+        aweme_id = "7448118827402972455"
+
+        cursor = 0
+
+        count = 20
+      operationId: fetch_video_comments_api_v1_douyin_app_v3_fetch_video_comments_get
+      tags:
+        - Douyin-App-V3-API
+        - Douyin-App-V3-API
+      parameters:
+        - name: aweme_id
+          in: query
+          description: 作品id/Video id
+          required: true
+          example: '7448118827402972455'
+          schema:
+            type: string
+            description: 作品id/Video id
+            title: Aweme Id
+        - name: cursor
+          in: query
+          description: 游标/Cursor
+          required: false
+          schema:
+            type: integer
+            description: 游标/Cursor
+            default: 0
+            title: Cursor
+        - name: count
+          in: query
+          description: 数量/Number
+          required: false
+          schema:
+            type: integer
+            description: 数量/Number
+            default: 20
+            title: Count
+      responses:
+        '200':
+          description: Successful Response
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ResponseModel'
+          headers: {}
+          x-apifox-name: OK
+        '422':
+          description: Validation Error
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/HTTPValidationError'
+          headers: {}
+          x-apifox-name: Unprocessable Entity
+      security:
+        - HTTPBearer: []
+          x-apifox:
+            schemeGroups:
+              - id: KDFzeEAalr9V-YXTFV9Qk
+                schemeIds:
+                  - HTTPBearer
+            required: true
+            use:
+              id: KDFzeEAalr9V-YXTFV9Qk
+            scopes:
+              KDFzeEAalr9V-YXTFV9Qk:
+                HTTPBearer: []
+      x-apifox-folder: Douyin-App-V3-API
+      x-apifox-status: released
+      x-run-in-apifox: https://app.apifox.com/web/project/4705614/apis/api-186826225-run
+components:
+  schemas:
+    ResponseModel:
+      properties:
+        code:
+          type: integer
+          title: Code
+          description: HTTP status code | HTTP状态码
+          default: 200
+        request_id:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Request Id
+          description: Unique request identifier | 唯一请求标识符
+        message:
+          type: string
+          title: Message
+          description: Response message (EN-US) | 响应消息 (English)
+          default: Request successful. This request will incur a charge.
+        message_zh:
+          type: string
+          title: Message Zh
+          description: Response message (ZH-CN) | 响应消息 (中文)
+          default: 请求成功,本次请求将被计费。
+        support:
+          type: string
+          title: Support
+          description: Support message | 支持消息
+          default: 'Discord: https://discord.gg/aMEAS8Xsvz'
+        time:
+          type: string
+          title: Time
+          description: The time the response was generated | 生成响应的时间
+        time_stamp:
+          type: integer
+          title: Time Stamp
+          description: The timestamp the response was generated | 生成响应的时间戳
+        time_zone:
+          type: string
+          title: Time Zone
+          description: The timezone of the response time | 响应时间的时区
+          default: America/Los_Angeles
+        docs:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Docs
+          description: >-
+            Link to the API Swagger documentation for this endpoint | 此端点的 API
+            Swagger 文档链接
+        cache_message:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Message
+          description: Cache message (EN-US) | 缓存消息 (English)
+          default: >-
+            This request will be cached. You can access the cached result
+            directly using the URL below, valid for 24 hours. Accessing the
+            cache will not incur additional charges.
+        cache_message_zh:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Message Zh
+          description: Cache message (ZH-CN) | 缓存消息 (中文)
+          default: 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。
+        cache_url:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Url
+          description: The URL to access the cached result | 访问缓存结果的 URL
+        router:
+          type: string
+          title: Router
+          description: The endpoint that generated this response | 生成此响应的端点
+          default: ''
+        params:
+          type: string
+        data:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Data
+          description: The response data | 响应数据
+      type: object
+      title: ResponseModel
+      x-apifox-orders:
+        - code
+        - request_id
+        - message
+        - message_zh
+        - support
+        - time
+        - time_stamp
+        - time_zone
+        - docs
+        - cache_message
+        - cache_message_zh
+        - cache_url
+        - router
+        - params
+        - data
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    HTTPValidationError:
+      properties:
+        detail:
+          items:
+            $ref: '#/components/schemas/ValidationError'
+          type: array
+          title: Detail
+      type: object
+      title: HTTPValidationError
+      x-apifox-orders:
+        - detail
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    ValidationError:
+      properties:
+        loc:
+          items:
+            anyOf:
+              - type: string
+              - type: integer
+          type: array
+          title: Location
+        msg:
+          type: string
+          title: Message
+        type:
+          type: string
+          title: Error Type
+      type: object
+      required:
+        - loc
+        - msg
+        - type
+      title: ValidationError
+      x-apifox-orders:
+        - loc
+        - msg
+        - type
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+  securitySchemes:
+    HTTPBearer:
+      type: bearer
+      description: >
+        ----
+
+        #### API Token Introduction:
+
+        ##### Method 1: Use API Token in the Request Header (Recommended)
+
+        - **Header**: `Authorization`
+
+        - **Format**: `Bearer {token}`
+
+        - **Example**: `{"Authorization": "Bearer your_token"}`
+
+        - **Swagger UI**: Click on the `Authorize` button in the upper right
+        corner of the page to enter the API token directly without the `Bearer`
+        keyword.
+
+
+        ##### Method 2: Use API Token in the Cookie (Not Recommended, Use Only
+        When Method 1 is Unavailable)
+
+        - **Cookie**: `Authorization`
+
+        - **Format**: `Bearer {token}`
+
+        - **Example**: `Authorization=Bearer your_token`
+
+
+        #### Get API Token:
+
+        1. Register and log in to your account on the TikHub website.
+
+        2. Go to the user center, click on the API token menu, and create an API
+        token.
+
+        3. Copy and use the API token in the request header.
+
+        4. Keep your API token confidential and use it only in the request
+        header.
+
+
+        ----
+
+
+        #### API令牌简介:
+
+        ##### 方法一:在请求头中使用API令牌(推荐)
+
+        - **请求头**: `Authorization`
+
+        - **格式**: `Bearer {token}`
+
+        - **示例**: `{"Authorization": "Bearer your_token"}`
+
+        - **Swagger UI**: 点击页面右上角的`Authorize`按钮,直接输入API令牌,不需要`Bearer`关键字。
+
+
+        ##### 方法二:在Cookie中使用API令牌(不推荐,仅在无法使用方法一时使用)
+
+        - **Cookie**: `Authorization`
+
+        - **格式**: `Bearer {token}`
+
+        - **示例**: `Authorization=Bearer your_token`
+
+
+        #### 获取API令牌:
+
+        1. 在TikHub网站注册并登录账户。
+
+        2. 进入用户中心,点击API令牌菜单,创建API令牌。
+
+        3. 复制并在请求头中使用API令牌。
+
+        4. 保密您的API令牌,仅在请求头中使用。
+      scheme: bearer
+servers:
+  - url: https://api.tikhub.io
+    description: Production Environment
+security: []
+
+```

+ 330 - 0
docs/tikhub接口文档/获取指定用户的信息/Get information of specified user.md

@@ -0,0 +1,330 @@
+# 获取指定用户的信息/Get information of specified user
+
+## OpenAPI Specification
+
+```yaml
+openapi: 3.0.1
+info:
+  title: ''
+  description: ''
+  version: 1.0.0
+paths:
+  /api/v1/douyin/app/v3/handler_user_profile:
+    get:
+      summary: 获取指定用户的信息/Get information of specified user
+      deprecated: false
+      description: >-
+        # [中文]
+
+        ### 用途:
+
+        - 获取指定用户的信息
+
+        ### 参数:
+
+        - sec_user_id: 用户sec_user_id
+
+        ### 返回:
+
+        - 用户信息
+
+
+        # [English]
+
+        ### Purpose:
+
+        - Get information of specified user
+
+        ### Parameters:
+
+        - sec_user_id: User sec_user_id
+
+        ### Return:
+
+        - User information
+
+
+        # [示例/Example]
+
+        sec_user_id =
+        "MS4wLjABAAAAW9FWcqS7RdQAWPd2AA5fL_ilmqsIFUCQ_Iym6Yh9_cUa6ZRqVLjVQSUjlHrfXY1Y"
+      operationId: handler_user_profile_api_v1_douyin_app_v3_handler_user_profile_get
+      tags:
+        - Douyin-App-V3-API
+        - Douyin-App-V3-API
+      parameters:
+        - name: sec_user_id
+          in: query
+          description: 用户sec_user_id/User sec_user_id
+          required: true
+          example: >-
+            MS4wLjABAAAAW9FWcqS7RdQAWPd2AA5fL_ilmqsIFUCQ_Iym6Yh9_cUa6ZRqVLjVQSUjlHrfXY1Y
+          schema:
+            type: string
+            description: 用户sec_user_id/User sec_user_id
+            title: Sec User Id
+      responses:
+        '200':
+          description: Successful Response
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ResponseModel'
+          headers: {}
+          x-apifox-name: OK
+        '422':
+          description: Validation Error
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/HTTPValidationError'
+          headers: {}
+          x-apifox-name: Unprocessable Entity
+      security:
+        - HTTPBearer: []
+          x-apifox:
+            schemeGroups:
+              - id: RCJumfLwFcarNRROSh60j
+                schemeIds:
+                  - HTTPBearer
+            required: true
+            use:
+              id: RCJumfLwFcarNRROSh60j
+            scopes:
+              RCJumfLwFcarNRROSh60j:
+                HTTPBearer: []
+      x-apifox-folder: Douyin-App-V3-API
+      x-apifox-status: released
+      x-run-in-apifox: https://app.apifox.com/web/project/4705614/apis/api-186826222-run
+components:
+  schemas:
+    ResponseModel:
+      properties:
+        code:
+          type: integer
+          title: Code
+          description: HTTP status code | HTTP状态码
+          default: 200
+        request_id:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Request Id
+          description: Unique request identifier | 唯一请求标识符
+        message:
+          type: string
+          title: Message
+          description: Response message (EN-US) | 响应消息 (English)
+          default: Request successful. This request will incur a charge.
+        message_zh:
+          type: string
+          title: Message Zh
+          description: Response message (ZH-CN) | 响应消息 (中文)
+          default: 请求成功,本次请求将被计费。
+        support:
+          type: string
+          title: Support
+          description: Support message | 支持消息
+          default: 'Discord: https://discord.gg/aMEAS8Xsvz'
+        time:
+          type: string
+          title: Time
+          description: The time the response was generated | 生成响应的时间
+        time_stamp:
+          type: integer
+          title: Time Stamp
+          description: The timestamp the response was generated | 生成响应的时间戳
+        time_zone:
+          type: string
+          title: Time Zone
+          description: The timezone of the response time | 响应时间的时区
+          default: America/Los_Angeles
+        docs:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Docs
+          description: >-
+            Link to the API Swagger documentation for this endpoint | 此端点的 API
+            Swagger 文档链接
+        cache_message:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Message
+          description: Cache message (EN-US) | 缓存消息 (English)
+          default: >-
+            This request will be cached. You can access the cached result
+            directly using the URL below, valid for 24 hours. Accessing the
+            cache will not incur additional charges.
+        cache_message_zh:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Message Zh
+          description: Cache message (ZH-CN) | 缓存消息 (中文)
+          default: 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。
+        cache_url:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Url
+          description: The URL to access the cached result | 访问缓存结果的 URL
+        router:
+          type: string
+          title: Router
+          description: The endpoint that generated this response | 生成此响应的端点
+          default: ''
+        params:
+          type: string
+        data:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Data
+          description: The response data | 响应数据
+      type: object
+      title: ResponseModel
+      x-apifox-orders:
+        - code
+        - request_id
+        - message
+        - message_zh
+        - support
+        - time
+        - time_stamp
+        - time_zone
+        - docs
+        - cache_message
+        - cache_message_zh
+        - cache_url
+        - router
+        - params
+        - data
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    HTTPValidationError:
+      properties:
+        detail:
+          items:
+            $ref: '#/components/schemas/ValidationError'
+          type: array
+          title: Detail
+      type: object
+      title: HTTPValidationError
+      x-apifox-orders:
+        - detail
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    ValidationError:
+      properties:
+        loc:
+          items:
+            anyOf:
+              - type: string
+              - type: integer
+          type: array
+          title: Location
+        msg:
+          type: string
+          title: Message
+        type:
+          type: string
+          title: Error Type
+      type: object
+      required:
+        - loc
+        - msg
+        - type
+      title: ValidationError
+      x-apifox-orders:
+        - loc
+        - msg
+        - type
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+  securitySchemes:
+    HTTPBearer:
+      type: bearer
+      description: >
+        ----
+
+        #### API Token Introduction:
+
+        ##### Method 1: Use API Token in the Request Header (Recommended)
+
+        - **Header**: `Authorization`
+
+        - **Format**: `Bearer {token}`
+
+        - **Example**: `{"Authorization": "Bearer your_token"}`
+
+        - **Swagger UI**: Click on the `Authorize` button in the upper right
+        corner of the page to enter the API token directly without the `Bearer`
+        keyword.
+
+
+        ##### Method 2: Use API Token in the Cookie (Not Recommended, Use Only
+        When Method 1 is Unavailable)
+
+        - **Cookie**: `Authorization`
+
+        - **Format**: `Bearer {token}`
+
+        - **Example**: `Authorization=Bearer your_token`
+
+
+        #### Get API Token:
+
+        1. Register and log in to your account on the TikHub website.
+
+        2. Go to the user center, click on the API token menu, and create an API
+        token.
+
+        3. Copy and use the API token in the request header.
+
+        4. Keep your API token confidential and use it only in the request
+        header.
+
+
+        ----
+
+
+        #### API令牌简介:
+
+        ##### 方法一:在请求头中使用API令牌(推荐)
+
+        - **请求头**: `Authorization`
+
+        - **格式**: `Bearer {token}`
+
+        - **示例**: `{"Authorization": "Bearer your_token"}`
+
+        - **Swagger UI**: 点击页面右上角的`Authorize`按钮,直接输入API令牌,不需要`Bearer`关键字。
+
+
+        ##### 方法二:在Cookie中使用API令牌(不推荐,仅在无法使用方法一时使用)
+
+        - **Cookie**: `Authorization`
+
+        - **格式**: `Bearer {token}`
+
+        - **示例**: `Authorization=Bearer your_token`
+
+
+        #### 获取API令牌:
+
+        1. 在TikHub网站注册并登录账户。
+
+        2. 进入用户中心,点击API令牌菜单,创建API令牌。
+
+        3. 复制并在请求头中使用API令牌。
+
+        4. 保密您的API令牌,仅在请求头中使用。
+      scheme: bearer
+servers:
+  - url: https://api.tikhub.io
+    description: Production Environment
+security: []
+
+```

+ 375 - 0
docs/tikhub接口文档/获取指定视频的评论回复数据/Get comment replies data of specified video.md

@@ -0,0 +1,375 @@
+# 获取指定视频的评论回复数据/Get comment replies data of specified video
+
+## OpenAPI Specification
+
+```yaml
+openapi: 3.0.1
+info:
+  title: ''
+  description: ''
+  version: 1.0.0
+paths:
+  /api/v1/douyin/app/v3/fetch_video_comment_replies:
+    get:
+      summary: 获取指定视频的评论回复数据/Get comment replies data of specified video
+      deprecated: false
+      description: >-
+        # [中文]
+
+        ### 用途:
+
+        - 获取指定视频的评论回复数据
+
+        ### 参数:
+
+        - item_id: 作品id
+
+        - comment_id: 评论id
+
+        - cursor: 游标,用于翻页,第一页为0,第二页为第一次响应中的cursor值。
+
+        - count: 数量,请保持默认,否则会出现BUG。
+
+        ### 返回:
+
+        - 评论回复数据
+
+
+        # [English]
+
+        ### Purpose:
+
+        - Get comment replies data of specified video
+
+        ### Parameters:
+
+        - item_id: Video id
+
+        - comment_id: Comment id
+
+        - cursor: Cursor, used for paging, the first page is 0, the second page
+        is the cursor value in the first response.
+
+        - count: Number Please keep the default, otherwise there will be BUG.
+
+        ### Return:
+
+        - Comment replies data
+
+
+        # [示例/Example]
+
+        aweme_id = "7354666303006723354"
+
+        comment_id = "7354669356632638218"
+
+        cursor = 0
+
+        count = 20
+      operationId: >-
+        fetch_video_comments_reply_api_v1_douyin_app_v3_fetch_video_comment_replies_get
+      tags:
+        - Douyin-App-V3-API
+        - Douyin-App-V3-API
+      parameters:
+        - name: item_id
+          in: query
+          description: 作品id/Video id
+          required: true
+          example: '7354666303006723354'
+          schema:
+            type: string
+            description: 作品id/Video id
+            title: Item Id
+        - name: comment_id
+          in: query
+          description: 评论id/Comment id
+          required: true
+          example: '7354669356632638218'
+          schema:
+            type: string
+            description: 评论id/Comment id
+            title: Comment Id
+        - name: cursor
+          in: query
+          description: 游标/Cursor
+          required: false
+          schema:
+            type: integer
+            description: 游标/Cursor
+            default: 0
+            title: Cursor
+        - name: count
+          in: query
+          description: 数量/Number
+          required: false
+          schema:
+            type: integer
+            description: 数量/Number
+            default: 20
+            title: Count
+      responses:
+        '200':
+          description: Successful Response
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ResponseModel'
+          headers: {}
+          x-apifox-name: OK
+        '422':
+          description: Validation Error
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/HTTPValidationError'
+          headers: {}
+          x-apifox-name: Unprocessable Entity
+      security:
+        - HTTPBearer: []
+          x-apifox:
+            schemeGroups:
+              - id: 4o_ahC0F5epoRQN1KiKwI
+                schemeIds:
+                  - HTTPBearer
+            required: true
+            use:
+              id: 4o_ahC0F5epoRQN1KiKwI
+            scopes:
+              4o_ahC0F5epoRQN1KiKwI:
+                HTTPBearer: []
+      x-apifox-folder: Douyin-App-V3-API
+      x-apifox-status: released
+      x-run-in-apifox: https://app.apifox.com/web/project/4705614/apis/api-186826226-run
+components:
+  schemas:
+    ResponseModel:
+      properties:
+        code:
+          type: integer
+          title: Code
+          description: HTTP status code | HTTP状态码
+          default: 200
+        request_id:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Request Id
+          description: Unique request identifier | 唯一请求标识符
+        message:
+          type: string
+          title: Message
+          description: Response message (EN-US) | 响应消息 (English)
+          default: Request successful. This request will incur a charge.
+        message_zh:
+          type: string
+          title: Message Zh
+          description: Response message (ZH-CN) | 响应消息 (中文)
+          default: 请求成功,本次请求将被计费。
+        support:
+          type: string
+          title: Support
+          description: Support message | 支持消息
+          default: 'Discord: https://discord.gg/aMEAS8Xsvz'
+        time:
+          type: string
+          title: Time
+          description: The time the response was generated | 生成响应的时间
+        time_stamp:
+          type: integer
+          title: Time Stamp
+          description: The timestamp the response was generated | 生成响应的时间戳
+        time_zone:
+          type: string
+          title: Time Zone
+          description: The timezone of the response time | 响应时间的时区
+          default: America/Los_Angeles
+        docs:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Docs
+          description: >-
+            Link to the API Swagger documentation for this endpoint | 此端点的 API
+            Swagger 文档链接
+        cache_message:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Message
+          description: Cache message (EN-US) | 缓存消息 (English)
+          default: >-
+            This request will be cached. You can access the cached result
+            directly using the URL below, valid for 24 hours. Accessing the
+            cache will not incur additional charges.
+        cache_message_zh:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Message Zh
+          description: Cache message (ZH-CN) | 缓存消息 (中文)
+          default: 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。
+        cache_url:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Url
+          description: The URL to access the cached result | 访问缓存结果的 URL
+        router:
+          type: string
+          title: Router
+          description: The endpoint that generated this response | 生成此响应的端点
+          default: ''
+        params:
+          type: string
+        data:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Data
+          description: The response data | 响应数据
+      type: object
+      title: ResponseModel
+      x-apifox-orders:
+        - code
+        - request_id
+        - message
+        - message_zh
+        - support
+        - time
+        - time_stamp
+        - time_zone
+        - docs
+        - cache_message
+        - cache_message_zh
+        - cache_url
+        - router
+        - params
+        - data
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    HTTPValidationError:
+      properties:
+        detail:
+          items:
+            $ref: '#/components/schemas/ValidationError'
+          type: array
+          title: Detail
+      type: object
+      title: HTTPValidationError
+      x-apifox-orders:
+        - detail
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    ValidationError:
+      properties:
+        loc:
+          items:
+            anyOf:
+              - type: string
+              - type: integer
+          type: array
+          title: Location
+        msg:
+          type: string
+          title: Message
+        type:
+          type: string
+          title: Error Type
+      type: object
+      required:
+        - loc
+        - msg
+        - type
+      title: ValidationError
+      x-apifox-orders:
+        - loc
+        - msg
+        - type
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+  securitySchemes:
+    HTTPBearer:
+      type: bearer
+      description: >
+        ----
+
+        #### API Token Introduction:
+
+        ##### Method 1: Use API Token in the Request Header (Recommended)
+
+        - **Header**: `Authorization`
+
+        - **Format**: `Bearer {token}`
+
+        - **Example**: `{"Authorization": "Bearer your_token"}`
+
+        - **Swagger UI**: Click on the `Authorize` button in the upper right
+        corner of the page to enter the API token directly without the `Bearer`
+        keyword.
+
+
+        ##### Method 2: Use API Token in the Cookie (Not Recommended, Use Only
+        When Method 1 is Unavailable)
+
+        - **Cookie**: `Authorization`
+
+        - **Format**: `Bearer {token}`
+
+        - **Example**: `Authorization=Bearer your_token`
+
+
+        #### Get API Token:
+
+        1. Register and log in to your account on the TikHub website.
+
+        2. Go to the user center, click on the API token menu, and create an API
+        token.
+
+        3. Copy and use the API token in the request header.
+
+        4. Keep your API token confidential and use it only in the request
+        header.
+
+
+        ----
+
+
+        #### API令牌简介:
+
+        ##### 方法一:在请求头中使用API令牌(推荐)
+
+        - **请求头**: `Authorization`
+
+        - **格式**: `Bearer {token}`
+
+        - **示例**: `{"Authorization": "Bearer your_token"}`
+
+        - **Swagger UI**: 点击页面右上角的`Authorize`按钮,直接输入API令牌,不需要`Bearer`关键字。
+
+
+        ##### 方法二:在Cookie中使用API令牌(不推荐,仅在无法使用方法一时使用)
+
+        - **Cookie**: `Authorization`
+
+        - **格式**: `Bearer {token}`
+
+        - **示例**: `Authorization=Bearer your_token`
+
+
+        #### 获取API令牌:
+
+        1. 在TikHub网站注册并登录账户。
+
+        2. 进入用户中心,点击API令牌菜单,创建API令牌。
+
+        3. 复制并在请求头中使用API令牌。
+
+        4. 保密您的API令牌,仅在请求头中使用。
+      scheme: bearer
+servers:
+  - url: https://api.tikhub.io
+    description: Production Environment
+security: []
+
+```

+ 401 - 0
docs/tikhub接口文档/获取用户搜索 V2/Fetch user search V2.md

@@ -0,0 +1,401 @@
+# 获取用户搜索 V2/Fetch user search V2
+
+## OpenAPI Specification
+
+```yaml
+openapi: 3.0.1
+info:
+  title: ''
+  description: ''
+  version: 1.0.0
+paths:
+  /api/v1/douyin/search/fetch_user_search_v2:
+    post:
+      summary: 获取用户搜索 V2/Fetch user search V2
+      deprecated: false
+      description: |-
+        # [中文]
+        ### 用途:
+        - 获取抖音 App 中根据关键词搜索到的用户列表。
+        - 不支持粉丝数量、用户类型筛选查询。
+
+        ### 备注:
+        - 初次请求 `cursor` 传 0。
+        - 返回的数据仅包含「用户信息」,不包括视频、话题、音乐等内容。
+
+        ### 参数:
+        - keyword: 搜索关键词,如 "人工智能"
+        - cursor: 翻页游标(首次请求传0)
+
+        ### 请求体示例:
+        ```json
+        payload = {
+            "keyword": "人工智能",
+            "cursor": 0
+        }
+        ```
+
+        ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
+        - `cursor`: 下一页游标
+        - `has_more`: 是否还有更多数据(1=有,0=无)
+        - `user_list[]`: 用户列表
+          - `user_info`:
+            - `uid`: 用户ID
+            - `nickname`: 用户昵称
+            - `gender`: 性别(0=未知,1=男,2=女)
+            - `unique_id`: 抖音号
+            - `sec_uid`: 安全UID
+            - `signature`: 个性签名
+            - `follower_count`: 粉丝数量
+            - `avatar_thumb.url_list`: 小头像地址
+            - `avatar_medium.url_list`: 中头像地址
+            - `avatar_larger.url_list`: 大头像地址
+            - `follow_status`: 是否已关注
+            - `live_status`: 是否正在直播(0=否,1=是)
+            - `enterprise_verify_reason`: 企业认证信息(若有)
+            - `versatile_display`: 抖音号展示文案(例如"抖音号:xxx")
+        - `extra`:
+          - `now`: 当前服务器时间戳
+          - `logid`: 请求日志ID
+          - `search_request_id`: 搜索请求ID
+
+        # [English]
+        ### Purpose:
+        - Fetch a list of users from Douyin App based on search keywords.
+        - Supports filtering by fan count and user type.
+
+        ### Notes:
+        - Set `cursor` to 0.
+        - Only user information is returned. No videos, music, or hashtags.
+
+        ### Parameters:
+        - keyword: Search keyword, e.g., "AI"
+        - cursor: Pagination cursor (0 for first page)
+
+        ### Request Body Example:
+        ```json
+        payload = {
+            "keyword": "AI",
+            "cursor": 0
+        }
+        ```
+
+        ### Response (common fields, actual response may contain more fields):
+        - `cursor`: Cursor for next page
+        - `has_more`: Whether more data is available (1=Yes, 0=No)
+        - `user_list[]`: List of users
+          - `user_info`:
+            - `uid`: User ID
+            - `nickname`: Nickname
+            - `gender`: Gender (0=Unknown, 1=Male, 2=Female)
+            - `unique_id`: Douyin ID
+            - `sec_uid`: Secured UID
+            - `signature`: Personal bio
+            - `follower_count`: Number of followers
+            - `avatar_thumb.url_list`: List of thumbnail avatar URLs
+            - `avatar_medium.url_list`: List of medium avatar URLs
+            - `avatar_larger.url_list`: List of large avatar URLs
+            - `follow_status`: Whether followed
+            - `live_status`: Whether live
+            - `enterprise_verify_reason`: Enterprise verification info (if any)
+            - `versatile_display`: Display text (e.g., "Douyin ID: xxx")
+        - `extra`:
+          - `now`: Current server timestamp
+          - `logid`: Request log ID
+          - `search_request_id`: Search request ID
+      operationId: fetch_user_search_v2_api_v1_douyin_search_fetch_user_search_v2_post
+      tags:
+        - Douyin-Search-API
+        - Douyin-Search-API
+      parameters: []
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/UserSearchRequestV2'
+      responses:
+        '200':
+          description: Successful Response
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ResponseModel'
+          headers: {}
+          x-apifox-name: OK
+        '422':
+          description: Validation Error
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/HTTPValidationError'
+          headers: {}
+          x-apifox-name: Unprocessable Entity
+      security:
+        - HTTPBearer: []
+          x-apifox:
+            schemeGroups:
+              - id: qUpPNmPl3KlXMs1xf-ME2
+                schemeIds:
+                  - HTTPBearer
+            required: true
+            use:
+              id: qUpPNmPl3KlXMs1xf-ME2
+            scopes:
+              qUpPNmPl3KlXMs1xf-ME2:
+                HTTPBearer: []
+      x-apifox-folder: Douyin-Search-API
+      x-apifox-status: released
+      x-run-in-apifox: https://app.apifox.com/web/project/4705614/apis/api-370212785-run
+components:
+  schemas:
+    UserSearchRequestV2:
+      properties:
+        keyword:
+          type: string
+          title: Keyword
+          description: 关键词 / Keyword
+          default: 猫咪
+        cursor:
+          type: integer
+          title: Cursor
+          description: >-
+            偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained
+            from the last response
+          default: 0
+      type: object
+      title: UserSearchRequestV2
+      x-apifox-orders:
+        - keyword
+        - cursor
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    ResponseModel:
+      properties:
+        code:
+          type: integer
+          title: Code
+          description: HTTP status code | HTTP状态码
+          default: 200
+        request_id:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Request Id
+          description: Unique request identifier | 唯一请求标识符
+        message:
+          type: string
+          title: Message
+          description: Response message (EN-US) | 响应消息 (English)
+          default: Request successful. This request will incur a charge.
+        message_zh:
+          type: string
+          title: Message Zh
+          description: Response message (ZH-CN) | 响应消息 (中文)
+          default: 请求成功,本次请求将被计费。
+        support:
+          type: string
+          title: Support
+          description: Support message | 支持消息
+          default: 'Discord: https://discord.gg/aMEAS8Xsvz'
+        time:
+          type: string
+          title: Time
+          description: The time the response was generated | 生成响应的时间
+        time_stamp:
+          type: integer
+          title: Time Stamp
+          description: The timestamp the response was generated | 生成响应的时间戳
+        time_zone:
+          type: string
+          title: Time Zone
+          description: The timezone of the response time | 响应时间的时区
+          default: America/Los_Angeles
+        docs:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Docs
+          description: >-
+            Link to the API Swagger documentation for this endpoint | 此端点的 API
+            Swagger 文档链接
+        cache_message:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Message
+          description: Cache message (EN-US) | 缓存消息 (English)
+          default: >-
+            This request will be cached. You can access the cached result
+            directly using the URL below, valid for 24 hours. Accessing the
+            cache will not incur additional charges.
+        cache_message_zh:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Message Zh
+          description: Cache message (ZH-CN) | 缓存消息 (中文)
+          default: 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。
+        cache_url:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Url
+          description: The URL to access the cached result | 访问缓存结果的 URL
+        router:
+          type: string
+          title: Router
+          description: The endpoint that generated this response | 生成此响应的端点
+          default: ''
+        params:
+          type: string
+        data:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Data
+          description: The response data | 响应数据
+      type: object
+      title: ResponseModel
+      x-apifox-orders:
+        - code
+        - request_id
+        - message
+        - message_zh
+        - support
+        - time
+        - time_stamp
+        - time_zone
+        - docs
+        - cache_message
+        - cache_message_zh
+        - cache_url
+        - router
+        - params
+        - data
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    HTTPValidationError:
+      properties:
+        detail:
+          items:
+            $ref: '#/components/schemas/ValidationError'
+          type: array
+          title: Detail
+      type: object
+      title: HTTPValidationError
+      x-apifox-orders:
+        - detail
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    ValidationError:
+      properties:
+        loc:
+          items:
+            anyOf:
+              - type: string
+              - type: integer
+          type: array
+          title: Location
+        msg:
+          type: string
+          title: Message
+        type:
+          type: string
+          title: Error Type
+      type: object
+      required:
+        - loc
+        - msg
+        - type
+      title: ValidationError
+      x-apifox-orders:
+        - loc
+        - msg
+        - type
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+  securitySchemes:
+    HTTPBearer:
+      type: bearer
+      description: >
+        ----
+
+        #### API Token Introduction:
+
+        ##### Method 1: Use API Token in the Request Header (Recommended)
+
+        - **Header**: `Authorization`
+
+        - **Format**: `Bearer {token}`
+
+        - **Example**: `{"Authorization": "Bearer your_token"}`
+
+        - **Swagger UI**: Click on the `Authorize` button in the upper right
+        corner of the page to enter the API token directly without the `Bearer`
+        keyword.
+
+
+        ##### Method 2: Use API Token in the Cookie (Not Recommended, Use Only
+        When Method 1 is Unavailable)
+
+        - **Cookie**: `Authorization`
+
+        - **Format**: `Bearer {token}`
+
+        - **Example**: `Authorization=Bearer your_token`
+
+
+        #### Get API Token:
+
+        1. Register and log in to your account on the TikHub website.
+
+        2. Go to the user center, click on the API token menu, and create an API
+        token.
+
+        3. Copy and use the API token in the request header.
+
+        4. Keep your API token confidential and use it only in the request
+        header.
+
+
+        ----
+
+
+        #### API令牌简介:
+
+        ##### 方法一:在请求头中使用API令牌(推荐)
+
+        - **请求头**: `Authorization`
+
+        - **格式**: `Bearer {token}`
+
+        - **示例**: `{"Authorization": "Bearer your_token"}`
+
+        - **Swagger UI**: 点击页面右上角的`Authorize`按钮,直接输入API令牌,不需要`Bearer`关键字。
+
+
+        ##### 方法二:在Cookie中使用API令牌(不推荐,仅在无法使用方法一时使用)
+
+        - **Cookie**: `Authorization`
+
+        - **格式**: `Bearer {token}`
+
+        - **示例**: `Authorization=Bearer your_token`
+
+
+        #### 获取API令牌:
+
+        1. 在TikHub网站注册并登录账户。
+
+        2. 进入用户中心,点击API令牌菜单,创建API令牌。
+
+        3. 复制并在请求头中使用API令牌。
+
+        4. 保密您的API令牌,仅在请求头中使用。
+      scheme: bearer
+servers:
+  - url: https://api.tikhub.io
+    description: Production Environment
+security: []
+
+```

+ 612 - 0
docs/tikhub接口文档/获取综合搜索 V2/Fetch general search V2.md

@@ -0,0 +1,612 @@
+# 获取综合搜索 V2/Fetch general search V2
+
+## OpenAPI Specification
+
+```yaml
+openapi: 3.0.1
+info:
+  title: ''
+  description: ''
+  version: 1.0.0
+paths:
+  /api/v1/douyin/search/fetch_general_search_v2:
+    post:
+      summary: 获取综合搜索 V2/Fetch general search V2
+      deprecated: false
+      description: >-
+        # [中文]
+
+        ### 用途:
+
+        - 获取抖音 App 中综合搜索栏的搜索结果(非单独视频搜索)。
+
+        - 此接口稳定性可能不如 V1版本,作为备用接口。
+
+        - 支持关键词、排序方式、发布时间、视频时长、内容类型等筛选条件。
+
+        - 支持翻页查询,通过 `cursor`、`search_id` 和 `backtrace` 分页。
+
+
+        ### 备注:
+
+        - 初次请求时 `cursor` 传入 0,`search_id` 和 `backtrace` 传空字符串。
+
+        - 翻页时需从上一次响应中获取 `cursor`、`search_id` 和 `backtrace` 字段值。
+
+        - 返回的内容包含视频、作者、话题标签、播放信息、音乐、互动数据等丰富信息。
+
+
+        ### 参数:
+
+        - keyword: 搜索关键词,如 "猫咪"
+
+        - cursor: 翻页游标(首次请求传 0,翻页时使用上次响应的 cursor)
+
+        - sort_type: 排序方式
+            - `0`: 综合排序
+            - `1`: 最多点赞
+            - `2`: 最新发布
+        - publish_time: 发布时间筛选
+            - `0`: 不限
+            - `1`: 最近一天
+            - `7`: 最近一周
+            - `180`: 最近半年
+        - filter_duration: 视频时长筛选
+            - `0`: 不限
+            - `0-1`: 1 分钟以内
+            - `1-5`: 1-5 分钟
+            - `5-10000`: 5 分钟以上
+        - content_type: 内容类型筛选
+            - `0`: 不限
+            - `1`: 视频
+            - `2`: 图片
+            - `3`: 文章
+        - search_id: 搜索ID(首次请求传空,翻页时从上次响应获取)
+
+        - backtrace: 翻页回溯标识(首次请求传空,翻页时从上次响应获取)
+
+
+        ### 请求体示例:
+
+        ```json
+
+        payload = {
+          "keyword": "猫咪",
+          "cursor": 0,
+          "sort_type": "0",
+          "publish_time": "0",
+          "filter_duration": "0",
+          "content_type": "0",
+          "search_id": "",
+          "backtrace": ""
+        }
+
+        ```
+
+
+        ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
+
+        - `data`: 搜索结果列表
+
+        - `type`: 结果类型(通常为 `1`)
+
+        - `aweme_info`: 视频详细信息
+
+        - `aweme_id`: 视频ID
+
+        - `desc`: 视频描述内容
+
+        - `author`: 作者信息
+          - `uid`: 用户唯一ID
+          - `nickname`: 用户昵称
+          - `is_verified`: 是否认证用户(True=已认证,False=未认证)
+          - `region`: 用户地区,如 "CN"
+          - `avatar_thumb.url_list`: 缩略头像地址列表
+          - `avatar_medium.url_list`: 中等尺寸头像地址列表
+          - `avatar_larger.url_list`: 高清头像地址列表
+        - `music`: 背景音乐信息
+          - `id_str`: 音乐ID
+          - `title`: 音乐标题,如"原创声音"
+          - `author`: 音乐作者昵称
+          - `play_url.url_list`: 音乐播放地址列表
+        - `cha_list`: 关联话题标签列表
+          - `cha_name`: 话题名(例如 "#猫宝宝")
+          - `share_url`: 话题分享链接
+        - `video`: 视频播放与封面信息
+          - `play_addr.url_list`: 视频播放地址列表
+          - `cover.url_list`: 视频封面地址列表
+          - `dynamic_cover.url_list`: 动态封面地址列表
+          - `origin_cover.url_list`: 原始封面地址列表
+          - `width`: 视频宽度(像素)
+          - `height`: 视频高度(像素)
+          - `ratio`: 视频分辨率比例(如540p)
+          - `duration`: 视频时长(单位:毫秒)
+          - `download_addr.url_list`: 带水印下载地址
+        - `statistics`: 视频统计信息
+          - `comment_count`: 评论数
+          - `digg_count`: 点赞数
+          - `share_count`: 分享数
+          - `play_count`: 播放次数
+          - `collect_count`: 收藏次数
+        - `status`: 视频发布状态
+          - `is_delete`: 是否被删除
+          - `is_private`: 是否设为私密
+          - `allow_share`: 是否允许分享
+          - `allow_comment`: 是否允许评论
+        - `share_url`: 视频外部分享链接
+
+
+        # [English]
+
+        ### Purpose:
+
+        - Fetch search results from Douyin App's general search tab (not
+        standalone video search).
+
+        - This API may be less stable than V1, serving as a backup.
+
+        - Supports filtering by keyword, sort type, publish time, video
+        duration, and content type.
+
+        - Supports pagination through `cursor`, `search_id`, and `backtrace`.
+
+
+        ### Notes:
+
+        - Set `cursor` to 0, `search_id` and `backtrace` to empty strings for
+        the first request.
+
+        - For pagination, obtain `cursor`, `search_id`, and `backtrace` values
+        from the previous response.
+
+        - The response contains rich information including video details, author
+        info, music, hashtags, playback info, and interaction metrics.
+
+
+        ### Parameters:
+
+        - keyword: Search keyword, e.g., "cat"
+
+        - cursor: Pagination cursor (0 for the first page, use the last response
+        cursor for subsequent pages)
+
+        - sort_type: Sorting method
+            - `0`: Comprehensive
+            - `1`: Most likes
+            - `2`: Latest
+        - publish_time: Publish time filter
+            - `0`: Unlimited
+            - `1`: Last day
+            - `7`: Last week
+            - `180`: Last half year
+        - filter_duration: Video duration filter
+            - `0`: Unlimited
+            - `0-1`: Within 1 minute
+            - `1-5`: 1 to 5 minutes
+            - `5-10000`: More than 5 minutes
+        - content_type: Content type filter
+            - `0`: Unlimited
+            - `1`: Video
+            - `2`: Picture
+            - `3`: Article
+        - search_id: Search ID (empty for first request, obtained from previous
+        response for pagination)
+
+        - backtrace: Backtrace identifier (empty for first request, obtained
+        from previous response for pagination)
+
+
+        ### Request Body Example:
+
+        ```json
+
+        payload = {
+            "keyword": "cat",
+            "cursor": 0,
+            "sort_type": "0",
+            "publish_time": "0",
+            "filter_duration": "0",
+            "content_type": "0",
+            "search_id": "",
+            "backtrace": ""
+        }
+
+        ```
+
+
+        ### Response (common fields, actual response may contain more fields):
+
+        - `data`: List of search result items
+
+        - `type`: Result type (usually `1`)
+
+        - `aweme_info`: Video detailed information
+
+        - `aweme_id`: Video ID
+
+        - `desc`: Video description
+
+        - `author`:
+          - `uid`: Author's user ID
+          - `nickname`: Author's nickname
+          - `is_verified`: Whether the author is verified
+          - `region`: Author's region
+          - `avatar_thumb.url_list`: List of thumbnail avatar URLs
+          - `avatar_medium.url_list`: List of medium size avatar URLs
+          - `avatar_larger.url_list`: List of large size avatar URLs
+        - `music`:
+          - `id_str`: Music ID
+          - `title`: Music title
+          - `author`: Music creator's name
+          - `play_url.url_list`: List of music play URLs
+        - `cha_list`:
+          - `cha_name`: Hashtag name
+          - `share_url`: Hashtag share URL
+        - `video`:
+          - `play_addr.url_list`: List of video play URLs
+          - `cover.url_list`: List of cover image URLs
+          - `dynamic_cover.url_list`: List of dynamic cover URLs
+          - `origin_cover.url_list`: List of original cover URLs
+          - `width`: Video width (pixels)
+          - `height`: Video height (pixels)
+          - `ratio`: Resolution ratio (e.g., 540p)
+          - `duration`: Duration in milliseconds
+          - `download_addr.url_list`: List of video download URLs
+        - `statistics`:
+          - `comment_count`: Number of comments
+          - `digg_count`: Number of likes
+          - `share_count`: Number of shares
+          - `play_count`: Number of plays
+          - `collect_count`: Number of collects
+        - `status`:
+          - `is_delete`: Whether the video is deleted
+          - `is_private`: Whether the video is private
+          - `allow_share`: Whether sharing is allowed
+          - `allow_comment`: Whether commenting is allowed
+        - `share_url`: External share link
+      operationId: >-
+        fetch_general_search_v2_api_v1_douyin_search_fetch_general_search_v2_post
+      tags:
+        - Douyin-Search-API
+        - Douyin-Search-API
+      parameters: []
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/GeneralSearchV2Request'
+      responses:
+        '200':
+          description: Successful Response
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ResponseModel'
+          headers: {}
+          x-apifox-name: OK
+        '422':
+          description: Validation Error
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/HTTPValidationError'
+          headers: {}
+          x-apifox-name: Unprocessable Entity
+      security:
+        - HTTPBearer: []
+          x-apifox:
+            schemeGroups:
+              - id: I_jU6CxpE6VsTHE2BykEb
+                schemeIds:
+                  - HTTPBearer
+            required: true
+            use:
+              id: I_jU6CxpE6VsTHE2BykEb
+            scopes:
+              I_jU6CxpE6VsTHE2BykEb:
+                HTTPBearer: []
+      x-apifox-folder: Douyin-Search-API
+      x-apifox-status: released
+      x-run-in-apifox: https://app.apifox.com/web/project/4705614/apis/api-370212774-run
+components:
+  schemas:
+    GeneralSearchV2Request:
+      properties:
+        keyword:
+          type: string
+          title: Keyword
+          description: 关键词 / Keyword
+          default: 猫咪
+        cursor:
+          type: integer
+          title: Cursor
+          description: >-
+            偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained
+            from the last response
+          default: 0
+        sort_type:
+          type: string
+          title: Sort Type
+          description: >-
+            排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most
+            Likes, 2=Latest
+          default: '0'
+        publish_time:
+          type: string
+          title: Publish Time
+          description: >-
+            发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter:
+            0=Unlimited, 1=Last day, 7=Last week, 180=Last half year
+          default: '0'
+        filter_duration:
+          type: string
+          title: Filter Duration
+          description: >-
+            视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration
+            filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes,
+            5-10000=More than 5 minutes
+          default: '0'
+        content_type:
+          type: string
+          title: Content Type
+          description: >-
+            内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture,
+            3=Article
+          default: '0'
+        search_id:
+          type: string
+          title: Search Id
+          description: >-
+            搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from
+            the last response
+          default: ''
+        backtrace:
+          type: string
+          title: Backtrace
+          description: >-
+            翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from
+            the last response
+          default: ''
+      type: object
+      title: GeneralSearchV2Request
+      x-apifox-orders:
+        - keyword
+        - cursor
+        - sort_type
+        - publish_time
+        - filter_duration
+        - content_type
+        - search_id
+        - backtrace
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    ResponseModel:
+      properties:
+        code:
+          type: integer
+          title: Code
+          description: HTTP status code | HTTP状态码
+          default: 200
+        request_id:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Request Id
+          description: Unique request identifier | 唯一请求标识符
+        message:
+          type: string
+          title: Message
+          description: Response message (EN-US) | 响应消息 (English)
+          default: Request successful. This request will incur a charge.
+        message_zh:
+          type: string
+          title: Message Zh
+          description: Response message (ZH-CN) | 响应消息 (中文)
+          default: 请求成功,本次请求将被计费。
+        support:
+          type: string
+          title: Support
+          description: Support message | 支持消息
+          default: 'Discord: https://discord.gg/aMEAS8Xsvz'
+        time:
+          type: string
+          title: Time
+          description: The time the response was generated | 生成响应的时间
+        time_stamp:
+          type: integer
+          title: Time Stamp
+          description: The timestamp the response was generated | 生成响应的时间戳
+        time_zone:
+          type: string
+          title: Time Zone
+          description: The timezone of the response time | 响应时间的时区
+          default: America/Los_Angeles
+        docs:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Docs
+          description: >-
+            Link to the API Swagger documentation for this endpoint | 此端点的 API
+            Swagger 文档链接
+        cache_message:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Message
+          description: Cache message (EN-US) | 缓存消息 (English)
+          default: >-
+            This request will be cached. You can access the cached result
+            directly using the URL below, valid for 24 hours. Accessing the
+            cache will not incur additional charges.
+        cache_message_zh:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Message Zh
+          description: Cache message (ZH-CN) | 缓存消息 (中文)
+          default: 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。
+        cache_url:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Url
+          description: The URL to access the cached result | 访问缓存结果的 URL
+        router:
+          type: string
+          title: Router
+          description: The endpoint that generated this response | 生成此响应的端点
+          default: ''
+        params:
+          type: string
+        data:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Data
+          description: The response data | 响应数据
+      type: object
+      title: ResponseModel
+      x-apifox-orders:
+        - code
+        - request_id
+        - message
+        - message_zh
+        - support
+        - time
+        - time_stamp
+        - time_zone
+        - docs
+        - cache_message
+        - cache_message_zh
+        - cache_url
+        - router
+        - params
+        - data
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    HTTPValidationError:
+      properties:
+        detail:
+          items:
+            $ref: '#/components/schemas/ValidationError'
+          type: array
+          title: Detail
+      type: object
+      title: HTTPValidationError
+      x-apifox-orders:
+        - detail
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    ValidationError:
+      properties:
+        loc:
+          items:
+            anyOf:
+              - type: string
+              - type: integer
+          type: array
+          title: Location
+        msg:
+          type: string
+          title: Message
+        type:
+          type: string
+          title: Error Type
+      type: object
+      required:
+        - loc
+        - msg
+        - type
+      title: ValidationError
+      x-apifox-orders:
+        - loc
+        - msg
+        - type
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+  securitySchemes:
+    HTTPBearer:
+      type: bearer
+      description: >
+        ----
+
+        #### API Token Introduction:
+
+        ##### Method 1: Use API Token in the Request Header (Recommended)
+
+        - **Header**: `Authorization`
+
+        - **Format**: `Bearer {token}`
+
+        - **Example**: `{"Authorization": "Bearer your_token"}`
+
+        - **Swagger UI**: Click on the `Authorize` button in the upper right
+        corner of the page to enter the API token directly without the `Bearer`
+        keyword.
+
+
+        ##### Method 2: Use API Token in the Cookie (Not Recommended, Use Only
+        When Method 1 is Unavailable)
+
+        - **Cookie**: `Authorization`
+
+        - **Format**: `Bearer {token}`
+
+        - **Example**: `Authorization=Bearer your_token`
+
+
+        #### Get API Token:
+
+        1. Register and log in to your account on the TikHub website.
+
+        2. Go to the user center, click on the API token menu, and create an API
+        token.
+
+        3. Copy and use the API token in the request header.
+
+        4. Keep your API token confidential and use it only in the request
+        header.
+
+
+        ----
+
+
+        #### API令牌简介:
+
+        ##### 方法一:在请求头中使用API令牌(推荐)
+
+        - **请求头**: `Authorization`
+
+        - **格式**: `Bearer {token}`
+
+        - **示例**: `{"Authorization": "Bearer your_token"}`
+
+        - **Swagger UI**: 点击页面右上角的`Authorize`按钮,直接输入API令牌,不需要`Bearer`关键字。
+
+
+        ##### 方法二:在Cookie中使用API令牌(不推荐,仅在无法使用方法一时使用)
+
+        - **Cookie**: `Authorization`
+
+        - **格式**: `Bearer {token}`
+
+        - **示例**: `Authorization=Bearer your_token`
+
+
+        #### 获取API令牌:
+
+        1. 在TikHub网站注册并登录账户。
+
+        2. 进入用户中心,点击API令牌菜单,创建API令牌。
+
+        3. 复制并在请求头中使用API令牌。
+
+        4. 保密您的API令牌,仅在请求头中使用。
+      scheme: bearer
+servers:
+  - url: https://api.tikhub.io
+    description: Production Environment
+security: []
+
+```

+ 621 - 0
docs/tikhub接口文档/获取视频搜索 V2/Fetch video search V2.md

@@ -0,0 +1,621 @@
+# 获取视频搜索 V2/Fetch video search V2
+
+## OpenAPI Specification
+
+```yaml
+openapi: 3.0.1
+info:
+  title: ''
+  description: ''
+  version: 1.0.0
+paths:
+  /api/v1/douyin/search/fetch_video_search_v2:
+    post:
+      summary: 获取视频搜索 V2/Fetch video search V2
+      deprecated: false
+      description: >-
+        # [中文]
+
+        ### 用途:
+
+        - 获取抖音 App 中通过关键词搜索到的视频内容(V2版本接口)。
+
+        - 相较于 V1,返回字段更加详细,包括作者资料、视频多清晰度播放源、标签列表等。
+
+
+        ### 备注:
+
+        - 初次请求时 `cursor` 传入0,`search_id`传空字符串。
+
+        - 返回的视频内容丰富,可用于推荐展示、内容抓取、智能分析等应用场景。
+
+
+        ### 参数:
+
+        - keyword: 搜索关键词,如 "机器人"
+
+        - cursor: 翻页游标(首次请求传 0,翻页时使用上次响应的 cursor)
+
+        - sort_type: 排序方式
+            - `0`: 综合排序
+            - `1`: 最多点赞
+            - `2`: 最新发布
+        - publish_time: 发布时间筛选
+            - `0`: 不限
+            - `1`: 最近一天
+            - `7`: 最近一周
+            - `180`: 最近半年
+        - filter_duration: 视频时长筛选
+            - `0`: 不限
+            - `0-1`: 1 分钟以内
+            - `1-5`: 1-5 分钟
+            - `5-10000`: 5 分钟以上
+        - content_type: 内容类型筛选
+            - `0`: 不限
+            - `1`: 视频
+            - `2`: 图片
+            - `3`: 文章
+        - search_id: 搜索ID(分页时使用,从上一次响应获取)
+
+        - backtrace: 翻页回溯标识(分页时使用,从上一次响应获取)
+
+
+        ### 请求体示例:
+
+        ```json
+
+        payload = {
+            "keyword": "机器人",
+            "cursor": 0,
+            "sort_type": "0",
+            "publish_time": "0",
+            "filter_duration": "0",
+            "content_type": "0",
+            "search_id": "",
+            "backtrace": ""
+        }
+
+        ```
+
+
+        ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
+
+        - `business_data[]`: 搜索返回的数据列表
+          - `data_id`: 数据编号(字符串,如 "0")
+          - `type`: 数据类型(1=视频)
+          - `data`:
+            - `type`: 同上(1)
+            - `aweme_info`: 视频详细信息
+              - 基础信息:
+                - `aweme_id`: 视频ID
+                - `desc`: 视频描述
+                - `create_time`: 发布时间(时间戳)
+              - 作者信息 (`author`):
+                - `uid`: 用户唯一ID
+                - `short_id`: 用户短ID
+                - `nickname`: 用户昵称
+                - `signature`: 个性签名
+                - `follower_count`: 粉丝数
+                - `is_verified`: 是否认证
+                - `region`: 地区,如 "CN"
+                - `avatar_thumb.url_list`: 小头像URL列表
+                - `avatar_medium.url_list`: 中头像URL列表
+                - `avatar_larger.url_list`: 大头像URL列表
+                - `enterprise_verify_reason`: 企业认证信息(如"店铺账号")
+              - 背景音乐 (`music`):
+                - `id_str`: 音乐ID
+                - `title`: 音乐标题
+                - `author`: 音乐创作者昵称
+                - `play_url.url_list`: 音乐播放链接列表
+              - 视频播放信息 (`video`):
+                - `play_addr.url_list`: 播放地址列表(支持高清播放)
+                - `cover.url_list`: 封面图片列表
+                - `dynamic_cover.url_list`: 动态封面列表
+                - `origin_cover.url_list`: 原始封面列表
+                - `duration`: 时长(毫秒)
+                - `ratio`: 分辨率(如"720p")
+                - `bit_rate[]`: 多码率播放信息
+                  - `gear_name`: 清晰度名称(如"540_2_2")
+                  - `bit_rate`: 码率(单位bps)
+                  - `play_addr.url_list`: 对应清晰度播放地址列表
+              - 标签列表 (`cha_list[]`):
+                - `cha_name`: 话题名(如 "#宇树科技")
+                - `cid`: 话题ID
+                - `share_url`: 话题分享链接
+              - 统计信息 (`statistics`):
+                - `comment_count`: 评论数
+                - `digg_count`: 点赞数
+                - `share_count`: 分享数
+                - `play_count`: 播放次数
+                - `collect_count`: 收藏次数
+              - 状态信息 (`status`):
+                - `is_delete`: 是否被删除
+                - `is_private`: 是否私密
+                - `allow_share`: 是否允许分享
+                - `allow_comment`: 是否允许评论
+              - 其他字段:
+                - `share_url`: 视频外链
+                - `user_digged`: 当前用户是否点赞(0=否,1=是)
+
+        - `cursor`: 翻页游标(用于下次请求)
+
+        - `has_more`: 是否还有更多数据(1=有,0=无)
+
+
+        # [English]
+
+        ### Purpose:
+
+        - Fetch video search results from Douyin App using V2 API version.
+
+        - Compared to V1, returns more detailed information including author
+        details, multi-resolution video sources, and hashtags.
+
+
+        ### Notes:
+
+        - Set `cursor` to 0 and `search_id` to an empty string for the first
+        request.
+
+        - The response contains rich video data, suitable for display, content
+        scraping, or intelligent analysis.
+
+
+        ### Parameters:
+
+        - keyword: Search keyword, e.g., "robot"
+
+        - cursor: Pagination cursor (0 for the first page, use the last response
+        cursor for subsequent pages)
+
+        - sort_type: Sorting method
+            - `0`: Comprehensive
+            - `1`: Most likes
+            - `2`: Latest
+        - publish_time: Publish time filter
+            - `0`: Unlimited
+            - `1`: Last day
+            - `7`: Last week
+            - `180`: Last half year
+        - filter_duration: Video duration filter
+            - `0`: Unlimited
+            - `0-1`: Within 1 minute
+            - `1-5`: 1 to 5 minutes
+            - `5-10000`: More than 5 minutes
+        - content_type: Content type filter
+            - `0`: Unlimited
+            - `1`: Video
+            - `2`: Picture
+            - `3`: Article
+        - search_id: Search ID used for pagination(obtained from the last
+        response)
+
+        - backtrace: Backtrace identifier used for pagination(obtained from the
+        last response)
+
+
+        ### Request Body Example:
+
+        ```json
+
+        payload = {
+            "keyword": "robot",
+            "cursor": 0,
+            "sort_type": "0",
+            "publish_time": "0",
+            "filter_duration": "0",
+            "content_type": "0",
+            "search_id": "",
+            "backtrace": ""
+        }
+
+        ```
+
+
+        ### Response (common fields, actual response may contain more fields):
+
+        - `business_data[]`: List of returned data items
+          - `data_id`: Data ID (string, e.g., "0")
+          - `type`: Data type (1=Video)
+          - `data`:
+            - `type`: Same as above (1)
+            - `aweme_info`: Detailed video information
+              - Basic Info:
+                - `aweme_id`: Video ID
+                - `desc`: Video description
+                - `create_time`: Creation timestamp
+              - Author Info (`author`):
+                - `uid`: Unique User ID
+                - `short_id`: Short ID
+                - `nickname`: Nickname
+                - `signature`: Bio
+                - `follower_count`: Follower count
+                - `is_verified`: Whether verified
+                - `region`: Region, e.g., "CN"
+                - `avatar_thumb.url_list`: Thumbnail avatar URLs
+                - `avatar_medium.url_list`: Medium avatar URLs
+                - `avatar_larger.url_list`: Large avatar URLs
+                - `enterprise_verify_reason`: Enterprise verification info
+              - Music (`music`):
+                - `id_str`: Music ID
+                - `title`: Music title
+                - `author`: Music creator nickname
+                - `play_url.url_list`: List of play URLs
+              - Video (`video`):
+                - `play_addr.url_list`: Play URLs (supports HD)
+                - `cover.url_list`: Cover images
+                - `dynamic_cover.url_list`: Dynamic covers
+                - `origin_cover.url_list`: Original covers
+                - `duration`: Duration (milliseconds)
+                - `ratio`: Resolution (e.g., "720p")
+                - `bit_rate[]`: Multiple bitrates
+                  - `gear_name`: Gear name
+                  - `bit_rate`: Bitrate (bps)
+                  - `play_addr.url_list`: Play URLs
+              - Hashtags (`cha_list[]`):
+                - `cha_name`: Hashtag name (e.g., "#UnitreeRobot")
+                - `cid`: Hashtag ID
+                - `share_url`: Hashtag share link
+              - Statistics (`statistics`):
+                - `comment_count`: Number of comments
+                - `digg_count`: Number of likes
+                - `share_count`: Number of shares
+                - `play_count`: Number of plays
+                - `collect_count`: Number of collects
+              - Status (`status`):
+                - `is_delete`: Whether deleted
+                - `is_private`: Whether private
+                - `allow_share`: Whether sharing is allowed
+                - `allow_comment`: Whether commenting is allowed
+              - Other fields:
+                - `share_url`: Video external share link
+                - `user_digged`: Whether the user has liked (0=No, 1=Yes)
+
+        - `cursor`: Cursor for next page
+
+        - `has_more`: Whether more data is available (1=Yes, 0=No)
+      operationId: fetch_video_search_v2_api_v1_douyin_search_fetch_video_search_v2_post
+      tags:
+        - Douyin-Search-API
+        - Douyin-Search-API
+      parameters: []
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/VideoSearchV2Request'
+      responses:
+        '200':
+          description: Successful Response
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ResponseModel'
+          headers: {}
+          x-apifox-name: OK
+        '422':
+          description: Validation Error
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/HTTPValidationError'
+          headers: {}
+          x-apifox-name: Unprocessable Entity
+      security:
+        - HTTPBearer: []
+          x-apifox:
+            schemeGroups:
+              - id: yEmnh2k4Y3XL_okA915_J
+                schemeIds:
+                  - HTTPBearer
+            required: true
+            use:
+              id: yEmnh2k4Y3XL_okA915_J
+            scopes:
+              yEmnh2k4Y3XL_okA915_J:
+                HTTPBearer: []
+      x-apifox-folder: Douyin-Search-API
+      x-apifox-status: released
+      x-run-in-apifox: https://app.apifox.com/web/project/4705614/apis/api-370212780-run
+components:
+  schemas:
+    VideoSearchV2Request:
+      properties:
+        keyword:
+          type: string
+          title: Keyword
+          description: 关键词 / Keyword
+          default: 猫咪
+        cursor:
+          type: integer
+          title: Cursor
+          description: >-
+            偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained
+            from the last response
+          default: 0
+        sort_type:
+          type: string
+          title: Sort Type
+          description: >-
+            排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most
+            Likes, 2=Latest
+          default: '0'
+        publish_time:
+          type: string
+          title: Publish Time
+          description: >-
+            发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter:
+            0=Unlimited, 1=Last day, 7=Last week, 180=Last half year
+          default: '0'
+        filter_duration:
+          type: string
+          title: Filter Duration
+          description: >-
+            视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration
+            filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes,
+            5-10000=More than 5 minutes
+          default: '0'
+        content_type:
+          type: string
+          title: Content Type
+          description: >-
+            内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture,
+            3=Article
+          default: '0'
+        search_id:
+          type: string
+          title: Search Id
+          description: >-
+            搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from
+            the last response
+          default: ''
+        backtrace:
+          type: string
+          title: Backtrace
+          description: >-
+            翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from
+            the last response
+          default: ''
+      type: object
+      title: VideoSearchV2Request
+      x-apifox-orders:
+        - keyword
+        - cursor
+        - sort_type
+        - publish_time
+        - filter_duration
+        - content_type
+        - search_id
+        - backtrace
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    ResponseModel:
+      properties:
+        code:
+          type: integer
+          title: Code
+          description: HTTP status code | HTTP状态码
+          default: 200
+        request_id:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Request Id
+          description: Unique request identifier | 唯一请求标识符
+        message:
+          type: string
+          title: Message
+          description: Response message (EN-US) | 响应消息 (English)
+          default: Request successful. This request will incur a charge.
+        message_zh:
+          type: string
+          title: Message Zh
+          description: Response message (ZH-CN) | 响应消息 (中文)
+          default: 请求成功,本次请求将被计费。
+        support:
+          type: string
+          title: Support
+          description: Support message | 支持消息
+          default: 'Discord: https://discord.gg/aMEAS8Xsvz'
+        time:
+          type: string
+          title: Time
+          description: The time the response was generated | 生成响应的时间
+        time_stamp:
+          type: integer
+          title: Time Stamp
+          description: The timestamp the response was generated | 生成响应的时间戳
+        time_zone:
+          type: string
+          title: Time Zone
+          description: The timezone of the response time | 响应时间的时区
+          default: America/Los_Angeles
+        docs:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Docs
+          description: >-
+            Link to the API Swagger documentation for this endpoint | 此端点的 API
+            Swagger 文档链接
+        cache_message:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Message
+          description: Cache message (EN-US) | 缓存消息 (English)
+          default: >-
+            This request will be cached. You can access the cached result
+            directly using the URL below, valid for 24 hours. Accessing the
+            cache will not incur additional charges.
+        cache_message_zh:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Message Zh
+          description: Cache message (ZH-CN) | 缓存消息 (中文)
+          default: 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。
+        cache_url:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Url
+          description: The URL to access the cached result | 访问缓存结果的 URL
+        router:
+          type: string
+          title: Router
+          description: The endpoint that generated this response | 生成此响应的端点
+          default: ''
+        params:
+          type: string
+        data:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Data
+          description: The response data | 响应数据
+      type: object
+      title: ResponseModel
+      x-apifox-orders:
+        - code
+        - request_id
+        - message
+        - message_zh
+        - support
+        - time
+        - time_stamp
+        - time_zone
+        - docs
+        - cache_message
+        - cache_message_zh
+        - cache_url
+        - router
+        - params
+        - data
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    HTTPValidationError:
+      properties:
+        detail:
+          items:
+            $ref: '#/components/schemas/ValidationError'
+          type: array
+          title: Detail
+      type: object
+      title: HTTPValidationError
+      x-apifox-orders:
+        - detail
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    ValidationError:
+      properties:
+        loc:
+          items:
+            anyOf:
+              - type: string
+              - type: integer
+          type: array
+          title: Location
+        msg:
+          type: string
+          title: Message
+        type:
+          type: string
+          title: Error Type
+      type: object
+      required:
+        - loc
+        - msg
+        - type
+      title: ValidationError
+      x-apifox-orders:
+        - loc
+        - msg
+        - type
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+  securitySchemes:
+    HTTPBearer:
+      type: bearer
+      description: >
+        ----
+
+        #### API Token Introduction:
+
+        ##### Method 1: Use API Token in the Request Header (Recommended)
+
+        - **Header**: `Authorization`
+
+        - **Format**: `Bearer {token}`
+
+        - **Example**: `{"Authorization": "Bearer your_token"}`
+
+        - **Swagger UI**: Click on the `Authorize` button in the upper right
+        corner of the page to enter the API token directly without the `Bearer`
+        keyword.
+
+
+        ##### Method 2: Use API Token in the Cookie (Not Recommended, Use Only
+        When Method 1 is Unavailable)
+
+        - **Cookie**: `Authorization`
+
+        - **Format**: `Bearer {token}`
+
+        - **Example**: `Authorization=Bearer your_token`
+
+
+        #### Get API Token:
+
+        1. Register and log in to your account on the TikHub website.
+
+        2. Go to the user center, click on the API token menu, and create an API
+        token.
+
+        3. Copy and use the API token in the request header.
+
+        4. Keep your API token confidential and use it only in the request
+        header.
+
+
+        ----
+
+
+        #### API令牌简介:
+
+        ##### 方法一:在请求头中使用API令牌(推荐)
+
+        - **请求头**: `Authorization`
+
+        - **格式**: `Bearer {token}`
+
+        - **示例**: `{"Authorization": "Bearer your_token"}`
+
+        - **Swagger UI**: 点击页面右上角的`Authorize`按钮,直接输入API令牌,不需要`Bearer`关键字。
+
+
+        ##### 方法二:在Cookie中使用API令牌(不推荐,仅在无法使用方法一时使用)
+
+        - **Cookie**: `Authorization`
+
+        - **格式**: `Bearer {token}`
+
+        - **示例**: `Authorization=Bearer your_token`
+
+
+        #### 获取API令牌:
+
+        1. 在TikHub网站注册并登录账户。
+
+        2. 进入用户中心,点击API令牌菜单,创建API令牌。
+
+        3. 复制并在请求头中使用API令牌。
+
+        4. 保密您的API令牌,仅在请求头中使用。
+      scheme: bearer
+servers:
+  - url: https://api.tikhub.io
+    description: Production Environment
+security: []
+
+```

+ 539 - 0
docs/tikhub接口文档/获取话题搜索 V2/Fetch hashtag search V2.md

@@ -0,0 +1,539 @@
+# 获取话题搜索 V2/Fetch hashtag search V2
+
+## OpenAPI Specification
+
+```yaml
+openapi: 3.0.1
+info:
+  title: ''
+  description: ''
+  version: 1.0.0
+paths:
+  /api/v1/douyin/search/fetch_challenge_search_v2:
+    post:
+      summary: 获取话题搜索 V2/Fetch hashtag search V2
+      deprecated: false
+      description: >-
+        # [中文]
+
+        ### 用途:
+
+        - 获取抖音 App 中话题(挑战/标签)搜索的结果,使用 V2 版本 API。
+
+        - 支持关键词搜索,返回匹配的话题详情,包括话题名称、话题封面、浏览量、参与人数等。
+
+
+        ### 备注:
+
+        - 本接口专注于搜索话题(Challenge/Hashtag)内容,不包含视频或直播等其他类型。
+
+        - 初次请求时 `cursor` 传入 0,`search_id` 传空字符串,后续翻页请使用上一次返回的 `cursor` 和
+        `search_id`。
+
+
+        ### 参数:
+
+        - keyword: 搜索关键词,如 "游戏"
+
+        - cursor: 翻页游标(首次请求传 0,翻页时使用上次响应的 cursor)
+
+        - sort_type: 排序方式
+            - `0`: 综合排序
+            - `1`: 最多点赞
+            - `2`: 最新发布
+        - publish_time: 发布时间筛选
+            - `0`: 不限
+            - `1`: 最近一天
+            - `7`: 最近一周
+            - `180`: 最近半年
+        - filter_duration: 视频时长筛选
+            - `0`: 不限
+            - `0-1`: 1 分钟以内
+            - `1-5`: 1-5 分钟
+            - `5-10000`: 5 分钟以上
+        - content_type: 内容类型筛选
+            - `0`: 不限
+            - `1`: 视频
+            - `2`: 图片
+            - `3`: 文章
+        - search_id: 搜索ID(分页时使用)
+
+
+        ### 请求体示例:
+
+        ```json
+
+        payload = {
+            "keyword": "游戏",
+            "cursor": 0,
+            "sort_type": "0",
+            "publish_time": "0",
+            "filter_duration": "0",
+            "content_type": "0",
+            "search_id": ""
+        }
+
+        ```
+
+
+        ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
+
+        - `business_data`(话题搜索结果列表)
+          - `data_id`: 结果的唯一编号
+          - `type`: 数据类型(固定为 `2`)
+          - `data.challenge_info`:
+            - `cid`: 话题ID
+            - `cha_name`: 话题名称
+            - `desc`: 话题描述
+            - `schema`: 话题跳转链接(aweme://开头,可跳转抖音 App 内话题详情)
+            - `hashtag_profile`: 话题封面图 URL
+            - `user_count`: 参与人数
+            - `view_count`: 话题浏览量
+            - `challenge_status`: 话题状态(1=正常,其他=异常)
+            - `author`: 创建者信息
+              - `uid`: 创建者抖音用户ID
+              - `nickname`: 昵称
+              - `avatar_thumb.url_list`: 缩略头像URL列表
+              - `is_verified`: 是否认证
+              - `follower_count`: 粉丝数
+            - `share_info`:
+              - `share_url`: 话题分享链接
+              - `share_title`: 分享标题
+              - `share_desc`: 分享描述
+
+        # [English]
+
+        ### Purpose:
+
+        - Fetch hashtag/challenge search results from Douyin App using V2 API.
+
+        - Supports searching by keyword and returns detailed challenge
+        information, including name, cover image, view count, and participant
+        count.
+
+
+        ### Notes:
+
+        - This API focuses on searching challenges (hashtags), not including
+        videos or live streams.
+
+        - Set `cursor` to 0 and `search_id` to an empty string for the first
+        request. For pagination, use the cursor and search_id from the last
+        response.
+
+
+        ### Parameters:
+
+        - keyword: Search keyword, e.g., "game"
+
+        - cursor: Pagination cursor (0 for first request)
+
+        - sort_type: Sorting method
+            - `0`: Comprehensive
+            - `1`: Most likes
+            - `2`: Latest
+        - publish_time: Publish time filter
+            - `0`: Unlimited
+            - `1`: Last day
+            - `7`: Last week
+            - `180`: Last half year
+        - filter_duration: Video duration filter
+            - `0`: Unlimited
+            - `0-1`: Under 1 minute
+            - `1-5`: 1-5 minutes
+            - `5-10000`: Over 5 minutes
+        - content_type: Content type filter
+            - `0`: Unlimited
+            - `1`: Video
+            - `2`: Image
+            - `3`: Article
+        - search_id: Search ID for pagination
+
+
+        ### Request Body Example:
+
+        ```json
+
+        payload = {
+            "keyword": "game",
+            "cursor": 0,
+            "sort_type": "0",
+            "publish_time": "0",
+            "filter_duration": "0",
+            "content_type": "0",
+            "search_id": ""
+        }
+
+        ```
+
+
+        ### Response (common fields, actual response may contain more fields):
+
+        - `business_data` (list of hashtag search results)
+          - `data_id`: Unique identifier for the result
+          - `type`: Data type (fixed `2`)
+          - `data.challenge_info`:
+            - `cid`: Challenge ID
+            - `cha_name`: Challenge name
+            - `desc`: Challenge description
+            - `schema`: Challenge detail schema link (aweme:// schema, used to deep link inside Douyin App)
+            - `hashtag_profile`: URL of the hashtag cover image
+            - `user_count`: Number of participants
+            - `view_count`: Number of views
+            - `challenge_status`: Status (1 = active, others = abnormal)
+            - `author`: Creator info
+              - `uid`: User ID
+              - `nickname`: Nickname
+              - `avatar_thumb.url_list`: Thumbnail avatar URLs
+              - `is_verified`: Whether the creator is verified
+              - `follower_count`: Number of followers
+            - `share_info`:
+              - `share_url`: Shareable URL
+              - `share_title`: Title for sharing
+              - `share_desc`: Description for sharing
+      operationId: >-
+        fetch_challenge_search_v2_api_v1_douyin_search_fetch_challenge_search_v2_post
+      tags:
+        - Douyin-Search-API
+        - Douyin-Search-API
+      parameters: []
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/ChallengeSearchV2Request'
+      responses:
+        '200':
+          description: Successful Response
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ResponseModel'
+          headers: {}
+          x-apifox-name: OK
+        '422':
+          description: Validation Error
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/HTTPValidationError'
+          headers: {}
+          x-apifox-name: Unprocessable Entity
+      security:
+        - HTTPBearer: []
+          x-apifox:
+            schemeGroups:
+              - id: NCoTYU9ayQXvbNoOjdc0q
+                schemeIds:
+                  - HTTPBearer
+            required: true
+            use:
+              id: NCoTYU9ayQXvbNoOjdc0q
+            scopes:
+              NCoTYU9ayQXvbNoOjdc0q:
+                HTTPBearer: []
+      x-apifox-folder: Douyin-Search-API
+      x-apifox-status: released
+      x-run-in-apifox: https://app.apifox.com/web/project/4705614/apis/api-370212794-run
+components:
+  schemas:
+    ChallengeSearchV2Request:
+      properties:
+        keyword:
+          type: string
+          title: Keyword
+          description: 关键词 / Keyword
+          default: 猫咪
+        cursor:
+          type: integer
+          title: Cursor
+          description: >-
+            偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained
+            from the last response
+          default: 0
+        sort_type:
+          type: string
+          title: Sort Type
+          description: >-
+            排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most
+            Likes, 2=Latest
+          default: '0'
+        publish_time:
+          type: string
+          title: Publish Time
+          description: >-
+            发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter:
+            0=Unlimited, 1=Last day, 7=Last week, 180=Last half year
+          default: '0'
+        filter_duration:
+          type: string
+          title: Filter Duration
+          description: >-
+            视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration
+            filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes,
+            5-10000=More than 5 minutes
+          default: '0'
+        content_type:
+          type: string
+          title: Content Type
+          description: >-
+            内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture,
+            3=Article
+          default: '0'
+        search_id:
+          type: string
+          title: Search Id
+          description: >-
+            搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from
+            the last response
+          default: ''
+        backtrace:
+          type: string
+          title: Backtrace
+          description: >-
+            翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from
+            the last response
+          default: ''
+      type: object
+      title: ChallengeSearchV2Request
+      x-apifox-orders:
+        - keyword
+        - cursor
+        - sort_type
+        - publish_time
+        - filter_duration
+        - content_type
+        - search_id
+        - backtrace
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    ResponseModel:
+      properties:
+        code:
+          type: integer
+          title: Code
+          description: HTTP status code | HTTP状态码
+          default: 200
+        request_id:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Request Id
+          description: Unique request identifier | 唯一请求标识符
+        message:
+          type: string
+          title: Message
+          description: Response message (EN-US) | 响应消息 (English)
+          default: Request successful. This request will incur a charge.
+        message_zh:
+          type: string
+          title: Message Zh
+          description: Response message (ZH-CN) | 响应消息 (中文)
+          default: 请求成功,本次请求将被计费。
+        support:
+          type: string
+          title: Support
+          description: Support message | 支持消息
+          default: 'Discord: https://discord.gg/aMEAS8Xsvz'
+        time:
+          type: string
+          title: Time
+          description: The time the response was generated | 生成响应的时间
+        time_stamp:
+          type: integer
+          title: Time Stamp
+          description: The timestamp the response was generated | 生成响应的时间戳
+        time_zone:
+          type: string
+          title: Time Zone
+          description: The timezone of the response time | 响应时间的时区
+          default: America/Los_Angeles
+        docs:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Docs
+          description: >-
+            Link to the API Swagger documentation for this endpoint | 此端点的 API
+            Swagger 文档链接
+        cache_message:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Message
+          description: Cache message (EN-US) | 缓存消息 (English)
+          default: >-
+            This request will be cached. You can access the cached result
+            directly using the URL below, valid for 24 hours. Accessing the
+            cache will not incur additional charges.
+        cache_message_zh:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Message Zh
+          description: Cache message (ZH-CN) | 缓存消息 (中文)
+          default: 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。
+        cache_url:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Cache Url
+          description: The URL to access the cached result | 访问缓存结果的 URL
+        router:
+          type: string
+          title: Router
+          description: The endpoint that generated this response | 生成此响应的端点
+          default: ''
+        params:
+          type: string
+        data:
+          anyOf:
+            - type: string
+            - type: 'null'
+          title: Data
+          description: The response data | 响应数据
+      type: object
+      title: ResponseModel
+      x-apifox-orders:
+        - code
+        - request_id
+        - message
+        - message_zh
+        - support
+        - time
+        - time_stamp
+        - time_zone
+        - docs
+        - cache_message
+        - cache_message_zh
+        - cache_url
+        - router
+        - params
+        - data
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    HTTPValidationError:
+      properties:
+        detail:
+          items:
+            $ref: '#/components/schemas/ValidationError'
+          type: array
+          title: Detail
+      type: object
+      title: HTTPValidationError
+      x-apifox-orders:
+        - detail
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+    ValidationError:
+      properties:
+        loc:
+          items:
+            anyOf:
+              - type: string
+              - type: integer
+          type: array
+          title: Location
+        msg:
+          type: string
+          title: Message
+        type:
+          type: string
+          title: Error Type
+      type: object
+      required:
+        - loc
+        - msg
+        - type
+      title: ValidationError
+      x-apifox-orders:
+        - loc
+        - msg
+        - type
+      x-apifox-ignore-properties: []
+      x-apifox-folder: ''
+  securitySchemes:
+    HTTPBearer:
+      type: bearer
+      description: >
+        ----
+
+        #### API Token Introduction:
+
+        ##### Method 1: Use API Token in the Request Header (Recommended)
+
+        - **Header**: `Authorization`
+
+        - **Format**: `Bearer {token}`
+
+        - **Example**: `{"Authorization": "Bearer your_token"}`
+
+        - **Swagger UI**: Click on the `Authorize` button in the upper right
+        corner of the page to enter the API token directly without the `Bearer`
+        keyword.
+
+
+        ##### Method 2: Use API Token in the Cookie (Not Recommended, Use Only
+        When Method 1 is Unavailable)
+
+        - **Cookie**: `Authorization`
+
+        - **Format**: `Bearer {token}`
+
+        - **Example**: `Authorization=Bearer your_token`
+
+
+        #### Get API Token:
+
+        1. Register and log in to your account on the TikHub website.
+
+        2. Go to the user center, click on the API token menu, and create an API
+        token.
+
+        3. Copy and use the API token in the request header.
+
+        4. Keep your API token confidential and use it only in the request
+        header.
+
+
+        ----
+
+
+        #### API令牌简介:
+
+        ##### 方法一:在请求头中使用API令牌(推荐)
+
+        - **请求头**: `Authorization`
+
+        - **格式**: `Bearer {token}`
+
+        - **示例**: `{"Authorization": "Bearer your_token"}`
+
+        - **Swagger UI**: 点击页面右上角的`Authorize`按钮,直接输入API令牌,不需要`Bearer`关键字。
+
+
+        ##### 方法二:在Cookie中使用API令牌(不推荐,仅在无法使用方法一时使用)
+
+        - **Cookie**: `Authorization`
+
+        - **格式**: `Bearer {token}`
+
+        - **示例**: `Authorization=Bearer your_token`
+
+
+        #### 获取API令牌:
+
+        1. 在TikHub网站注册并登录账户。
+
+        2. 进入用户中心,点击API令牌菜单,创建API令牌。
+
+        3. 复制并在请求头中使用API令牌。
+
+        4. 保密您的API令牌,仅在请求头中使用。
+      scheme: bearer
+servers:
+  - url: https://api.tikhub.io
+    description: Production Environment
+security: []
+
+```

+ 61 - 0
douyin/douyin-comment-replies/SKILL.md

@@ -0,0 +1,61 @@
+---
+name: douyin-comment-replies
+description: 获取抖音指定视频中某条评论的全部回复,适用于深度舆情追踪、争议点分析、用户回复习惯研究。常配合 douyin-video-comments 使用。
+version: 1.3.0
+author: nkkj-BrainHack
+---
+
+# douyin-comment-replies
+
+## 功能用途
+
+获取某条评论下的全部回复,挖掘用户在热评话题下的深度互动内容。
+
+**核心业务场景:**
+- 热评争议点深度分析(高赞评论引发的讨论)
+- 用户购买决策追踪("在哪买/求链接"类回复)
+- 舆情追踪(评论串中的情绪升级路径)
+- 竞品用户反馈深挖
+
+## 调用链(Workflow)
+
+```
+上游: douyin-video-comments(aweme_id) → 获取评论列表 → 找高赞热评(digg_count 最高)
+本步: douyin-comment-replies(item_id=aweme_id, comment_id=cid) → 获取该热评全部回复
+分析: 对回复内容做情感分类,发现用户争议点和购买意向信号
+```
+
+## 入参规则
+
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| item_id | string | ✅ | 视频 ID(等同于 aweme_id) |
+| comment_id | string | ✅ | 评论 ID(从 douyin-video-comments 返回的 comments[].cid 获取) |
+| cursor | integer | ❌ | 翻页游标,首次传 0(默认 0) |
+| count | integer | ❌ | 每页数量,**请保持默认 20** |
+
+## 接口调用方式
+
+- **请求方法**: GET
+- **接口地址**: `https://server.fmode.cn/api/voc-social/douyin/app/v3/fetch_video_comment_replies`
+
+```
+GET ?item_id=7354666303006723354&comment_id=7354669356632638218&cursor=0&count=20
+```
+
+## 关键响应字段
+
+| 字段路径 | 业务用途 |
+|----------|---------|
+| comments[].text | 回复内容 → 用户深度表达 |
+| comments[].digg_count | 回复点赞数 → 高赞回复最具代表性 |
+| comments[].create_time | 回复时间戳 |
+| comments[].user.nickname | 回复者昵称 |
+| has_more | 是否还有更多回复 |
+| cursor | 下一页游标 |
+
+## 依赖要求
+
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法 GET,参数作为查询参数传递
+- item_id 与 comment_id 均来自 douyin-video-comments 的响应

+ 104 - 0
douyin/douyin-comment-replies/api-config.json

@@ -0,0 +1,104 @@
+{
+  "name": "douyin-comment-replies",
+  "displayName": "抖音评论回复查询",
+  "description": "获取抖音指定视频中某条评论的全部回复,适用于深度舆情追踪、争议点分析、用户回复习惯研究。常配合 douyin-video-comments 使用。",
+  "category": "douyin",
+  "version": "1.3.0",
+  "endpoint": {
+    "method": "GET",
+    "url": "https://server.fmode.cn/api/voc-social/douyin/app/v3/fetch_video_comment_replies",
+    "headers": {
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
+      "Accept": "application/json"
+    }
+  },
+  "parameters": {
+    "type": "object",
+    "required": [
+      "item_id",
+      "comment_id"
+    ],
+    "properties": {
+      "item_id": {
+        "type": "string",
+        "description": "抖音作品 ID"
+      },
+      "comment_id": {
+        "type": "string",
+        "description": "评论 ID"
+      },
+      "cursor": {
+        "type": "integer",
+        "description": "分页游标,首次传 0",
+        "default": 0
+      },
+      "count": {
+        "type": "integer",
+        "description": "每页数量,请保持默认 20",
+        "default": 20
+      }
+    }
+  },
+  "requestTransform": {
+    "queryParams": {
+      "item_id": "{{item_id}}",
+      "comment_id": "{{comment_id}}",
+      "cursor": "{{cursor}}",
+      "count": "{{count}}"
+    }
+  },
+  "response": {
+    "type": "object",
+    "description": "评论回复列表",
+    "properties": {
+      "comments": {
+        "type": "array",
+        "description": "回复列表"
+      },
+      "has_more": {
+        "type": "boolean",
+        "description": "是否有更多回复"
+      },
+      "cursor": {
+        "type": "integer",
+        "description": "下一页游标"
+      }
+    }
+  },
+  "usageExamples": [
+    {
+      "name": "热评争议点深度分析",
+      "input": {
+        "item_id": "7354666303006723354",
+        "comment_id": "7354669356632638218",
+        "cursor": 0,
+        "count": 20
+      },
+      "description": "获取高赞热评下的回复,分析用户争议点和进一步讨论的内容"
+    }
+  ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "上游: douyin-video-comments(aweme_id) → 获取评论列表 → 找到高赞热评(digg_count 最高)",
+      "本步: douyin-comment-replies(item_id, comment_id) → 获取热评下的回复",
+      "分析: 对回复内容做情感分类,发现用户争议点"
+    ]
+  },
+  "reportMapping": {
+    "slides": [
+      "社媒聆听(Slide14)"
+    ],
+    "dataPoints": [
+      "用户争议点内容",
+      "热评下用户情感深度",
+      "购买决策影响因素(对话式评论)"
+    ]
+  },
+  "timeout": 15000,
+  "retry": {
+    "maxAttempts": 3,
+    "delay": 1500,
+    "backoffMultiplier": 2
+  }
+}

+ 96 - 0
douyin/douyin-general-search/SKILL.md

@@ -0,0 +1,96 @@
+---
+name: douyin-general-search
+description: 按关键词在抖音综合搜索,获取相关视频列表及作者/互动数据。适用于品类内容趋势分析、竞品视频监控、VOC素材采集、爆款选题发现。
+version: 1.3.0
+author: nkkj-BrainHack
+---
+
+# douyin-general-search
+
+## 功能用途
+
+按关键词在抖音综合搜索,获取视频列表及互动数据(点赞/播放/评论/分享)、作者信息、话题标签等。
+
+**核心业务场景:**
+- 品类爆款内容发现(sort_type=1 最多点赞)
+- 竞品品牌视频监控(搜索竞品名 + publish_time=1 最新)
+- 用户痛点 VOC 素材采集(搜索 "产品名+踩雷/差评")
+- 趋势话题内容研究(sort_type=2 最新发布)
+
+## 调用链(Workflow)
+
+```
+1. douyin-general-search(keyword) → 获取相关视频列表
+2. douyin-video-detail(aweme_id) → 获取单视频完整数据
+3. douyin-video-comments(aweme_id) → 获取该视频评论
+4. douyin-comment-replies(item_id, comment_id) → 获取热评回复
+5. douyin-user-profile(author.sec_uid) → 获取高互动视频作者详情
+```
+
+## 入参规则
+
+| 参数 | 类型 | 必填 | 枚举值 | 说明 |
+|------|------|------|--------|------|
+| keyword | string | ✅ | — | 搜索关键词,支持品类词/品牌词/话题词,如 '香薰蜡烛'、'户外露营' |
+| cursor | integer | ❌ | — | 翻页游标,首次传 0,下一页用上次响应的 cursor |
+| sort_type | string | ❌ | '0'=综合 '1'=最多点赞 '2'=最新发布 | 排序方式(默认 '0') |
+| publish_time | string | ❌ | '0'=不限 '1'=一天 '7'=一周 '180'=半年 | 发布时间范围(默认 '0') |
+| filter_duration | string | ❌ | '0'=不限 '0-1'=1分钟内 '1-5'=1-5分钟 '5-10000'=5分钟以上 | 视频时长(默认 '0') |
+| content_type | string | ❌ | '0'=不限 '1'=视频 '2'=图文 '3'=文章 | 内容类型(默认 '0') |
+| search_id | string | ❌ | — | 翻页搜索会话ID,首次传 '',翻页时从上次响应获取 |
+| backtrace | string | ❌ | — | 翻页回溯标识,首次传 '',翻页时从上次响应获取 |
+
+## 接口调用方式
+
+- **请求方法**: POST
+- **接口地址**: `https://server.fmode.cn/api/voc-social/douyin/search/fetch_general_search_v2`
+
+**业务场景示例 1 - 爆款内容发现:**
+```json
+{
+  "keyword": "香薰蜡烛",
+  "cursor": 0,
+  "sort_type": "1",
+  "publish_time": "7",
+  "content_type": "1",
+  "filter_duration": "0",
+  "search_id": "",
+  "backtrace": ""
+}
+```
+
+**业务场景示例 2 - 竞品监控:**
+```json
+{
+  "keyword": "竞品品牌名",
+  "cursor": 0,
+  "sort_type": "2",
+  "publish_time": "1",
+  "content_type": "0",
+  "filter_duration": "0",
+  "search_id": "",
+  "backtrace": ""
+}
+```
+
+## 关键响应字段
+
+| 字段路径 | 业务用途 |
+|----------|---------|
+| data[].aweme_id | 视频 ID → 传入 douyin-video-detail 获取完整数据 |
+| data[].desc | 视频文案/标题 → 爆款标题规律分析 |
+| data[].author.sec_uid | 作者 ID → 传入 douyin-user-profile 获取 KOL 详情 |
+| data[].statistics.digg_count | 点赞数 → 爆款判断指标 |
+| data[].statistics.comment_count | 评论数 → 用 douyin-video-comments 获取评论内容 |
+| data[].statistics.play_count | 播放量 → 曝光力指标 |
+| data[].statistics.share_count | 分享数 → 传播力指标 |
+| data[].text_extra | 话题标签列表 → 内容标签策略分析 |
+| cursor | 下一页游标 |
+| search_id | 翻页时传回 |
+| backtrace | 翻页时传回 |
+
+## 依赖要求
+
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法为 POST,参数通过 JSON body 传递
+- **timeout 建议 45000ms**(后端响应较慢)

+ 188 - 0
douyin/douyin-general-search/api-config.json

@@ -0,0 +1,188 @@
+{
+  "name": "douyin-general-search",
+  "displayName": "抖音综合搜索 V2",
+  "description": "按关键词在抖音综合搜索,获取相关视频列表及作者/互动数据。适用于品类内容趋势分析、竞品视频监控、VOC素材采集、爆款选题发现。",
+  "category": "douyin",
+  "version": "1.3.0",
+  "endpoint": {
+    "method": "POST",
+    "url": "https://server.fmode.cn/api/voc-social/douyin/search/fetch_general_search_v2",
+    "headers": {
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
+      "Content-Type": "application/json",
+      "Accept": "application/json"
+    }
+  },
+  "parameters": {
+    "type": "object",
+    "required": [
+      "keyword"
+    ],
+    "properties": {
+      "keyword": {
+        "type": "string",
+        "description": "搜索关键词,支持品类词/品牌词/话题词/人群词,如 '香薰蜡烛'、'户外露营'、'skincare'"
+      },
+      "cursor": {
+        "type": "integer",
+        "description": "翻页游标,首次请求传 0,下一页使用上次响应返回的 cursor 值",
+        "default": 0
+      },
+      "sort_type": {
+        "type": "string",
+        "description": "排序方式:'0'=综合排序(推荐优先);'1'=最多点赞(爆款优先);'2'=最新发布(时效优先)",
+        "enum": ["0", "1", "2"],
+        "default": "0"
+      },
+      "publish_time": {
+        "type": "string",
+        "description": "发布时间范围筛选:'0'=不限;'1'=最近一天;'7'=最近一周;'180'=最近半年",
+        "enum": ["0", "1", "7", "180"],
+        "default": "0"
+      },
+      "filter_duration": {
+        "type": "string",
+        "description": "视频时长筛选:'0'=不限;'0-1'=1分钟以内(短片/种草);'1-5'=1-5分钟(中视频);'5-10000'=5分钟以上(深度内容)",
+        "enum": ["0", "0-1", "1-5", "5-10000"],
+        "default": "0"
+      },
+      "content_type": {
+        "type": "string",
+        "description": "内容类型筛选:'0'=不限;'1'=视频;'2'=图文/图片;'3'=文章",
+        "enum": ["0", "1", "2", "3"],
+        "default": "0"
+      },
+      "search_id": {
+        "type": "string",
+        "description": "搜索会话ID,首次请求传空字符串,翻页时从上次响应的 search_id 字段获取",
+        "default": ""
+      },
+      "backtrace": {
+        "type": "string",
+        "description": "翻页回溯标识,首次请求传空字符串,翻页时从上次响应的 backtrace 字段获取",
+        "default": ""
+      }
+    }
+  },
+  "requestTransform": {
+    "body": {
+      "keyword": "{{keyword}}",
+      "cursor": "{{cursor}}",
+      "sort_type": "{{sort_type}}",
+      "publish_time": "{{publish_time}}",
+      "filter_duration": "{{filter_duration}}",
+      "content_type": "{{content_type}}",
+      "search_id": "{{search_id}}",
+      "backtrace": "{{backtrace}}"
+    }
+  },
+  "response": {
+    "type": "object",
+    "description": "综合搜索结果,包含视频列表及互动数据",
+    "properties": {
+      "data": {
+        "type": "array",
+        "description": "搜索结果列表(aweme_info 数组),每项包含:aweme_id(视频ID)、desc(标题/文案)、author(作者信息)、statistics(互动数据)、video(播放地址)、text_extra(话题标签列表)"
+      },
+      "cursor": {
+        "type": "integer",
+        "description": "下一页游标,翻页时作为 cursor 参数传入"
+      },
+      "has_more": {
+        "type": "integer",
+        "description": "是否有更多数据(1=有,0=无)"
+      },
+      "search_id": {
+        "type": "string",
+        "description": "翻页搜索会话ID,翻页时原样传回"
+      },
+      "backtrace": {
+        "type": "string",
+        "description": "翻页回溯标识,翻页时原样传回"
+      }
+    },
+    "keyFields": {
+      "aweme_id": "视频唯一ID,可传入 douyin-video-detail 获取完整数据",
+      "desc": "视频文案/标题,含核心卖点和话题标签",
+      "author.uid": "作者用户ID",
+      "author.nickname": "作者昵称",
+      "author.sec_uid": "可传入 douyin-user-profile 获取作者详情",
+      "statistics.digg_count": "点赞数(爆款指标)",
+      "statistics.comment_count": "评论数,可用 douyin-video-comments 获取详情",
+      "statistics.share_count": "分享数(传播力指标)",
+      "statistics.play_count": "播放量(曝光力指标)"
+    }
+  },
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "1. douyin-general-search(keyword) → 获取相关视频列表",
+      "2. douyin-video-detail(aweme_id) → 获取单视频完整数据",
+      "3. douyin-video-comments(aweme_id) → 获取该视频评论",
+      "4. douyin-comment-replies(item_id, comment_id) → 获取热评回复",
+      "5. douyin-user-profile(sec_uid) → 获取高互动视频作者详情"
+    ]
+  },
+  "usageExamples": [
+    {
+      "name": "品类爆款内容发现",
+      "input": {
+        "keyword": "香薰蜡烛",
+        "cursor": 0,
+        "sort_type": "1",
+        "publish_time": "7",
+        "content_type": "1"
+      },
+      "description": "搜索近一周点赞最多的香薰蜡烛视频,发现爆款内容规律,用于选品和内容策略参考"
+    },
+    {
+      "name": "竞品品牌内容监控",
+      "input": {
+        "keyword": "竞品品牌名",
+        "cursor": 0,
+        "sort_type": "2",
+        "publish_time": "1"
+      },
+      "description": "搜索竞品品牌最新发布内容,监控其内容策略动向"
+    },
+    {
+      "name": "用户痛点VOC素材采集",
+      "input": {
+        "keyword": "香薰蜡烛 踩雷",
+        "cursor": 0,
+        "sort_type": "0",
+        "filter_duration": "0-1"
+      },
+      "description": "搜索用户发布的短视频评测/踩雷内容,结合 douyin-video-comments 提取用户真实痛点"
+    },
+    {
+      "name": "趋势话题内容研究",
+      "input": {
+        "keyword": "露营神器",
+        "cursor": 0,
+        "sort_type": "2",
+        "publish_time": "7"
+      },
+      "description": "发现最新趋势话题下的内容形式,辅助新品上市内容策略规划"
+    }
+  ],
+  "reportMapping": {
+    "slides": [
+      "社媒聆听(Slide14)",
+      "竞品社媒策略(Slide15)"
+    ],
+    "dataPoints": [
+      "品类热词视频列表",
+      "视频互动率(点赞/播放比)",
+      "爆款内容文案模式",
+      "活跃 KOL 账号发现",
+      "用户痛点关键词(结合评论分析)"
+    ]
+  },
+  "timeout": 45000,
+  "retry": {
+    "maxAttempts": 3,
+    "delay": 1500,
+    "backoffMultiplier": 2
+  }
+}

+ 73 - 0
douyin/douyin-hashtag-search/SKILL.md

@@ -0,0 +1,73 @@
+---
+name: douyin-hashtag-search
+description: 按关键词搜索抖音话题(挑战/#标签),返回话题浏览量、参与人数、话题描述等。适用于品类话题热度分析、竞品话题监控、内容营销切入点发现。
+version: 1.3.0
+author: nkkj-BrainHack
+---
+
+# douyin-hashtag-search
+
+## 功能用途
+
+按关键词搜索抖音话题/挑战/#标签,量化品类在抖音的话题流量规模,发现内容营销切入口。
+
+**核心业务场景:**
+- 品类话题热度排名(哪个话题浏览量最大)
+- 新兴趋势话题发现(sort_type=2 最新发布)
+- 竞品话题曝光监控(搜索竞品品牌相关话题)
+- 内容营销切入点(找高浏览低竞争话题)
+
+## 调用链(Workflow)
+
+```
+本步: douyin-hashtag-search(keyword) → 获取话题列表
+     → 按 view_count 排序,找最大流量话题的 cha_name
+下游: douyin-general-search(cha_name) → 获取该话题下的具体视频内容
+下游: 结合 view_count + user_count 评估话题营销价值
+```
+
+## 入参规则
+
+| 参数 | 类型 | 必填 | 枚举值 | 说明 |
+|------|------|------|--------|------|
+| keyword | string | ✅ | — | 搜索关键词,如 '香薰蜡烛'、'户外露营' |
+| cursor | integer | ❌ | — | 翻页游标,首次传 0(默认 0) |
+| sort_type | string | ❌ | '0'=综合 '1'=最多点赞 '2'=最新发布 | 排序方式(默认 '0') |
+| publish_time | string | ❌ | '0'=不限 '1'=一天 '7'=一周 '180'=半年 | 发布时间(默认 '0') |
+| filter_duration | string | ❌ | '0'=不限 '0-1' '1-5' '5-10000' | 视频时长(默认 '0') |
+| content_type | string | ❌ | '0'=不限 '1'=视频 '2'=图文 '3'=文章 | 内容类型(默认 '0') |
+| search_id | string | ❌ | — | 翻页搜索ID,首次传 '',翻页时从上次响应获取 |
+
+## 接口调用方式
+
+- **请求方法**: POST
+- **接口地址**: `https://server.fmode.cn/api/voc-social/douyin/search/fetch_challenge_search_v2`
+- **timeout 建议 45000ms**
+
+**场景示例 - 品类话题热度排名:**
+```json
+{ "keyword": "香薰蜡烛", "cursor": 0, "sort_type": "1", "search_id": "" }
+```
+
+**场景示例 - 新兴趋势话题:**
+```json
+{ "keyword": "露营神器", "cursor": 0, "sort_type": "2", "publish_time": "7", "search_id": "" }
+```
+
+## 关键响应字段
+
+| 字段路径 | 业务用途 |
+|----------|---------|
+| business_data[].data.challenge_info.cid | 话题 ID |
+| business_data[].data.challenge_info.cha_name | 话题名称 → 可用于 douyin-general-search |
+| business_data[].data.challenge_info.desc | 话题描述 |
+| business_data[].data.challenge_info.view_count | 话题浏览量 → 流量规模评估核心指标 |
+| business_data[].data.challenge_info.user_count | 参与人数 → 内容创作者数量 |
+| cursor | 下一页游标 |
+| has_more | 是否有更多话题 |
+
+## 依赖要求
+
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法为 POST,参数通过 JSON body 传递
+- **timeout 建议 45000ms**(后端响应较慢)

+ 146 - 0
douyin/douyin-hashtag-search/api-config.json

@@ -0,0 +1,146 @@
+{
+  "name": "douyin-hashtag-search",
+  "displayName": "抖音话题搜索 V2",
+  "description": "按关键词搜索抖音话题(挑战/#标签),返回话题浏览量、参与人数、话题描述等。适用于品类话题热度分析、竞品话题监控、内容营销切入点发现。",
+  "category": "douyin",
+  "version": "1.3.0",
+  "endpoint": {
+    "method": "POST",
+    "url": "https://server.fmode.cn/api/voc-social/douyin/search/fetch_challenge_search_v2",
+    "headers": {
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
+      "Content-Type": "application/json",
+      "Accept": "application/json"
+    }
+  },
+  "parameters": {
+    "type": "object",
+    "required": [
+      "keyword"
+    ],
+    "properties": {
+      "keyword": {
+        "type": "string",
+        "description": "搜索关键词,如 '游戏'、'美食'"
+      },
+      "cursor": {
+        "type": "integer",
+        "description": "翻页游标,首次请求传 0",
+        "default": 0
+      },
+      "sort_type": {
+        "type": "string",
+        "description": "排序方式:'0'=综合排序;'1'=最多点赞(爆款话题);'2'=最新发布(新兴话题)",
+        "enum": ["0", "1", "2"],
+        "default": "0"
+      },
+      "publish_time": {
+        "type": "string",
+        "description": "发布时间范围:'0'=不限;'1'=最近一天;'7'=最近一周;'180'=最近半年",
+        "enum": ["0", "1", "7", "180"],
+        "default": "0"
+      },
+      "filter_duration": {
+        "type": "string",
+        "description": "视频时长:'0'=不限;'0-1'=1分钟以内;'1-5'=1-5分钟;'5-10000'=5分钟以上",
+        "enum": ["0", "0-1", "1-5", "5-10000"],
+        "default": "0"
+      },
+      "content_type": {
+        "type": "string",
+        "description": "内容类型:'0'=不限;'1'=视频;'2'=图文/图片;'3'=文章",
+        "enum": ["0", "1", "2", "3"],
+        "default": "0"
+      },
+      "search_id": {
+        "type": "string",
+        "description": "搜索ID,首次请求传空,翻页时使用上次返回值",
+        "default": ""
+      }
+    }
+  },
+  "requestTransform": {
+    "body": {
+      "keyword": "{{keyword}}",
+      "cursor": "{{cursor}}",
+      "sort_type": "{{sort_type}}",
+      "publish_time": "{{publish_time}}",
+      "filter_duration": "{{filter_duration}}",
+      "content_type": "{{content_type}}",
+      "search_id": "{{search_id}}"
+    }
+  },
+  "response": {
+    "type": "object",
+    "description": "话题搜索结果",
+    "properties": {
+      "business_data": {
+        "type": "array",
+        "description": "话题列表,包含 challenge_info(cid, cha_name, desc, user_count, view_count 等)"
+      },
+      "cursor": {
+        "type": "integer",
+        "description": "下一页游标"
+      },
+      "has_more": {
+        "type": "integer",
+        "description": "是否有更多数据"
+      }
+    }
+  },
+  "usageExamples": [
+    {
+      "name": "品类话题热度排名",
+      "input": {
+        "keyword": "香薰蜡烛",
+        "cursor": 0,
+        "sort_type": "1"
+      },
+      "description": "搜索香薰蜡烛相关话题,按浏览量排名,分析平台热门话题与流量入口"
+    },
+    {
+      "name": "新兴话题发现",
+      "input": {
+        "keyword": "露营神器",
+        "cursor": 0,
+        "sort_type": "2",
+        "publish_time": "7"
+      },
+      "description": "搜索最新白应话题,判断新兴趋势方向及内容营销切入机会"
+    },
+    {
+      "name": "竞品品牌话题监控",
+      "input": {
+        "keyword": "竞品品牌名或标志性话题",
+        "cursor": 0,
+        "sort_type": "0"
+      },
+      "description": "搜索竞品相关话题,了解其话题流量规模和平台曝光程度"
+    }
+  ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "本步: douyin-hashtag-search(keyword) → 获取话题列表 → 得到 cha_name、view_count、user_count",
+      "分析: 按 view_count 排序找到最大流量话题,评估内容营销切入横杆价値",
+      "下游: 使用 douyin-general-search(话题名) 获取话题下的具体视频内容"
+    ]
+  },
+  "reportMapping": {
+    "slides": [
+      "社媒聆听(Slide14)"
+    ],
+    "dataPoints": [
+      "品类话题热度排名",
+      "话题浏览量与参与人数(规模评估)",
+      "新兴趋势话题发现",
+      "竞品话题曝光对比"
+    ]
+  },
+  "timeout": 45000,
+  "retry": {
+    "maxAttempts": 3,
+    "delay": 1500,
+    "backoffMultiplier": 2
+  }
+}

+ 60 - 0
douyin/douyin-user-profile/SKILL.md

@@ -0,0 +1,60 @@
+---
+name: douyin-user-profile
+description: 根据 sec_user_id 获取抖音用户完整主页数据,包括粉丝数、总获赞数、作品数、个人简介、认证信息等。适用于KOL档案建立、竞品品牌账号分析、达人粉丝画像评估。
+version: 1.3.0
+author: nkkj-BrainHack
+---
+
+# douyin-user-profile
+
+## 功能用途
+
+根据 sec_user_id 获取抖音账号完整主页数据,量化 KOL/品牌的影响力规模。
+
+**核心业务场景:**
+- KOL 达人档案建立(粉丝规模、获赞总量、发布频率)
+- 竞品品牌账号分析(账号认证状态、粉丝增长分析)
+- 达人商业价值评估(粉丝量 + 获赞量综合评估)
+- 竞品代言人/合作达人盘点
+
+## 调用链(Workflow)
+
+```
+上游: douyin-user-search(keyword) → 搜索达人 → 取 sec_uid
+上游: douyin-general-search(keyword) → 视频列表 → 从 author.sec_uid 获取
+本步: douyin-user-profile(sec_user_id) → 获取完整账号数据
+下游: 结合粉丝数/获赞数/作品数 评估 KOL 商业价值
+```
+
+## 入参规则
+
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| sec_user_id | string | ✅ | 抖音用户 sec_user_id(从搜索结果或视频作者信息中获取) |
+
+## 接口调用方式
+
+- **请求方法**: GET
+- **接口地址**: `https://server.fmode.cn/api/voc-social/douyin/app/v3/handler_user_profile`
+
+```
+GET ?sec_user_id=MS4wLjABAAAAW9FWcqS7RdQAWPd2AA5fL_ilmqsIFUCQ_Iym6Yh9_cUa6ZRqVLjVQSUjlHrfXY1Y
+```
+
+## 关键响应字段
+
+| 字段路径 | 业务用途 |
+|----------|---------|
+| data.user.nickname | 用户昵称 |
+| data.user.unique_id | 抖音号 |
+| data.user.follower_count | 粉丝数 → KOL 规模评级(头部/腰部/尾部) |
+| data.user.total_favorited | 总获赞数 → 内容影响力综合指标 |
+| data.user.aweme_count | 发布作品数 → 内容产出频率 |
+| data.user.signature | 个人简介 → 达人定位分析 |
+| data.user.verify_info | 认证信息 → 品牌/个人/机构认证类型 |
+| data.user.avatar_thumb | 头像缩略图 |
+
+## 依赖要求
+
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法 GET,sec_user_id 作为查询参数传递

+ 85 - 0
douyin/douyin-user-profile/api-config.json

@@ -0,0 +1,85 @@
+{
+  "name": "douyin-user-profile",
+  "displayName": "抖音用户信息查询",
+  "description": "根据 sec_user_id 获取抖音用户完整主页数据,包括粉丝数、总获赞数、作品数、个人简介、认证信息等。适用于KOL档案建立、竞品品牌账号分析、达人粉丝画像评估。",
+  "category": "douyin",
+  "version": "1.3.0",
+  "endpoint": {
+    "method": "GET",
+    "url": "https://server.fmode.cn/api/voc-social/douyin/app/v3/handler_user_profile",
+    "headers": {
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
+      "Accept": "application/json"
+    }
+  },
+  "parameters": {
+    "type": "object",
+    "required": [
+      "sec_user_id"
+    ],
+    "properties": {
+      "sec_user_id": {
+        "type": "string",
+        "description": "抖音用户 sec_user_id"
+      }
+    }
+  },
+  "requestTransform": {
+    "queryParams": {
+      "sec_user_id": "{{sec_user_id}}"
+    }
+  },
+  "response": {
+    "type": "object",
+    "description": "用户完整资料",
+    "properties": {
+      "data": {
+        "type": "object",
+        "description": "用户信息,包括昵称、粉丝数、获赞数、作品数、个人简介、头像等"
+      }
+    }
+  },
+  "usageExamples": [
+    {
+      "name": "KOL达人档案建立",
+      "input": {
+        "sec_user_id": "MS4wLjABAAAAW9FWcqS7RdQAWPd2AA5fL_ilmqsIFUCQ_Iym6Yh9_cUa6ZRqVLjVQSUjlHrfXY1Y"
+      },
+      "description": "获取达人完整主页数据,建立KOL档案:粉丝规模、获赞总量、内容数量、个人定位"
+    },
+    {
+      "name": "竞品品牌账号分析",
+      "input": {
+        "sec_user_id": "竞品品牌抖音sec_user_id"
+      },
+      "description": "分析竞品品牌抖音账号的粉丝规模、内容体量、账号认证状态"
+    }
+  ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "上游: douyin-user-search(keyword) → 搜索达人 → 取 sec_uid",
+      "上游: douyin-general-search(keyword) → 获取视频列表 → 从 author.sec_uid 获取",
+      "本步: douyin-user-profile(sec_user_id) → 获取完整账号数据",
+      "下游: 结合粉丝数/获赞数评估KOL商业价值"
+    ]
+  },
+  "reportMapping": {
+    "slides": [
+      "社媒聆听(Slide14)"
+    ],
+    "dataPoints": [
+      "KOL粉丝规模",
+      "账号总获赞(影响力指标)",
+      "作品发布频率(活跃度)",
+      "账号认证类型(品牌/个人/机构)",
+      "达人个人定位(简介分析)"
+    ]
+  },
+  "timeout": 15000,
+  "retry": {
+    "maxAttempts": 3,
+    "delay": 1500,
+    "backoffMultiplier": 2
+  }
+}

+ 63 - 0
douyin/douyin-user-search/SKILL.md

@@ -0,0 +1,63 @@
+---
+name: douyin-user-search
+description: 按关键词搜索抖音达人/用户,返回匹配的账号列表及基础数据。适用于红人库建设、品类达人批量筛选、竞品代言人定位。
+version: 1.3.0
+author: nkkj-BrainHack
+---
+
+# douyin-user-search
+
+## 功能用途
+
+按关键词搜索抖音达人/用户账号,快速批量获取候选人基础信息(粉丝数、抖音号、简介等)。
+
+**核心业务场景:**
+- 品类达人批量筛选(如 "香薰蜡烛达人"、"户外露营博主")
+- 竞品品牌官方账号定位(搜索 "竞品名+旗舰店")
+- KOL 候选人初筛(按 follower_count 快速过滤规模)
+- 行业 KOC 挖掘(腰尾部达人发现)
+
+## 调用链(Workflow)
+
+```
+本步: douyin-user-search(keyword) → 搜索达人/品牌
+     → 得到 uid、nickname、sec_uid、follower_count 初筛列表
+下游: douyin-user-profile(sec_user_id) → 获取账号完整数据和统计
+筛选: 按 follower_count 筛选符合粉丝规模要求的达人
+```
+
+## 入参规则
+
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| keyword | string | ✅ | 搜索关键词,支持品类词/达人方向/品牌名,如 '香薰蜡烛达人'、'美食博主' |
+| cursor | integer | ❌ | 翻页游标,首次传 0,下一页用上次返回的 cursor(默认 0) |
+
+## 接口调用方式
+
+- **请求方法**: POST
+- **接口地址**: `https://server.fmode.cn/api/voc-social/douyin/search/fetch_user_search_v2`
+- **timeout 建议 45000ms**
+
+```json
+{ "keyword": "香薰蜡烛达人", "cursor": 0 }
+```
+
+## 关键响应字段
+
+| 字段路径 | 业务用途 |
+|----------|---------|
+| user_list[].user_info.uid | 用户 ID |
+| user_list[].user_info.nickname | 用户昵称 |
+| user_list[].user_info.unique_id | 抖音号 |
+| user_list[].user_info.sec_uid | 安全 UID → 传入 douyin-user-profile 获取完整数据 |
+| user_list[].user_info.follower_count | 粉丝数 → 初筛 KOL 规模的核心字段 |
+| user_list[].user_info.signature | 个性签名 → 达人定位判断 |
+| cursor | 下一页游标 |
+| has_more | 是否有更多数据(1=有,0=无) |
+
+## 依赖要求
+
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法为 POST,参数通过 JSON body 传递
+- **timeout 建议 45000ms**(后端响应较慢)

+ 108 - 0
douyin/douyin-user-search/api-config.json

@@ -0,0 +1,108 @@
+{
+  "name": "douyin-user-search",
+  "displayName": "抖音用户搜索 V2",
+  "description": "按关键词搜索抖音达人/用户,返回匹配的账号列表及基础数据。适用于红人库建设、品类达人批量筛选、竞品代言人定位。",
+  "category": "douyin",
+  "version": "1.3.0",
+  "endpoint": {
+    "method": "POST",
+    "url": "https://server.fmode.cn/api/voc-social/douyin/search/fetch_user_search_v2",
+    "headers": {
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
+      "Content-Type": "application/json",
+      "Accept": "application/json"
+    }
+  },
+  "parameters": {
+    "type": "object",
+    "required": [
+      "keyword"
+    ],
+    "properties": {
+      "keyword": {
+        "type": "string",
+        "description": "搜索关键词,如 '人工智能'、'美妆'"
+      },
+      "cursor": {
+        "type": "integer",
+        "description": "翻页游标,首次请求传 0",
+        "default": 0
+      }
+    }
+  },
+  "requestTransform": {
+    "body": {
+      "keyword": "{{keyword}}",
+      "cursor": "{{cursor}}"
+    }
+  },
+  "response": {
+    "type": "object",
+    "description": "用户搜索结果",
+    "properties": {
+      "cursor": {
+        "type": "integer",
+        "description": "下一页游标"
+      },
+      "has_more": {
+        "type": "integer",
+        "description": "是否有更多数据(1=有,0=无)"
+      },
+      "user_list": {
+        "type": "array",
+        "description": "用户列表",
+        "items": {
+          "type": "object",
+          "properties": {
+            "user_info": {
+              "type": "object",
+              "description": "用户信息(uid, nickname, unique_id, sec_uid, follower_count, signature 等)"
+            }
+          }
+        }
+      }
+    }
+  },
+  "usageExamples": [
+    {
+      "name": "品类达人批量筛选",
+      "input": {
+        "keyword": "香薰蜡烛达人",
+        "cursor": 0
+      },
+      "description": "搜索香薰蜡烛品类达人,得到候选名单后用 douyin-user-profile 获取粉丝数评估化"
+    },
+    {
+      "name": "竞品品牌账号搜索",
+      "input": {
+        "keyword": "竞品品牌名+官方旗舰店",
+        "cursor": 0
+      },
+      "description": "搜索竞品品牌在抖音的官方账号,用于监控其运营动态"
+    }
+  ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "本步: douyin-user-search(keyword) → 搜索达人/品牌 → 得到 uid、nickname、sec_uid、follower_count",
+      "下游: douyin-user-profile(sec_user_id) → 获取账号完整数据和统计",
+      "筛选: 按 follower_count 筛选符合粉丝规模要求的达人"
+    ]
+  },
+  "reportMapping": {
+    "slides": [
+      "社媒聆听(Slide14)"
+    ],
+    "dataPoints": [
+      "品类达人候选列表",
+      "粉丝规模分布(头部/腰部/尾部达人)",
+      "竞品代言人定位"
+    ]
+  },
+  "timeout": 45000,
+  "retry": {
+    "maxAttempts": 3,
+    "delay": 1500,
+    "backoffMultiplier": 2
+  }
+}

+ 65 - 0
douyin/douyin-video-comments/SKILL.md

@@ -0,0 +1,65 @@
+---
+name: douyin-video-comments
+description: 获取抖音视频的用户评论列表,支持翻页。直接反映用户对产品/内容的真实评价,是VOC情感分析、痛点挖掘、需求发现的核心数据源。
+version: 1.3.0
+author: nkkj-BrainHack
+---
+
+# douyin-video-comments
+
+## 功能用途
+
+获取抖音视频的用户评论列表,支持翻页批量采集。评论是用户自发性表达,是最直接的 VOC 数据来源。
+
+**核心业务场景:**
+- 爆款视频用户声音采集(提取产品真实评价)
+- 痛点/需求关键词挖掘(高频词统计)
+- 情感分析素材获取(正向/负向情感分类)
+- 热评识别(按 digg_count 排序找最具代表性评论)
+
+## 调用链(Workflow)
+
+```
+上游: douyin-general-search(keyword, sort_type='1') → 找到高点赞爆款视频
+上游: douyin-video-detail(aweme_id) → 确认视频互动数据
+本步: douyin-video-comments(aweme_id, cursor=0) → 采集用户评论
+本步: douyin-video-comments(aweme_id, cursor=N) → 翻页采集更多
+下游: douyin-comment-replies(item_id, comment_id) → 获取高赞热评的回复
+```
+
+## 入参规则
+
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| aweme_id | string | ✅ | 抖音作品 ID,如 '7448118827402972455' |
+| cursor | integer | ❌ | 翻页游标,首次传 0,下一页用上次返回的 cursor(默认 0) |
+| count | integer | ❌ | 每页数量,**请保持默认 20**,改动会导致 BUG |
+
+## 接口调用方式
+
+- **请求方法**: GET
+- **接口地址**: `https://server.fmode.cn/api/voc-social/douyin/app/v3/fetch_video_comments`
+
+```
+GET ?aweme_id=7448118827402972455&cursor=0&count=20
+```
+
+## 关键响应字段
+
+| 字段路径 | 业务用途 |
+|----------|---------|
+| comments[].cid | 评论 ID → 传入 douyin-comment-replies 的 comment_id |
+| comments[].text | 评论内容 → VOC 文本分析核心字段 |
+| comments[].digg_count | 评论点赞数 → 热评识别(越高越有代表性) |
+| comments[].reply_comment_total | 该评论的回复数 |
+| comments[].create_time | 评论发布时间戳 |
+| comments[].user.nickname | 评论者昵称 |
+| comments[].user.uid | 评论者 UID |
+| has_more | 是否还有更多评论(1=有,0=无) |
+| cursor | 下一页游标 |
+| total | 评论总数 |
+
+## 依赖要求
+
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法 GET,参数作为查询参数传递

+ 113 - 0
douyin/douyin-video-comments/api-config.json

@@ -0,0 +1,113 @@
+{
+  "name": "douyin-video-comments",
+  "displayName": "抖音视频评论查询",
+  "description": "获取抖音视频的用户评论列表,支持翻页。直接反映用户对产品/内容的真实评价,是VOC情感分析、痛点挖掘、需求发现的核心数据源。",
+  "category": "douyin",
+  "version": "1.3.0",
+  "endpoint": {
+    "method": "GET",
+    "url": "https://server.fmode.cn/api/voc-social/douyin/app/v3/fetch_video_comments",
+    "headers": {
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
+      "Accept": "application/json"
+    }
+  },
+  "parameters": {
+    "type": "object",
+    "required": [
+      "aweme_id"
+    ],
+    "properties": {
+      "aweme_id": {
+        "type": "string",
+        "description": "抖音作品 ID"
+      },
+      "cursor": {
+        "type": "integer",
+        "description": "分页游标,首次传 0,后续使用上次返回的 cursor 值",
+        "default": 0
+      },
+      "count": {
+        "type": "integer",
+        "description": "每页数量,请保持默认值 20",
+        "default": 20
+      }
+    }
+  },
+  "requestTransform": {
+    "queryParams": {
+      "aweme_id": "{{aweme_id}}",
+      "cursor": "{{cursor}}",
+      "count": "{{count}}"
+    }
+  },
+  "response": {
+    "type": "object",
+    "description": "评论数据列表",
+    "properties": {
+      "comments": {
+        "type": "array",
+        "description": "评论列表"
+      },
+      "has_more": {
+        "type": "boolean",
+        "description": "是否有更多评论"
+      },
+      "cursor": {
+        "type": "integer",
+        "description": "下一页游标"
+      },
+      "total": {
+        "type": "integer",
+        "description": "评论总数"
+      }
+    }
+  },
+  "usageExamples": [
+    {
+      "name": "爆款视频用户声音采集",
+      "input": {
+        "aweme_id": "7448118827402972455",
+        "cursor": 0,
+        "count": 20
+      },
+      "description": "获取爆款视频前20条评论,提取用户对产品的真实评价和购买意愿"
+    },
+    {
+      "name": "翻页采集更多评论",
+      "input": {
+        "aweme_id": "7448118827402972455",
+        "cursor": 20,
+        "count": 20
+      },
+      "description": "使用上次返回的 cursor 值翻页,累计采集更多用户评论"
+    }
+  ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "上游: douyin-general-search(keyword, sort_type='1') → 找到高点赞爆款视频",
+      "上游: douyin-video-detail(aweme_id) → 确认视频互动数据",
+      "本步: douyin-video-comments(aweme_id) → 批量采集用户评论",
+      "下游: douyin-comment-replies(item_id, comment_id) → 获取热评下的回复"
+    ]
+  },
+  "reportMapping": {
+    "slides": [
+      "社媒聆听(Slide14)"
+    ],
+    "dataPoints": [
+      "用户痛点关键词",
+      "正向/负向情感分布",
+      "高频需求词提取",
+      "评论点赞数(热评识别)",
+      "用户购买意向信号"
+    ]
+  },
+  "timeout": 15000,
+  "retry": {
+    "maxAttempts": 3,
+    "delay": 1500,
+    "backoffMultiplier": 2
+  }
+}

+ 63 - 0
douyin/douyin-video-detail/SKILL.md

@@ -0,0 +1,63 @@
+---
+name: douyin-video-detail
+description: 根据视频ID获取抖音单个作品完整数据(播放量/点赞/评论/分享/作者/话题标签等),V3版本无版权限制。适用于爆款视频深度分析、竞品内容解析、KOL内容效果评估。
+version: 1.3.0
+author: nkkj-BrainHack
+---
+
+# douyin-video-detail
+
+## 功能用途
+
+根据 aweme_id 获取抖音单个作品的完整数据,包括播放量、点赞数、评论数、分享数、话题标签、作者信息等。
+
+**核心业务场景:**
+- 爆款视频深度分析(互动率、标签策略、文案结构)
+- 竞品内容数据解析(竞品视频的量化表现)
+- KOL 内容效果评估(达人单视频效果量化)
+- 话题标签策略研究(text_extra 标签列表)
+
+## 调用链(Workflow)
+
+```
+上游: douyin-general-search(keyword, sort_type='1') → 找到高点赞爆款 → 取 aweme_id
+本步: douyin-video-detail(aweme_id) → 获取完整视频数据
+下游: douyin-video-comments(aweme_id) → 分析用户评论
+下游: douyin-user-profile(author.sec_uid) → 获取作者档案
+```
+
+## 入参规则
+
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| aweme_id | string | ✅ | 抖音视频 ID,如 '7592116912205630761' |
+
+## 接口调用方式
+
+- **请求方法**: GET
+- **接口地址**: `https://server.fmode.cn/api/voc-social/douyin/app/v3/fetch_one_video_v3`
+
+```
+GET ?aweme_id=7592116912205630761
+```
+
+## 关键响应字段
+
+| 字段路径 | 业务用途 |
+|----------|---------|
+| data.aweme_id | 视频 ID |
+| data.desc | 视频文案/标题 → 爆款标题规律分析 |
+| data.statistics.play_count | 播放量 → 曝光力指标 |
+| data.statistics.digg_count | 点赞数 → 爆款程度 |
+| data.statistics.comment_count | 评论数 → 用 douyin-video-comments 获取详情 |
+| data.statistics.share_count | 分享数 → 传播力 |
+| data.author.sec_uid | 作者 ID → 传入 douyin-user-profile |
+| data.author.nickname | 作者昵称 |
+| data.text_extra | 话题标签列表 → 内容标签策略 |
+| data.video.duration | 视频时长 |
+| data.create_time | 发布时间戳 |
+
+## 依赖要求
+
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法 GET,aweme_id 作为查询参数传递

+ 86 - 0
douyin/douyin-video-detail/api-config.json

@@ -0,0 +1,86 @@
+{
+  "name": "douyin-video-detail",
+  "displayName": "抖音单个作品数据查询 V3",
+  "description": "根据视频ID获取抖音单个作品完整数据(播放量/点赞/评论/分享/作者/话题标签等),V3版本无版权限制。适用于爆款视频深度分析、竞品内容解析、KOL内容效果评估。",
+  "category": "douyin",
+  "version": "1.3.0",
+  "endpoint": {
+    "method": "GET",
+    "url": "https://server.fmode.cn/api/voc-social/douyin/app/v3/fetch_one_video_v3",
+    "headers": {
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
+      "Accept": "application/json"
+    }
+  },
+  "parameters": {
+    "type": "object",
+    "required": [
+      "aweme_id"
+    ],
+    "properties": {
+      "aweme_id": {
+        "type": "string",
+        "description": "抖音作品或文章 ID"
+      }
+    }
+  },
+  "requestTransform": {
+    "queryParams": {
+      "aweme_id": "{{aweme_id}}"
+    }
+  },
+  "response": {
+    "type": "object",
+    "description": "作品详细数据",
+    "properties": {
+      "data": {
+        "type": "object",
+        "description": "作品数据,包括标题、描述、播放量、点赞数、评论数、分享数、作者信息等"
+      }
+    }
+  },
+  "usageExamples": [
+    {
+      "name": "爆款视频数据分析",
+      "input": {
+        "aweme_id": "7592116912205630761"
+      },
+      "description": "获取爆款视频的完整数据,包括播放量、互动率、话题标签,用于总结爆款规律"
+    },
+    {
+      "name": "竞品内容深度解析",
+      "input": {
+        "aweme_id": "竞品视频ID"
+      },
+      "description": "分析竞品爆款视频的内容结构、标签策略、互动数据,对标自身内容体系"
+    }
+  ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "上游: douyin-general-search(keyword) → 获取视频列表 → 取 aweme_id",
+      "本步: douyin-video-detail(aweme_id) → 获取完整视频数据",
+      "下游: douyin-video-comments(aweme_id) → 获取该视频评论分析用户反馈",
+      "下游: douyin-user-profile(sec_uid) → 获取视频作者资料"
+    ]
+  },
+  "reportMapping": {
+    "slides": [
+      "社媒聆听(Slide14)",
+      "竞品社媒策略(Slide15)"
+    ],
+    "dataPoints": [
+      "视频播放量与互动率(点赞/播放比)",
+      "视频话题标签策略",
+      "内容发布时间与互动表现",
+      "KOL内容效果量化",
+      "爆款内容文案与卖点分析"
+    ]
+  },
+  "timeout": 15000,
+  "retry": {
+    "maxAttempts": 3,
+    "delay": 1500,
+    "backoffMultiplier": 2
+  }
+}

+ 7 - 2
review-analysis/review-batch-collection/SKILL.md

@@ -76,9 +76,14 @@ review-batch-collection
 }
 ```
 
+## 核心业务场景
+- 工作坊 Day1 晚「试捕电商 VOC」核心数据采集(自身 + 竞品 ASIN 批量评论)
+- 差评率对比(本店 vs 竞品 1-2 星占比)
+- 竞品 VOC 对比汇总(加权均分/差评率/Top 产品排名)
+
 ## 依赖
-- Sorftime API(/api/ProductReviewsQuery)
-- 注意字段名为 PascalCase:ReviewsDate(非ReviewDate)、ReviewedCountry、IsVP、ReviewsLink
+- Amazon VOC API: `https://server.fmode.cn/api/voc-ecom/forward`(统一转发,认证已内置
+- ⚠️ 字段名为 PascalCase:ReviewsDate(非 ReviewDate)、ReviewedCountry、IsVP、ReviewsLink
 
 ## 对应工作坊环节
 Day1 晚 19:00-21:30「试捕电商VOC」— 核心数据采集步骤

+ 5 - 0
review-analysis/review-highlight-extraction/SKILL.md

@@ -82,6 +82,11 @@ review-highlight-extraction
 }
 ```
 
+## 核心业务场景
+- 竞品核心卖点提取(从好评聚类识别竞品独有优势)
+- Listing 卖点植入建议(标题前 65 字符 + Bullet 前 2 条具体词根)
+- 礼品/场景化内容方向识别(送礼/多香味等高频好评亮点)
+
 ## 依赖
 - 评论语料(来自 review-batch-collection)
 

+ 6 - 1
review-analysis/review-keyword-cloud/SKILL.md

@@ -70,9 +70,14 @@ review-keyword-cloud
 }
 ```
 
+## 核心业务场景
+- 电商 VOC 关键词库输出(带情感标签的词云:positive/negative/neutral)
+- 搜索词 + 评论词融合分析(反映搜索意图与用户真实声音的交集)
+- 报告词云图数据(Slide 直接可用)
+
 ## 依赖
 - 评论语料(来自 review-batch-collection)
-- Sorftime API(asin-reverse-keywords)
+- Amazon VOC API: `https://server.fmode.cn/api/voc-ecom/forward`(asin-reverse-keywords 调用
 
 ## 对应工作坊环节
 Day1 晚「认知校准&关键词梳理」— 输出《电商VOC关键词库》

+ 6 - 1
review-analysis/review-pain-point-extraction/SKILL.md

@@ -92,9 +92,14 @@ review-pain-point-extraction
 }
 ```
 
+## 核心业务场景
+- 竞品死穴挖掘(频率 × 严重度排序,找最致命痛点)
+- VOC 驱动 Listing 优化(直接生成 bullet 文案建议)
+- 评分差距分析(当前评分 vs 品类基准 4.6,需消除多少差评)
+
 ## 依赖
 - 评论语料(来自 review-batch-collection)
-- 内置差评关键词提取算法(star<=2过滤 + AI痛点聚类 + severity评分排序)
+- 内置差评关键词提取算法(star≤2 过滤 + AI 痛点聚类 + severity 评分排序)
 
 ## 对应工作坊环节
 Day2 上午 09:50-11:30「竞品VOC深度分析 — 差评死穴」

+ 6 - 1
review-analysis/review-sentiment-analysis/SKILL.md

@@ -77,9 +77,14 @@ review-sentiment-analysis
 }
 ```
 
+## 核心业务场景
+- 竞品评论情感词云生成(报告 Slide 直接可用)
+- 正/负向词分布对比(本店 vs 竞品情感差异)
+- 品牌整体情感健康度量化(好评率/差评率/中性率)
+
 ## 依赖
 - 评论语料(来自 review-batch-collection)
-- 内置情感分析引擎(星级快速分类 + 可选NLP微调边缘情况)
+- 内置情感分析引擎(情感短语规则 + 星级回退分类
 
 ## 对应工作坊环节
 Day1 晚 20:30-21:30「认知校准&关键词梳理」

+ 37 - 36
social-media/instagram-search/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: instagram-search
-description: 按关键词搜索 Instagram 用户/品牌账号,返回匹配的用户列表。用于竞品品牌 Instagram 账号发现、红人搜索
+description: 按关键词搜索 Instagram 用户账号或话题标签,返回匹配的用户列表或标签列表用于竞品品牌 Instagram 账号定位、KOL 初筛、品类话题标签发现。
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,54 +9,55 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-按关键词搜索 Instagram 用户/品牌账号,返回匹配的用户列表。用于竞品品牌 Instagram 账号发现、红人搜索。
+按关键词搜索 Instagram 用户账号或话题标签,获取初始候选列表。
+
+**核心业务场景:**
+- 竞品品牌 IG 账号定位(搜索竞品名获取官方账号 username/pk)
+- 品类 KOL 初筛(搜索品类词找相关创作者)
+- 品类话题标签发现(select='hashtags' 搜索相关标签)
+
+## 调用链(Workflow)
+
+```
+本步: instagram-search(query, select='users') → 搜索用户 → 得到 username、pk、follower_count
+下游: instagram-user-info(username) → 获取账号完整数据(帖子数/简介等)
+下游: instagram-user-posts(user_id=pk) → 获取帖子列表
+```
 
 ## 入参规则
 
-| 参数 | 类型 | 必填 | 说明 |
-|------|------|------|------|
-| query | string | ✅ | 搜索关键词,如品牌名 'NEST New York'、'Paddywax'、'SpaRoom' |
-| select | string | ❌ | 搜索类型: 'users'=搜索用户, 'hashtags'=搜索标签(默认 'users') |
+| 参数 | 类型 | 必填 | 枚举值 | 说明 |
+|------|------|------|--------|------|
+| query | string | ✅ | — | 搜索关键词,如 'NEST New York'、'Paddywax'、'candle maker' |
+| select | string | ❌ | 'users'=搜索用户 'hashtags'=搜索标签 | 搜索类型(默认 'users') |
 
 ## 接口调用方式
 
 - **请求方法**: GET
-- **接口地址**: `https://server.fmode.cn/thapi/v1/instagram/v1/fetch_search`
-- **请求头**:
-  - `Authorization: Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==`
-  - `Accept: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-social/instagram/v1/fetch_search`
 
-参数直接作为 GET 查询参数传递:
+**搜索竞品品牌账号:**
 ```
-GET /thapi/v1/instagram/v1/fetch_search?query=NEST+New+York&select=users
+GET ?query=NEST+New+York&select=users
 ```
 
-> 注意: 搜索结果中的 user.pk 可用于 instagram-user-posts 接口获取帖子列表。username 可用于 instagram-user-info 获取详细资料。
-
-## 返回格式
-
-返回 JSON 对象,主要字段:
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| users | array | 匹配的用户列表 |
+**搜索品类话题标签:**
+```
+GET ?query=aromatherapy&select=hashtags
+```
 
-users 数组中每个用户包含:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| user.pk | string | 用户数字 ID(用于获取帖子) |
-| user.username | string | 用户名 |
-| user.full_name | string | 显示名称 |
-| user.is_verified | boolean | 是否认证 |
-| user.profile_pic_url | string | 头像 URL |
-| user.follower_count | integer | 粉丝数 |
-| user.is_private | boolean | 是否私密账号 |
+| 字段路径 | 业务用途 |
+|----------|---------|
+| users[].user.pk | 用户数字 ID → **传入 instagram-user-posts 的 user_id** |
+| users[].user.username | 用户名 → **传入 instagram-user-info 的 username** |
+| users[].user.full_name | 显示名称 |
+| users[].user.follower_count | 粉丝数 → KOL 规模初判 |
+| users[].user.is_verified | 是否认证 → 品牌官方账号识别 |
+| users[].user.is_private | 是否私密账号 |
 
 ## 依赖要求
 
-- 直连代理: `https://server.fmode.cn/thapi`
-- 需携带 Bearer Token 在 Authorization header 中
-- 所有请求均为 GET 方法
-- 关联技能: `instagram-user-info`(使用 username 获取详情)、`instagram-user-posts`(使用 pk 获取帖子)
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法 GET,参数作为查询参数传递

+ 25 - 8
social-media/instagram-search/api-config.json

@@ -1,7 +1,7 @@
 {
   "name": "instagram-search",
   "displayName": "Instagram 搜索",
-  "description": "按关键词搜索 Instagram 用户/品牌账号,返回匹配的用户列表。用于竞品品牌 Instagram 账号发现、红人搜索。",
+  "description": "按关键词搜索 Instagram 用户账号或话颒标签,返回匹配的用户列表或标签列表用于竞品品牌 Instagram 账号定位、KOL 初筛、品类 话颒标签发现。",
   "category": "social-media",
   "version": "1.3.0",
   "endpoint": {
@@ -90,30 +90,47 @@
   "notes": "搜索结果中的 user.pk 可用于 instagram_user_posts 接口获取帖子列表。username 可用于 instagram_user_info 获取详细资料。",
   "usageExamples": [
     {
-      "name": "搜索 NEST New York 品牌",
+      "name": "竞品品牌 IG 账号定位",
       "input": {
         "query": "NEST New York",
         "select": "users"
       },
-      "description": "搜索 NEST New York 的 Instagram 品牌账号"
+      "description": "搜索 NEST New York 的 Instagram 品牌账号,获取 username 和 pk 用于后续分析"
     },
     {
-      "name": "搜索 Paddywax 品牌",
+      "name": "品类 KOL 搜索",
       "input": {
-        "query": "Paddywax",
+        "query": "candle maker",
         "select": "users"
       },
-      "description": "搜索 Paddywax 的 Instagram 品牌账号"
+      "description": "搜索 candle maker 相关 Instagram KOL,初筛候选达人列表"
+    },
+    {
+      "name": "品类话颒标签搜索",
+      "input": {
+        "query": "aromatherapy",
+        "select": "hashtags"
+      },
+      "description": "搜索 aromatherapy 相关 IG 标签,发现品类相关话颒"
     }
   ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "本步: instagram-search(query, select='users') → 搜索用户 → 得到 username、pk、follower_count",
+      "下游: instagram-user-info(username) → 获取账号完整数据(帖子数/简介等)",
+      "下游: instagram-user-posts(user_id=pk) → 获取用户帖子列表"
+    ]
+  },
   "reportMapping": {
     "slides": [
       "竞品对标(Slide4)",
       "知识中心(Slide11)"
     ],
     "dataPoints": [
-      "品牌IG账号发现",
-      "粉丝数初步数据"
+      "竞品品牌 IG 账号发现",
+      "品类 KOL 候选列表",
+      "品类话颒标签热度分布"
     ]
   },
   "timeout": 15000,

+ 33 - 33
social-media/instagram-user-info/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: instagram-user-info
-description: 根据用户名获取 Instagram 用户的完整资料,包括粉丝数、关注数、帖子数、个人简介、是否认证等。用于竞品品牌社媒画像分析、红人详情获取
+description: 根据用户名获取 Instagram 账号完整资料,包括粉丝数、帖子数、个人简介、认证状态、商业账号类型等。适用于竞品品牌 IG 影响力画像建立、KOL 资质评估、达人商业价值分析
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,7 +9,20 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-根据用户名获取 Instagram 用户的完整资料,包括粉丝数、关注数、帖子数、个人简介、是否认证等。用于竞品品牌社媒画像分析、红人详情获取。
+根据 username 获取 Instagram 账号完整主页数据,量化品牌/KOL 的影响力规模。
+
+**核心业务场景:**
+- 竞品品牌 IG 影响力画像建立(粉丝规模、帖子活跃度、认证状态)
+- KOL 资质评估(粉丝数/帖子数/是否商业账号)
+- 竞品组批量数据采集(报告中 Slide4 竞品 IG 数据)
+
+## 调用链(Workflow)
+
+```
+上游: instagram-search(query, select='users') → 搜索用户 → 取 username
+本步: instagram-user-info(username) → 获取完整账号数据(pk/follower_count/media_count)
+下游: instagram-user-posts(user_id=pk) → 获取帖子列表分析内容策略
+```
 
 ## 入参规则
 
@@ -20,41 +33,28 @@ author: nkkj-BrainHack
 ## 接口调用方式
 
 - **请求方法**: GET
-- **接口地址**: `https://server.fmode.cn/thapi/v1/instagram/v1/fetch_user_info_by_username_v3`
-- **请求头**:
-  - `Authorization: Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==`
-  - `Accept: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-social/instagram/v1/fetch_user_info_by_username_v3`
 
-参数直接作为 GET 查询参数传递:
 ```
-GET /thapi/v1/instagram/v1/fetch_user_info_by_username_v3?username=nestnewyork
+GET ?username=nestnewyork
 ```
 
-> 注意: 返回的 pk(用户数字 ID)可用于 instagram-user-posts 接口获取帖子列表。
-
-## 返回格式
-
-返回 JSON 对象,主要字段:
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| user.pk | string | 用户数字 ID |
-| user.username | string | 用户名 |
-| user.full_name | string | 显示名称 |
-| user.biography | string | 个人简介 |
-| user.follower_count | integer | 粉丝数 |
-| user.following_count | integer | 关注数 |
-| user.media_count | integer | 帖子总数 |
-| user.is_verified | boolean | 是否蓝V认证 |
-| user.is_business | boolean | 是否商业账号 |
-| user.category | string | 账号类别 |
-| user.external_url | string | 外部链接(如品牌官网) |
-| user.profile_pic_url_hd | string | 高清头像 URL |
+## 关键响应字段
+
+| 字段路径 | 业务用途 |
+|----------|---------|
+| user.pk | 用户数字 ID → **传入 instagram-user-posts 的 user_id** |
+| user.username | 用户名 |
+| user.full_name | 显示名称 |
+| user.biography | 个人简介 → 品牌定位分析 |
+| user.follower_count | 粉丝数 → KOL 规模评级 |
+| user.media_count | 帖子总数 → 内容活跃度指标 |
+| user.is_verified | 是否蓝V认证 → 官方账号识别 |
+| user.is_business | 是否商业账号 → 品牌/达人性质判断 |
+| user.category | 账号类别 |
+| user.external_url | 外部链接 → 品牌官网入口 |
 
 ## 依赖要求
 
-- 直连代理: `https://server.fmode.cn/thapi`
-- 需携带 Bearer Token 在 Authorization header 中
-- 所有请求均为 GET 方法
-- 关联技能: `instagram-user-posts`(使用本接口返回的 pk 获取帖子列表)
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法 GET,username 作为查询参数传递

+ 22 - 14
social-media/instagram-user-info/api-config.json

@@ -1,7 +1,7 @@
 {
   "name": "instagram-user-info",
   "displayName": "Instagram 用户详情",
-  "description": "根据用户名获取 Instagram 用户的完整资料,包括粉丝数、关注数、帖子数、个人简介、是否认证等。用于竞品品牌社媒画像分析、红人详情获取。",
+  "description": "根据用户名获取 Instagram 账号完整资料,包括粉丝数、帖子数、个人简介、认证状态、商业账号类型等。适用于竞品品牌 IG 影响力画像建立、KOL 资质评估、达人商业价弹分析。",
   "category": "social-media",
   "version": "1.3.0",
   "endpoint": {
@@ -88,41 +88,49 @@
       }
     }
   },
-  "notes": "返回的 pk(用户数字 ID)可用于 instagram_user_posts 接口获取帖子列表。media_count 对应报告中的帖子数(如 Paddywax 3,095 条)。",
+  "notes": "返回的 pk(用户数字 ID)可用于 instagram-user-posts 接口获取帖子列表。media_count 对应报告中的帖子数(如 Paddywax 3,095 条)。",
   "usageExamples": [
     {
-      "name": "获取 NEST New York IG 详情",
+      "name": "竞品品牌 IG 影响力画像",
       "input": {
         "username": "nestnewyork"
       },
-      "description": "获取 NEST New York 的 IG 粉丝数(报告中显示 144,102)、帖子数等"
+      "description": "获取 NEST New York 的 IG 粉丝数、帖子数、认证状态,建立竞品 IG 影响力画像"
     },
     {
-      "name": "获取 Paddywax IG 详情",
+      "name": "竞品组对标数据采集",
       "input": {
         "username": "paddywax"
       },
-      "description": "获取 Paddywax 的 IG 粉丝数(报告中显示 126,441)和帖子数(3,095 条)"
+      "description": "获取 Paddywax 的 IG 数据,用于报告中竞品 Instagram 对标数据填充"
     },
     {
-      "name": "获取 SpaRoom IG 详情",
+      "name": "KOL 资质评估",
       "input": {
-        "username": "sparoom"
+        "username": "达人用户名"
       },
-      "description": "获取 SpaRoom 的 IG 数据(报告中显示极低存在感)"
+      "description": "获取 KOL 的粉丝数、帖子数、是否商业账号等,评估带货商业指标"
     }
   ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "上游: instagram-search(query, select='users') → 搜索用户 → 取 username",
+      "本步: instagram-user-info(username) → 获取完整账号数据(pk/follower_count/media_count)",
+      "下游: instagram-user-posts(user_id=pk) → 获取帖子列表分析内容策略"
+    ]
+  },
   "reportMapping": {
     "slides": [
       "竞品对标(Slide4)",
       "知识中心(Slide11)"
     ],
     "dataPoints": [
-      "IG粉丝数",
-      "帖子总数",
-      "认证状态",
-      "品牌简介",
-      "外部链接"
+      "IG 粉丝规模",
+      "帖子总量(内容活跃度)",
+      "认证状态(蓝 V/商业账号)",
+      "品牌简介分析(biography)",
+      "外部链接(官网入口)"
     ]
   },
   "timeout": 15000,

+ 35 - 40
social-media/instagram-user-posts/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: instagram-user-posts
-description: 获取指定 Instagram 用户发布的帖子列表,包括图片、点赞数、评论数等。用于竞品内容策略分析、发帖频率和互动率评估
+description: 获取指定 Instagram 用户发布的帖子列表,包括点赞数、评论数、帖子文案等。适用于竞品品牌 IG 内容策略分析、KOL 帖子互动表现评估、品牌运营频率分析
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,60 +9,55 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-获取指定 Instagram 用户发布的帖子列表,包括图片、点赞数、评论数等。用于竞品内容策略分析、发帖频率和互动率评估。
+获取 Instagram 用户发布的帖子列表,分析内容策略、发帖规律和互动表现。
+
+**核心业务场景:**
+- 竞品品牌 IG 内容策略分析(发帖频率、内容主题、帖子互动率)
+- KOL 帖子互动表现评估(单帖平均互动率计算)
+- 品牌视觉内容风格分析(内容类型分布:图片/视频/轮播)
+
+## 调用链(Workflow)
+
+```
+上游: instagram-search(query, select='users') → 搜索品牌/KOL → 取 username
+上游: instagram-user-info(username) → 获取 pk 字段和粉丝数
+本步: instagram-user-posts(user_id=pk) → 获取帖子列表
+分析: 互动率 = (like_count + comment_count) / follower_count
+```
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| user_id | string | ✅ | Instagram 用户数字 ID(pk),需先通过 instagram-user-info 或 instagram-search 接口获取 |
+| user_id | string | ✅ | Instagram 用户数字 ID(pk),从 instagram-user-info 的 user.pk 字段获取 |
 | count | integer | ❌ | 每页帖子数量,最大 50(默认 12) |
-| end_cursor | string | ❌ | 分页游标,首次不传,后续传上次返回的 end_cursor |
+| end_cursor | string | ❌ | 页游标,首次不传,后续传上次返回的 end_cursor |
 
 ## 接口调用方式
 
 - **请求方法**: GET
-- **接口地址**: `https://server.fmode.cn/thapi/v1/instagram/v1/fetch_user_posts_v2`
-- **请求头**:
-  - `Authorization: Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==`
-  - `Accept: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-social/instagram/v1/fetch_user_posts_v2`
 
-参数直接作为 GET 查询参数传递:
 ```
-GET /thapi/v1/instagram/v1/fetch_user_posts_v2?user_id=12345678&count=12
+GET ?user_id=12345678&count=12
 ```
 
-> 注意: user_id 需先通过 instagram-user-info 接口获取 pk 字段。帖子的互动率可通过 (like_count + comment_count) / follower_count 计算。
-
-## 返回格式
-
-返回 JSON 对象,主要字段:
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| items | array | 帖子数组 |
-| has_more | boolean | 是否有更多帖子 |
-| end_cursor | string | 下一页游标 |
-
-items 数组中每条帖子包含:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| id | string | 帖子 ID |
-| code | string | 帖子短码(URL 用) |
-| caption.text | string | 帖子文案 |
-| like_count | integer | 点赞数 |
-| comment_count | integer | 评论数 |
-| taken_at | integer | 发布时间戳 |
-| media_type | integer | 媒体类型: 1=图片, 2=视频, 8=轮播 |
-| image_versions2 | object | 图片版本列表 |
-| video_versions | array | 视频版本列表(仅视频帖子) |
-| view_count | integer | 视频观看次数(仅视频帖子) |
+| 字段路径 | 业务用途 |
+|----------|---------|
+| items[].id | 帖子 ID |
+| items[].caption.text | 帖子文案 → 内容主题分析 |
+| items[].like_count | 点赞数 → 互动率计算分子 |
+| items[].comment_count | 评论数 → 互动率计算分子 |
+| items[].taken_at | 发布时间戳 → 发帖频率分析 |
+| items[].media_type | 媒体类型(1=图片 2=视频 8=轮播) → 内容类型分布 |
+| items[].view_count | 视频观看次数(仅视频帖子) |
+| has_more | 是否还有更多帖子 |
+| end_cursor | 下一页游标 |
 
 ## 依赖要求
 
-- 直连代理: `https://server.fmode.cn/thapi`
-- 需携带 Bearer Token 在 Authorization header 中
-- 所有请求均为 GET 方法
-- 关联技能: `instagram-user-info`(先获取 pk)、`instagram-search`(也可获取 pk)
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法 GET,参数作为查询参数传递
+- **user_id 必须从 instagram-user-info 的 user.pk 字段获取**

+ 27 - 10
social-media/instagram-user-posts/api-config.json

@@ -1,7 +1,7 @@
 {
   "name": "instagram-user-posts",
   "displayName": "Instagram 用户帖子列表",
-  "description": "获取指定 Instagram 用户发布的帖子列表,包括图片、点赞数、评论数等。用于竞品内容策略分析、发帖频率和互动率评估。",
+  "description": "获取指定 Instagram 用户发布的帖子列表,包括点赞数、评论数、帖子文案等。适用于竞品品牌 IG 内容策略分析、KOL 帖子互动表现评估、品牌运营频率分析。",
   "category": "social-media",
   "version": "1.3.0",
   "endpoint": {
@@ -109,31 +109,48 @@
       }
     }
   },
-  "notes": "user_id 需先通过 instagram_user_info 接口获取 pk 字段。帖子的互动率可通过 (like_count + comment_count) / follower_count 计算。",
+  "notes": "user_id 需先通过 instagram-user-info 接口获取 pk 字段。互动率公式:(like_count + comment_count) / follower_count。",
   "relatedSkills": [
-    "instagram_user_info",
-    "instagram_search"
+    "instagram-user-info",
+    "instagram-search"
   ],
   "usageExamples": [
     {
-      "name": "获取品牌最近帖子",
+      "name": "竞品品牌 IG 内容策略分析",
       "input": {
         "user_id": "12345678",
         "count": 12
       },
-      "description": "获取品牌最近 12 条帖子的互动数据,分析内容策略"
+      "description": "获取竞品品牌最近 12 条帖子,分析发帖频率、内容主题、帖子互动率"
+    },
+    {
+      "name": "KOL 帖子评估",
+      "input": {
+        "user_id": "达人 pk",
+        "count": 20
+      },
+      "description": "获取达人近期 20 条帖子,计算帖子平均互动率(点赞+评论)/粉丝数"
     }
   ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "上游: instagram-search(query, select='users') → 搜索品牌/KOL → 取 username",
+      "上游: instagram-user-info(username) → 获取 pk 字段和粉丝数",
+      "本步: instagram-user-posts(user_id=pk) → 获取帖子列表",
+      "分析: 计算互动率 = (like_count+comment_count)/follower_count"
+    ]
+  },
   "reportMapping": {
     "slides": [
       "竞品对标(Slide4)",
       "社媒聆听(Slide14)"
     ],
     "dataPoints": [
-      "帖子互动率",
-      "发帖频率",
-      "内容类型分布",
-      "品牌视觉风格"
+      "帖子平均互动率对比",
+      "品牌发帖频率和内容规律",
+      "内容类型分布(1=图片 2=视频 8=轮播)",
+      "品牌视觉风格分析"
     ]
   },
   "timeout": 15000,

+ 28 - 23
social-media/tiktok-hashtag-detail/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: tiktok-hashtag-detail
-description: 根据话题/标签 ID 获取话题详情,包括总播放量、视频数量等。用于品类社媒热度统计、话题趋势追踪
+description: 根据话题/标签 ID 获取 TikTok 话题详情,包括总播放量、视频使用数等。适用于品类 TikTok 话题热度量化、话题对标分析、内容营销话题选择
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,42 +9,47 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-根据话题/标签 ID 获取话题详情,包括总播放量、视频数量等。用于品类社媒热度统计、话题趋势追踪。
+根据 ch_id 获取 TikTok 话题的总播放量和视频使用数,量化品类话题的流量规模。
+
+**核心业务场景:**
+- 品类 TikTok 话题热度量化(#candlewarmer 总播放量统计)
+- 竞品话题对标分析(自身 vs 竞品话题播放量差距)
+- 内容营销话题选择(找高播放量低竞争话题)
+
+## 调用链(Workflow)
+
+```
+上游: tiktok-video-search(keyword) → 视频列表 → 从 cha_list 获取 ch_id
+本步: tiktok-hashtag-detail(ch_id) → 获取话题总播放量和视频使用数
+下游: tiktok-hashtag-videos(ch_id) → 获取话题下的具体视频列表
+```
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| ch_id | string | ✅ | TikTok 话题/标签 ID(可从视频搜索结果的 cha_list 中获取) |
+| ch_id | string | ✅ | TikTok 话题 ID(从 tiktok-video-search 结果的 cha_list[].cha_id 获取) |
 
 ## 接口调用方式
 
 - **请求方法**: GET
-- **接口地址**: `https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_hashtag_detail`
-- **请求头**:
-  - `Authorization: Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==`
-  - `Accept: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-social/tiktok/app/v3/fetch_hashtag_detail`
 
-参数直接作为 GET 查询参数传递:
 ```
-GET /thapi/v1/tiktok/app/v3/fetch_hashtag_detail?ch_id=1234567
+GET ?ch_id=1234567
 ```
 
-## 返回格式
-
-返回 JSON 对象,主要字段:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| ch_info.cha_name | string | 话题名称 |
-| ch_info.cid | string | 话题 ID |
-| ch_info.desc | string | 话题描述 |
-| ch_info.view_count | integer | 话题总播放量 |
-| ch_info.use_count | integer | 使用该话题的视频数 |
+| 字段路径 | 业务用途 |
+|----------|---------|
+| ch_info.cha_name | 话题名称 |
+| ch_info.cid | 话题 ID |
+| ch_info.desc | 话题描述 |
+| ch_info.view_count | **话题总播放量 → 品类流量规模评估核心指标** |
+| ch_info.use_count | 使用该话题的视频数 → 内容创作者规模 |
 
 ## 依赖要求
 
-- 直连代理: `https://server.fmode.cn/thapi`
-- 需携带 Bearer Token 在 Authorization header 中
-- 所有请求均为 GET 方法
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法 GET,ch_id 作为查询参数传递

+ 21 - 6
social-media/tiktok-hashtag-detail/api-config.json

@@ -1,7 +1,7 @@
 {
   "name": "tiktok-hashtag-detail",
   "displayName": "TikTok 话题详情",
-  "description": "根据话题/标签 ID 获取话题详情,包括总播放量、视频数量等。用于品类社媒热度统计、话题趋势追踪。",
+  "description": "根据话题/标签 ID 获取 TikTok 话题详情,包括总播放量、视频使用数等。适用于品类 TikTok 话题热度量化、话题对标分析、内容营销话题选择。",
   "category": "social-media",
   "version": "1.3.0",
   "endpoint": {
@@ -62,22 +62,37 @@
   },
   "usageExamples": [
     {
-      "name": "获取 #candlewarmer 话题详情",
+      "name": "品类话题热度量化",
       "input": {
         "ch_id": "1234567"
       },
-      "description": "获取 candlewarmer 话题的总播放量(报告中显示 2750 万播放)"
+      "description": "获取 #candlewarmer 话题总播放量和视频使用数,用于报告品类 TikTok 话题热度数据"
+    },
+    {
+      "name": "竞品话题对标分析",
+      "input": {
+        "ch_id": "竞品品牌话题ID"
+      },
+      "description": "对比自身话题 vs 竞品话颒的播放量差距,评估社媒话题布局效果"
     }
   ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "上游: tiktok-video-search(keyword) → 视频列表 → 从 cha_list 获取 ch_id",
+      "本步: tiktok-hashtag-detail(ch_id) → 获取话题总播放量和视频使用数",
+      "下游: tiktok-hashtag-videos(ch_id) → 获取话题下的具体视频列表"
+    ]
+  },
   "reportMapping": {
     "slides": [
       "TikTok热度排名(Slide6)",
       "趋势雷达(Slide12)"
     ],
     "dataPoints": [
-      "话题总播放量",
-      "使用该话题的视频数",
-      "话题增长率"
+      "品类 TikTok 话题总播放量",
+      "话题使用视频数(内容创作者规模)",
+      "竞品话颒曝光对比"
     ]
   },
   "timeout": 15000,

+ 33 - 36
social-media/tiktok-hashtag-videos/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: tiktok-hashtag-videos
-description: 获取指定话题/标签下的视频列表,用于分析话题内容趋势、发现热门创作者
+description: 获取指定 TikTok 话题下的视频列表,包括播放量/点赞/作者等数据。适用于话题内容作战分析、品类爆款内容发现、话题 KOL 筛选
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,56 +9,53 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-获取指定话题/标签下的视频列表,用于分析话题内容趋势、发现热门创作者。
+获取指定话题下的视频列表,发现话题内的爆款内容和活跃 KOL 创作者。
+
+**核心业务场景:**
+- 话题爆款内容作战分析(话题下播放量最高的视频规律)
+- 品类爆款内容发现(#candlewarmer 话题最热视频)
+- 话题 KOL 筛选(话题下最活跃的创作者)
+
+## 调用链(Workflow)
+
+```
+上游: tiktok-video-search(keyword) → cha_list 中获取 ch_id
+上游: tiktok-hashtag-detail(ch_id) → 确认话题播放量规模
+本步: tiktok-hashtag-videos(ch_id) → 获取话题下具体视频列表
+下游: tiktok-video-comments(aweme_id) → 获取热门视频评论 VOC
+```
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| ch_id | string | ✅ | TikTok 话题/标签 ID |
+| ch_id | string | ✅ | TikTok 话题 ID(从 cha_list[].cha_id 获取) |
 | count | integer | ❌ | 每页视频数量,最大 30(默认 20) |
-| cursor | integer | ❌ | 分页游标(默认 0) |
+| cursor | integer | ❌ | 页游标(默认 0) |
 
 ## 接口调用方式
 
 - **请求方法**: GET
-- **接口地址**: `https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_hashtag_video_list`
-- **请求头**:
-  - `Authorization: Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==`
-  - `Accept: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-social/tiktok/app/v3/fetch_hashtag_video_list`
 
-参数直接作为 GET 查询参数传递:
 ```
-GET /thapi/v1/tiktok/app/v3/fetch_hashtag_video_list?ch_id=1234567&count=20&cursor=0
+GET ?ch_id=1234567&count=20&cursor=0
 ```
 
-## 返回格式
-
-返回 JSON 对象,主要字段:
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| aweme_list | array | 视频列表 |
-| has_more | boolean | 是否有更多数据 |
-| cursor | integer | 下一页游标 |
-
-aweme_list 中每个视频包含:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| aweme_id | string | 视频 ID |
-| desc | string | 视频描述 |
-| statistics.play_count | integer | 播放量 |
-| statistics.digg_count | integer | 点赞数 |
-| statistics.comment_count | integer | 评论数 |
-| statistics.share_count | integer | 分享数 |
-| author.unique_id | string | 作者用户名 |
-| author.nickname | string | 作者昵称 |
-| author.follower_count | integer | 作者粉丝数 |
+| 字段路径 | 业务用途 |
+|----------|---------|
+| aweme_list[].aweme_id | 视频 ID → 传入 tiktok-video-comments 获取评论 |
+| aweme_list[].desc | 视频文案 → 话题内容形式分析 |
+| aweme_list[].statistics.play_count | 播放量 → 话题爆款识别 |
+| aweme_list[].statistics.digg_count | 点赞数 |
+| aweme_list[].author.unique_id | 作者用户名 → 话题 KOL 发现 |
+| aweme_list[].author.follower_count | 作者粉丝数 |
+| has_more | 是否还有更多视频 |
+| cursor | 下一页游标 |
 
 ## 依赖要求
 
-- 直连代理: `https://server.fmode.cn/thapi`
-- 需携带 Bearer Token 在 Authorization header 中
-- 所有请求均为 GET 方法
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法 GET,参数作为查询参数传递

+ 26 - 7
social-media/tiktok-hashtag-videos/api-config.json

@@ -1,7 +1,7 @@
 {
   "name": "tiktok-hashtag-videos",
   "displayName": "TikTok 话题视频列表",
-  "description": "获取指定话题/标签下的视频列表,用于分析话题内容趋势、发现热门创作者。",
+  "description": "获取指定 TikTok 话题下的视频列表,包括播放量/点赞/作者等数据。适用于话题内容作战分析、品类爆款内容发现、话题 KOL 筛选。",
   "category": "social-media",
   "version": "1.3.0",
   "endpoint": {
@@ -101,23 +101,42 @@
   },
   "usageExamples": [
     {
-      "name": "获取话题视频",
+      "name": "话题爆款内容分析",
       "input": {
         "ch_id": "1234567",
-        "count": 20
+        "count": 20,
+        "cursor": 0
       },
-      "description": "获取 #candlewarmer 话题下的热门视频列表"
+      "description": "获取 #candlewarmer 话题下播放量最高的视频,分析爆款内容规律"
+    },
+    {
+      "name": "话题 KOL 筛选",
+      "input": {
+        "ch_id": "1234567",
+        "count": 30,
+        "cursor": 0
+      },
+      "description": "获取话题下的视频作者列表,发现该话题最活跃的 KOL 创作者"
     }
   ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "上游: tiktok-video-search(keyword) → cha_list 中获取 ch_id",
+      "上游: tiktok-hashtag-detail(ch_id) → 确认话颒播放量规模",
+      "本步: tiktok-hashtag-videos(ch_id) → 获取话颒下具体视频列表",
+      "下游: tiktok-video-comments(aweme_id) → 获取热门视频评论"
+    ]
+  },
   "reportMapping": {
     "slides": [
       "趋势雷达(Slide12)",
       "社媒聆听(Slide14)"
     ],
     "dataPoints": [
-      "话题热门视频",
-      "内容灵感",
-      "热门创作者发现"
+      "话颒爆款视频列表和播放量",
+      "话颒下活跃 KOL 创作者",
+      "内容形式和话颒策略规律"
     ]
   },
   "timeout": 15000,

+ 35 - 37
social-media/tiktok-user-posts/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: tiktok-user-posts
-description: 获取指定 TikTok 用户发布的视频列表,包括每个视频的播放量和互动数据。用于竞品内容策略分析、红人内容表现评估
+description: 获取指定 TikTok 用户发布的视频列表,包括播放量、点赞、评论等数据。适用于竞品品牌内容策略分析、KOL 年度内容表现评估、达人带货说服力分析
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,57 +9,55 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-获取指定 TikTok 用户发布的视频列表,包括每个视频的播放量和互动数据。用于竞品内容策略分析、红人内容表现评估。
+获取指定 TikTok 用户发布的视频列表,分析其内容频率、主题分布和互动表现。
+
+**核心业务场景:**
+- 竞品品牌内容策略分析(发布频率、内容主题、平均播放量)
+- KOL 常青带货说服力分析(哪类视频效果最好)
+- 品牌账号内容审计(识别高表现内容类型)
+
+## 调用链(Workflow)
+
+```
+上游: tiktok-user-search(keyword) → 搜索达人 → 取 unique_id
+上游: tiktok-user-profile(uniqueId) → 获取 secUid 字段
+本步: tiktok-user-posts(sec_user_id=secUid) → 获取该用户全部视频
+分析: 统计平均播放量、内容主题分布、发布频率规律
+```
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| sec_user_id | string | ✅ | 用户的安全 ID(secUid),需先通过 tiktok-user-profile 接口获取 |
+| sec_user_id | string | ✅ | 用户安全 ID(secUid),从 tiktok-user-profile 返回的 user.secUid 获取 |
 | count | integer | ❌ | 每页视频数量,最大 30(默认 20) |
-| cursor | integer | ❌ | 分页游标(默认 0) |
+| cursor | integer | ❌ | 页游标(默认 0) |
 
 ## 接口调用方式
 
 - **请求方法**: GET
-- **接口地址**: `https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_user_post_videos`
-- **请求头**:
-  - `Authorization: Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==`
-  - `Accept: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-social/tiktok/app/v3/fetch_user_post_videos`
 
-参数直接作为 GET 查询参数传递:
 ```
-GET /thapi/v1/tiktok/app/v3/fetch_user_post_videos?sec_user_id=MS4wLjABAAAA...&count=20&cursor=0
+GET ?sec_user_id=MS4wLjABAAAA...&count=20&cursor=0
 ```
 
-> 注意: sec_user_id 需先通过 tiktok-user-profile 获取。该接口可用于分析竞品品牌的内容发布频率和互动表现。
-
-## 返回格式
-
-返回 JSON 对象,主要字段:
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| aweme_list | array | 视频列表 |
-| has_more | boolean | 是否有更多数据 |
-| cursor | integer | 下一页游标 |
-
-aweme_list 中每个视频包含:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| aweme_id | string | 视频 ID |
-| desc | string | 视频描述 |
-| statistics.play_count | integer | 播放量 |
-| statistics.digg_count | integer | 点赞数 |
-| statistics.comment_count | integer | 评论数 |
-| statistics.share_count | integer | 分享数 |
-| create_time | integer | 发布时间戳 |
+| 字段路径 | 业务用途 |
+|----------|---------|
+| aweme_list[].aweme_id | 视频 ID → 可传入 tiktok-video-comments 获取评论 |
+| aweme_list[].desc | 视频文案 → 内容主题分析 |
+| aweme_list[].statistics.play_count | 播放量 → 平均播放量计算 |
+| aweme_list[].statistics.digg_count | 点赞数 → 互动率计算 |
+| aweme_list[].statistics.comment_count | 评论数 |
+| aweme_list[].statistics.share_count | 分享数 → 传播力 |
+| aweme_list[].create_time | 发布时间戳 → 发布频率分析 |
+| has_more | 是否还有更多视频 |
+| cursor | 下一页游标 |
 
 ## 依赖要求
 
-- 直连代理: `https://server.fmode.cn/thapi`
-- 需携带 Bearer Token 在 Authorization header 中
-- 所有请求均为 GET 方法
-- 关联技能: `tiktok-user-profile`(先获取 secUid)
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法 GET,参数作为查询参数传递
+- **sec_user_id 必须从 tiktok-user-profile 的 user.secUid 字段获取**

+ 29 - 9
social-media/tiktok-user-posts/api-config.json

@@ -1,7 +1,7 @@
 {
   "name": "tiktok-user-posts",
   "displayName": "TikTok 用户作品列表",
-  "description": "获取指定 TikTok 用户发布的视频列表,包括每个视频的播放量和互动数据。用于竞品内容策略分析、红人内容表现评估。",
+  "description": "获取指定 TikTok 用户发布的视频列表,包括播放量、点赞、评论等数据。适用于竞品品牌内容策略分析、KOL 年度内容表现评估、达人带货说服力分析。",
   "category": "social-media",
   "version": "1.3.0",
   "endpoint": {
@@ -91,29 +91,49 @@
       }
     }
   },
-  "notes": "sec_user_id 需先通过 tiktok_user_profile 获取。该接口可用于分析竞品品牌的内容发布频率和互动表现。",
+  "notes": "sec_user_id 需先通过 tiktok-user-profile 获取 secUid 字段。",
   "relatedSkills": [
-    "tiktok_user_profile"
+    "tiktok-user-profile"
   ],
   "usageExamples": [
     {
-      "name": "获取品牌视频列表",
+      "name": "竞品品牌内容策略分析",
       "input": {
         "sec_user_id": "MS4wLjABAAAA...",
-        "count": 20
+        "count": 20,
+        "cursor": 0
       },
-      "description": "获取品牌最近 20 条视频的播放和互动数据"
+      "description": "获取竞品品牌最近 20 条视频,分析发布频率、内容主题、平均播放量"
+    },
+    {
+      "name": "KOL 常青带货说服力分析",
+      "input": {
+        "sec_user_id": "达人 secUid",
+        "count": 30,
+        "cursor": 0
+      },
+      "description": "获取达人近期 30 条视频,分析常青内容的平均播放量和带货说服力"
     }
   ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "上游: tiktok-user-search(keyword) → 搜索达人 → 取 uniqueId",
+      "上游: tiktok-user-profile(uniqueId) → 获取 secUid 字段",
+      "本步: tiktok-user-posts(sec_user_id=secUid) → 获取该用户发布的全部视频",
+      "分析: 统计平均播放量、内容类型分布、发布频率规律"
+    ]
+  },
   "reportMapping": {
     "slides": [
       "竞品对标(Slide4)",
       "社媒聆听(Slide14)"
     ],
     "dataPoints": [
-      "内容发布频率",
-      "视频平均播放量",
-      "内容类型分布"
+      "内容发布频率和时间规律",
+      "视频平均播放量和互动率",
+      "KOL 常青带货内容说服力",
+      "竞品品牌内容策略对标"
     ]
   },
   "timeout": 15000,

+ 32 - 33
social-media/tiktok-user-profile/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: tiktok-user-profile
-description: 根据用户名获取 TikTok 用户的完整资料,包括粉丝数、获赞数、作品数、个人简介等。用于竞品品牌社媒画像、红人详情分析
+description: 根据用户名获取 TikTok 用户完整资料(粉丝数/总获赞/作品数/个人简介等)。适用于竞品品牌 TikTok 影响力分析、KOL 达人档案建立、达人商业价值评估
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,7 +9,22 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-根据用户名获取 TikTok 用户的完整资料,包括粉丝数、获赞数、作品数、个人简介等。用于竞品品牌社媒画像、红人详情分析。
+根据 uniqueId(用户名)获取 TikTok 账号完整主页数据,量化 KOL/品牌的影响力规模。
+
+**核心业务场景:**
+- 竞品品牌 TikTok 影响力画像(粉丝规模、获赞总量)
+- KOL 达人档案建立(粉丝数/总获赞/作品数三维度)
+- 达人商业价值评估(综合评估带货潜力)
+- 品类活跃创作者挖掘
+
+## 调用链(Workflow)
+
+```
+上游: tiktok-user-search(keyword) → 搜索达人 → 取 unique_id
+上游: tiktok-video-search(keyword) → 视频列表 → 从 author.unique_id 获取
+本步: tiktok-user-profile(uniqueId) → 获取完整账号数据 → 得到 secUid
+下游: tiktok-user-posts(sec_user_id=secUid) → 获取达人发布的视频列表
+```
 
 ## 入参规则
 
@@ -20,42 +35,26 @@ author: nkkj-BrainHack
 ## 接口调用方式
 
 - **请求方法**: GET
-- **接口地址**: `https://server.fmode.cn/thapi/v1/tiktok/web/fetch_user_profile`
-- **请求头**:
-  - `Authorization: Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==`
-  - `Accept: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-social/tiktok/web/fetch_user_profile`
 
-参数直接作为 GET 查询参数传递:
 ```
-GET /thapi/v1/tiktok/web/fetch_user_profile?uniqueId=nestnewyork
+GET ?uniqueId=nestnewyork
 ```
 
-> 注意: 返回的 secUid 可用于 tiktok-user-posts 接口获取用户发布的视频列表。
-
-## 返回格式
-
-返回 JSON 对象,主要字段:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| user.id | string | 用户 ID |
-| user.uniqueId | string | 用户名 |
-| user.nickname | string | 昵称 |
-| user.signature | string | 个人简介 |
-| user.verified | boolean | 是否认证 |
-| user.avatarLarger | string | 头像 URL |
-| user.secUid | string | 安全用户 ID(用于获取帖子) |
-| stats.followerCount | integer | 粉丝数 |
-| stats.followingCount | integer | 关注数 |
-| stats.heart | integer | 获赞总数 |
-| stats.heartCount | integer | 获赞总数(别名) |
-| stats.videoCount | integer | 作品总数 |
-| stats.diggCount | integer | 点赞数 |
+| 字段路径 | 业务用途 |
+|----------|---------|
+| user.uniqueId | 用户名 |
+| user.nickname | 昵称 |
+| user.signature | 个人简介 → 达人定位分析 |
+| user.verified | 是否认证 → KOL 资质判断 |
+| user.secUid | **安全 UID → 传入 tiktok-user-posts 获取视频列表** |
+| stats.followerCount | 粉丝数 → KOL 规模评级(头部/腰部/尾部) |
+| stats.heart | 总获赞数 → 内容影响力综合指标 |
+| stats.videoCount | 作品总数 → 内容产出频率 |
 
 ## 依赖要求
 
-- 直连代理: `https://server.fmode.cn/thapi`
-- 需携带 Bearer Token 在 Authorization header 中
-- 所有请求均为 GET 方法
-- 关联技能: `tiktok-user-posts`(使用本接口返回的 secUid 获取用户视频列表)
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法 GET,uniqueId 作为查询参数传递

+ 26 - 10
social-media/tiktok-user-profile/api-config.json

@@ -1,7 +1,7 @@
 {
   "name": "tiktok-user-profile",
   "displayName": "TikTok 用户详情",
-  "description": "根据用户名获取 TikTok 用户的完整资料,包括粉丝数、获赞数、作品数、个人简介等。用于竞品品牌社媒画像、红人详情分析。",
+  "description": "根据用户名获取 TikTok 用户完整资料(粉丝数/总获赞/作品数/个人简介等)。适用于竞品品牌 TikTok 影响力分析、KOL 达人档案建立、达人商业价値评估。",
   "category": "social-media",
   "version": "1.3.0",
   "endpoint": {
@@ -97,33 +97,49 @@
       }
     }
   },
-  "notes": "返回的 secUid 可用于 tiktok_user_posts 接口获取用户发布的视频列表。",
+  "notes": "返回的 secUid 可用于 tiktok-user-posts 接口获取用户发布的视频列表。",
   "usageExamples": [
     {
-      "name": "查看竞品品牌 TikTok 账号",
+      "name": "竞品品牌 TikTok 影响力分析",
       "input": {
         "uniqueId": "nestnewyork"
       },
-      "description": "获取 NEST New York 的 TikTok 粉丝数和互动数据(报告中显示 12,700 粉丝)"
+      "description": "获取 NEST New York 的 TikTok 粉丝数、获赞总量,评估其社媒平台影响力"
     },
     {
-      "name": "查看达人详情",
+      "name": "KOL 达人商业价値评估",
       "input": {
         "uniqueId": "dealwhisperer"
       },
-      "description": "获取达人 @dealwhisperer 的完整资料(报告中显示 2.1M 粉丝)"
+      "description": "获取达人 @dealwhisperer 的粉丝数、总获赞、作品数,评估带货商业价値"
+    },
+    {
+      "name": "品类 KOL 批量围筛",
+      "input": {
+        "uniqueId": "达人用户名"
+      },
+      "description": "为候选达人建立档案,统计粉丝数/获赞数/作品数三维度商业指标"
     }
   ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "上游: tiktok-user-search(keyword) → 搜索达人 → 取 uniqueId",
+      "上游: tiktok-video-search(keyword) → 视频列表 → 从 author.unique_id 获取",
+      "本步: tiktok-user-profile(uniqueId) → 获取完整账号数据",
+      "下游: tiktok-user-posts(secUid) → 获取达人发布的视频列表"
+    ]
+  },
   "reportMapping": {
     "slides": [
       "竞品对标(Slide4)",
       "红人达人库(Slide11)"
     ],
     "dataPoints": [
-      "TikTok粉丝数",
-      "获赞总数",
-      "作品数",
-      "互动率"
+      "TikTok 粉丝规模",
+      "总获赞(内容影响力指标)",
+      "作品发布频率(活跃度)",
+      "KOL 认证状态(verified)"
     ]
   },
   "timeout": 15000,

+ 32 - 33
social-media/tiktok-user-search/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: tiktok-user-search
-description: 按关键词搜索 TikTok 用户/达人,返回用户列表及粉丝数、关注数等基础信息。用于红人发现、达人库建设
+description: 按关键词搜索 TikTok 达人/用户,返回匹配账号列表及基础数据。适用于 KOL 候选人初筛、品类达人批量搜索、竞品品牌账号定位
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,53 +9,52 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-按关键词搜索 TikTok 用户/达人,返回用户列表及粉丝数、关注数等基础信息。用于红人发现、达人库建设。
+按关键词搜索 TikTok 达人/用户账号,快速批量获取候选人基础信息(粉丝数、用户名、简介等)。
+
+**核心业务场景:**
+- 品类 KOL 批量搜索(如 "candle warmer creator"、"aroma diffuser influencer")
+- 竞品品牌官方账号定位(搜索 "竞品名")
+- KOL 候选人初筛(按 follower_count 快速过滤规模)
+- 行业 KOC 挖掘(腰尾部达人发现)
+
+## 调用链(Workflow)
+
+```
+本步: tiktok-user-search(keyword) → 搜索达人/品牌
+     → 得到 unique_id、follower_count、total_favorited 初筛列表
+下游: tiktok-user-profile(uniqueId) → 获取账号完整数据和 secUid
+下游: tiktok-user-posts(sec_user_id) → 获取达人发布的视频列表
+```
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| keyword | string | ✅ | 搜索关键词,如品牌名 'NEST New York' 或品类 'candle warmer' |
+| keyword | string | ✅ | 搜索关键词,如 'candle warmer creator'、'NEST New York' |
 | count | integer | ❌ | 返回用户数量,最大 30(默认 10) |
-| cursor | integer | ❌ | 分页游标(默认 0) |
+| cursor | integer | ❌ | 页游标(默认 0) |
 
 ## 接口调用方式
 
 - **请求方法**: GET
-- **接口地址**: `https://server.fmode.cn/thapi/v1/tiktok/web/fetch_search_user`
-- **请求头**:
-  - `Authorization: Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==`
-  - `Accept: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-social/tiktok/web/fetch_search_user`
 
-参数直接作为 GET 查询参数传递:
 ```
-GET /thapi/v1/tiktok/web/fetch_search_user?keyword=candle+warmer&count=15&cursor=0
+GET ?keyword=candle+warmer+creator&count=20&cursor=0
 ```
 
-## 返回格式
-
-返回 JSON 对象,主要字段:
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| user_list | array | 用户列表(可能在 data.user_list 中) |
-
-user_list 中每个用户包含:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| user_info.unique_id | string | 用户名 |
-| user_info.nickname | string | 昵称 |
-| user_info.follower_count | integer | 粉丝数 |
-| user_info.following_count | integer | 关注数 |
-| user_info.total_favorited | integer | 获赞总数 |
-| user_info.video_count | integer | 作品数 |
-| user_info.avatar_larger | object | 头像(大图) |
-| user_info.signature | string | 个人简介 |
+| 字段路径 | 业务用途 |
+|----------|---------|
+| user_list[].user_info.unique_id | 用户名 → 传入 tiktok-user-profile 的 uniqueId |
+| user_list[].user_info.nickname | 昵称 |
+| user_list[].user_info.follower_count | 粉丝数 → 初筛 KOL 规模的核心字段 |
+| user_list[].user_info.total_favorited | 获赞总数 → 内容影响力综合指标 |
+| user_list[].user_info.video_count | 作品数 → 内容产出频率 |
+| user_list[].user_info.signature | 个人简介 → 达人定位判断 |
 
 ## 依赖要求
 
-- 直连代理: `https://server.fmode.cn/thapi`
-- 需携带 Bearer Token 在 Authorization header 中
-- 所有请求均为 GET 方法
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法 GET,参数作为查询参数传递

+ 21 - 12
social-media/tiktok-user-search/api-config.json

@@ -1,7 +1,7 @@
 {
   "name": "tiktok-user-search",
   "displayName": "TikTok 用户搜索",
-  "description": "按关键词搜索 TikTok 用户/达人,返回用户列表及粉丝数、关注数等基础信息。用于红人发现、达人库建设。",
+  "description": "按关键词搜索 TikTok 达人/用户,返回匹配账号列表及基础数据。适用于 KOL 候选人初筛、品类达人批量搜索、竞品品牌账号定位。",
   "category": "social-media",
   "version": "1.3.0",
   "endpoint": {
@@ -96,31 +96,40 @@
   },
   "usageExamples": [
     {
-      "name": "搜索香薰达人",
+      "name": "品类 KOL 批量搜索",
       "input": {
-        "keyword": "candle warmer",
-        "count": 15
+        "keyword": "candle warmer creator",
+        "count": 20,
+        "cursor": 0
       },
-      "description": "搜索与 candle warmer 相关的 TikTok 达人"
+      "description": "搜索 candle warmer 品类达人,获取候选名单后用 tiktok-user-profile 获取粉丝数评估化"
     },
     {
-      "name": "搜索品牌账号",
+      "name": "竞品品牌账号定位",
       "input": {
         "keyword": "NEST New York",
-        "count": 5
+        "count": 5,
+        "cursor": 0
       },
-      "description": "搜索竞品品牌的 TikTok 官方账号"
+      "description": "搜索竞品品牌官方 TikTok 账号,用于竞品社媒影响力对标"
     }
   ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "本步: tiktok-user-search(keyword) → 搜索达人/品牌 → 得到 unique_id、follower_count、total_favorited",
+      "下游: tiktok-user-profile(uniqueId) → 获取账号完整数据和 secUid",
+      "下游: tiktok-user-posts(sec_user_id) → 获取达人发布的视频列表"
+    ]
+  },
   "reportMapping": {
     "slides": [
       "红人达人库(Slide11)"
     ],
     "dataPoints": [
-      "达人粉丝数",
-      "互动率",
-      "作品数",
-      "品类契合度"
+      "品类 KOL 候选列表",
+      "粉丝规模分布(头部/腿部/尾部达人)",
+      "竞品代言人定位"
     ]
   },
   "timeout": 15000,

+ 37 - 35
social-media/tiktok-video-comments/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: tiktok-video-comments
-description: 获取指定 TikTok 视频的用户评论列表,用于社媒用户情感分析、需求挖掘、红人互动率计算
+description: 获取 TikTok 视频的用户评论列表,支持翻页。用户评论是 VOC 情感分析、痛点挖掘、需求发现的核心英文数据源。适用于品类用户评价采集、竞品带货视频反馈分析
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,55 +9,57 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-获取指定 TikTok 视频的用户评论列表,用于社媒用户情感分析、需求挖掘、红人互动率计算。
+获取 TikTok 视频的用户评论列表,批量采集英文原生用户声音(VOC)。
+
+**核心业务场景:**
+- 爆款视频用户声音采集(提取产品真实英文评价)
+- 痛点/需求关键词挖掘(高频词统计)
+- 情感分析素材获取(正向/负向情感分类)
+- 热评识别(按 digg_count 排序找最具代表性评论)
+
+## 调用链(Workflow)
+
+```
+上游: tiktok-video-search(keyword) → 找到高播放量爆款视频 → 取 aweme_id
+上游: tiktok-video-detail(aweme_id) → 确认视频互动数据规模
+本步: tiktok-video-comments(aweme_id, cursor=0) → 采集用户英文评论
+本步: tiktok-video-comments(aweme_id, cursor=N) → 翻页采集更多
+分析: 对评论内容做情感分类,发现痛点关键词和购买意向信号
+```
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| aweme_id | string | ✅ | TikTok 视频唯一 ID |
+| aweme_id | string | ✅ | TikTok 视频 ID |
 | count | integer | ❌ | 每页评论数量,最大 50(默认 20) |
-| cursor | integer | ❌ | 分页游标,首次不传或传 0(默认 0) |
+| cursor | integer | ❌ | 翻页游标,首次传 0,下一页用上次返回的 cursor(默认 0) |
 
 ## 接口调用方式
 
 - **请求方法**: GET
-- **接口地址**: `https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_video_comments`
-- **请求头**:
-  - `Authorization: Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==`
-  - `Accept: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-social/tiktok/app/v3/fetch_video_comments`
 
-参数直接作为 GET 查询参数传递:
 ```
-GET /thapi/v1/tiktok/app/v3/fetch_video_comments?aweme_id=7300000000000000000&count=20&cursor=0
+GET ?aweme_id=7300000000000000000&count=20&cursor=0
 ```
 
-## 返回格式
-
-返回 JSON 对象,主要字段:
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| comments | array | 评论列表 |
-| has_more | boolean | 是否有更多评论 |
-| cursor | integer | 下一页游标 |
-| total | integer | 评论总数 |
-
-comments 数组中每条评论包含:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| cid | string | 评论 ID |
-| text | string | 评论内容 |
-| digg_count | integer | 评论点赞数 |
-| reply_comment_total | integer | 回复数 |
-| create_time | integer | 评论时间戳 |
-| user.nickname | string | 评论者昵称 |
-| user.unique_id | string | 评论者用户名 |
+| 字段路径 | 业务用途 |
+|----------|---------|
+| comments[].cid | 评论 ID |
+| comments[].text | 评论内容 → VOC 文本分析核心字段(英文) |
+| comments[].digg_count | 评论点赞数 → 热评识别(越高越有代表性) |
+| comments[].reply_comment_total | 该评论的回复数 |
+| comments[].create_time | 评论发布时间戳 |
+| comments[].user.nickname | 评论者昵称 |
+| comments[].user.unique_id | 评论者用户名 |
+| has_more | 是否还有更多评论 |
+| cursor | 下一页游标 |
+| total | 评论总数 |
 
 ## 依赖要求
 
-- 直连代理: `https://server.fmode.cn/thapi`
-- 需携带 Bearer Token 在 Authorization header 中
-- 所有请求均为 GET 方法
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法 GET,参数作为查询参数传递

+ 27 - 7
social-media/tiktok-video-comments/api-config.json

@@ -1,7 +1,7 @@
 {
   "name": "tiktok-video-comments",
   "displayName": "TikTok 视频评论查询",
-  "description": "获取指定 TikTok 视频的用户评论列表,用于社媒用户情感分析、需求挖掘、红人互动率计算。",
+  "description": "获取指定 TikTok 视频的用户评论列表,支持翻页。用户评论是 VOC 情感分析、痛点挖掘、需求发现的核心英文数据源。适用于品类用户评价采集、竞品带货视频反馈分析。",
   "category": "social-media",
   "version": "1.3.0",
   "endpoint": {
@@ -103,22 +103,42 @@
   },
   "usageExamples": [
     {
-      "name": "获取视频评论",
+      "name": "爆款视频用户声音采集",
       "input": {
         "aweme_id": "7300000000000000000",
-        "count": 20
+        "count": 20,
+        "cursor": 0
       },
-      "description": "获取视频前 20 条评论用于 AI 情感分析"
+      "description": "获取爆款视频前 20 条评论,提取用户对产品的真实英文评价"
+    },
+    {
+      "name": "翻页采集更多评论",
+      "input": {
+        "aweme_id": "7300000000000000000",
+        "count": 20,
+        "cursor": 20
+      },
+      "description": "用上次返回的 cursor 翻页,累计采集更多用户评论"
     }
   ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "上游: tiktok-video-search(keyword) → 找到高播放量视频 → 取 aweme_id",
+      "上游: tiktok-video-detail(aweme_id) → 确认视频数据规模",
+      "本步: tiktok-video-comments(aweme_id) → 批量采集英文用户评论",
+      "分析: 对评论内容做情感分类和痛点关键词提取"
+    ]
+  },
   "reportMapping": {
     "slides": [
       "社媒聆听(Slide14)"
     ],
     "dataPoints": [
-      "视频评论内容",
-      "用户情感倾向",
-      "需求关键词提取"
+      "用户痛点英文关键词",
+      "正向/负向情感分布",
+      "评论点赞数(热评识别)",
+      "用户购买意向信号"
     ]
   },
   "timeout": 15000,

+ 38 - 32
social-media/tiktok-video-detail/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: tiktok-video-detail
-description: 根据视频 ID 获取单条 TikTok 视频的完整信息,包括播放量、互动数据、作者信息、话题标签等。用于爆款视频深度分析
+description: 根据视频 ID 获取单条 TikTok 视频完整数据(播放量/点赞/评论/分享/话题标签/作者等)。适用于爆款视频深度分析、竞品内容解析、KOL 内容效果评估
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,50 +9,56 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-根据视频 ID 获取单条 TikTok 视频的完整信息,包括播放量、互动数据、作者信息、话题标签等。用于爆款视频深度分析。
+根据 aweme_id 获取单条 TikTok 视频的完整数据,包括互动统计、话题标签、作者信息等。
+
+**核心业务场景:**
+- 爆款视频深度分析(互动率、标签策略、文案结构)
+- 竞品内容数据解析(竞品视频量化表现)
+- KOL 内容效果评估(达人单视频效果量化)
+- 话题标签策略研究(cha_list 标签列表)
+
+## 调用链(Workflow)
+
+```
+上游: tiktok-video-search(keyword) → 找到高播放量爆款 → 取 aweme_id
+本步: tiktok-video-detail(aweme_id) → 获取完整视频数据
+下游: tiktok-video-comments(aweme_id) → 分析用户评论 VOC
+下游: tiktok-user-profile(author.unique_id) → 获取作者档案
+```
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| aweme_id | string | ✅ | TikTok 视频唯一 ID(从视频搜索结果中获取) |
+| aweme_id | string | ✅ | TikTok 视频 ID(从 tiktok-video-search 结果中获取) |
 
 ## 接口调用方式
 
 - **请求方法**: GET
-- **接口地址**: `https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_one_video`
-- **请求头**:
-  - `Authorization: Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==`
-  - `Accept: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-social/tiktok/app/v3/fetch_one_video`
 
-参数直接作为 GET 查询参数传递:
 ```
-GET /thapi/v1/tiktok/app/v3/fetch_one_video?aweme_id=7300000000000000000
+GET ?aweme_id=7300000000000000000
 ```
 
-## 返回格式
-
-返回 JSON 对象,主要字段:
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| aweme_id | string | 视频 ID |
-| desc | string | 视频描述 |
-| statistics.play_count | integer | 播放量 |
-| statistics.digg_count | integer | 点赞数 |
-| statistics.comment_count | integer | 评论数 |
-| statistics.share_count | integer | 分享数 |
-| author.nickname | string | 作者昵称 |
-| author.unique_id | string | 作者用户名 |
-| author.follower_count | integer | 作者粉丝数 |
-| create_time | integer | 视频创建时间戳 |
-| cha_list | array | 关联话题列表 |
-| video.cover | object | 封面图信息 |
-| video.duration | integer | 视频时长(ms) |
+## 关键响应字段
+
+| 字段路径 | 业务用途 |
+|----------|---------|
+| aweme_id | 视频 ID |
+| desc | 视频文案 → 爆款标题规律分析 |
+| statistics.play_count | 播放量 → 曝光力指标 |
+| statistics.digg_count | 点赞数 → 爆款程度 |
+| statistics.comment_count | 评论数 → 用 tiktok-video-comments 获取详情 |
+| statistics.share_count | 分享数 → 传播力 |
+| author.unique_id | 作者用户名 → 传入 tiktok-user-profile |
+| author.follower_count | 作者粉丝数 |
+| cha_list[].cha_name | 话题名称 → 标签策略研究 |
+| cha_list[].cha_id | 话题 ID → 传入 tiktok-hashtag-detail |
+| video.duration | 视频时长(ms) |
+| create_time | 发布时间戳 |
 
 ## 依赖要求
 
-- 直连代理: `https://server.fmode.cn/thapi`
-- 需携带 Bearer Token 在 Authorization header 中
-- 所有请求均为 GET 方法
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法 GET,aweme_id 作为查询参数传递

+ 23 - 6
social-media/tiktok-video-detail/api-config.json

@@ -1,7 +1,7 @@
 {
   "name": "tiktok-video-detail",
   "displayName": "TikTok 视频详情",
-  "description": "根据视频 ID 获取单条 TikTok 视频的完整信息,包括播放量、互动数据、作者信息、话题标签等。用于爆款视频深度分析。",
+  "description": "根据视频 ID 获取单条 TikTok 视频完整数据(播放量/点赞/评论/分享/话题标签/作者等)。适用于爆款视频深度分析、竞品内容解析、KOL 内容效果评估。",
   "category": "social-media",
   "version": "1.3.0",
   "endpoint": {
@@ -101,21 +101,38 @@
   },
   "usageExamples": [
     {
-      "name": "获取视频详情",
+      "name": "爆款视频深度分析",
       "input": {
         "aweme_id": "7300000000000000000"
       },
-      "description": "获取指定视频的完整播放和互动数据"
+      "description": "获取爆款视频完整数据,分析播放量、互动率、话题标签策略"
+    },
+    {
+      "name": "KOL 单视频效果评估",
+      "input": {
+        "aweme_id": "达人带货视频ID"
+      },
+      "description": "评估达人单视频效果:播放量/点赞比、话题标签覆盖度"
     }
   ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "上游: tiktok-video-search(keyword) → 获取视频列表 → 取 aweme_id",
+      "本步: tiktok-video-detail(aweme_id) → 获取完整视频数据",
+      "下游: tiktok-video-comments(aweme_id) → 获取该视频用户评论",
+      "下游: tiktok-hashtag-detail(ch_id from cha_list) → 话题播放量详情"
+    ]
+  },
   "reportMapping": {
     "slides": [
       "社媒聆听(Slide14)"
     ],
     "dataPoints": [
-      "视频播放量",
-      "互动数据",
-      "作者信息"
+      "视频播放量与互动率",
+      "话题标签策略(cha_list)",
+      "内容发布时间与表现",
+      "KOL 单视频效果量化"
     ]
   },
   "timeout": 15000,

+ 37 - 38
social-media/tiktok-video-search/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: tiktok-video-search
-description: 按关键词搜索 TikTok 视频,返回视频列表及播放量、点赞、评论、分享等互动数据。用于社媒热度分析、爆款视频发现、品类 TikTok 播放量统计
+description: 按关键词搜索 TikTok 视频,返回视频列表及播放量/点赞/评论/分享等数据。适用于品类 TikTok 爆款内容发现、竞品视频监控、社媒频道热度统计、KOL 内容效果对比
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,7 +9,22 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-按关键词搜索 TikTok 视频,返回视频列表及播放量、点赞、评论、分享等互动数据。用于社媒热度分析、爆款视频发现、品类 TikTok 播放量统计。
+按关键词搜索 TikTok 视频,批量获取品类/品牌/话题相关视频的互动数据。
+
+**核心业务场景:**
+- 品类 TikTok 总播放量统计(报告 Slide6 数据来源)
+- 爆款内容发现(按 play_count 找最高播放视频)
+- 竞品品牌内容监控(搜索竞品名查看其 TikTok 曝光)
+- 用户痛点内容发现(搜索 "产品+smells bad / doesn't work")
+
+## 调用链(Workflow)
+
+```
+本步: tiktok-video-search(keyword) → 获取视频列表,统计总播放量
+下游: tiktok-video-detail(aweme_id) → 单视频完整数据
+下游: tiktok-video-comments(aweme_id) → 用户评论 VOC 分析
+下游: tiktok-hashtag-detail(cha_list[].cha_id) → 话题播放量详情
+```
 
 ## 入参规则
 
@@ -17,52 +32,36 @@ author: nkkj-BrainHack
 |------|------|------|------|
 | keyword | string | ✅ | 搜索关键词,如 'reed diffuser'、'candle warmer'、'aroma diffuser' |
 | count | integer | ❌ | 返回视频数量,最大 30(默认 10) |
-| cursor | integer | ❌ | 分页游标,首次请求不传或传 0,后续传上次返回的 cursor 值(默认 0) |
+| cursor | integer | ❌ | 翻页游标,首次传 0,下一页用上次返回的 cursor(默认 0) |
 
 ## 接口调用方式
 
 - **请求方法**: GET
-- **接口地址**: `https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_video_search_result`
-- **请求头**:
-  - `Authorization: Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==`
-  - `Accept: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-social/tiktok/app/v3/fetch_video_search_result`
 
-参数直接作为 GET 查询参数传递:
 ```
-GET /thapi/v1/tiktok/app/v3/fetch_video_search_result?keyword=candle+warmer&count=20&cursor=0
+GET ?keyword=candle+warmer&count=20&cursor=0
 ```
 
-> 注意: 响应数据可能在 `aweme_list` 或 `search_item_list[].aweme_info` 中,需做兼容处理。
-
-## 返回格式
-
-返回 JSON 对象,主要字段:
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| aweme_list | array | 视频列表(可能为空) |
-| search_item_list | array | 备选数据路径(当 aweme_list 为空时从此取 aweme_info) |
-| has_more | boolean | 是否有更多数据 |
-| cursor | integer | 下一页游标 |
+> ⚠️ 响应数据可能在 `aweme_list` 或 `search_item_list[].aweme_info` 中,需做兼容处理。
 
-aweme_list 中每个视频包含:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| aweme_id | string | 视频唯一 ID |
-| desc | string | 视频描述/标题 |
-| statistics.play_count | integer | 播放量 |
-| statistics.digg_count | integer | 点赞数 |
-| statistics.comment_count | integer | 评论数 |
-| statistics.share_count | integer | 分享数 |
-| author.nickname | string | 作者昵称 |
-| author.unique_id | string | 作者用户名 |
-| author.follower_count | integer | 作者粉丝数 |
-| cha_list | array | 关联话题/标签列表 |
+| 字段路径 | 业务用途 |
+|----------|---------|
+| aweme_list[].aweme_id | 视频 ID → 传入 tiktok-video-detail / tiktok-video-comments |
+| aweme_list[].desc | 视频文案 → 爆款标题规律分析 |
+| aweme_list[].statistics.play_count | 播放量 → 品类总播放量累加 |
+| aweme_list[].statistics.digg_count | 点赞数 → 爆款程度 |
+| aweme_list[].statistics.comment_count | 评论数 → 用 tiktok-video-comments 获取详情 |
+| aweme_list[].author.unique_id | 作者用户名 → 传入 tiktok-user-profile |
+| aweme_list[].author.follower_count | 作者粉丝数 → KOL 规模初判 |
+| aweme_list[].cha_list[].cha_id | 话题 ID → 传入 tiktok-hashtag-detail |
+| aweme_list[].cha_list[].cha_name | 话题名称 |
+| has_more | 是否还有更多 |
+| cursor | 下一页游标 |
 
 ## 依赖要求
 
-- 直连代理: `https://server.fmode.cn/thapi`
-- 需携带 Bearer Token 在 Authorization header 中
-- 所有请求均为 GET 方法
+- 统一代理: `https://server.fmode.cn/api/voc-social/`
+- 请求方法 GET,参数作为查询参数传递

+ 33 - 12
social-media/tiktok-video-search/api-config.json

@@ -1,7 +1,7 @@
 {
   "name": "tiktok-video-search",
   "displayName": "TikTok 视频搜索",
-  "description": "按关键词搜索 TikTok 视频,返回视频列表及播放量、点赞、评论、分享等互动数据。用于社媒热度分析、爆款视频发现、品类 TikTok 播放量统计。",
+  "description": "按关键词搜索 TikTok 视频,返回视频列表及播放量/点赞/评论/分享等数据。适用于品类 TikTok 爆款内容发现、竞品视频监控、社媒频道热度统计、KOL 内容效果对比。",
   "category": "social-media",
   "version": "1.3.0",
   "endpoint": {
@@ -137,32 +137,53 @@
   "notes": "响应数据可能在 aweme_list 或 search_item_list[].aweme_info 中,需做兼容处理。前端已封装 searchVideosV2 方法自动处理两种结构。",
   "usageExamples": [
     {
-      "name": "搜索 candle warmer 视频",
+      "name": "品类 TikTok 播放量统计",
       "input": {
         "keyword": "candle warmer",
-        "count": 20
+        "count": 20,
+        "cursor": 0
       },
-      "description": "搜索 candle warmer 相关视频,获取播放量和互动数据(报告中显示 2750 万播放)"
+      "description": "搜索 candle warmer 相关视频,统计品类总播放量和爆款视频列表,用于社媒频道热度报告"
     },
     {
-      "name": "搜索 reed diffuser 视频",
+      "name": "竞品品牌内容监控",
       "input": {
-        "keyword": "reed diffuser",
-        "count": 20
+        "keyword": "NEST New York",
+        "count": 20,
+        "cursor": 0
       },
-      "description": "搜索 reed diffuser 相关视频用于社媒聆听分析"
+      "description": "搜索竞品品牌 TikTok 视频,了解其内容策略和曝光规模"
+    },
+    {
+      "name": "用户痛点内容发现",
+      "input": {
+        "keyword": "reed diffuser smells bad",
+        "count": 15,
+        "cursor": 0
+      },
+      "description": "搜索用户发布的踩雷/差评视频,发现产品痛点"
     }
   ],
+  "workflow": {
+    "description": "推荐调用链",
+    "steps": [
+      "1. tiktok-video-search(keyword) → 获取视频列表,统计总播放量",
+      "2. tiktok-video-detail(aweme_id) → 获取单视频完整数据",
+      "3. tiktok-video-comments(aweme_id) → 获取用户评论 VOC 分析",
+      "4. tiktok-hashtag-detail(ch_id from cha_list) → 获取关联话题播放量详情"
+    ]
+  },
   "reportMapping": {
     "slides": [
       "TikTok热度排名(Slide6)",
       "社媒聆听(Slide14)"
     ],
     "dataPoints": [
-      "品类TikTok总播放量",
-      "视频互动率",
-      "爆款视频列表",
-      "相关话题标签"
+      "品类 TikTok 总播放量",
+      "爆款视频列表(按播放量排序)",
+      "视频互动率(点赞/播放比)",
+      "相关话题标签(cha_list)",
+      "活跃 KOL 账号发现"
     ]
   },
   "timeout": 15000,

+ 6 - 2
social-voc/instagram-brand-voc/SKILL.md

@@ -79,9 +79,13 @@ instagram-brand-voc
 }
 ```
 
+## 核心业务场景
+- 竞品品牌 IG 社媒策略分析(内容类型分布/发帖频率/互动率)
+- 竞品视觉风格对比(高端极简 vs 手工温馨 vs 清新自然)
+- 跨品牌 IG 影响力排名(粉丝数/互动率对比)
+
 ## 依赖
-- TikHub API(通过 https://server.fmode.cn/thapi)— Instagram接口
-- Bearer Token: Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==
+- Social Media API: `https://server.fmode.cn/api/voc-social/`(统一转发,认证已内置)
 
 ## 对应工作坊环节
 Day2 上午 09:00-09:50「社媒VOC采集 — Instagram品牌声音」

+ 6 - 1
social-voc/social-trend-analysis/SKILL.md

@@ -74,8 +74,13 @@ social-trend-analysis
 }
 ```
 
+## 核心业务场景
+- TikTok vs Instagram 平台热度对比(哪个平台品类讨论量更大)
+- 内容机会发现(高需求但低供给的内容类型,如对比评测视频)
+- 社媒优先级行动清单(按紧迫度排序的营销任务)
+
 ## 依赖
-- tiktok-category-voc、tiktok-brand-voc、instagram-brand-voc 的输出数据
+- 输入依赖 `social-voc/tiktok-category-voc``social-voc/tiktok-brand-voc``social-voc/instagram-brand-voc` 的输出数据
 
 ## 对应工作坊环节
 Day2 上午 补充分析,为「竞品VOC诊断」和「用户画像」提供社媒维度数据

+ 6 - 2
social-voc/tiktok-brand-voc/SKILL.md

@@ -85,9 +85,13 @@ tiktok-brand-voc
 }
 ```
 
+## 核心业务场景
+- 竞品品牌 TikTok 社媒策略破解(发布频率/内容类型/互动率)
+- 竞品粉丝情感分析(用户对竞品品牌的正负向评论)
+- 跨品牌社媒影响力对比(粉丝/互动率/内容风格差异)
+
 ## 依赖
-- TikHub API(通过 https://server.fmode.cn/thapi)
-- Bearer Token
+- Social Media API: `https://server.fmode.cn/api/voc-social/`(统一转发,认证已内置)
 
 ## 对应工作坊环节
 Day2 上午 09:00-09:50「社媒VOC采集 — TikTok品牌声音」

+ 6 - 2
social-voc/tiktok-category-voc/SKILL.md

@@ -76,9 +76,13 @@ tiktok-category-voc
 }
 ```
 
+## 核心业务场景
+- 品类 TikTok 用户声音采集(关键词搜索视频 → 批量抓取评论)
+- 热门内容类型识别(测评/开箱/教程/日常分享占比)
+- 话题热度量化(#reeeddiffuser 话题浏览量统计)
+
 ## 依赖
-- TikHub API(通过 https://server.fmode.cn/thapi)
-- Bearer Token: Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==
+- Social Media API: `https://server.fmode.cn/api/voc-social/`(统一转发,认证已内置)
 
 ## 对应工作坊环节
 Day2 上午 09:00-09:50「社媒VOC采集 — TikTok品类声音」

+ 7 - 2
synthesis/brand-profile/SKILL.md

@@ -87,9 +87,14 @@ brand-profile
 }
 ```
 
+## 核心业务场景
+- 品牌认知校准卡生成(6 维评分 + 四象限定位图 → 报告直接可用)
+- 自身品牌短板诊断(识别最低分维度 + 具体改进建议)
+- 竞争定位策略输出(机会标签 + 风险标签 + 优先行动清单)
+
 ## 依赖
-- Sorftime API
-- 内置6维评分算法(定价/评分/流量/销售/增长/口碑),每维0-100分加权求总分
+- Amazon VOC API: `https://server.fmode.cn/api/voc-ecom/forward`(统一转发,认证已内置)
+- 内置 6 维评分算法(定价/评分/流量/销售/增长/口碑),每维 0-100 分加权求总分
 
 ## 对应工作坊环节
 Day1 下午 13:30-14:30「指导龙虾认知自身品牌」— 输出《品牌认知校准卡》

+ 7 - 2
synthesis/category-landscape/SKILL.md

@@ -95,9 +95,14 @@ category-landscape
 }
 ```
 
+## 核心业务场景
+- 品类认知校准表生成(CR5/HHI + 价格带分布 + 增长趋势 → 报告直接可用)
+- 市场规模量化(月销量总和 × 均价 = 品类月销售额)
+- 风险预警汇总(价格战风险/集中度风险/增长衰退风险自动检测)
+
 ## 依赖
-- Sorftime API
-- 内置CR5/HHI集中度算法 + 5维健康度评分算法 + 价格带五分位划分
+- Amazon VOC API: `https://server.fmode.cn/api/voc-ecom/forward`(统一转发,认证已内置)
+- 内置 CR5/HHI 集中度算法 + 价格带五分位划分
 
 ## 对应工作坊环节
 Day1 上午 09:00-12:00「指导龙虾认知品类」— 输出《品类认知校准表》

+ 8 - 3
synthesis/product-deep-analysis/SKILL.md

@@ -107,10 +107,15 @@ AI生成Markdown报告,包含:
 }
 ```
 
+## 核心业务场景
+- 单品全面诊断(关键词流量架构 + 定价策略 + Listing 评估 + VOC 痛点 + 广告策略)
+- AI 流式生成运营建议(核心诊断 + 30 天行动计划)
+- 竞品深度对比基础(从单品切入做完整竞品解剖)
+
 ## 依赖
-- Sorftime API (ProductRequest, ASINRequestKeyword, MonitorQuery, ProductReviewsQuery)
-- 内置6维分析算法(关键词/定价/Listing/VOC/广告/综合评分)
-- AI大模型(流式生成诊断报告)
+- Amazon VOC API: `https://server.fmode.cn/api/voc-ecom/forward`(统一转发,认证已内置)
+- 内置 6 维分析算法(关键词/定价/Listing/VOC/广告/综合评分)
+- AI 大模型(流式生成诊断报告)
 
 ## 对应工作坊环节
 Day1 下午 + Day2 全天 — 贯穿各环节的单品深度分析基础

+ 7 - 2
synthesis/user-persona/SKILL.md

@@ -107,9 +107,14 @@ user-persona
 }
 ```
 
+## 核心业务场景
+- 用户画像手册生成(3-5 类核心用户 + 使用场景分布 + 决策因素权重)
+- 购买行为分析(价格敏感度/季节性旺季/渠道偏好)
+- 品类用户深度洞察(融合电商 VOC + 社媒 VOC 双渠道数据)
+
 ## 依赖
-- review-keyword-cloud、review-pain-point-extraction、review-highlight-extraction 输出
-- social-trend-analysis 输出(可选)
+- 输入依赖 `review-keyword-cloud``review-pain-point-extraction``review-highlight-extraction` 输出
+- `social-trend-analysis` 输出(可选)
 
 ## 对应工作坊环节
 Day2 上午 11:10-11:50「用户&场景画像共创」— 输出《用户&场景画像手册》

+ 6 - 1
synthesis/voc-proposal/SKILL.md

@@ -120,9 +120,14 @@ voc-proposal
 }
 ```
 
+## 核心业务场景
+- VOC 产品优化提案生成(6 章节结构化提案 + ROI 估算 + 30 天行动时间线)
+- 工作坊最终交付物(整合品类/竞品/用户/社媒所有分析成果)
+- 品牌决策支持文档(优先级行动清单 + 风险整合预警)
+
 ## 依赖
 - 全部前置 Skill 的输出数据
-- AI 大模型生成能力
+- AI 大模型生成能力(6 章节流式生成)
 
 ## 对应工作坊环节
 Day2 下午 13:00-14:30「成果整合&提案撰写」— 输出《VOC产品优化/新品提案》

+ 28 - 23
voc/asin-reverse-keywords/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: asin-reverse-keywords
-description: 根据 ASIN 反向查询该产品关联的搜索关键词列表,包括搜索排名、搜索量等。用于竞品关键词策略分析、广告关键词挖掘
+description: 根据 ASIN 反向查询该产品关联的搜索关键词列表,包括搜索排名、搜索量等。适用于竞品 SEO 关键词策略破解、选品广告词挖掘、报告词云图基础数据采集
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,47 +9,52 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-根据 ASIN 反向查询该产品关联的搜索关键词列表,包括搜索排名、搜索量等。用于竞品关键词策略分析、广告关键词挖掘。
+输入竞品 ASIN,反向获取该产品所关联的全部搜索关键词及其排名和搜索量。
+
+**核心业务场景:**
+- 竞品 SEO 关键词策略破解(竞品 Top ASIN 用了哪些词)
+- 广告关键词挖掘(搜索量高、排名靠前的词优先投放)
+- 报告词云图基础数据(Slide 关键词热度词云)
+
+## 调用链(Workflow)
+
+```
+上游: product-search(Pattern=品类词) → 获取 Top 产品 ASIN 列表
+本步: asin-reverse-keywords(ASIN) → 反查竞品关键词及搜索量
+下游: keyword-search(Keyword) → 深挖单个词的搜索趋势和竞争度
+```
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| ASIN | string | ✅ | Amazon 产品 ASIN(10位大写字母数字) |
-| domain | integer | ❌ | Amazon 站点 ID: 1=amazon.com(默认 1) |
+| ASIN | string | ✅ | Amazon 产品 ASIN(10位大写字母数字,如 B0B24QJ217) |
+| domain | integer | ❌ | 站点 ID: 1=amazon.com 2=amazon.co.uk 3=amazon.de(默认 1) |
 
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server.fmode.cn/api/voc/forward`
-- **请求头**: `Content-Type: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-ecom/forward`
 
-实际请求体通过 `requestTransform` 模板转换:
 ```json
 {
   "path": "/api/ASINRequestKeyword",
   "method": "POST",
   "query": { "domain": 1 },
-  "body": {
-    "ASIN": "B0B24QJ217"
-  }
+  "body": { "ASIN": "B0B24QJ217" }
 }
 ```
 
-## 返回格式
-
-返回 JSON 数组,每个元素包含:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| Keyword | string | 关键词 |
-| SearchVolume | integer | 月搜索量 |
-| Rank | integer | 该ASIN在此关键词下的排名 |
-| CompetitorCount | integer | 竞争产品数 |
+| 字段 | 业务用途 |
+|------|---------|
+| Keyword | 关键词 → 广告词候选、SEO 词表 |
+| SearchVolume | 月搜索量 → **流量价值评估核心指标** |
+| Rank | 该 ASIN 在此词下的排名 → 竞品 SEO 优势词识别 |
+| CompetitorCount | 竞争产品数 → 词的竞争激烈程度 |
 
 ## 依赖要求
 
-- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
-- `domain` 参数必须是数字
-- ASIN 参数必须大写
+- 通过 `https://server.fmode.cn/api/voc-ecom/forward` 统一转发,认证已内置
+- ASIN 参数必须大写,`domain` 必须为整数

+ 29 - 24
voc/asin-sales-volume/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: asin-sales-volume
-description: 查询指定 ASIN 的销量数据,包括日销量、周销量、月销量趋势。用于市场规模估算、品类销售额计算
+description: 查询指定 ASIN 的日/周/月销量及收入估算。适用于单品市场规模计算、品类 Top 产品销售额汇总、竞品销售力对标
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,48 +9,53 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-查询指定 ASIN 的销量数据,包括日销量、周销量、月销量趋势。用于市场规模估算、品类销售额计算。
+获取单个 ASIN 的销量和收入估算数据,量化产品的市场规模。
+
+**核心业务场景:**
+- 单品市场规模计算(月销量 × 售价 = 月流水)
+- 品类 Top 产品销售额汇总(报告 Slide 品类市场规模)
+- 竞品销售力对标(自身 vs 竞品月销量对比)
+
+## 调用链(Workflow)
+
+```
+上游: product-search(Pattern) 或 category-products(NodeId) → 获取 ASIN 列表
+本步: asin-sales-volume(ASIN) → 获取单品月销量和收入
+汇总: 对 Top 20 ASIN 批量调用 → 计算品类总规模
+```
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| ASIN | string | ✅ | Amazon 产品 ASIN(10位大写字母数字) |
-| domain | integer | ❌ | Amazon 站点 ID: 1=amazon.com(默认 1) |
+| ASIN | string | ✅ | Amazon 产品 ASIN(10位大写字母数字,如 B0CSVRWJ1H) |
+| domain | integer | ❌ | 站点 ID: 1=amazon.com 2=amazon.co.uk 3=amazon.de(默认 1) |
 
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server.fmode.cn/api/voc/forward`
-- **请求头**: `Content-Type: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-ecom/forward`
 
-实际请求体通过 `requestTransform` 模板转换:
 ```json
 {
   "path": "/api/AsinSalesVolume",
   "method": "POST",
   "query": { "domain": 1 },
-  "body": {
-    "ASIN": "B0CSVRWJ1H"
-  }
+  "body": { "ASIN": "B0CSVRWJ1H" }
 }
 ```
 
-## 返回格式
-
-返回 JSON 对象,主要字段:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| DailySales | integer | 日均销量 |
-| WeeklySales | integer | 周均销量 |
-| MonthlySales | integer | 月均销量 |
-| Revenue | number | 估算收入(美元) |
-| SalesTrend | array | 销量趋势数据点 |
+| 字段 | 业务用途 |
+|------|---------|
+| MonthlySales | 月均销量 → **品类规模计算核心指标** |
+| Revenue | 估算月收入(美元) → 单品市场规模 |
+| DailySales | 日均销量 → 短期趋势判断 |
+| WeeklySales | 周均销量 |
+| SalesTrend | 销量趋势数组 → 季节性分析 |
 
 ## 依赖要求
 
-- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
-- `domain` 参数必须是数字
-- ASIN 参数必须大写
+- 通过 `https://server.fmode.cn/api/voc-ecom/forward` 统一转发,认证已内置
+- ASIN 参数必须大写,`domain` 必须为整数

+ 31 - 26
voc/category-products/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: category-products
-description: 根据类目 ID 获取该类目下的产品列表。用于获取品类 Top 产品、分析品类竞争格局、统计品牌分布和中国卖家占比
+description: 根据类目 NodeId 获取该 Amazon 类目下的产品列表,含 BSR、价格、评分、品牌等。适用于品类 Top 产品竞争格局分析、品牌分布统计、中国卖家占比计算
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,50 +9,55 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-根据类目 ID 获取该类目下的产品列表。用于获取品类 Top 产品、分析品类竞争格局、统计品牌分布和中国卖家占比。
+根据类目节点 ID 获取该类目下的产品列表,是品类全景分析的核心数据来源。
+
+**核心业务场景:**
+- 品类竞争格局分析(Top 产品品牌分布、价格区间分布)
+- 中国卖家占比统计(报告 Slide 市场格局)
+- BSR 排名竞争态势(哪些品牌占据 Top 10)
+
+## 调用链(Workflow)
+
+```
+上游: category-tree(domain) → 获取类目树 → 找到目标品类 NodeId
+本步: category-products(NodeId) → 获取类目 Top 产品列表
+下游: product-detail-query(ASIN) → 获取具体产品完整数据
+下游: asin-sales-volume(ASIN) → 获取产品销量估算品类总规模
+```
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| NodeId | string | ✅ | Amazon 类目节点 ID,可通过 category-tree 接口获取 |
-| domain | integer | ❌ | Amazon 站点 ID: 1=amazon.com(默认 1) |
+| NodeId | string | ✅ | Amazon 类目节点 ID(从 category-tree 的 NodeId 字段获取) |
+| domain | integer | ❌ | 站点 ID: 1=amazon.com 2=amazon.co.uk 3=amazon.de(默认 1) |
 
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server.fmode.cn/api/voc/forward`
-- **请求头**: `Content-Type: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-ecom/forward`
 
-实际请求体通过 `requestTransform` 模板转换:
 ```json
 {
   "path": "/api/CategoryProducts",
   "method": "POST",
   "query": { "domain": 1 },
-  "body": {
-    "NodeId": "3734931"
-  }
+  "body": { "NodeId": "3734931" }
 }
 ```
 
-## 返回格式
-
-返回 JSON 数组,每个元素包含:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| Asin | string | 产品 ASIN |
-| Title | string | 产品标题 |
-| Price | number | 售价 |
-| Rating | number | 评分 |
-| RatingsCount | integer | 评论数 |
-| BSR | integer | BSR 排名 |
-| Brand | string | 品牌 |
+| 字段 | 业务用途 |
+|------|---------|
+| Asin | 产品 ASIN → **传入 product-detail-query / asin-sales-volume** |
+| BSR | BSR 排名 → 类目竞争格局分析 |
+| Brand | 品牌名 → **品牌分布统计,识别中国卖家** |
+| Price | 售价 → 品类价格区间分布 |
+| Rating | 评分 |
+| RatingsCount | 评论数 → 产品成熟度判断 |
 
 ## 依赖要求
 
-- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
-- `domain` 参数必须是数字
-- 关联技能: `category-tree`(先通过类目树获取 NodeId)
+- 通过 `https://server.fmode.cn/api/voc-ecom/forward` 统一转发,认证已内置
+- NodeId 需从 category-tree 返回结果中获取

+ 24 - 18
voc/category-tree/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: category-tree
-description: 获取 Amazon 类目层级树结构,用于定位目标品类的类目 ID,再通过 category_products 获取该类目下的产品列表
+description: 获取 Amazon 完整类目层级树结构,用于定位目标品类的 NodeId。适用于品类定位、竞品所在子类目发现、BSR 类目分析起点
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,22 +9,31 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-获取 Amazon 类目层级树结构,用于定位目标品类的类目 ID,再通过 category-products 获取该类目下的产品列表。
+获取 Amazon 类目层级树,找到目标品类的 NodeId 以支持后续品类分析。
+
+**核心业务场景:**
+- 品类定位(找到 'Reed Diffusers' 或 'Candle Warmers' 的精确 NodeId)
+- 竞品子类目发现(确认竞品 BSR 所在的二级/三级类目)
+- 类目层级关系梳理(报告品类结构 Slide)
+
+## 调用链(Workflow)
+
+```
+本步: category-tree() → 获取全类目树 → 找到目标品类 NodeId
+下游: category-products(NodeId) → 获取该类目下 Top 产品列表
+```
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| domain | integer | ❌ | Amazon 站点 ID: 1=amazon.com(默认 1) |
+| domain | integer | ❌ | 站点 ID: 1=amazon.com 2=amazon.co.uk 3=amazon.de(默认 1) |
 
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server.fmode.cn/api/voc/forward`
-- **请求头**: `Content-Type: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-ecom/forward`
 
-实际请求体通过 `requestTransform` 模板转换:
 ```json
 {
   "path": "/api/CategoryTree",
@@ -34,18 +43,15 @@ author: nkkj-BrainHack
 }
 ```
 
-## 返回格式
-
-返回 JSON 数组,每个元素包含:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| NodeId | string | 类目节点 ID |
-| Name | string | 类目名称 |
-| Children | array | 子类目列表 |
+| 字段 | 业务用途 |
+|------|---------|
+| NodeId | 类目节点 ID → **传入 category-products 的 NodeId** |
+| Name | 类目名称 → 定位目标品类 |
+| Children | 子类目列表 → 递归查找精确子类目 |
 
 ## 依赖要求
 
-- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
-- `domain` 参数必须是数字
-- 关联技能: `category-products`(使用本接口返回的 NodeId 查询类目下产品)
+- 通过 `https://server.fmode.cn/api/voc-ecom/forward` 统一转发,认证已内置
+- 返回完整类目树,需在结果中查找目标类目名称对应的 NodeId

+ 29 - 25
voc/keyword-product-ranking/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: keyword-product-ranking
-description: 查询指定关键词下的产品排名列表,获取该关键词搜索结果中的产品排序。用于竞品在关键词下的位置分析、广告优化
+description: 查询指定 Amazon 关键词下的产品自然排名和广告排名列表。适用于竞品关键词占位分析、广告投放效果验证、搜索结果竞争态势研判
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,49 +9,53 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-查询指定关键词下的产品排名列表,获取该关键词搜索结果中的产品排序。用于竞品在关键词下的位置分析、广告优化。
+输入关键词获取该词搜索结果页的产品排名列表,识别竞品的关键词占位优势。
+
+**核心业务场景:**
+- 竞品关键词占位分析(竞品在核心词下排名第几)
+- 广告 vs 自然排名分析(IsSponsored 区分广告占位比例)
+- 搜索结果竞争格局(哪些品牌垄断关键词流量)
+
+## 调用链(Workflow)
+
+```
+上游: keyword-search(Keyword) → 确认词的流量价值
+本步: keyword-product-ranking(Keyword) → 获取该词下产品排名列表
+下游: product-detail-query(ASIN) → 获取头部排名产品的完整信息
+```
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| Keyword | string | ✅ | 要查询排名的关键词,如 'reed diffuser' |
-| domain | integer | ❌ | Amazon 站点 ID: 1=amazon.com(默认 1) |
+| Keyword | string | ✅ | 要查询排名的关键词,如 'reed diffuser'、'candle warmer lamp' |
+| domain | integer | ❌ | 站点 ID: 1=amazon.com 2=amazon.co.uk 3=amazon.de(默认 1) |
 
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server.fmode.cn/api/voc/forward`
-- **请求头**: `Content-Type: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-ecom/forward`
 
-实际请求体通过 `requestTransform` 模板转换:
 ```json
 {
   "path": "/api/KeywordProductRanking",
   "method": "POST",
   "query": { "domain": 1 },
-  "body": {
-    "Keyword": "reed diffuser"
-  }
+  "body": { "Keyword": "reed diffuser" }
 }
 ```
 
-## 返回格式
-
-返回 JSON 数组,每个元素包含:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| Asin | string | 产品 ASIN |
-| Title | string | 产品标题 |
-| Rank | integer | 在该关键词下的排名 |
-| Price | number | 售价 |
-| Rating | number | 评分 |
-| RatingsCount | integer | 评论数 |
-| IsSponsored | boolean | 是否为广告产品 |
+| 字段 | 业务用途 |
+|------|---------|
+| Asin | 产品 ASIN → 传入 product-detail-query 获取详情 |
+| Rank | 该词下的排名 → **竞品关键词占位分析核心字段** |
+| IsSponsored | 是否广告产品 → 广告占位比例分析 |
+| Price | 售价 → 词下竞品价格带分布 |
+| RatingsCount | 评论数 → 产品竞争成熟度 |
 
 ## 依赖要求
 
-- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
-- `domain` 参数必须是数字
+- 通过 `https://server.fmode.cn/api/voc-ecom/forward` 统一转发,认证已内置
+- `domain` 必须为整数

+ 27 - 27
voc/keyword-search-trend/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: keyword-search-trend
-description: 查询指定关键词的搜索结果趋势变化,包括搜索量随时间的变化。用于发现飙升关键词、季节性趋势分析
+description: 查询指定 Amazon 关键词的历史搜索量趋势曲线,包含日期维度的搜索量变化。适用于品类季节性趋势分析、飙升词识别、报告趋势图数据
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,51 +9,51 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-查询指定关键词的搜索结果趋势变化,包括搜索量随时间的变化。用于发现飙升关键词、季节性趋势分析。
+获取关键词的历史搜索量趋势曲线,分析品类需求的季节性规律和长期趋势。
+
+**核心业务场景:**
+- 品类季节性趋势分析("candle warmer" Q4 旺季验证)
+- 飙升词时间点定位(搜索量从何时开始激增)
+- 报告趋势图数据(Slide 品类趋势折线图)
+
+## 调用链(Workflow)
+
+```
+上游: keyword-search(Keyword) → 确认词的当前搜索量规模
+本步: keyword-search-trend(Keyword) → 获取历史趋势曲线数据
+分析: 判断词的季节性旺季、增长阶段、是否为飙升词
+```
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| Keyword | string | ✅ | 要查询趋势的关键词 |
-| domain | integer | ❌ | Amazon 站点 ID: 1=amazon.com(默认 1) |
+| Keyword | string | ✅ | 要查询趋势的关键词,如 'candle warmer lamp aesthetic' |
+| domain | integer | ❌ | 站点 ID: 1=amazon.com 2=amazon.co.uk 3=amazon.de(默认 1) |
 
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server.fmode.cn/api/voc/forward`
-- **请求头**: `Content-Type: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-ecom/forward`
 
-实际请求体通过 `requestTransform` 模板转换:
 ```json
 {
   "path": "/api/KeywordSearchResultTrend",
   "method": "POST",
   "query": { "domain": 1 },
-  "body": {
-    "Keyword": "candle warmer lamp aesthetic"
-  }
+  "body": { "Keyword": "candle warmer lamp aesthetic" }
 }
 ```
 
-## 返回格式
-
-返回 JSON 对象,主要字段:
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| TrendData | array | 趋势数据点列表 |
-
-TrendData 数组中每个元素包含:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| Date | string | 日期 |
-| SearchVolume | integer | 搜索量 |
-| ProductCount | integer | 搜索结果产品数 |
+| 字段 | 业务用途 |
+|------|---------|
+| TrendData[].Date | 日期 → 时间轴 |
+| TrendData[].SearchVolume | 搜索量 → **趋势曲线核心数据** |
+| TrendData[].ProductCount | 搜索结果产品数 → 竞争者增减趋势 |
 
 ## 依赖要求
 
-- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
-- `domain` 参数必须是数字
+- 通过 `https://server.fmode.cn/api/voc-ecom/forward` 统一转发,认证已内置
+- `domain` 必须为整数

+ 32 - 24
voc/keyword-search/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: keyword-search
-description: 查询 Amazon 关键词的搜索量、搜索趋势、竞争度等数据。用于广告关键词推荐、趋势雷达、飙升卖点词分析
+description: 查询 Amazon 关键词的月搜索量、增长率、竞争度、CPC 等核心指标。适用于卖点词飙升雷达、广告出价参考、趋势词筛选、报告关键词表制作
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,48 +9,56 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-查询 Amazon 关键词的搜索量、搜索趋势、竞争度等数据。用于广告关键词推荐、趋势雷达、飙升卖点词分析。
+输入关键词获取其 Amazon 搜索流量规模和竞争数据,评估词的价值。
+
+**核心业务场景:**
+- 卖点词飙升雷达(SearchVolumeGrowth 高的词为飙升卖点词)
+- 广告关键词出价参考(CPC 数据直接用于广告预算规划)
+- 报告关键词表制作(Slide 目标词搜索量数据)
+- 竞争度筛选(低竞争高流量词优先布局)
+
+## 调用链(Workflow)
+
+```
+上游: asin-reverse-keywords(ASIN) → 获取候选词列表
+本步: keyword-search(Keyword) → 验证每个词的搜索量和竞争度
+下游: keyword-search-trend(Keyword) → 查看词的历史趋势曲线
+下游: keyword-product-ranking(Keyword) → 查看该词下的产品排名情况
+```
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| Keyword | string | ✅ | 要查询的关键词,如 'reed diffuser'、'natural reed diffuser'、'candle warmer lamp aesthetic' |
-| domain | integer | ❌ | Amazon 站点 ID: 1=amazon.com(默认 1) |
+| Keyword | string | ✅ | 要查询的关键词,如 'reed diffuser'、'candle warmer lamp aesthetic' |
+| domain | integer | ❌ | 站点 ID: 1=amazon.com 2=amazon.co.uk 3=amazon.de(默认 1) |
 
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server.fmode.cn/api/voc/forward`
-- **请求头**: `Content-Type: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-ecom/forward`
 
-实际请求体通过 `requestTransform` 模板转换:
 ```json
 {
   "path": "/api/KeywordQuery",
   "method": "POST",
   "query": { "domain": 1 },
-  "body": {
-    "Keyword": "natural reed diffuser"
-  }
+  "body": { "Keyword": "natural reed diffuser" }
 }
 ```
 
-## 返回格式
-
-返回 JSON 对象,主要字段:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| SearchVolume | integer | 月搜索量 |
-| SearchVolumeGrowth | number | 搜索量增长率 (%) |
-| CompetitionLevel | string | 竞争度: 低/中/高/极高 |
-| CPC | number | 建议广告出价 (美元) |
-| ConversionRate | number | 转化率 (%) |
-| RelatedKeywords | array | 相关关键词列表 |
+| 字段 | 业务用途 |
+|------|---------|
+| SearchVolume | 月搜索量 → **关键词流量价值核心指标** |
+| SearchVolumeGrowth | 搜索量增长率 → 飙升词识别(>30% 为显著增长) |
+| CompetitionLevel | 竞争度(低/中/高/极高)→ 布局难度评估 |
+| CPC | 建议广告出价(美元)→ 广告预算规划 |
+| ConversionRate | 转化率 → 购买意图强度 |
+| RelatedKeywords | 相关关键词列表 → 扩展词表 |
 
 ## 依赖要求
 
-- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
-- `domain` 参数必须是数字
+- 通过 `https://server.fmode.cn/api/voc-ecom/forward` 统一转发,认证已内置
+- `domain` 必须为整数

+ 41 - 51
voc/product-detail-query/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: product-detail-query
-description: 根据 ASIN 获取 Amazon 产品详情,包括标题、价格、评分、销量、BSR、品牌、类目、变体、趋势等完整信息。用于竞品分析、市场全景、定价策略
+description: 根据 ASIN 获取 Amazon 产品完整详情,含标题、价格、评分、月销量、BSR、Bullet Points、变体、发货地等。适用于竞品深度画像建立、定价策略对标、产品卖点提取
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,75 +9,65 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-根据 ASIN 获取 Amazon 产品详情,包括标题、价格、评分、销量、BSR、品牌、类目、变体、趋势等完整信息。用于竞品分析、市场全景、定价策略。
+根据 ASIN 获取单品完整详情数据,是竞品深度分析和产品卖点提取的核心接口。
+
+**核心业务场景:**
+- 竞品产品深度画像建立(标题/价格/BSR/评分/卖点一次性获取)
+- 定价策略对标(Price、SalesPrice 竞品价格结构分析)
+- 产品卖点提取(Feature = Bullet Points 内容分析)
+- 星级分布分析(1~5星分布用于产品口碑深挖)
+
+## 调用链(Workflow)
+
+```
+上游: product-search(Pattern) 或 category-products(NodeId) → 获取 ASIN 列表
+本步: product-detail-query(ASIN) → 获取单品完整数据
+下游: product-reviews-query(ASIN) → 获取用户评论深挖 VOC
+下游: asin-reverse-keywords(ASIN) → 获取产品关联关键词
+```
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| ASIN | string | ✅ | Amazon 产品唯一标识符(10位字母数字),必须大写。例:B0CSVRWJ1H |
-| domain | integer | ❌ | Amazon 站点 ID: 1=amazon.com, 2=amazon.co.uk, 3=amazon.de, 4=amazon.co.jp, 5=amazon.fr, 6=amazon.it, 7=amazon.es, 8=amazon.ca(默认 1) |
-| Trend | integer | ❌ | 是否返回趋势数据: 1=是, 0=否(默认 1) |
-| QueryTrendStartDt | string | ❌ | 趋势数据起始日期,格式 YYYYMMDD,留空则使用默认范围 |
-| QueryTrendEndDt | string | ❌ | 趋势数据结束日期,格式 YYYYMMDD,留空则使用默认范围 |
+| ASIN | string | ✅ | Amazon 产品 ASIN(10位大写字母数字,如 B0CSVRWJ1H) |
+| domain | integer | ❌ | 站点 ID: 1=amazon.com 2=amazon.co.uk 3=amazon.de(默认 1) |
+| Trend | integer | ❌ | 是否返回趋势数据: 1=是 0=否(默认 1) |
+| QueryTrendStartDt | string | ❌ | 趋势起始日期,格式 YYYYMMDD(留空用默认范围) |
+| QueryTrendEndDt | string | ❌ | 趋势结束日期,格式 YYYYMMDD(留空用默认范围) |
 
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server.fmode.cn/api/voc/forward`
-- **请求头**: `Content-Type: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-ecom/forward`
 
-实际请求体通过 `requestTransform` 模板转换:
 ```json
 {
   "path": "/api/ProductRequest",
   "method": "POST",
   "query": { "domain": 1 },
-  "body": {
-    "ASIN": "B0CSVRWJ1H",
-    "Trend": 1,
-    "QueryTrendStartDt": "",
-    "QueryTrendEndDt": ""
-  }
+  "body": { "ASIN": "B0CSVRWJ1H", "Trend": 1, "QueryTrendStartDt": "", "QueryTrendEndDt": "" }
 }
 ```
 
-## 返回格式
-
-返回 JSON 对象,主要字段:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| Title | string | 产品标题 |
-| Price | number | 当前售价(美元) |
-| SalesPrice | number | 促销价(美元) |
-| Brand | string | 品牌名称 |
-| StoreName | string | 店铺名称 |
-| Rating | number | 平均评分 (0-5) |
-| RatingsCount | integer | 评论总数 |
-| fiveStartRatings | number | 5星评分百分比 |
-| fourStartRatings | number | 4星评分百分比 |
-| threeStartRatings | number | 3星评分百分比 |
-| twoStartRatings | number | 2星评分百分比 |
-| oneStartRatings | number | 1星评分百分比 |
-| MonthlySales | integer | 月销量估算 |
-| BSR | integer | Best Sellers Rank 大类排名 |
-| Category | array | 类目层级 |
-| BsrCategory | array | BSR 类目层级 |
-| Photo | array | 产品图片 URL 列表 |
-| Feature | object | 产品 Bullet Points 卖点 |
-| Description | string | 产品描述 |
-| Property | string | 产品属性(JSON 字符串) |
-| VariationASIN | array | 变体 ASIN 列表 |
-| Size | array | 尺寸选项 |
-| ShipsFrom | string | 发货地 |
-| ProductType | string | 配送类型 (FBA/FBM) |
-| DealType | string | 促销类型 |
-| UpdateDate | string | 数据更新日期 |
+| 字段 | 业务用途 |
+|------|---------|
+| Title | 产品标题 → SEO 标题结构分析 |
+| Price / SalesPrice | 售价/促销价 → **竞品定价策略对标** |
+| Brand / StoreName | 品牌/店铺 → 卖家属性判断 |
+| Rating | 评分 → 产品口碑 |
+| RatingsCount | 评论总数 → 产品成熟度 |
+| fiveStartRatings ~ oneStartRatings | 星级分布百分比 → 口碑结构分析 |
+| MonthlySales | 月销量 → 产品热度 |
+| BSR | BSR 排名 → 类目竞争力 |
+| Feature | Bullet Points 卖点 → **产品卖点提取核心字段** |
+| VariationASIN | 变体 ASIN 列表 → 变体策略分析 |
+| ProductType | FBA/FBM → 物流策略判断 |
+| ShipsFrom | 发货地 → 中国卖家识别 |
 
 ## 依赖要求
 
-- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
-- `domain` 参数必须是数字: 1=amazon.com, 2=amazon.co.uk 等
-- ASIN 参数必须大写
+- 通过 `https://server.fmode.cn/api/voc-ecom/forward` 统一转发,认证已内置
+- ASIN 必须大写,`domain` 必须为整数

+ 28 - 23
voc/product-monitor/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: product-monitor
-description: 获取产品的监控追踪数据,包括价格变化、排名变化、评分变化等历史数据。用于竞品动态追踪、价格监控、新品上架预警
+description: 获取产品的历史监控数据,包括价格变化、BSR 排名变化、评分变化、评论数增长曲线。适用于竞品动态追踪、价格战预警、新品上市速度分析
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,47 +9,52 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-获取产品的监控追踪数据,包括价格变化、排名变化、评分变化等历史数据。用于竞品动态追踪、价格监控、新品上架预警。
+获取单品的历史监控时序数据,追踪竞品的价格策略、排名变化和评论增长。
+
+**核心业务场景:**
+- 竞品价格战动态监控(PriceHistory 价格变化时间点分析)
+- 新品上市速度分析(ReviewCountHistory 评论数增长曲线)
+- BSR 排名波动追踪(RankHistory 判断竞品促销节点)
+
+## 调用链(Workflow)
+
+```
+上游: product-detail-query(ASIN) → 确认产品当前状态
+本步: product-monitor(ASIN) → 获取历史时序监控数据
+分析: 对比 PriceHistory 与 RankHistory → 识别竞品促销节点
+```
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| ASIN | string | ✅ | Amazon 产品 ASIN(10位大写字母数字) |
-| domain | integer | ❌ | Amazon 站点 ID: 1=amazon.com(默认 1) |
+| ASIN | string | ✅ | Amazon 产品 ASIN(10位大写字母数字,如 B0B24QJ217) |
+| domain | integer | ❌ | 站点 ID: 1=amazon.com 2=amazon.co.uk 3=amazon.de(默认 1) |
 
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server.fmode.cn/api/voc/forward`
-- **请求头**: `Content-Type: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-ecom/forward`
 
-实际请求体通过 `requestTransform` 模板转换:
 ```json
 {
   "path": "/api/MonitorQuery",
   "method": "POST",
   "query": { "domain": 1 },
-  "body": {
-    "ASIN": "B0B24QJ217"
-  }
+  "body": { "ASIN": "B0B24QJ217" }
 }
 ```
 
-## 返回格式
-
-返回 JSON 对象,主要字段:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| PriceHistory | array | 价格历史数据 |
-| RankHistory | array | 排名历史数据 |
-| RatingHistory | array | 评分历史数据 |
-| ReviewCountHistory | array | 评论数历史数据 |
+| 字段 | 业务用途 |
+|------|---------|
+| PriceHistory | 价格历史数组 → **竞品促销/涨价时间点识别** |
+| RankHistory | BSR 排名历史 → 竞品排名波动分析 |
+| RatingHistory | 评分历史 → 产品口碑变化追踪 |
+| ReviewCountHistory | 评论数历史 → **新品爬坡速度、促销效果验证** |
 
 ## 依赖要求
 
-- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
-- `domain` 参数必须是数字
-- ASIN 参数必须大写
+- 通过 `https://server.fmode.cn/api/voc-ecom/forward` 统一转发,认证已内置
+- ASIN 必须大写,`domain` 必须为整数

+ 43 - 55
voc/product-reviews-query/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: product-reviews-query
-description: 根据 ASIN 抓取 Amazon 产品用户评论,支持按星级、日期、是否验证购买筛选。用于 VOC 用户洞察、痛点提取、喜爱点分析、使用场景挖掘
+description: 根据 ASIN 抓取 Amazon 产品用户评论,支持按星级、日期、是否验证购买筛选。适用于 VOC 用户洞察、痛点/喜爱点提取、使用场景挖掘、差评预警分析
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,76 +9,64 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-根据 ASIN 抓取 Amazon 产品用户评论,支持按星级、日期、是否验证购买筛选。用于 VOC 用户洞察、痛点提取、喜爱点分析、使用场景挖掘。
+抓取 Amazon 产品评论原始文本,是 VOC 用户洞察分析的基础数据来源。
+
+**核心业务场景:**
+- VOC 痛点/喜爱点提取(1~3星评论提取痛点,4~5星提取喜爱点)
+- 使用场景挖掘(Content 字段 AI 分类使用场景)
+- 差评预警分析(Star='1' 筛选最新差评,发现新问题)
+- 竞品用户画像(ReviewedCountry 用户地区分布)
+
+## 调用链(Workflow)
+
+```
+上游: product-search(Pattern) 或 product-detail-query(ASIN) → 确定目标 ASIN
+本步: product-reviews-query(ASIN, Star='1') → 抓取 1 星差评 → 痛点提取
+本步: product-reviews-query(ASIN, Star='5') → 抓取 5 星好评 → 喜爱点提取
+分析: AI 对 Content 字段批量情感分类和主题提取
+```
+
+> ⚠️ 每页约 10 条,需通过 PageIndex 翻页。字段名为 PascalCase(如 ReviewsDate、IsVP、ConsumerURL)。
 
 ## 入参规则
 
-| 参数 | 类型 | 必填 | 说明 |
-|------|------|------|------|
-| ASIN | string | ✅ | Amazon 产品 ASIN(10位大写字母数字) |
-| Star | string | ❌ | 筛选星级: 空=全部, '1'=1星, '2'=2星, '3'=3星, '4'=4星, '5'=5星(默认空) |
-| PageIndex | integer | ❌ | 分页页码,从 1 开始(默认 1) |
-| OnlyPurchase | integer | ❌ | 仅显示验证购买评论: 0=全部, 1=仅验证购买(默认 0) |
-| QueryStartDt | string | ❌ | 评论起始日期,格式 YYYYMMDD,如 '20250101' |
-| domain | integer | ❌ | Amazon 站点 ID: 1=amazon.com(默认 1) |
+| 参数 | 类型 | 必填 | 枚举值 | 说明 |
+|------|------|------|--------|------|
+| ASIN | string | ✅ | — | Amazon 产品 ASIN(10位大写字母数字) |
+| Star | string | ❌ | '1'~'5'=对应星级 ''=全部 | 筛选星级(默认空=全部) |
+| PageIndex | integer | ❌ | — | 分页页码,从 1 开始(默认 1) |
+| OnlyPurchase | integer | ❌ | 0=全部 1=仅验证购买 | 是否仅验证购买(默认 0) |
+| QueryStartDt | string | ❌ | — | 评论起始日期,格式 YYYYMMDD,如 '20250101' |
+| domain | integer | ❌ | — | 站点 ID: 1=amazon.com 2=amazon.co.uk(默认 1) |
 
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server.fmode.cn/api/voc/forward`
-- **请求头**: `Content-Type: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-ecom/forward`
 
-实际请求体通过 `requestTransform` 模板转换:
 ```json
 {
   "path": "/api/ProductReviewsQuery",
   "method": "POST",
   "query": { "domain": 1 },
-  "body": {
-    "ASIN": "B0B24QJ217",
-    "Star": "",
-    "PageIndex": 1,
-    "OnlyPurchase": 0,
-    "QueryStartDt": ""
-  }
+  "body": { "ASIN": "B0B24QJ217", "Star": "1", "PageIndex": 1, "OnlyPurchase": 0, "QueryStartDt": "" }
 }
 ```
 
-> 注意字段名使用 PascalCase: ReviewsDate(非 ReviewDate)、ReviewedCountry(非 ReviewsCountry)、IsVP(非 Ivp)、ConsumerURL(非 ConsumerUrl)、ReviewsLink(非 ReviewLink)。每页约返回 10 条评论,需多次分页获取完整评论。
-
-## 返回格式
-
-返回 JSON 对象,主要字段:
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| TotalCount | integer | 评论总数 |
-| Reviews | array | 评论列表 |
-
-Reviews 数组中每条评论包含:
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| Star | integer | 评论星级 (1-5) |
-| Title | string | 评论标题 |
-| Content | string | 评论正文 |
-| ConsumerName | string | 评论者名称 |
-| ReviewsDate | string | 评论日期,格式 '20260204' |
-| ReviewedCountry | string | 评论者国家,如 'United States' |
-| IsVP | boolean | 是否验证购买 |
-| Helpful | integer | 有用数 |
-| Asin | string | 关联产品 ASIN |
-| AsinProperty | string | 变体属性 |
-| Resource | array | 评论附图 URL |
-| Videos | array | 评论视频 URL |
-| ConsumerURL | string | 评论者主页链接 |
-| ReviewsLink | string | 评论详情链接 |
-| ConsumerBadge | string | 评论者徽章 |
-| UpdateTime | string | 数据更新时间,格式 '2026-02-06 17:39' |
+## 关键响应字段
+
+| 字段 | 业务用途 |
+|------|---------|
+| TotalCount | 评论总数 → 数据规模判断 |
+| Reviews[].Star | 星级 → 正负向评论分类 |
+| Reviews[].Title | 评论标题 → 快速主题识别 |
+| Reviews[].Content | **评论正文 → VOC 分析核心字段** |
+| Reviews[].ReviewsDate | 评论日期 → 时间维度筛选 |
+| Reviews[].IsVP | 是否验证购买 → 评论可信度 |
+| Reviews[].AsinProperty | 变体属性 → 细分产品口碑 |
+| Reviews[].Helpful | 有用数 → 高价值评论识别 |
 
 ## 依赖要求
 
-- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
-- `domain` 参数必须是数字
-- 建议搭配 AI 分析进行情感分类和痛点提取
+- 通过 `https://server.fmode.cn/api/voc-ecom/forward` 统一转发,认证已内置
+- 建议搭配 AI 分析进行情感分类和主题提取

+ 33 - 32
voc/product-search/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: product-search
-description: 按关键词搜索 Amazon 产品列表,返回多个产品的标题、价格、评分、销量等信息。用于品类市场全景分析、Top100 产品列表获取
+description: 按关键词搜索 Amazon 产品列表,返回多个产品的标题、价格、评分、月销量、BSR 等信息。适用于品类 Top 产品快速获取、市场全景分析起点、竞品初筛
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,57 +9,58 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-按关键词搜索 Amazon 产品列表,返回多个产品的标题、价格、评分、销量等信息。用于品类市场全景分析、Top100 产品列表获取。
+按关键词搜索 Amazon 产品,批量获取搜索结果页的产品数据,是品类分析的起点。
+
+**核心业务场景:**
+- 品类 Top 产品快速获取(搜索核心词得到 ASIN 列表)
+- 市场全景分析起点(搜索关键词 → 批量获取 ASIN → 汇总分析)
+- 竞品初筛(按 MonthlySales/BSR 排序找强竞品)
+
+## 调用链(Workflow)
+
+```
+本步: product-search(Pattern=品类词) → 获取产品 ASIN 列表
+下游: product-detail-query(ASIN) → 获取单品完整详情
+下游: asin-sales-volume(ASIN) → 获取单品销量估算
+下游: product-reviews-query(ASIN) → 获取产品评论 VOC
+```
+
+> ⚠️ 若返回空数组(code=-10 验证码拦截),改用 category-products 获取类目产品列表。
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| Pattern | string | ✅ | 搜索关键词,如 'reed diffuser'、'aroma diffuser'、'scented candle' |
+| Pattern | string | ✅ | 搜索关键词,如 'reed diffuser'、'candle warmer lamp' |
 | Page | integer | ❌ | 分页页码,从 1 开始(默认 1) |
-| domain | integer | ❌ | Amazon 站点 ID: 1=amazon.com, 2=amazon.co.uk, 3=amazon.de, 4=amazon.co.jp(默认 1) |
+| domain | integer | ❌ | 站点 ID: 1=amazon.com 2=amazon.co.uk 3=amazon.de(默认 1) |
 
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server.fmode.cn/api/voc/forward`
-- **请求头**: `Content-Type: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-ecom/forward`
 
-实际请求体通过 `requestTransform` 模板转换:
 ```json
 {
   "path": "/api/ProductQuery",
   "method": "POST",
   "query": { "domain": 1 },
-  "body": {
-    "Page": 1,
-    "Query": "1",
-    "QueryType": "7",
-    "Pattern": "aroma diffuser"
-  }
+  "body": { "Page": 1, "Query": "1", "QueryType": "7", "Pattern": "aroma diffuser" }
 }
 ```
 
-> 注意: QueryType=7 表示按标题搜索。如果被验证码拦截(code=-10),返回空数组,需回退到批量 ProductRequest。
-
-## 返回格式
-
-返回 JSON 数组,每个元素包含:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| Asin | string | 产品 ASIN |
-| Title | string | 产品标题 |
-| Price | number | 售价(美元) |
-| Rating | number | 平均评分 |
-| RatingsCount | integer | 评论总数 |
-| MonthlySales | integer | 月销量估算 |
-| Brand | string | 品牌 |
-| BSR | integer | BSR 排名 |
-| Photo | array | 图片列表 |
+| 字段 | 业务用途 |
+|------|---------|
+| Asin | 产品 ASIN → **传入 product-detail-query / product-reviews-query** |
+| MonthlySales | 月销量估算 → 产品热度判断 |
+| BSR | BSR 排名 → 竞品强弱排序 |
+| Brand | 品牌名 → 品牌竞争格局分析 |
+| Price | 售价 → 价格区间分布 |
+| RatingsCount | 评论总数 → 产品成熟度 |
 
 ## 依赖要求
 
-- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
-- `domain` 参数必须是数字
+- 通过 `https://server.fmode.cn/api/voc-ecom/forward` 统一转发,认证已内置
+- `domain` 必须为整数,QueryType 固定为 "7"

+ 29 - 24
voc/similar-products/SKILL.md

@@ -1,6 +1,6 @@
 ---
 name: similar-products
-description: 根据 ASIN 查询与该产品相似的产品列表,用于竞品发现、关联分析
+description: 根据 ASIN 异步查询 Amazon 上的相似产品列表,用于竞品扩展发现、关联产品分析、品类长尾机会挖掘
 version: 1.3.0
 author: nkkj-BrainHack
 ---
@@ -9,48 +9,53 @@ author: nkkj-BrainHack
 
 ## 功能用途
 
-根据 ASIN 查询与该产品相似的产品列表,用于竞品发现、关联分析。
+基于 ASIN 发现相似竞品,扩展竞品监控范围和品类长尾机会。
+
+**核心业务场景:**
+- 竞品扩展发现(从 1 个 ASIN 扩展到同品类相似竞品列表)
+- 品类长尾机会挖掘(找相似产品中 BSR 好但评论少的新机会)
+- 关联产品策略分析(捆绑销售、组合推荐分析)
+
+## 调用链(Workflow)
+
+```
+上游: product-detail-query(ASIN) → 确认基准产品
+本步: similar-products(ASIN) → 发起异步任务 → 获取 TaskId
+轮询: 使用 TaskId 查询 SimilarProductRealtimeRequestStatusQuery 任务状态
+结果: 调用 SimilarProductRealtimeRequestCollection 获取相似产品列表
+```
+
+> ⚠️ **此接口为异步任务**,调用后返回 TaskId,需等待任务完成再获取结果。
 
 ## 入参规则
 
 | 参数 | 类型 | 必填 | 说明 |
 |------|------|------|------|
-| ASIN | string | ✅ | Amazon 产品 ASIN(10位大写字母数字) |
-| domain | integer | ❌ | Amazon 站点 ID: 1=amazon.com(默认 1) |
+| ASIN | string | ✅ | Amazon 产品 ASIN(10位大写字母数字,如 B0B24QJ217) |
+| domain | integer | ❌ | 站点 ID: 1=amazon.com 2=amazon.co.uk 3=amazon.de(默认 1) |
 
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server.fmode.cn/api/voc/forward`
-- **请求头**: `Content-Type: application/json`
-- **接口配置文件路径**: `./api-config.json`
+- **接口地址**: `https://server.fmode.cn/api/voc-ecom/forward`
 
-实际请求体通过 `requestTransform` 模板转换:
 ```json
 {
   "path": "/api/SimilarProductRealtimeRequest",
   "method": "POST",
   "query": { "domain": 1 },
-  "body": {
-    "ASIN": "B0B24QJ217"
-  }
+  "body": { "ASIN": "B0B24QJ217" }
 }
 ```
 
-> 注意: 此接口为异步任务,返回 TaskId 后需通过 `/api/SimilarProductRealtimeRequestStatusQuery` 查询状态,状态完成后通过 `/api/SimilarProductRealtimeRequestCollection` 获取分页结果。
-
-## 返回格式
-
-返回 JSON 对象,主要字段:
+## 关键响应字段
 
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| TaskId | string | 异步任务 ID,需通过后续接口查询结果 |
-| Status | string | 任务状态 |
+| 字段 | 业务用途 |
+|------|---------|
+| TaskId | 异步任务 ID → **用于后续状态查询和结果获取** |
+| Status | 任务状态 |
 
 ## 依赖要求
 
-- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
-- `domain` 参数必须是数字
-- ASIN 参数必须大写
-- 关联技能: `product-detail-query`
+- 通过 `https://server.fmode.cn/api/voc-ecom/forward` 统一转发,认证已内置
+- ASIN 必须大写,此为异步接口需额外轮询状态