11 KiB
CreatorHub 内部技术探索方案
状态:历史探索记录,不再作为当前产品范围与验收依据。 当前权威入口:需求细化与验收标准。冲突以该文档及使用者最新确认为准;以下“本轮”“当前”均指 2026-08-27 的旧探索阶段。 旧阶段 A 仅离线 Mock,不等于新计划 G0/G1;旧“仅自有账号”、自动动作排除项和逐次草稿确认不限制新计划中的公开可访问/已授权竞品采集及按策略自动响应。人工发送仍逐次确认。 本文中的 RBAC、Secret Manager 等历史设想不构成本期新增系统要求;实际部署与现有认证见部署说明,不因新开发目标而宣称旧认证已移除。 日期:2026-08-27 上游参考快照:
3441293738/creatorhub@11df1389ee557169bb2381e5ea08de96f14f80c7
1. 定位
CreatorHub 是一个内部、非公开的多账号运行环境与运营任务技术实验台,只处理团队自有或已获明确授权的账号。
阶段 A 采用单用户模式,只用于验证账号隔离、任务幂等、停止和审计等核心能力。多用户协作、账号负责人、RBAC 和职责隔离后续另行规划,不属于当前实现或验收范围。
当前目标不是形成对外产品承诺,而是回答三个工程问题:
- 多账号 Profile、运行时和网络出口能否稳定隔离并可复现;
- 账号、单用户确认、任务和执行证据能否形成最小可审计闭环;
- 平台页面、登录态或运行环境变化时,系统能否及时观测、停止并安全恢复。
判断标准是实验可复现、凭据不泄露、账号不串用、任务不重复、异常可停止;不以“通过平台检测”或“降低封禁率”作为指标。
2. 探索范围
纳入本轮
- 1 个本地 workspace;
- 团队自有或有明确授权记录的测试账号;
- 指纹 Chromium 与系统 Chrome 的运行时接入、版本固定和 Profile 隔离;
- 受管网络出口的绑定、健康观测和失败关闭;
- 账号台账、凭据引用和状态;
- 草稿、单用户显式确认、队列、执行结果、暂停和审计;
- 授权沙箱中的兼容性矩阵、黑盒观测和停止条件。
暂不纳入
- 公众注册、多租户 SaaS、计费、客服和 SLA;
- 多用户协作、账号负责人、RBAC 和职责隔离;
- 市场推广、外部客户承诺和规模化部署;
- 自动评论、批量私信、自动关注、刷量和未授权数据采集;
- 验证码或设备校验绕过、私有签名、逆向接口、TLS/JA3/指纹伪装;
- 平台提示异常后通过换代理、换设备、换身份或自动重试继续执行。
这些边界保护实验账号、凭据和数据,也避免把不可验证的规避假设写成工程需求。
3. 五个领域的优先级
P0 是首轮验证必需,P1 仅在 P0 通过后开展。
| 领域 | P0 | P1 | 本轮停止线 |
|---|---|---|---|
| 运行环境 | 每账号独立 Profile;运行时版本固定;单实例占用锁;环境变更留痕;浏览器崩溃可见 | 升级灰度、备份恢复、跨 OS 兼容矩阵 | Profile 串用、版本漂移、设备校验或未知挑战页 |
| 网络出口 | 账号稳定绑定;连通性与认证观测;出口失效时禁止静默直连;凭据脱敏 | 容量、延迟、可用率和成本统计 | 出口地址/地区异常变化、认证失败、网络策略不明确 |
| 账号池 | 自有/授权标记;平台账号唯一键;凭据只存引用;状态和撤销 | 标签、归档、登录态健康 | 授权不明、账号映射冲突、凭据进入日志 |
| 单用户确认 | 草稿显式确认;确认版本锁定;紧急停机;追加式审计 | 多用户、负责人和 RBAC 另行规划 | 确认版本不一致、无法确认操作者 |
| 任务编排 | capability allowlist;幂等键;单次提交;暂停/取消;明确结果证据;needs_confirmation |
排期、失败分类、人工恢复和只读健康看板 | 403/429、验证码、设备校验、平台警告、结果不确定 |
4. 最小系统形态
React/Vite 内部管理台
│
▼
模块化单体控制面 ─── Postgres
│
▼
一个持久任务 Worker
│
├─ 官方能力连接器
└─ 受控浏览器执行器
Secret Manager / OS Keyring 只保存凭据,数据库仅存引用。
本轮不拆微服务、不引入通用工作流引擎。Postgres 的唯一约束、事务和行锁足以完成幂等、租约和状态推进。
最小实体
social_account,credential_refruntime_profile,network_exit,environment_bindingcontent_draft,confirmation,operation_task,execution_attemptobservation_event,audit_event
任务状态:
draft → pending_confirmation → confirmed → queued → executing → succeeded / failed / needs_confirmation / policy_hold / cancelled
needs_confirmation 与 policy_hold 只能由当前用户核验后处理,不自动重试。
5. 授权沙箱威胁模型
资产
- 账号凭据、Cookie/token、Profile 与本地存储;
- 草稿、媒体、私信或其他账号数据;
- 单用户确认版本和执行证据;
- 网络出口凭据与环境观测数据。
高层威胁与控制
| 威胁 | 可观测现象 | 系统控制 |
|---|---|---|
| Profile 或账号串用 | 当前账号标识与任务账号不一致 | 执行前双重校验、每账号锁、立即停机 |
| 凭据泄露 | 日志/错误/导出中出现敏感字段 | Secret 引用、结构化脱敏、敏感字段扫描 |
| 环境兼容性漂移 | 浏览器版本、启动结果、页面能力或登录态变化 | 固定版本、记录变更、按兼容矩阵回归;不猜测检测机制 |
| 网络出口漂移 | 出口健康、地址或地区标签变化 | 稳定绑定、变更确认、失败关闭;不自动换出口继续 |
| 重复或错误写入 | 重复任务、账号/草稿/确认版本不一致 | 唯一幂等键、版本锁定、一次提交、结果核验 |
| 平台挑战或限制 | 验证码、设备校验、403/429、警告、未知阻断页 | 暂停账号和相关任务,保存最小证据,交当前用户手工核验 |
| 浏览器/UI 变化 | 元素缺失、导航异常、成功证据缺失 | 连接器隔离、明确超时、进入 needs_confirmation |
威胁模型只记录外部可见信号、影响和停止策略,不记录平台内部检测项猜测、规避参数或可操作绕过步骤。
6. 兼容性观测方案
记录维度
- 平台与场景:登录、只读同步、草稿准备、受控发布;
- OS、浏览器后端、运行时版本、Profile 标识;
- 网络出口的内部标签与健康状态,不记录可复用凭据;
- 开始/结束时间、任务状态、浏览器退出码、页面可用性;
- 平台返回的通用状态分类:成功、认证失效、限流、挑战、未知;
- 当前用户、确认版本、停止原因和人工核验结论。
不记录
- 平台检测脚本、私有接口、签名材料或 Cookie 拼装方式;
- TLS/JA3、Canvas、WebGL 等伪装参数与“通过率”;
- 验证码、设备校验或封禁后的规避路径;
- 可用于换身份、换地区或复现他人账号环境的敏感细节。
输出
每次实验只产出一条结构化记录和必要的脱敏截图/日志:输入版本、环境版本、预期、结果、停止原因、是否可复现。未知结果保留为未知,不推断平台检测逻辑。
7. 验证方案
阶段 A:离线闭环
范围:1 workspace、1 个内部用户、2 个虚拟账号、Mock 连接器、20 个任务。
阶段 A 仅验证单用户核心闭环;负责人、RBAC、多用户协作和职责隔离不属于本阶段验收。
验收:
- 单用户从账号配置、草稿、显式确认到 Mock 执行和审计回溯的核心闭环可重复验证;
- 20 个任务重复执行为 0;
- 账号、草稿或确认版本不一致时执行为 0;
- 暂停账号后 1 分钟内不再领取新任务;
- 日志、错误、导出中无密码、Cookie/token 和网络凭据;
- 每个结果都能回溯到账号、单用户确认版本和执行尝试。
阶段 B/C 仅保留后续验证门槛,本轮不实施、不接入真实平台;进入任一阶段前需重新规划并审查范围。
阶段 B:本地授权沙箱
范围:1 个平台、1 个自有测试账号、1 个固定 Profile、1 个受管出口;仅验证登录、只读页面、启动/停止和观测链路。
验收:
- 连续 10 次启动均命中同一账号与 Profile,无串用;
- 运行时或出口配置变化会阻止任务并要求当前用户确认;
- 浏览器崩溃、登录失效、挑战页和网络失败都能进入明确停止状态;
- 不通过自动刷新、重试、换出口或换环境消除异常。
阶段 C:受控写入
前提:阶段 A/B 通过;当前用户明确确认;连接器 capability 已核验。
范围:同一自有测试账号,5 个低风险草稿,逐次显式确认和原生平台核验。
验收:
- 重复写入、错账号写入、未确认写入均为 0;
- 5 次执行都有明确成功证据或进入
needs_confirmation; - 任一停止条件出现即终止本阶段,不扩大样本。
8. 停止与恢复
立即停止条件
- 验证码、设备校验、平台警告、403/429 或未知挑战页;
- 账号、Profile、网络出口或确认版本不一致;
- 代理认证失败、出口异常变化或发生静默直连;
- 提交结果不确定、浏览器崩溃或成功证据缺失;
- 凭据泄露或跨账号数据出现。
恢复条件
只允许当前用户在原生平台/可见浏览器中完成核验,并记录原因与结论后恢复。恢复沿用原账号、原 Profile 和已确认环境;不得通过换代理、换设备、换身份、自动刷新或规避步骤推进实验。
9. 审查决策
- 通过:定位、范围、五领域 P0、威胁模型、观测字段和停止条件获得确认,由工程师入库并拆阶段 A。
- 修改后通过:仅调整内部实验规模、字段或职责,不放宽安全边界。
- 不通过:目标依赖检测规避、验证绕过、私有签名、指纹伪装或换身份/出口继续执行。
10. 参考输入
- 上游仓库固定快照:https://github.com/3441293738/creatorhub/tree/11df1389ee557169bb2381e5ea08de96f14f80c7
- 上游能力说明:https://github.com/3441293738/creatorhub/blob/11df1389ee557169bb2381e5ea08de96f14f80c7/README.md
- 上游数据模型:https://github.com/3441293738/creatorhub/blob/11df1389ee557169bb2381e5ea08de96f14f80c7/app/models.py
- 上游 Profile/代理分配:https://github.com/3441293738/creatorhub/blob/11df1389ee557169bb2381e5ea08de96f14f80c7/app/profiles.py
- 上游风险控制:https://github.com/3441293738/creatorhub/blob/11df1389ee557169bb2381e5ea08de96f14f80c7/app/risk.py
上游根目录在该快照未发现明确许可证文件,因此本方案只参考公开产品行为和领域概念,不授权复制上游源码、测试或资源。