gangvy 3 dní pred
rodič
commit
a9c6caa77b

+ 9 - 3
README.md

@@ -179,16 +179,22 @@ workflows/
 - `domain` 参数必须是数字: 1=amazon.com, 2=amazon.co.uk ...
 
 ### TikHub (社媒)
-- 直连代理: `https://server.fmode.cn/thapi`
-- 需携带 Bearer Token 在 Authorization header 中
+- 统一代理: `https://server.fmode.cn/api/social/`
+- 路径拼接: 去掉原 `/v1/` 前缀,如 `thapi/v1/tiktok/web/...` → `api/social/tiktok/web/...`
+- 需携带 Authorization header: `Bearer r:a5a19ea9868043b15d9b10423234ca43`
 - 所有请求均为 GET 方法
 
 ## 版本管理
 
-当前版本: **v1.1.0** (2026-03-26)
+当前版本: **v1.2.0** (2026-03-26)
 
 ### Changelog
 
+#### v1.2.0 (2026-03-26)
+- **社媒端点迁移**: TikHub 代理从 `server.fmode.cn/thapi/v1/` 迁移至 `server.fmode.cn/api/social/`
+- **社媒认证更新**: Authorization token 从 TikHub 直连 token 切换为统一代理 token `Bearer r:...`
+- **受影响文件**: social-media/(11) + social-voc/(4) = 15 个 api-config.json
+
 #### v1.1.0 (2026-03-26)
 - **API 端点迁移**: 所有 VOC 接口从 `server-msq.fmode.cn/api/sorftime/forward` 迁移至 `server.fmode.cn/api/voc/forward`
 - **认证升级**: 所有使用 VOC 转发地址的 api-config.json 添加 `Authorization: Bearer` header

+ 3 - 3
social-media/instagram-search/api-config.json

@@ -3,12 +3,12 @@
   "displayName": "Instagram 搜索",
   "description": "按关键词搜索 Instagram 用户/品牌账号,返回匹配的用户列表。用于竞品品牌 Instagram 账号发现、红人搜索。",
   "category": "social-media",
-  "version": "1.0.0",
+  "version": "1.2.0",
   "endpoint": {
     "method": "GET",
-    "url": "https://server.fmode.cn/thapi/v1/instagram/v1/fetch_search",
+    "url": "https://server.fmode.cn/api/social/instagram/v1/fetch_search",
     "headers": {
-      "Authorization": "Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==",
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
       "Accept": "application/json"
     }
   },

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

@@ -3,12 +3,12 @@
   "displayName": "Instagram 用户详情",
   "description": "根据用户名获取 Instagram 用户的完整资料,包括粉丝数、关注数、帖子数、个人简介、是否认证等。用于竞品品牌社媒画像分析、红人详情获取。",
   "category": "social-media",
-  "version": "1.0.0",
+  "version": "1.2.0",
   "endpoint": {
     "method": "GET",
-    "url": "https://server.fmode.cn/thapi/v1/instagram/v1/fetch_user_info_by_username_v3",
+    "url": "https://server.fmode.cn/api/social/instagram/v1/fetch_user_info_by_username_v3",
     "headers": {
-      "Authorization": "Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==",
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
       "Accept": "application/json"
     }
   },

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

@@ -3,12 +3,12 @@
   "displayName": "Instagram 用户帖子列表",
   "description": "获取指定 Instagram 用户发布的帖子列表,包括图片、点赞数、评论数等。用于竞品内容策略分析、发帖频率和互动率评估。",
   "category": "social-media",
-  "version": "1.0.0",
+  "version": "1.2.0",
   "endpoint": {
     "method": "GET",
-    "url": "https://server.fmode.cn/thapi/v1/instagram/v1/fetch_user_posts_v2",
+    "url": "https://server.fmode.cn/api/social/instagram/v1/fetch_user_posts_v2",
     "headers": {
-      "Authorization": "Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==",
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
       "Accept": "application/json"
     }
   },

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

