Files
MediaCrawler/mac-agent-os-main/03_knowledge/99_system/matrix/matrix-v6-product-plan.md
T
butubb 2112c1a870
Deploy VitePress site to Pages / build (push) Canceled after 0s
Deploy VitePress site to Pages / Deploy (push) Canceled after 0s
feat(monitor): 抖音 Web 接口客户端 —— 绕开爬虫子进程,直接发 HTTP
移植自 mac-agent-os 的 mediacrawler_adapter:不起子进程、不开页面,用浏览器里那份
登录态直接调抖音 Web 接口。产物键名照抄 store/douyin,所以 ingest 那条链路一个字不用改。

**目前能用的(真环境实测,非推断)**:

    profile/other : 200, 7075 字节  —— 博主主页指标(粉丝/获赞/作品数/昵称)
    aweme/detail  : 200, 45425 字节 —— 单条作品详情(含点赞/评论/收藏/分享)

**目前不能用的:作品列表 `aweme/post`。** 两个互相独立的原因:
  1. 这个接口被抖音单独升级成了真校验:不带 x-tt-argus 回 403「Uifid Not Found」,
     带上 dummy 值回 200 + **空 body**。也就是说「头在不在」骗得过,「真校验」过不了。
     同一套头打 profile/other 和 aweme/detail 都是通的 —— 抖音是挑着接口加保护的,
     挑中的恰好是「批量拉作品列表」这个最敏感的动作。
  2. 改走页面截获也不行:CDP 浏览器打开博主主页会落到「验证码中间页」(当天大量探测的
     代价,过几小时要重测)。

  所以现在的边界是:**已知作品的指标刷新能做,自动发现新作品做不了**。

**排查中控住变量后得到的两条事实**(都写进注释了):
  · `Accept` / `Accept-Language` / `Referer` 才是主页接口能返回真数据的原因 —— 只有
    UA+client hints+Cookie 时是 200 但仅 121 字节的空壳,补上这三个头变 7074 字节。
    (我先前猜的 sec-ch-ua 不是关键。)
  · 因此 UA 与 client hints 必须**成套地取自同一个浏览器**,所以 BrowserIdentity 一次
    从 CDP 取齐 cookie + UA + hints,而不是各自写死。

「200 + 空 body 必须当场报错」也是刻意写死的:放过去它会在下游变成「这个博主没作品」,
把一次失败伪装成一条正常结果 —— 爬虫那条路正是这么栽的,还被翻译成「账号被封」。

测试 +11:cookie 解析、请求头成套性(含 uifid 缺失/回退)、产物键名与 store 对齐、
以及 _get 的三条失败路径(空 body / 403 带网关原话 / 正常返回)。
2026-10-10 17:12:25 +08:00

19 KiB
Raw Blame History

Matrix v6.0 产品规划 —— 全平台社交账号智能运营系统

版本: v6.0-draft | 日期: 2026-06-12 基于: AgentOS 联邦多机协同 + PlatformOps 架构 目标: 从"养号工具"升级为"全平台账号智能运营中台"


一、现状评估

当前能力

模块 状态 说明
抖音养号 ✅ 生产可用 浏览/点赞/收藏/评论/搜索,93% 成功率
小红书养号 ✅ 生产可用 浏览/点赞/收藏/搜索/关注,100% 成功率
多账号并行 ✅ 生产可用 asyncio.gather + 窗口分散
蓝图编排 ✅ 生产可用 JSON 定义操作序列
mc CLI ✅ 生产可用 统一命令入口
联邦状态上报 ✅ 运行中 guardd → cross_machine/data/matrix/
Peekaboo 截图 ✅ 可用 MCP 截图调试

缺失能力

缺失 关键程度 说明
短信验证码自动接收 P0 登录/恢复账号必备
评论语料库 P0 智能生成评论内容
定向评论任务 P0 给指定 URL 视频发评论
评论互动(追评/回复) P1 与作者或其他用户互动
定时错开发布 P1 时间策略避免风控
账号健康度 P1 限流/风控预警
数据看板 P1 账号运营数据可视化
知乎/B站/微博支持 P2 扩展平台

二、整体架构设计

