时间
类别
全选
Videos
Shorts
国家
全选
US
BR
ID
TH
VN
其他 ▾
游戏
全选
SLG 策略
休闲游戏 Casual
RPG 角色扮演
MOBA
FPS / TPS 射击
沙盒 Sandbox
云游戏 Cloud Gaming
其他 Others
达人
全选
Review/Analysis
Tutorial/Guide/Play
Highlights/Clips
News/Commentary
本周入库
0
建联漏斗
0
初次建联
0
已打开
0
已回复
启动合作
0
总订阅量
0
库内全部达人
国家来源 Top 5
按入库达人数量
订阅段分布
达人数量 × 订阅量级
0
1万-10万
0
10万-50万
0
50万-100万
0
100万-500万
0
500万+
互动率 × 播放率气泡图
气泡大小 = 订阅数;颜色区分内容类型
Videos
Shorts
达人分层归属
按内容类型分类,决定投放优先级
来源类型
长视频为主
主池
Shorts占比 < 30%
0 位达人
占库内 0%
来源类型
Shorts 为主
Shorts 池
Shorts占比 > 70%
0 位达人
占库内 0%
来源类型
混合 / 低活跃
低健康
近30天发布 < 2条
0 位达人
占库内 0%
共 0 位达人
建联状态
全部0
未建联0
已发送0
已打开0
已回复0
合作中0
已拒绝0
本页所有频道
Videos
Shorts
内容方向
SLG 策略0
休闲游戏0
RPG 角色扮演0
MOBA0
FPS / TPS0
沙盒 Sandbox0
云游戏0
其他0
达人类型
Review/Analysis0
Tutorial/Guide/Play0
Highlights/Clips0
News/Commentary0
其他0
已选 0 位
频道 国家 评论情感 入库来源 内容方向 达人类型 订阅数 互动率 播放率 品牌 入库日期 邮箱 已发送邮件
📥 达人入库
0%0/0
准备中...
🌐 Comment语言校验
0%0/0
准备中...
YouTube 达人筛选
Videos / Shorts 双模式 · 本地存储 · 参数可实时调整
API 配额
今日总余额 -- / -- --%
💡 多个Key自动轮换,配额耗尽自动切换 · 太平洋时间 00:00 重置
API 调取流程 & 配额消耗明细
步骤 API 端点 配额/次 通道A 通道B 说明
1.搜索收集 videos.list
(chart=mostPopular)
1/页 4~8 通道A:获取地区热门游戏视频
1.搜索收集 search.list
(type=video)
100/页 1200~4800 通道B:关键词搜视频
2.粗筛频道 channels.list 1/50频道 ≈3~4 ≈6~12 批量获取订阅/国家,淘汰50-70%
3.深入分析 playlistItems.list 1/频道 ≈1/频道 ≈1/频道 仅通过粗筛的频道
3.深入分析 videos.list 1/频道 ≈1/频道 ≈1/频道 获取播放/点赞/评论/品牌合作
通道A 总计(热门扫描) ≈300~500 4页热门≈8 + 频道处理≈300~400
通道B 总计(关键词搜索) ≈3,000~6,000 12关键词×4页≈4800 + 频道处理
💡 粗筛流程:订阅数 → 注册国家(空值放行)→ 游戏类型(topicDetails,空值放行)→ 仅通过者进入深入分析
筛选参数
· 频道语言影响搜索结果相关性排序
· 注册国家为注册时填写的国家信息
· 此字段由创作者自行填写,可能与所在地不符
💡 搜索通道说明
🔥 通道A(热门视频扫描):直接获取目标地区当前热门游戏频道的视频,regionCode 地区过滤有效,无需关键词,配额消耗极低(约 408 单位),适合快速摸底热门达人。覆盖约 150-200 个频道。
🔍 通道B(关键词精准搜索):按关键词搜索视频,从视频中提取频道信息,精准度高但配额消耗大(约 5,224 单位),适合垂直领域深挖。搜索阶段 regionCode 对关键词搜索无效。
建议:先跑通道A快速覆盖热门达人,再跑通道B精准深挖,结果自动去重合并。两个通道同时只能运行一个。
📊 数据分析基数
所有数据分析基数为 maxResults = 50条 Videos,已过滤掉 Shorts(≤60秒)
暂无搜索记录
0
已扫描
0
已通过
0
不符合
0
有合作记录
0
配额消耗
实时日志
已通过 (0) 不符合 (0) 全部 (0)
# 频道名称 订阅数 均播 播放率 互动率 最新发布 国家 邮箱 关键词 品牌 状态
暂无数据
转化率参数设置 (修改后自动重算)
点击用户 = 均播 × 点击率
下载量 = 点击用户 × 下载率
总效果 = 下载量 × 单价
建议金额 = 总效果 × 风险区间
点击用户 = 均播 × 点击率 → 下载量 = 点击用户 × 下载率 → 总效果 = 下载量 × 单价 → 建议合作金额 = 总效果 × 风险区间
含邮箱达人:0 名  ·  已勾选:0
勾选后邮件会同时发送到测试邮箱
# 频道名称 订阅数 近10条均播 互动率 邮箱 建议合作金额 (USD)
暂无达人数据,请先在达人库选择达人后点击「发起建联」
📧 邮件工作区域
📮 腾讯企业邮箱 SMTP 未连接
🏢 服务器:smtp.exmail.qq.com  ·  端口:465(SSL)
请在企业邮箱「设置 → 客户端设置」开启 SMTP,使用授权码登录
🔍 自建邮件追踪(可选) 未启用
启用自建邮件追踪
邮件仍通过腾讯企业邮箱 SMTP 发送。
开启后,自建追踪服务将为每封邮件注入追踪标识,实时记录打开与点击行为。
📮 腾讯 SMTP 发送 🔍 自建追踪层
已关闭
✏️ 邮件模板编辑
邮件正文 · [Creator Name] 占位符将在发送时自动替换

