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 带网关原话 / 正常返回)。
This commit is contained in:
@@ -0,0 +1,146 @@
|
||||
# 2026-04-29 记忆提炼摘要
|
||||
|
||||
> 提炼时间: 2026-04-30 11:44:37
|
||||
|
||||
## 统计
|
||||
- 新增事实: 0
|
||||
- 重复跳过: 66
|
||||
- 冲突处理: 66
|
||||
|
||||
## 提取的事实
|
||||
|
||||
- 📌 **[personal-management]** `完成` → [AgentOS 系统健康诊断(20:10)] 完成对 `~/workbuddy-agent-os/` 全系统健康检查,生成诊断报告:
|
||||
- 📌 **[personal-management]** `修复` → [关键发现] **🔴 P0 严重问题(需立即修复):**
|
||||
- 📌 **[personal-management]** `配置` → [修复方向] 需要修复 agent-os-local 与 workbuddy-agent-os/agent-local 的映射关系,并更新4个自动化任务的 --root 路径配置。
|
||||
- 📌 **[personal-management]** `更新` → [AgentOS 系统修复(20:36)] 执行方案一:直接更新软链接指向新位置,并修复自动化任务。
|
||||
- 📌 **[personal-management]** `更新` → [修复操作] 1. **软链接修复**:执行 `fix_symlinks.sh`,更新8个软链接指向 `~/workbuddy-agent-os/agent-local/`
|
||||
- 📌 **[personal-management]** `更新` → [修复操作] 2. **自动化任务路径更新**:
|
||||
- 📌 **[personal-management]** `更新` → [修复操作] - `automation`(每日记忆提炼):更新 prompt 和 cwds → ✅
|
||||
- 📌 **[personal-management]** `更新` → [修复操作] - `automation-2`(收件箱汇聚):更新 prompt 和 cwds → ✅
|
||||
- 📌 **[personal-management]** `更新` → [修复操作] - `automation-3`(收件箱提纯):更新 prompt 和 cwds → ✅
|
||||
- 📌 **[personal-management]** `更新` → [修复操作] - `agentos-2`(环境测试):更新 prompt 和 cwds → ✅
|
||||
- 📌 **[personal-management]** `确认` → [修复操作] - `agentos`(重复任务):等待用户确认删除
|
||||
- 📌 **[personal-management]** `更新` → [修复操作] - 所有脚本路径更新为 `workbuddy-agent-os/agent-sync/` 下的正确位置
|
||||
- 📌 **[personal-management]** `更新` → [验证结果] - 自动化任务 prompt 和 cwds 已更新
|
||||
- 📌 **[personal-management]** `确认` → [待办事项] - 用户确认删除重复的 `agentos` 任务
|
||||
- 📌 **[personal-management]** `修复` → [待办事项] - 测试语义检索功能(需修复导入问题)
|
||||
- 📌 **[personal-management]** `配置` → [AgentOS 路径全面修复(21:33)] 用户要求全面修复所有路径问题,包括MCP配置、技能文档、脚本默认参数等。
|
||||
- 📌 **[personal-management]** `配置` → [修复内容] 1. **MCP服务配置**:`~/.workbuddy/mcp.json` 中 filesystem 服务器路径从 `~/workbuddy-agent-os/agent-sync` 更新为 `~/workbuddy-agent-os/agent-sync`
|
||||
- 📌 **[personal-management]** `修复` → [修复内容] 2. **Python脚本默认参数修复**:
|
||||
- 📌 **[personal-management]** `修复` → [修复内容] - `memory_extractor.py`:修复默认的 `--root` 和 `--local` 参数,修复硬编码的 `db_path`
|
||||
- 📌 **[personal-management]** `修复` → [修复内容] - `inbox_refine.py`:修复默认的 `--root` 参数和示例命令
|
||||
- 📌 **[personal-management]** `修复` → [修复内容] - `semantic_search.py`:修复示例命令中的路径
|
||||
- 📌 **[personal-management]** `修复` → [修复内容] - `daily_digest.py`、`bootstrap_from_memory.py`、`agent_memory_init.py`、`memory_cleanup.py`、`export_memories.py`、`i
|
||||
- 📌 **[personal-management]** `修复` → [修复内容] 3. **技能文档路径修复**:
|
||||
- 📌 **[personal-management]** `修复` → [修复内容] - `auto_collector`:修复监控源列表路径
|
||||
- 📌 **[personal-management]** `修复` → [修复内容] - `inbox_refine`:修复7个知识库路径引用
|
||||
- 📌 **[personal-management]** `修复` → [修复内容] - `matrix`:修复6处工具和数据路径
|
||||
- 📌 **[personal-management]** `修复` → [修复内容] - `memory_manager`:修复CLI示例和自动化命令路径
|
||||
- 📌 **[personal-management]** `修复` → [修复内容] 4. **引导脚本修复**:
|
||||
- 📌 **[personal-management]** `修复` → [修复内容] - `init.sh`、`apply-config.sh`、`import_skills.sh`、`export_skills.sh`:修复使用说明
|
||||
- 📌 **[personal-management]** `修复` → [修复内容] 5. **文档修复**:
|
||||
- 📌 **[personal-management]** `安装` → [修复内容] - `REQUIREMENTS.md`:修复8处路径引用,包括安装命令、脚本路径和同步目录说明
|
||||
- 📌 **[personal-management]** `配置` → [发现的其他路径问题] - 可能还有其他配置文件需要检查
|
||||
- 📌 **[personal-management]** `验证` → [剩余风险] - 语义检索功能需要最终验证
|
||||
- 📌 **[personal-management]** `更新` → [AgentOS 旧路径全面清理(22:30)] 用户要求全面修复所有包含旧路径 `~/workbuddy-agent-os/agent-sync` 和 `~/workbuddy-agent-os/agent-local` 的文件,更新为新的 `~/workbuddy-agent-os/agent-sync` 和
|
||||
- 📌 **[personal-management]** `修复` → [修复范围] 1. **批量修复**:使用自定义Python脚本 `fix_paths.py` 扫描并修复所有文件
|
||||
- 📌 **[personal-management]** `修复` → [修复范围] 2. **修复统计**:共修复61个文件中的235处旧路径引用
|
||||
- 📌 **[personal-management]** `修复` → [修复范围] 3. **关键文件修复**:
|
||||
- 📌 **[personal-management]** `修复` → [修复范围] - `init.sh`、`export_skills.sh`:修复使用说明和目录创建路径
|
||||
- 📌 **[personal-management]** `安装` → [修复范围] - `REQUIREMENTS.md`:修复安装命令和同步目录说明
|
||||
- 📌 **[personal-management]** `修复` → [修复范围] - `README.md`:修复双根目录模型说明和所有命令示例
|
||||
- 📌 **[personal-management]** `修复` → [修复范围] - `03_knowledge/README.md`:修复Obsidian Vault路径
|
||||
- 📌 **[personal-management]** `修复` → [修复范围] - 所有技能脚本:修复默认参数和命令示例中的路径
|
||||
- 📌 **[personal-management]** `修复` → [修复范围] - 技能文档:修复SKILL.md中的路径引用
|
||||
- 📌 **[personal-management]** `配置` → [修复范围] - 配置文件:修复mcp.json、machine_info.json等
|
||||
- 📌 **[personal-management]** `修复` → [修复范围] - 历史日志:修复daily_summaries中的路径引用
|
||||
- 📌 **[personal-management]** `修复` → [修复细节] - 修复错误的 `~/workbuddy-agent-os/agent-sync-local` 引用
|
||||
- 📌 **[personal-management]** `修复` → [修复细节] 2. **关键脚本修复**:
|
||||
- 📌 **[personal-management]** `修复` → [修复细节] - `skill_scanner.py`:修复默认 `--root` 和 `--local` 参数
|
||||
- 📌 **[personal-management]** `修复` → [修复细节] - `collect_to_inbox.py`:修复使用说明和默认参数
|
||||
- 📌 **[personal-management]** `修复` → [修复细节] - `vector_db_rebuild.py`:修复使用说明和默认参数
|
||||
- 📌 **[personal-management]** `修复` → [修复细节] - `kb_search.py`:修复默认参数
|
||||
- 📌 **[personal-management]** `验证` → [验证结果] 2. **路径检查**:使用grep验证,无遗留的旧路径引用
|
||||
- 📌 **[personal-management]** `配置` → [验证结果] 4. **MCP配置**:已正确指向新路径
|
||||
- 📌 **[personal-management]** `修复` → [完成状态] ✅ 所有旧路径引用已完全修复
|
||||
- 📌 **[personal-management]** `配置` → [完成状态] ✅ 系统环境变量配置无错误
|
||||
- 📌 **[personal-management]** `更新` → [完成状态] ✅ 说明文档中的路径描述已全部更新
|
||||
- 📌 **[personal-management]** `配置` → [问题分析] - MCP配置文件中使用`"command": "npx"`,导致WorkBuddy无法找到可执行文件
|
||||
- 📌 **[personal-management]** `修改` → [修复方案] 1. **更新MCP配置**:修改`~/workbuddy-agent-os/agent-sync/01_core/mcp.json`:
|
||||
- 📌 **[personal-management]** `配置` → [修复方案] 2. **修复后的配置**:
|
||||
- 📌 **[personal-management]** `配置` → [剩余注意事项] - 用户可能需要重启WorkBuddy或重新加载MCP配置使更改生效
|
||||
- 📌 **[engineering]** `修复` → [matrix技能路径修正(23:45)] 修复SKILL.md中两处错误的路径引用:
|
||||
- 📌 **[engineering]** `配置` → [matrix技能路径修正(23:45)] 2. **账号配置文件路径**:`~/workbuddy-agent-os/agent-sync/agent-local/tools/matrix/config/accounts.yaml` →
|
||||
- 📌 **[personal-management]** `配置` → [验证结果] - 配置文件实际存在:`accounts.yaml`中有账号配置
|
||||
- 📌 **[personal-management]** `name` → 13754826808
|
||||
- 📌 **[personal-management]** `username` → 为 chengzige
|
||||
- 💭 **[personal-management]** `preference` → 偏好中文交流,工作风格严谨,关注系统完整性和细节验证,提供详细的分步自动化指令并期望结构化的执行报告。遵循结构化工作流:读取历史 → 执行任务 → 汇报结果 → 更新记忆。文档需求高,要求非常详细的文档涵盖项目各个方面和文件,用于与他人讨论
|
||||
|
||||
## 冲突记录
|
||||
|
||||
- `FACT-2026-04-29-0001`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0002`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0003`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0004`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0005`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0006`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0007`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0008`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0009`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0010`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0011`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0012`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0013`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0014`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0015`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0016`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0017`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0018`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0019`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0020`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0021`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0022`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0023`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0024`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0025`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0026`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0027`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0028`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0029`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0030`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0031`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0032`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0033`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0034`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0035`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0036`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0037`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0038`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0039`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0040`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0041`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0042`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0043`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0044`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0045`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0046`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0047`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0048`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0049`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0050`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0051`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0052`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0053`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0054`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0055`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0056`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0057`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0058`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0059`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0060`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0061`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0062`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0063`: **skip** — 旧事实置信度更高(0.75 >= 0.75),需用户确认
|
||||
- `FACT-2026-04-29-0064`: **skip** — 旧事实置信度更高(0.9 >= 0.9),需用户确认
|
||||
- `FACT-2026-04-29-0065`: **skip** — 旧事实置信度更高(0.9 >= 0.9),需用户确认
|
||||
- `FACT-2026-04-29-0066`: **skip** — 旧事实置信度更高(0.85 >= 0.85),需用户确认
|
||||
Reference in New Issue
Block a user