┌─────────────────────────────────────────────────────────────────────┐
│                     Matrix 运营中台 v6.0                            │
│                                                                     │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────────────┐   │
│  │  养号引擎  │  │ 评论系统  │  │ 任务中心  │  │  联邦协同层      │   │
│  │ (现有)    │  │ (新增)   │  │ (新增)   │  │  (guardd)        │   │
│  └────┬─────┘  └────┬─────┘  └────┬─────┘  └────────┬─────────┘   │
│       │             │             │                  │             │
│  ┌────▼─────────────▼─────────────▼──────────────────▼──────────┐  │
│  │                   PlatformOps 操作层                          │  │
│  │   DouyinOps  │  XhsOps  │  ZhihuOps(future)  │  ...         │  │
│  └───────────────────────────┬──────────────────────────────────┘  │
│                              │                                     │
│  ┌───────────────────────────▼──────────────────────────────────┐  │
│  │                Camoufox 浏览器引擎 + CDP                      │  │
│  └──────────────────────────────────────────────────────────────┘  │
│                                                                     │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────────────┐   │
│  │ SMS 验证  │  │ 语料库   │  │ 知识库   │  │  L2 记忆(facts)  │   │
│  │  模块     │  │  引擎    │  │ 策略库   │  │  账号健康数据    │   │
│  └──────────┘  └──────────┘  └──────────┘  └──────────────────┘   │
└─────────────────────────────────────────────────────────────────────┘

三、模块详细设计

3.1 短信验证码模块(P0)

目标: 自动接收短信验证码,完成账号登录/恢复/验证

现有基础: 03_knowledge/40_references/matrix-sms-verification.md 已有 API 方案

养号脚本需要验证码
  ↓
ApiSMSHandler.wait() 启动轮询
  ↓ 每3秒拉一次API (wx.tyhtak.com / 其他供应商)
检测到新短信 → 提取验证码(4-6位数字)
  ↓
返回给登录流程自动填入
  ↓
登录完成后标记验证码已使用

设计要点:

  • 抽象 SMSHandler 基类(已存在 matrix_modules/account/sms/base.py)
  • 支持多供应商切换(tyhtak / 其他API / 自建短信猫)
  • 手机号关联账号配置(accounts.override.yaml 中的 phone 字段)
  • 超时 120 秒,失败告警
  • 验证码消耗后标记,避免重复使用

配置示例:

# config/sms.yaml
sms:
  provider: tyhtak
  api_key: "gtmsg2026"
  poll_interval: 3
  timeout: 120

3.2 评论语料库系统(P0)

目标: 生成真实、多样、上下文相关的评论内容

现有基础: scripts/config/comment_corpus.yaml 已有基础语料

架构:

┌─────────────────────────────────────────────────────────────┐
│                     评论语料库引擎                            │
│                                                              │
│  ┌────────────┐  ┌────────────┐  ┌──────────────────────┐   │
│  │ 静态语料池  │  │ AI 生成器  │  │  上下文追踪器        │   │
│  │ (预设模板)  │  │ (本地LLM)  │  │  (已发评论/已评视频) │   │
│  └─────┬──────┘  └─────┬──────┘  └──────────┬───────────┘   │
│        │               │                    │               │
│        └───────┬───────┴────────┬───────────┘               │
│                ▼                ▼                           │
│         ┌────────────┐  ┌────────────┐                      │
│         │ 选择策略   │  │ 安全过滤   │                      │
│         │ (随机/轮询)│  │ (敏感词/重复)│                     │
│         └────────────┘  └────────────┘                      │
└─────────────────────────────────────────────────────────────┘

语料分层:

层级 来源 用途 特点
L1 静态模板 人工预设 日常普通评论 "学到了"、"真不错"、"支持"
L2 关键词模板 按视频类型匹配 相关评论 科技→"技术流"、美食→"看着就好吃"
L3 AI 生成 本地 oMLX + Qwen 精准评论 根据视频标题/描述生成
L4 上下文延续 追评/回复 互动 基于已有评论内容

存储:

# matrix_modules/comment/corpus.yaml
corpus:
  douyin:
    - text: "学到了"
      tags: [通用, 知识]
      weight: 0.3
    - text: "这个厉害了"
      tags: [通用, 技术]
      weight: 0.2
  xiaohongshu:
    - text: "好实用呀"
      tags: [通用, 教程]
      weight: 0.3

3.3 定向评论任务系统(P0)

目标: 接收指定 URL,让所有账号去该视频下评论,时间错开、内容不同

工作流程:

用户/智能体下发任务:
  "给这些视频发评论: [url1, url2, url3]"
    ↓
任务中心解析 →
  提取视频ID → 分析视频内容/标题 → 确定评论策略
    ↓
生成评论计划 →
  每个账号 → 分配不同的评论内容 → 设置时间偏移
    ↓
任务写入 cross_machine/tasks/ →
  持久化到 cross_machine/data/matrix/comment_tasks/
    ↓
各机器 guardd 检测到新任务 →
  按计划执行评论(时间错开 5-30 分钟)
    ↓
完成后上报结果 →
  cross_machine/data/matrix/comment_results/{uid}.json

任务格式:

