Files
MediaCrawler/mac-agent-os-main/05_tools/07_matrix
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
..

Matrix 矩阵养号系统

版本: v5.2 | 环境: macOS (Apple Silicon) | 引擎: Camoufox (Firefox 内核) 平台: 抖音 ✅ | 小红书 ✅ | 知乎 🔄 最后更新: 2026-06-13


一句话

Matrix 是一套社交账号养号自动化系统。通过 Camoufox 控制浏览器,自动完成日常养号任务(浏览、点赞、评论、搜索),模拟真实用户行为。

代码在 agent-sync(Gitee + GitHub 双同步),数据在 agent-local(本机,不同步)。


快速上手

# 1. 进入目录
cd ~/workbuddy-agent-os/agent-sync/05_tools/07_matrix

# 2. 查看所有命令
./mc --help

# 3. 日常养号(抖音)
./mc run --accounts douyin_test --blueprints douyin_daily --rounds 3

# 4. 日常养号(小红书)
./mc run --accounts xhs_01 --blueprints xhs_daily --rounds 2

# 5. 定向评论(给链接+方向)
./mc task comment --url https://v.douyin.com/xxx --direction 称赞

# 6. 搜索浏览
./mc task search --keyword 美食探店 --rounds 5

# 7. 启动 Dashboard
open http://localhost:9988

Dashboard 导航

菜单 功能
首页 运营数据看板(本机账号/已登录/已采集/联邦账号)
身份与账号 短信接收、注册新账号、账号卡片(四维状态+人设)、删除/登录/采集
命令与任务 TAB1: 批量执行 / TAB2: 定向评论 / TAB3: 定时任务
账号总览 多机摘要 + 全账号表格
蓝图编排 管理所有蓝图
原子操作 原子操作库
录制管理 录制/分析/导出操作
⚙️ 矩阵设置 TAB1: 导入导出 / TAB2: 备份恢复 / TAB3: 语料库

启动 Dashboard:

cd ~/workbuddy-agent-os/agent-sync/05_tools/10_dashboard
nohup ~/.workbuddy/binaries/python/envs/agent-os/bin/uvicorn app:app --host 0.0.0.0 --port 9988 &

核心功能

日常养号

5 个核心蓝图:

蓝图 用途 执行
douyin_daily 抖音日常养号(浏览+点赞+收藏+评论) mc run --accounts A --blueprints douyin_daily --rounds 3
xhs_daily 小红书日常养号 mc run --accounts A --blueprints xhs_daily --rounds 3
douyin_comment 定向评论(打开链接→评论) mc task comment --url URL --direction 称赞
douyin_search 搜索浏览(搜关键词→随机看视频) mc task search --keyword K --rounds 5
douyin_collect 信息采集(搜博主→采主页信息) mc task collect --keyword 博主名
douyin_reply 作者回复(看评论→回复) mc task reply --account douyin_test

智能任务(mc task)

# 定向评论(自动识别平台、选账号、生成评论)
mc task comment --url https://v.douyin.com/xxx --direction 称赞

# 搜索浏览
mc task search --keyword 美食探店 --rounds 5

# 信息采集
mc task collect --keyword 张三说科技

# 作者回复
mc task reply --account douyin_test

# 参数说明
mc task --list

账号管理

每个账号四维状态一目了然:

🎵 小美养生茶                       douyin_test
📱 15370103682
✅ 身份   ✅ 登录   ✅ 昵称   ✅ 同步
🎯 美食·养生·旅行 | 💬 称赞/提问      ← 人设
[🔑 登录]  [👤 采集]  [🗑 删除]
  • 状态:身份 ✅/❌ | 登录 ✅/❌ | 昵称 ✅/❌ | 同步 ✅/❌
  • 操作:🔑登录(打开浏览器扫码) | 👤采集(获取昵称/粉丝数) | 🗑删除

注册新账号

# 方式一:Dashboard 身份与账号 → 注册新账号
# 方式二:CLI
mc account register --platform douyin --phone 138xxxx --name 备注名
  • 同手机号注册第二个平台时,自动复用同一份浏览器指纹
  • 自动创建身份目录 → 打开浏览器 → 扫码登录

定时任务

# 添加定时任务
mc schedule add --id morning --account douyin_test --blueprint douyin_daily --time 09:00 --rounds 3

# 列出定时任务
mc schedule list

# 启动调度器(保持终端运行)
mc schedule start

账号人设

每个账号可配置人设,养号时自动按人设选语料方向和搜索关键词:

{
  "nickname": "小美养生茶",
  "persona": {
    "interests": ["美食", "养生", "旅行"],
    "comment_style": ["称赞", "提问"],
    "search_keywords": ["美食探店", "养生茶", "周末去哪"]
  }
}

配置位置:agent-local/tools/matrix/data/profiles.json


新机部署

# 1. 拉取代码
cd ~
git clone [email protected]:neowoodland-art/mac-agent-os.git workbuddy-agent-os/agent-sync
cd workbuddy-agent-os/agent-sync

# 2. 运行初始化
bash 00_bootstrap/init.sh

# 3. 安装 Matrix 依赖
cd 05_tools/07_matrix
bash install.sh

# 4. 同步本机账号
# 从 accounts_registry.yaml 自动同步 assigned_machine 为本机的账号

# 5. 启动 Dashboard
cd ~/workbuddy-agent-os/agent-sync/05_tools/10_dashboard
nohup ~/.workbuddy/binaries/python/envs/agent-os/bin/uvicorn app:app --host 0.0.0.0 --port 9988 &

# 6. 第一次使用需扫码登录
./mc account login douyin_test

CLI 命令参考

命令 用途
mc run --accounts A,B --blueprints X,Y --rounds N 批量执行养号任务
mc task comment --url U --direction D 智能定向评论
mc task search --keyword K 搜索浏览
mc task collect --keyword K 信息采集
mc task reply --account A 作者回复
mc account list 列出所有账号
mc account login <name> 扫码登录
mc schedule list 列出定时任务
mc schedule add --id X --account Y --blueprint Z --time HH:MM 添加定时任务
mc schedule start 启动定时调度器
mc record start --account A 录制原子操作
mc record list/analyze/export 录制管理
mc corpus list 查看语料库

数据存储

~/workbuddy-agent-os/
├── agent-sync/05_tools/07_matrix/    ← 代码(Git 同步)
│   ├── blueprints/                    ← 任务蓝图(JSON)
│   ├── scripts/mc/                    ← 核心引擎
│   ├── corpus/                        ← 评论语料库
│   └── config/                        ← 配置(定时任务、AI 等)
│
└── agent-local/tools/matrix/         ← 数据(本机,不同步)
    ├── config/accounts.yaml           ← 本机账号配置
    ├── identities/                    ← 浏览器身份目录
    │   ├── douyin_test/               ← 账号A(含 cookies、指纹)
    │   └── phone_138xxxx/             ← 同手机号共享身份(新注册)
    ├── data/profiles.json             ← 昵称/人设数据
    ├── recordings/                    ← 录制包
    └── logs/                          ← 运行日志