移植自 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 带网关原话 / 正常返回)。
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/ ← 运行日志