{
  "task_id": "comment_20260612_001",
  "url": "https://www.douyin.com/video/xxx",
  "platform": "douyin",
  "type": "batch_comment",
  "strategy": "diverse",
  "accounts": ["douyin_01", "douyin_02"],
  "time_window": {"start": "10:00", "end": "12:00"},
  "min_interval": 300,
  "assigned": {
    "douyin_01": {"text": "讲得真好,学到了", "time": "10:05"},
    "douyin_02": {"text": "这个角度很新颖", "time": "10:12"}
  },
  "context": {"video_title": "xxx", "author": "yyy"},
  "status": "pending"
}

3.4 评论互动系统(P1)

目标: 追评、回复作者回复、与其他用户互动

场景:

  1. 发布评论后 → 如果作者回复了 → 自动追评回复
  2. 其他用户回复了我们的评论 → 选择性回复

技术方案:

  • 评论发布后记录 {comment_id, video_id, account}
  • 定时检查是否有新回复(通过评论区 DOM 或 API)
  • 检测到回复 → 加载回复内容 → 确定回复策略 → 回复

频率控制:

  • 每天最多回复 5 条/账号
  • 回复间隔至少 30 分钟
  • 回复内容需与原文相关

3.5 账号健康度与反检测(贯穿全局)

风险维度:

风险 检测方式 应对措施
操作频率过高 各操作 rate limit 按分钟/小时/天三级限速
行为模式单一 蓝图随机化 + wait_jitter 操作间隔随机化
内容重复 语料库去重 同一内容不重复使用
登录地点异常 IP 检测 静态住宅 IP / 代理
设备指纹一致 BrowserForge 每账号独立指纹
评论时间集中 时间策略 错开 5-30 分钟
评论内容异常 AI 质量检测 敏感词过滤 + 长度变化

账号健康度评分:

class AccountHealth:
    def score(self, account_id) -> dict:
        return {
            "overall": 85,          # 0-100
            "risk_level": "low",    # low/medium/high
            "metrics": {
                "daily_ops": 45,    # 今日操作数
                "op_freq": 0.8,     # 操作频率 vs 安全阈值
                "comment_rate": 0.3, # 评论占比
                "repeat_rate": 0.05, # 内容重复率
                "fail_rate": 0.1,   # 操作失败率
                "days_active": 15,  # 连续活跃天数
            },
            "alerts": []            # 预警列表
        }

3.6 联邦协同(增强现有 guardd)

新增 State 类型:

# cross_machine/data/matrix/{uid}.json 新增字段
{
  "plugin": "matrix",
  "version": "6.0.0",
  "machine_uid": "...",
  "hostname": "...",
  "timestamp": "...",
  "data": {
    "注册表账号": 4,
    "本机": 4,
    "本机已启用": 4,
    "本机已登录": 4,
    "各机器": {...},
    "今日评论": 12,          # 新增
    "今日互动": 3,            # 新增
    "账号健康度": {           # 新增
      "douyin_test": {"score": 85, "alerts": []}
    },
    "待处理任务": 2,          # 新增
    "任务队列": [             # 新增
      {"id": "comment_xxx", "type": "batch_comment", "status": "pending"}
    ]
  }
}

3.7 定时策略引擎

核心规则:

  • 养号时间分布:分散在 8:00-22:00,每次 15-30 分钟
  • 评论间隔:同一视频不同账号间隔 5-30 分钟
  • 跨视频间隔:同一账号不同视频间隔 10-60 分钟
  • 账号休息日:每周 1-2 天静默

策略配置:

strategy:
  daily:
    time_windows: ["09:00-09:30", "14:00-14:30", "20:00-20:30"]
    round_per_window: 2
    interval_between_rounds: 45-90
  comment:
    min_interval: 300        # 同账号评论最短间隔(秒)
    max_daily: 10            # 单账号每天最多评论
    batch_spread: 1800       # 同一批任务最大散布时间(秒)
  rest_day:
    probability: 0.15        # 每天有 15% 概率静默

3.8 监控看板(P1)

在现有 10_dashboard 基础上扩展 Matrix 插件:

class MatrixPlugin(DashboardPlugin):
    # 新增视图
    def get_sub_views(self):
        return [
            {"key": "overview", "label": "总览"},
            {"key": "accounts", "label": "账号管理"},
            {"key": "daily_ops", "label": "今日运营"},
            {"key": "comments", "label": "评论任务"},
            {"key": "health", "label": "健康度"},
            {"key": "blueprints", "label": "蓝图管理"},
        ]

四、实施路线图

Phase 1(2-3天)—— 基础能力补齐
├── SMS 验证码模块 → 对接现有 API
├── 静态语料库建立 → 从现有 comment_corpus.yaml 扩展
└── 评论任务原型 → mc comment 子命令

Phase 2(3-5天)—— 评论系统
├── 定向评论任务(指定 URL → 多账号评论)
├── 时间策略引擎(错开时间)
├── AI 生成评论(对接本地 oMLX)
└── 跨机器任务分发(cross_machine/tasks/)