Hi [Creator Name],

I've been watching your game videos, and I really love your content style and energy.

We're looking for creators like you to make a paid gameplay / review video for our mobile game—Starparks.

What we offer:

  • Full creative control (keep your own style)
  • Free game support
  • No strict script

If you're interested, I can send you the full collaboration details right away.

Best regards,
Kxun
CEO
300 LIVE

📤 邮件发送
📮
SMTP 直发(腾讯企业邮箱)
邮件将通过腾讯企业邮箱 SMTP 直接发送,不含追踪功能
0
待发送
0
成功
0
失败
就绪,请勾选目标达人后发送
📊 自建追踪投递统计 Analytics
📊
自建追踪未启用
开启上方「自建邮件追踪」并完成配置后,此处将显示数据
📅 发送记录(按日期)
暂无发送记录
📧 邮件预览
主题
正文
账号
API 配置
数据刷新
邮件工具
通知
成员管理
系统方案
存储方案
多重语言校对
Api方案
达人标签参数
Related channels
API 配置
YouTube Data API Key
用于频道数据抓取,每日配额 10,000 units
每日刷新比例
库内存量达人每日刷新的比例
刷新时间(UTC)
每日自动刷新执行时间
配额监控
配额预警阈值
消耗超过此比例时发送通知
禁用 search.list
强制禁用高消耗端点(100u/次)
邮件工具同步
Webhook URL
邮件工具推送建联状态变更的地址
自动同步
打开/回复状态自动更新到达人库
时区
所有时间戳以此时区为准
系统方案 · Related channels
YouTube 关联频道分析的技术原理、采用方案、指标定义与合规约束
→ 打开分析页 独立窗口 ↗
系统方案 · 存储方案
全量原始 JSON 存储(方案A)— 本地存储,未来可迁移 PostgreSQL
方案A 已选用
方案A 全量原始 JSON 存储
核心策略:将 YouTube Data API 的完整响应 JSON 直接存储到本地文件系统,不做字段提取或裁剪。
当前存储
本地文件系统 (JSON)
未来扩展
PostgreSQL (JSONB)
数据格式:每个 API 端点的响应保存为独立 JSON 文件,按频道 ID 组织目录结构。文件命名含时间戳,天然支持历史版本。
迁移路径:本地 JSON 目录结构与 PostgreSQL JSONB 字段一一对应。迁移时只需 jsonb_populate_record 或 ORM 批量导入,无需数据转换。
存储开销:全量 JSON 比结构化提取大约 15-20 倍,但 gzip 压缩后约 70% 缩减,10 万达人约需 80-120 GB(含 7 版本快照)。
存储策略对比
方案A(已选) 全量原始 JSON
channels.list
videos.list
playlistItems
原始JSON合计
gzip压缩后
含7版本快照
✓ 数据完整,不怕遗漏字段
✓ API 响应直接落盘,开发速度快
✓ 未来可无缝迁移到 PostgreSQL JSONB
✗ 存储空间大,10万达人约 80-120 GB
方案B(备选) 结构化提取存储
channels 主表
视频统计数据
日志+配额
数据库合计
含索引
含7版本快照
✓ 存储极小,10万达人仅约 5-8 GB
✓ 查询性能高,结构化索引
✗ 需预先设计表结构,字段变更需迁移
✗ API 返回新字段时需手动加列
磁盘资源占用预估
基于当前达人数量,按方案A(含 7 版本快照)计算
达人数量
100,000
原始 JSON
gzip 压缩
含7版本快照
建议磁盘
本地存储目录结构(可扩展至 PostgreSQL)
data/
  ├── channels/
  │   ├── UCxxxxxxxxx/
  │   │   ├── 2025-04-19T08:00.json
  │   │   ├── 2025-04-18T08:00.json
  │   │   └── ...
  │   └── ...
  ├── videos/
  │   ├── UCxxxxxxxxx/
  │   │   ├── 2025-04-19T08:00.json
  │   │   └── ...
  │   └── ...
  └── playlists/
      ├── UCxxxxxxxxx/
      │   └── 2025-04-19T08:00.json
      └── ...
