移植自 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 带网关原话 / 正常返回)。
111 lines
4.1 KiB
Markdown
111 lines
4.1 KiB
Markdown
# AgentOS 知识库结构
|
|
|
|
> 最后更新: 2026-06-17
|
|
> 目标: 所有系统相关文档统一在 `99_system/` 下,非系统内容按原分类不变
|
|
|
|
---
|
|
|
|
## 顶层分类
|
|
|
|
| 目录 | 用途 | 包含内容 |
|
|
|:-----|:-----|:---------|
|
|
| `00_inbox` | 待处理收件箱 | 未分类的碎片内容 |
|
|
| `00_stream/` | 信息流原始采集 | feed/clipping/media 等原始素材 |
|
|
| `01_daily/` | 日常日志 | 每日工作记录 |
|
|
| `01_submissions/` | 外部投稿/采集 | 按来源分目录(创作者名/设备名) |
|
|
| `10_concepts/` | 概念知识 | 设计理念、个人管理方法论 |
|
|
| `20_methods/` | 方法技能 | AI视频系统、拍摄技巧、工具教程 |
|
|
| `30_facts/` | 事实数据 | 结构化事实(当前空) |
|
|
| `40_references/` | 参考资料 | 文档、论文 |
|
|
| `50_resources/` | 资源索引 | 工具链接、书单(当前空) |
|
|
| `60_opinions/` | 个人观点 | 思考笔记(当前空) |
|
|
| `90_archive/` | 归档 | 已失效或替换的旧文档 |
|
|
| `99_system/` | **系统架构知识** | AgentOS 联邦系统全部架构/设计/协议文档 |
|
|
|
|
---
|
|
|
|
## 🔴 99_system/ — 系统架构知识
|
|
|
|
所有与 AgentOS 联邦系统、Dashboard、矩阵养号、采集、自动化相关的文档都集中在这里。
|
|
|
|
### 子目录结构
|
|
|
|
```
|
|
99_system/
|
|
├── README.md ← 本目录索引
|
|
│
|
|
├── architecture/ ← 架构设计文档
|
|
│ ├── federated-multi-machine-architecture.md
|
|
│ ├── federation-operations-architecture.md
|
|
│ ├── login-system-tech-map.md
|
|
│ ├── trigger-matching-analysis.md
|
|
│ ├── loading-architecture.md
|
|
│ └── IMPLEMENTATION-PLAN-v1.md
|
|
│
|
|
├── matrix/ ← 矩阵养号系统(从 04_ops/matrix 移入)
|
|
│ ├── matrix-nurture-system-architecture.md
|
|
│ ├── matrix-known-pitfalls.md
|
|
│ ├── matrix-v6-product-plan.md
|
|
│ ├── douyin-comment-automation.md
|
|
│ ├── xhs-browse-interaction-techniques.md
|
|
│ └── 指纹分辨率触发XHS_AI布局版本.md
|
|
│
|
|
├── dashboard/ ← Dashboard 看板设计
|
|
│ ├── dashboard-v4-design.md
|
|
│ └── (待迁移: PLANS/BUSINESS_ARCHITECTURE_v4.md)
|
|
│
|
|
├── agent-os-memory-knowledge-architecture.md
|
|
├── memory-index.md
|
|
│
|
|
├── pipelines/ ← 自动化流程
|
|
│ └── content-collection-pipeline.md
|
|
│
|
|
├── prompts/ ← 智能体提示词
|
|
│ └── classify-knowledge.md
|
|
│
|
|
├── protocols/ ← 协议/规范
|
|
│ ├── cross-domain.md
|
|
│ ├── knowledge-review.md
|
|
│ ├── meta-thinking.md
|
|
│ └── stuck-intervention.md
|
|
│
|
|
├── taxonomies/ ← 分类法
|
|
│ ├── domains.md
|
|
│ └── nature-types.md
|
|
│
|
|
├── templates/ ← 知识卡片模板
|
|
│ ├── concept-card.md
|
|
│ ├── fact-card.md
|
|
│ ├── method-card.md
|
|
│ └── personal-insight-card.md
|
|
│
|
|
├── archive/ ← 已归档的旧系统文档
|
|
│ ├── CORE-ARCHITECTURE.md
|
|
│ ├── QUICKSTART.md
|
|
│ └── SKILLS-CATALOG.md
|
|
│
|
|
└── timelines/ ← 时间线
|
|
```
|
|
|
|
---
|
|
|
|
## 📋 非系统内容分类指南
|
|
|
|
| 分类 | 适合放什么 | 例子 |
|
|
|:-----|:----------|:-----|
|
|
| `10_concepts/` | 通用概念、理念 | 设计思维、个人管理方法论 |
|
|
| `20_methods/` | 操作方法、技能 | AI视频教程、拍摄技巧、工具用法 |
|
|
| `30_facts/` | 结构化数据 | 参数对照表、配置参考 |
|
|
| `40_references/` | 外部资料 | 论文、官方文档、书籍摘录 |
|
|
| `50_resources/` | 资源索引 | 工具清单、书单、网站收藏 |
|
|
| `60_opinions/` | 个人思考 | 复盘、观点、感悟 |
|
|
|
|
---
|
|
|
|
## ⚠️ 注意事项
|
|
|
|
1. **系统文档必须放 `99_system/`**,不要放 `04_ops/` 或其他地方
|
|
2. `04_ops/` 目录将重定向到 `99_system/matrix/`
|
|
3. 日常使用中,新的系统架构决策直接写入 `99_system/architecture/`
|
|
4. `01_daily/` 只放每日日志,不放架构文档
|