关于 tiktok-warmup
面向 Flooently 和 Blaze TikTok 账号的半人工暖号技能,使用 Multilogin 浏览器配置文件执行会话。它通过命令运行预先规划的暖号流程,并由 Faiyam 处理验证码、重新登录等人工排障。
主要功能
- 01通过命令规划并执行暖号会话
- 02使用 Multilogin 浏览器配置文件
- 03支持浏览器和云手机会话
- 04从 Airtable 刷新账号缓存
- 05记录会话并检查账号风险
适用场景
- 01为新 TikTok 账号安排暖号会话
- 02跨多个账号并行执行暖号
- 03排查验证码或重新登录问题
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ frahman5/ fstack --skill tiktok-warmup安装后在 Claude Code 中输入/tiktok-warmup确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
accountCreationRef.mdcompute_health_score.pyaccountsRef.mdcanonicalSchema.jsonbrowserWarmupRef.mdairtableRef.mdadoptAccountRef.mdcomputerUseRef.mdauditLogs.mdexecuteWarmupsServerRef.mdmultiloginRef.mdnightlyAuditRef.mdpeekabooRef.mdcoverage.pyregenerate-mlx-token.pyloginRef.mdproxyRefreshRef.mdrefresh_proxy.pycreateTiktokRef.mdrunNightlyAudit.mdschemaAudit.mdresolve_airtable_schema.pywrite_temp_data.pysessionDesignRef.mdexecuteWarmupsRef.mdvalidate_schema.pyruntimeLearnings.mdsupabase_logger.pytiktok-warmup-poc.py详细介绍
TikTok 预热技能
使用 Multilogin 浏览器配置文件为 Flooently + Blaze 预热 TikTok 账号。目标受众是拉丁美洲各地学习西班牙语的人群。
现在这是一个半手动系统。 Faiyam 准备好预热时会运行 /execute-warmups(参见 prompts/execute-warmups.md)。Agent 会规划当天的会话,在多个账号间并行运行,并依靠 Faiyam 手动排查问题(CAPTCHA、重新登录、异常弹窗)。没有后台调度器,也没有 cron——只需运行斜杠命令。
预检 — 加载技能后立即运行
首先,从 fstack 将技能更新到最新版本:
npx skills update
然后运行以下检查,并报告每项活动的健康状态。不要阻塞流程——只需向用户说明哪些已就绪,哪些尚未就绪。
source .env.cli 2>/dev/null || true
# 1Password — TikTok vault
OP_VAULT_STATUS="❌ OP_SERVICE_ACCOUNT_TOKEN not set"
if [ -n "$OP_SERVICE_ACCOUNT_TOKEN" ]; then
VAULTS=$(OP_SERVICE_ACCOUNT_TOKEN=$OP_SERVICE_ACCOUNT_TOKEN op vault list --format=json 2>&1)
if echo "$VAULTS" | python3 -c "import json,sys; names=[v['name'] for v in json.load(sys.stdin)]; assert 'Tiktok' in names" 2>/dev/null; then
OP_VAULT_STATUS="✅ 1Password Tiktok vault accessible"
else
OP_VAULT_STATUS="❌ Tiktok vault not found (wrong OP token, or vault not shared with this service account)"
fi
fi
# MLX token
MLX_STATUS="❌ MLX_AUTOMATION_TOKEN not set"
[ -n "$MLX_AUTOMATION_TOKEN" ] && MLX_STATUS="✅ MLX_AUTOMATION_TOKEN set"
# AgentMail
AM_STATUS="❌ AGENTMAIL_KEY not set"
[ -n "$AGENTMAIL_KEY" ] && AM_STATUS="✅ AGENTMAIL_KEY set"
# Airtable — token must be present AND resolver must find a matching base
AT_STATUS="❌ AIRTABLE_ACCESS_TOKEN not set"
if [ -n "$AIRTABLE_ACCESS_TOKEN" ]; then
RESOLVER_OUT=$(python3 .agents/skills/tiktok-warmup/resolve_airtable_schema.py 2>&1)
if [ $? -eq 0 ]; then
AT_STATUS="✅ $(echo "$RESOLVER_OUT" | head -1)"
else
AT_STATUS="❌ Airtable resolver failed: $(echo "$RESOLVER_OUT" | tail -2 | head -1)"
fi
fi
echo ""
echo "🔍 Environment Health"
echo ""
echo " Account Warmup:"
echo " $MLX_STATUS"
echo " $OP_VAULT_STATUS"
echo " $AM_STATUS"
echo " $AT_STATUS"
echo ""
echo " Account Creation:"
echo " $OP_VAULT_STATUS (needs read+write)"
echo " $AM_STATUS"
echo " $AT_STATUS"
echo ""
继续之前,先向用户报告输出。如果缺少预热前提条件(MLX + OP vault),请告诉用户预热无法运行,并询问他们是否想先解决这些问题。
参考文件
| 文件 | 用途 |
|---|---|
| multiloginRef.md | Multilogin X API 参考——身份验证、工作区 ID、配置文件 ID、如何启动/停止配置文件、Playwright 连接。 |
| browserWarmupRef.md | 浏览器预热协议——通过 Multilogin 浏览器配置文件,在 tiktok.com 上运行拟人化的 Playwright 会话。首选方式。 |
| loginRef.md | TikTok 登录流程——由你以 Agent 方式完成,绝不要委派给 ensure_login.py。涵盖凭据存放位置(1Password Claude-Accessible vault)、OTP 获取方式(AgentMail)、验证码处理,以及视觉登录验证检查清单。 |
| sessionDesignRef.md | 如何编排每个账号的任务队列。 在早期阶段,目标是让明确针对细分领域的内容占比达到 50% 以上。按周推荐的任务组合、反模式以及 Sofia 的实际示例。为任何一次 /execute-warmups 运行构建队列时都要阅读此文件。 |
| accountsRef.md | 账号注册表自动刷新协议。 账号存储在 Airtable 中;脚本从 scripts/warmup/accounts.json 读取。Agent 会在每次 /execute-warmups 运行的第 2 步刷新缓存,因此新增或移除的账号会自动同步,无需修改代码。 |
| airtableRef.md | Airtable 基础、表和字段 ID——Accounts + Session Log 是我们使用的两个表。 |
| computerUseRef.md | 云端手机预热——基于计算机操作。仅用于后期阶段或特殊情况。 |
| peekabooRef.md | Peekaboo CLI 备用方案——在云端手机会话的 request_access 失败时使用。 |
| proxyRefreshRef.md | 代理刷新协议——何时以及如何通过 API 轮换配置文件的 IP。封禁风险决策树、生成和更新流程、国家代码、故障处理。另请参见独立脚本 refresh_proxy.py。 |
| runtimeLearnings.md | 实时会话中的操作经验——每次执行前都要阅读。 |
| accountCreationRef.md | 如何创建 TikTok 账号并将凭据存入 1Password。 |
| createTiktokRef.md | /create-tiktok 的完整交互式协议——逐步介绍账号创建流程。 |
| adoptAccountRef.md | 如何整合由他人创建的 TikTok 账号(例如 Fiverr 自由职业者创建的账号)——接管凭据、设置 Multilogin、在 Airtable 中注册、连接 Postiz、生成搜索词。 |
| executeWarmupsRef.md | /execute-warmups 的完整协议——规划并运行所有活跃账号的预热会话。 |
协议
- 运行今天的预热(主要任务):触发 /execute-warmups。完整协议见 executeWarmupsRef.md。
- 运行一次性浏览器预热会话:阅读 multiloginRef.md + browserWarmupRef.md + runtimeLearnings.md,然后调用 scripts/tiktok-warmup-poc.py。
- 运行移动端预热会话(较少):阅读 multiloginRef.md + computerUseRef.md + runtimeLearnings.md。
- 创建新的 TikTok 账号:触发
/create-tiktok。完整协议见 createTiktokRef.md。 - 接管外部创建的账号(例如从 Fiverr 获取):阅读 adoptAccountRef.md,并逐步引导用户完成操作。
- Multilogin API 操作:阅读 multiloginRef.md。
设计理念
目标是每天为每个账号预热 30–90 分钟,拆分为 2–4 个每次 15–30 分钟的会话。第 1–2 周安排休息日是正常的(每个账号的休息日按确定性规则安排)。Scheduled Sessions Airtable 表已弃用;我们直接将结果记录到 Session Log。
封禁风险视角——应用于每一项策略决策
评估任何基础设施或工作流选择(代理设置、IP 轮换、会话时间、账号操作、工具)时,都要明确分析:这会如何影响 TikTok 的封禁风险?
TikTok 的信任系统会持续追踪设备指纹和 IP 的一致性。分析任何决策时,都要考虑以下主要封禁风险因素:
- IP 一致性:每个账号每个会话使用相同的 IP;各会话间使用相同的地理位置。任何 IP 变更都是一次风险事件。
- 会话真实性:停留时间应符合真人行为,滚动速度自然,避免机器人模式的操作(立即点赞、每次会话时长完全相同)。
- 账号年龄信号:新账号会受到重点审查;前 14 天是风险最高的时期。
- 指纹稳定性:Multilogin 配置文件指纹(设备、浏览器、操作系统)在预热期间绝不能改变。
- 操作频率:在一次会话中关注、点赞或评论过多会触发垃圾信息检测。
提出任何变更时,都要问:这会让账号看起来更像还不够像真人在稳定的网络上使用真实手机吗? 如果更不像,就找到不会产生这种影响的方案。