迁移到 PostgreSQL 时:每个 JSON 文件 → api_responses 表的一行记录,payload 列使用 JSONB 类型存储完整响应,目录路径映射为 (channel_id, endpoint, fetched_at) 复合主键。
云端存储状态
所有数据已迁移至云端 PostgreSQL,以上为云端各模块记录数。清空操作将删除对应云端数据。
系统方案 · Api方案
4张核心表 × 前端功能 × API端点 关联脑图 — 点击读取字段查看所有引用功能
数据库 4 张核心表核实
channels(达人基础数据) 15 字段
channel_id PK · channel_name · country · subscribers · avg_views_30 · play_rate · engagement_rate · last_published_at · has_sponsorship · email · game_type enum · creator_type enum · content_type · activity_30d · imported_at
outreach(建联记录) 7 字段
id PK · channel_id →channels · sent_at · opened_at · replied_at · deal_started_at · campaign_id
users(账号体系) 5 字段
id PK · email · password_hash · role admin/viewer · created_at
sync_logs(同步日志) 5 字段
id PK · source email_tool/google_api · synced_at · records_count · status
数据库、前端功能与 YouTube API 端点关联脑图
点击读取字段标签 → 查看所有引用该字段的前端功能 | 点击功能行 → 查看数据链路说明
channels
outreach
users
sync_logs
本地计算(0 units)
系统方案 · 达人标签参数
内容方向与达人类型的匹配关键词/判定规则 — 入库时自动分类,支持手动修正
内容方向 游戏类型 — 匹配关键词示例
入库时扫描全部视频(约50条),统计每个分类的关键词命中视频数,取命中最多的分类打标。
达人类型 匹配关键词示例
入库时扫描全部视频(约50条),统计每个达人类型的关键词命中视频数,取命中最多的类型打标。
打标逻辑说明 · 计分制
入库时对每位达人的约 50 条视频逐条扫描,统计每个分类/类型的关键词命中视频数,取命中视频数最多的作为打标结果(而非第一次命中即打标)。同分时取列表靠前项。无命中时回退为"其他"。打标完成后支持在达人库手动修正。
系统方案 · 多重语言校对
Comment 语言校验 — 服务端检测方案(v2)
规划中
一、架构概览
浏览器前端                 腾讯云服务器                                    外部
───────────               ────────────────                                  ─────
                            ┌─ gamecreator-hub (:3000)
点击"Comment语言校验" ──→ │  POST /api/lang-check                  │
                            │    1. 调 YouTube API 取评论        │──→ YouTube Data API v3
                            │    2. 调 Python fasttext 检测语言 │
                            │    3. 60%规则判定 → 写PG + 返回 │
                            └────────────┬───────────────────┘
                                           │
                                  PostgreSQL
                                comment_lang / lang_verified_at