Phase 3(3-5天)—— 互动系统
├── 追评(作者回复后自动回复)
├── 评论上下文追踪
├── 回复其他用户评论
└── 互动频率控制

Phase 4(持续)—— 平台扩展
├── 知乎平台接入(ZhihuOps)
├── B站平台接入(BilibiliOps)
├── 微博平台接入(WeiboOps)
└── 通用平台框架

Phase 5(持续)—— 智能优化
├── 行为策略自动调优(基于健康度反馈)
├── 评论质量评估
├── 账号休眠/恢复策略
└── 联邦协同决策(多机器共享策略)

五、现有项目参考

5.1 同类项目分析

项目 优势 不足 可借鉴
MediaCrawler 多平台采集,代码开源 无养号运营,无评论系统 平台适配模式
水军SaaS平台 评论任务分发成熟 云端不安全,封号风险高 任务队列模型
OpenClaw 浏览器自动化,反检测 没有养号业务逻辑 反检测指纹技术
TikOmni TikTok 自动化完整 付费,不开源 商业产品思路

5.2 AgentOS 独特优势

能力 其他项目 AgentOS + Matrix
部署方式 单机/云端 多机联邦,本机安全
账号安全 明文上传 配置在 agent-local,不同步
智能决策 固定规则 智能体+知识库+记忆系统
数据积累 无/外部 L2 facts.db + 知识库沉淀
跨机协同 无 guardd + cross_machine
平台扩展 需重写 PlatformOps 接口,新增 ops 文件

六、项目目录结构规划

05_tools/07_matrix/
├── mc                          ← CLI 入口
├── install.sh                  ← 新机部署
├── README.md / TOOL.md / MODULE.md
├── blueprints/                 ← 任务蓝图
│
├── scripts/
│   ├── mc/                     ← CLI 引擎
│   │   ├── cli.py
│   │   ├── engine.py           ← 养号引擎
│   │   ├── runlog.py           ← 运行日志
│   │   └── corpus.py           ← 语料库(现有)
│   │
│   ├── ops/                    ← 平台操作层(现有)
│   │   ├── _base.py
│   │   ├── douyin_ops.py
│   │   └── xhs_ops.py
│   │
│   ├── matrix_modules/         ← 功能模块
│   │   ├── comment/            ← 评论系统(新增)
│   │   │   ├── __init__.py
│   │   │   ├── corpus.py       ← 语料库管理
│   │   │   ├── generator.py    ← AI 评论生成
│   │   │   ├── task.py         ← 评论任务队列
│   │   │   ├── scheduler.py    ← 时间策略
│   │   │   └── tracker.py      ← 评论上下文追踪
│   │   │
│   │   ├── sms/                ← 短信验证(新增)
│   │   │   ├── base.py         ← 抽象基类(已有)
│   │   │   ├── tyhtak.py       ← tyhtak API 实现
│   │   │   └── config.py       ← 供应商配置
│   │   │
│   │   └── health/             ← 健康监控(新增)
│   │       ├── scorer.py       ← 健康度评分
│   │       ├── alerts.py       ← 预警
│   │       └── reporter.py     ← 状态上报
│   │
│   └── config/                 ← 配置(新增)
│       ├── comment_corpus.yaml ← 语料库
│       └── sms.yaml            ← SMS配置
│
└── docs/
    └── MATRIX_V5_GUIDE.md      ← 现有文档

七、关键设计原则

7.1 反检测第一

所有操作设计优先考虑反检测:

  1. 频率控制: 每个操作独立 rate limit(like/comment/search/follow)
  2. 时间随机化: 所有等待时间加 jitter ±30%
  3. 内容去重: 同一内容不在 7 天内重复
  4. IP 分散: 多账号用不同代理出口
  5. 行为多样性: 每次养号随机选择蓝图组合
  6. 账号休息: 模拟真人作息(夜间不操作)

7.2 联邦优先

  1. 每台机器独立执行本地任务
  2. 任务通过 cross_machine 文件异步传递
  3. 机器间不直接通信(避免网络暴露)
  4. 任务结果通过 Git 被动同步
  5. Dashboard 统一展示联邦状态

7.3 渐进增强

  1. 现有功能不动(养号引擎稳定)
  2. 新功能先以独立模块开发
  3. 通过 mc CLI 子命令暴露新功能
  4. 每完成一个模块就做回归测试
  5. 保持向后兼容

八、风险与缓解

风险 影响 缓解
平台接口变更 选择器失效 多级选择器 fallback + 定期验证
封号 账号损失 健康度预警 + 操作上限 + 新号先养
浏览器检测 所有账号受影响 Camoufox 指纹隔离 + BrowserForge
短信API不可用 无法登录 多供应商切换 + 手动兜底
代理不稳定 操作失败 自动切换代理 + 超时重试
跨机冲突 同一任务重复执行 任务状态机 + TTL