一、 核心问题重述 (Problem Statement)
问题 1:邀约功能的交付形态与稳定性
- 现状: 使用浏览器插件(Extension)。
- 痛点: 客户端环境不可控(系统版本、网络代理、冲突插件),导致Bug频发且难以调试。
- 目标: 去插件化。将邀约功能改为纯网页版,无缝集成进商家SaaS后台。
- 核心挑战: 网页端受同源策略限制无法直接操作TikTok。
- 技术选型: 采用 后端RPA(Server-side RPA) 方案,即用户在网页下指令,服务器端运行脚本/无头浏览器模拟操作。
问题 2:系统架构耦合
- 现状: 商家控制台与运营(内部)控制台代码混同。
- 痛点: 业务逻辑(商家侧)与管理逻辑(运营侧)强耦合,开发新功能牵一发而动全身,数据权限风险高。
- 目标: 物理与逻辑分离。构建独立的商家端与运营端系统。
二、 解决方案架构 (Solution Architecture)
将整个改进计划分为两个平行的轨道:架构分离(基础建设) 和 RPA中台构建(核心攻坚)。
1. 架构分离方案:拆分“商家”与“运营”
为了支持复杂的RPA调度并保证数据安全,必须将两端彻底分开。
- 前端分离 (Physical Split):
- Seller Console (Vue/React): 专注于极致的用户体验。集成“邀约任务面板”,展示任务进度(如:队列中、执行中、成功/失败截图)。
- Admin Console (Vue/React): 专注于系统监控。增加“RPA节点监控”、“IP池状态”、“全局任务队列”等运维看板。
- 后端分离 (Logical Split):
- API Gateway / BFF: 区分
/api/seller/*和/api/admin/*。 - 数据库策略: 共享同一个数据库实例,但通过代码层的
TenantID强制隔离商家数据。运营端拥有超级权限。
- API Gateway / BFF: 区分
2. RPA 核心方案:构建“云端仿真执行层”
这是本方案成败的关键。既然选择后端RPA,就必须建立一套抗风控、防关联的任务调度系统。
系统流程图:
三、 关键技术实施细节 (Technical Deep Dive)
以下三个技术点是你们必须解决的“生死线”:
1. 账号防关联体系 (Anti-Association Infrastructure)
TikTok 对数据中心 IP(阿里云/AWS)非常敏感,直接用服务器发请求会秒封号。
- IP 代理策略: 必须接入 动态住宅代理 (Residential Proxies)(如 Bright Data, Oxylabs 等)。每个商家账号必须绑定固定的 IP 区域或保持 Session 粘性,避免IP跳变导致风控。
- 浏览器指纹 (Fingerprinting): 不能只用标准的 Puppeteer。你需要引入插件来修改浏览器指纹(User-Agent, Canvas, WebGL, AudioContext, Screen Resolution)。
- 建议: 研究 Playwright 配合
playwright-extra和puppeteer-extra-plugin-stealth,或者直接购买现成的指纹浏览器内核服务。
- 建议: 研究 Playwright 配合
2. 账号状态同步 (Cookie/Session Management)
用户在网页版没办法直接登录 TikTok,那服务器怎么拿到登录态?
- Cookie 导入: 让用户安装一个极其轻量的插件(只用于提取 Cookie)或者让用户手动复制 Cookie 填入后台(体验较差)。
- Cookie 养号: 后端需要定期(如每6小时)唤醒浏览器刷新页面,保持 Cookie 活跃,避免过期。
3. 异步任务与反馈 (Asynchronous UX)
网页版不像插件那样是即时反馈的。
- 交互模式变更: 用户点击“批量邀约”后,不能让用户干等。
- 设计: 立即提示“任务已加入队列,预计 5 分钟内完成”。
- 可观测性: 在商家后台提供一个“任务中心”,展示:
待执行: 10|成功: 8|失败: 2 (原因: 对方设置隐私)。最好能把 RPA 运行时的关键步骤截图(截取 DOM 元素)回传给前端,增加用户信任感。
四、 风险预警与应对 (Risk Management)
| 风险点 | 严重程度 | 应对策略 |
|---|---|---|
| IP 封禁/关联 | 🔥 高危 | 严禁使用服务器本机 IP。必须预算购买高质量的住宅代理。为大客户分配独享 IP。 |
| 验证码拦截 | 🔥 高危 | 集成第三方打码平台(如 2Captcha, YesCaptcha),当 RPA 遇到滑块或验证码时自动解决。 |
| TikTok 改版 | ⚠️ 中 | DOM 结构变更会导致脚本失效。建立“金丝雀监控”,每天自动跑一遍测试流程,一旦报错立刻通知开发修脚本。 |
| 并发性能 | ⚠️ 中 | 浏览器非常吃内存。限制每个商家的并发任务数,使用队列排队机制,防止服务器崩溃。 |
五、 总结与下一步行动
总结: 将**“SaaS 业务系统”与“云端仿真机器人系统”**相结合。
- 分离控制台是为了让业务跑得更快、更稳。
- 后端 RPA 是为了绕过客户端环境限制,但代价是极高的后端维护成本和对抗风控的成本。
下一步行动:
- 架构侧: 立即启动前后端分离工作,优先搭建独立的 Admin 运营后台框架。
- RPA 侧(POC 验证): 在不写完整业务逻辑的情况下,先写一个 Demo:
- 在服务器上跑通 Playwright + 住宅代理。
- 尝试模拟登录 TikTok 并成功发送一条消息。
- 如果这一步因为风控无法通过,整个方案 B 就需要重新评估。
Last updated on