核心变化:YouTube API 调用 + 语言检测全部在服务端完成,前端只发一个请求。API 配额:12 units / 次
二、语言判定规则(核心)
条件 comment_lang 值 前端显示
某语言占比 > 60%该语言代码(如 th、en)国家代码右侧显示 ✅ th
无语言超 60%国家代码右侧显示 ✅ ❓
无评论 / 评论关闭null国家代码右侧显示
未校验null(lang_verified_at 也为空)国家代码右侧无任何标识
TH 频道,评论70%泰语 → TH ✅ th
US 频道,45%英语+40%西语 → US ✅ ❓
JP 频道,未校验 → JP
KR 频道,评论被关闭 → KR —
三、数据库变更
-- creators 表新增两列
ALTER TABLE creators ADD COLUMN comment_lang text;
ALTER TABLE creators ADD COLUMN lang_verified_at timestamptz;
类型 说明
comment_langtextnull=未校验或无评论;语言代码=超60%;❓=无语言超60%
lang_verified_attimestamptz最近一次校验时间,null=未校验
四、后端新增 API(gamecreator-hub :3000)
4.1 下载 fasttext 模型
cd /var/www/gamecreator-hub
wget -q https://dl.fbaipublicfiles.com/fasttext/supervised-models/lid.176.bin \
     -O /var/www/gamecreator-hub/lid.176.bin
4.2 Python 语言检测脚本(/var/www/gamecreator-hub/lang_detect.py
#!/usr/bin/env python3
import sys, fasttext
model = fasttext.load_model('/var/www/gamecreator-hub/lid.176.bin')
for line in sys.stdin:
    t = line.replace('\n',' ').strip()
    if t:
        pred = model.predict(t, k=1)
        print(pred[0][0].replace('__label__',''))
    else: print('und')
4.3 POST /api/lang-check — 处理流程
请求体:{ "channelId": "UCxxxxxx", "apiKey": "AIzaSy..." }
① channels.list → uploadsPlaylistId② playlistItems → 最近10个视频ID③ commentThreads → 各3条(共30条)④ fasttext检测⑤ 60%规则判定 → 写PG
4.4 返回格式
{ "channelId": "UCxxxxxx",
  "comment_lang": "th",
  "lang_verified_at": "2026-04-23T12:00:00Z",
  "detail": { "totalComments":30, "langDistribution":{"th":22,"en":5,"ko":3},
             "topLang":"th", "topLangRatio":0.73, "rule":"th 73% > 60% → th" } }
4.5 异常情况
• 评论关闭 / 0 条评论 → comment_lang = nulllang_verified_at = now()
• YouTube API 报错 → HTTP 500 + 错误信息
• PUT /api/creators allowed 扩展:增加 comment_lang, lang_verified_at
五、前端变更
5.1 新增按钮
在「移出库」按钮后新增 「Comment语言校验」 按钮:
• 默认 dimmed(灰色半透明),选中达人后激活
• 每次仅允许选中 1 个达人进行校验
• 校验中显示 loading 旋转图标
5.2「国家」列显示变更(在国家代码右侧追加标识)
未校验:TH
已校验有主语言:TH ✅ th
已校验无主语言:TH ✅ ❓
已校验无评论:TH —
5.3 新增 JS 函数 langCheckCreator()
① 检查选中达人数量(必须且仅1个)
② 获取选中达人的 channelId
③ 选择配额最低的 API Key
④ POST /api/lang-check { channelId, apiKey }
⑤ 成功后更新本地数据 + 重新渲染列表
⑥ 按钮恢复状态
六、执行步骤(12 步)
# 操作 文件 / 位置
1下载 fasttext lid.176.bin 模型服务器
2创建 lang_detect.py 脚本/var/www/gamecreator-hub/
3测试 Python 脚本服务器命令行
4PG 增加列 comment_lang + lang_verified_at服务器 psql
5server.js 增加 child_process + detectLanguages()服务器
6server.js 新增 POST /api/lang-check 路由服务器
7server.js PUT allowed 扩展服务器
8pm2 restart gamecreator-hub服务器
9前端 UI + JS 变更ai-tools/index.html
10同步变更youtube-tools/index.html
11node --check 语法验证服务器
12端到端测试浏览器
七、风险与备选
风险 应对
lid.176.bin 下载失败scp 传输
YouTube 视频无评论comment_lang=null,显示 TH —
评论被关闭同"无评论"处理
API Key 配额耗尽前端选配额最低 Key,耗尽时提示用户
← 返回筛选 📋 关键词搜索记录