@@ -3,12 +3,12 @@
   "displayName": "TikTok 话题详情",
   "description": "根据话题/标签 ID 获取话题详情,包括总播放量、视频数量等。用于品类社媒热度统计、话题趋势追踪。",
   "category": "social-media",
-  "version": "1.0.0",
+  "version": "1.2.0",
   "endpoint": {
     "method": "GET",
-    "url": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_hashtag_detail",
+    "url": "https://server.fmode.cn/api/social/tiktok/app/v3/fetch_hashtag_detail",
     "headers": {
-      "Authorization": "Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==",
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
       "Accept": "application/json"
     }
   },

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

@@ -3,12 +3,12 @@
   "displayName": "TikTok 话题视频列表",
   "description": "获取指定话题/标签下的视频列表,用于分析话题内容趋势、发现热门创作者。",
   "category": "social-media",
-  "version": "1.0.0",
+  "version": "1.2.0",
   "endpoint": {
     "method": "GET",
-    "url": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_hashtag_video_list",
+    "url": "https://server.fmode.cn/api/social/tiktok/app/v3/fetch_hashtag_video_list",
     "headers": {
-      "Authorization": "Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==",
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
       "Accept": "application/json"
     }
   },

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

@@ -3,12 +3,12 @@
   "displayName": "TikTok 用户作品列表",
   "description": "获取指定 TikTok 用户发布的视频列表,包括每个视频的播放量和互动数据。用于竞品内容策略分析、红人内容表现评估。",
   "category": "social-media",
-  "version": "1.0.0",
+  "version": "1.2.0",
   "endpoint": {
     "method": "GET",
-    "url": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_user_post_videos",
+    "url": "https://server.fmode.cn/api/social/tiktok/app/v3/fetch_user_post_videos",
     "headers": {
-      "Authorization": "Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==",
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
       "Accept": "application/json"
     }
   },

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

@@ -3,12 +3,12 @@
   "displayName": "TikTok 用户详情",
   "description": "根据用户名获取 TikTok 用户的完整资料,包括粉丝数、获赞数、作品数、个人简介等。用于竞品品牌社媒画像、红人详情分析。",
   "category": "social-media",
-  "version": "1.0.0",
+  "version": "1.2.0",
   "endpoint": {
     "method": "GET",
-    "url": "https://server.fmode.cn/thapi/v1/tiktok/web/fetch_user_profile",
+    "url": "https://server.fmode.cn/api/social/tiktok/web/fetch_user_profile",
     "headers": {
-      "Authorization": "Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==",
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
       "Accept": "application/json"
     }
   },

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

@@ -3,12 +3,12 @@
   "displayName": "TikTok 用户搜索",
   "description": "按关键词搜索 TikTok 用户/达人,返回用户列表及粉丝数、关注数等基础信息。用于红人发现、达人库建设。",
   "category": "social-media",
-  "version": "1.0.0",
+  "version": "1.2.0",
   "endpoint": {
     "method": "GET",
-    "url": "https://server.fmode.cn/thapi/v1/tiktok/web/fetch_search_user",
+    "url": "https://server.fmode.cn/api/social/tiktok/web/fetch_search_user",
     "headers": {
-      "Authorization": "Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==",
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
       "Accept": "application/json"
     }
   },

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

@@ -3,12 +3,12 @@
   "displayName": "TikTok 视频评论查询",
   "description": "获取指定 TikTok 视频的用户评论列表,用于社媒用户情感分析、需求挖掘、红人互动率计算。",
   "category": "social-media",
-  "version": "1.0.0",
+  "version": "1.2.0",
   "endpoint": {
     "method": "GET",
-    "url": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_video_comments",
+    "url": "https://server.fmode.cn/api/social/tiktok/app/v3/fetch_video_comments",
     "headers": {
-      "Authorization": "Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==",
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
       "Accept": "application/json"
     }
   },

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

@@ -3,12 +3,12 @@
   "displayName": "TikTok 视频详情",
   "description": "根据视频 ID 获取单条 TikTok 视频的完整信息,包括播放量、互动数据、作者信息、话题标签等。用于爆款视频深度分析。",
   "category": "social-media",
-  "version": "1.0.0",
+  "version": "1.2.0",
   "endpoint": {
     "method": "GET",
-    "url": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_one_video",
+    "url": "https://server.fmode.cn/api/social/tiktok/app/v3/fetch_one_video",
     "headers": {
-      "Authorization": "Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==",
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
       "Accept": "application/json"
     }
   },

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

@@ -3,12 +3,12 @@
   "displayName": "TikTok 视频搜索",
   "description": "按关键词搜索 TikTok 视频,返回视频列表及播放量、点赞、评论、分享等互动数据。用于社媒热度分析、爆款视频发现、品类 TikTok 播放量统计。",
   "category": "social-media",
-  "version": "1.0.0",
+  "version": "1.2.0",
   "endpoint": {
     "method": "GET",
-    "url": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_video_search_result",
+    "url": "https://server.fmode.cn/api/social/tiktok/app/v3/fetch_video_search_result",
     "headers": {
-      "Authorization": "Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==",
+      "Authorization": "Bearer r:a5a19ea9868043b15d9b10423234ca43",
       "Accept": "application/json"
     }
   },

+ 5 - 5
social-voc/instagram-brand-voc/api-config.json

@@ -1,9 +1,9 @@
-{
+{
   "name": "instagram-brand-voc",
   "displayName": "Instagram品牌VOC采集",
   "description": "搜索竞品品牌Instagram账号,采集帖子和互动数据,分析品牌IG策略",
   "category": "social-voc",
-  "version": "1.0.0",
+  "version": "1.2.0",
   "type": "orchestration",
   "parameters": {
     "brandNames": {
@@ -26,7 +26,7 @@
       "forEach": "brandNames",
       "api": {
         "skill": "social-media/instagram-search",
-        "endpoint": "https://server.fmode.cn/thapi/v1/instagram/v1/fetch_search",
+        "endpoint": "https://server.fmode.cn/api/social/instagram/v1/fetch_search",
         "method": "GET",
         "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
         "queryParams": { "query": "${brandName}", "select": "users" }
@@ -41,7 +41,7 @@
       "forEach": "searchResults.topMatch",
       "api": {
         "skill": "social-media/instagram-user-info",
-        "endpoint": "https://server.fmode.cn/thapi/v1/instagram/v1/fetch_user_info_by_username",
+        "endpoint": "https://server.fmode.cn/api/social/instagram/v1/fetch_user_info_by_username",
         "method": "GET",
         "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
         "queryParams": { "username": "${account.username}" }
@@ -55,7 +55,7 @@
       "forEach": "brandProfiles",
       "api": {
         "skill": "social-media/instagram-user-posts",
-        "endpoint": "https://server.fmode.cn/thapi/v1/instagram/v1/fetch_user_posts",
+        "endpoint": "https://server.fmode.cn/api/social/instagram/v1/fetch_user_posts",
         "method": "GET",
         "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
         "queryParams": { "user_id": "${profile.user.pk}", "count": "${postsPerBrand}" }

+ 2 - 2
social-voc/social-trend-analysis/api-config.json

@@ -1,9 +1,9 @@
-{
+{
   "name": "social-trend-analysis",
   "displayName": "社媒趋势与热度分析",
   "description": "综合TikTok和Instagram数据,分析品类社媒趋势、热度走向和内容生态",
   "category": "social-voc",
-  "version": "1.0.0",
+  "version": "1.2.0",
   "type": "analysis",
   "parameters": {
     "tiktokCategoryVoc": {

+ 6 - 6
social-voc/tiktok-brand-voc/api-config.json

@@ -1,9 +1,9 @@
-{
+{
   "name": "tiktok-brand-voc",
   "displayName": "TikTok品牌VOC采集",
   "description": "搜索竞品品牌TikTok账号,采集发布内容和用户评论,分析品牌社媒策略",
   "category": "social-voc",
-  "version": "1.0.0",
+  "version": "1.2.0",
   "type": "orchestration",
   "parameters": {
     "brandNames": {
@@ -38,7 +38,7 @@
       "forEach": "brandNames",
       "api": {
         "skill": "social-media/tiktok-user-search",
-        "endpoint": "https://server.fmode.cn/thapi/v1/tiktok/web/fetch_search_user",
+        "endpoint": "https://server.fmode.cn/api/social/tiktok/web/fetch_search_user",
         "method": "GET",
         "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
         "queryParams": { "keyword": "${brandName}", "count": 5, "cursor": 0 }
@@ -53,7 +53,7 @@
       "forEach": "brandAccounts.topMatch",
       "api": {
         "skill": "social-media/tiktok-user-profile",
-        "endpoint": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/handler_user_profile",
+        "endpoint": "https://server.fmode.cn/api/social/tiktok/app/v3/handler_user_profile",
         "method": "GET",
         "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
         "queryParams": { "unique_id": "${account.unique_id}" }
@@ -67,7 +67,7 @@
       "forEach": "brandAccounts.topMatch",
       "api": {
         "skill": "social-media/tiktok-user-posts",
-        "endpoint": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_user_post_videos",
+        "endpoint": "https://server.fmode.cn/api/social/tiktok/app/v3/fetch_user_post_videos",
         "method": "GET",
         "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
         "queryParams": { "unique_id": "${account.unique_id}", "count": "${postsPerBrand}", "cursor": 0 }
@@ -82,7 +82,7 @@
       "forEach": "brandPosts → 按(digg_count+comment_count)降序取top5",
       "api": {
         "skill": "social-media/tiktok-video-comments",
-        "endpoint": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_video_comments",
+        "endpoint": "https://server.fmode.cn/api/social/tiktok/app/v3/fetch_video_comments",
         "method": "GET",
         "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
         "queryParams": { "aweme_id": "${post.aweme_id}", "count": "${commentsPerPost}", "cursor": 0 }

+ 6 - 6
social-voc/tiktok-category-voc/api-config.json

@@ -1,9 +1,9 @@
-{
+{
   "name": "tiktok-category-voc",
   "displayName": "TikTok品类VOC采集",
   "description": "基于品类关键词搜索TikTok视频并批量采集评论,提取用户讨论热点和情感倾向",
   "category": "social-voc",
-  "version": "1.0.0",
+  "version": "1.2.0",
   "type": "orchestration",
   "parameters": {
     "keywords": {
@@ -38,7 +38,7 @@
       "forEach": "keywords",
       "api": {
         "skill": "social-media/tiktok-video-search",
-        "endpoint": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_video_search_result",
+        "endpoint": "https://server.fmode.cn/api/social/tiktok/app/v3/fetch_video_search_result",
         "method": "GET",
         "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
         "queryParams": { "keyword": "${keyword}", "count": "${videoCount}", "cursor": 0 }
@@ -52,7 +52,7 @@
       "forEach": "searchResults → 按play_count降序取top10",
       "api": {
         "skill": "social-media/tiktok-video-comments",
-        "endpoint": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_video_comments",
+        "endpoint": "https://server.fmode.cn/api/social/tiktok/app/v3/fetch_video_comments",
         "method": "GET",
         "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
         "queryParams": { "aweme_id": "${video.aweme_id}", "count": "${commentsPerVideo}", "cursor": 0 }
@@ -67,7 +67,7 @@
       "forEach": "hashtags",
       "api": {
         "skill": "social-media/tiktok-hashtag-detail",
-        "endpoint": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_hashtag_detail",
+        "endpoint": "https://server.fmode.cn/api/social/tiktok/app/v3/fetch_hashtag_detail",
         "method": "GET",
         "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
         "queryParams": { "ch_name": "${tag}" }
@@ -82,7 +82,7 @@
       "forEach": "hashtagDetails",
       "api": {
         "skill": "social-media/tiktok-hashtag-videos",
-        "endpoint": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_hashtag_video_list",
+        "endpoint": "https://server.fmode.cn/api/social/tiktok/app/v3/fetch_hashtag_video_list",
         "method": "GET",
         "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
         "queryParams": { "ch_id": "${hashtag.cid}", "count": 20, "cursor": 0 }