From 19bf4949a9f647236b272962e63118317d345769 Mon Sep 17 00:00:00 2001 From: maogeigei Date: Wed, 2 Sep 2026 10:30:31 +0800 Subject: [PATCH] =?UTF-8?q?docs(skill):=20=E6=98=8E=E7=A1=AE=E5=B7=B2?= =?UTF-8?q?=E5=BC=80=E5=90=AF=20Chrome=20=E4=B8=8D=E4=B8=BB=E5=8A=A8?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E7=BA=A2=E7=BA=BF=EF=BC=8809-02=20=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E8=A6=81=E6=B1=82=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 浏览器搜索抖音账号操作规范.md 新增 5.7 浏览器进程生命周期(红线) - mcn-dou-analysis/SKILL.md 浏览器操作规范红线补第⑦条 - V1.0/SKILL.md browser-harness 小节补进程生命周期红线 --- .workbuddy/memory/2026-09-02.md | 7 +++++++ .workbuddy/memory/MEMORY.md | 1 + project/短视频脚本创作/V1.0/SKILL.md | 1 + .../V1.0/subskill/mcn-dou-analysis/SKILL.md | 2 +- .../references/浏览器搜索抖音账号操作规范.md | 9 +++++++++ 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/.workbuddy/memory/2026-09-02.md b/.workbuddy/memory/2026-09-02.md index a6bf406..79cc0a4 100644 --- a/.workbuddy/memory/2026-09-02.md +++ b/.workbuddy/memory/2026-09-02.md @@ -20,3 +20,10 @@ - **昨天实测主流方式**(非 python IPC):Node + WebSocket 直连 9223 CDP 脚本(mcn-work-shop/cdp-verify-*.mjs、cdp-measure-*.mjs 等 30+ 个),Runtime.evaluate 测量 DOM;browser-harness python 调用(BU_CDP_URL=9223 + PYTHONPATH=/src + env python -m browser_harness.run heredoc)今天实测 IPC 超时(daemon 0.1.8 vs client 0.1.10 版本不匹配) - **9223 调试 Chrome**:`chrome.exe --remote-debugging-port=9223 --user-data-dir=C:/Users/maidou/.workbuddy/tmp/bh-chrome-9223`;新开 Tab 访问 localhost 会 chrome-error,必须复用现有 8900 标签页 - **对齐实测**(新脚本 cdp-align-videoinfo.mjs):视频详情 .video-grid 8 字段逐列 left 完全一致(账号@41=点赞@41、视频ID@157=评论@157、时长@404=分享@404、发布时间@549=收藏@549,差 0)✅ 结构修复生效 + +## browser-harness 移至主技能 subskill(16:00-16:25,用户要求收尾) +- **目录移动**:`V1.0/subskill/mcn-dou-analysis/subskills/browser-harness/` → `V1.0/subskill/browser-harness/`(envs/src 完整;mcn-dou-analysis/subskills 现仅剩 nuwa-skill-main) +- **路径说明更新三处**:① mcn-dou-analysis/SKILL.md「browser-harness 依赖(红线)」行——技能本体改为 主技能 `短视频脚本创作/subskill/browser-harness/`(不再挂 mcn-dou-analysis 下)+ dsh 环境 `~/.dsh/skills/browser-harness/`;② references/浏览器搜索抖音账号操作规范.md 第159行环境说明 + 第175行技能本体,两处同步新位置;③ V1.0/SKILL.md 新增「外部技能依赖:浏览器工具(browser-harness)」小节登记 +- **残留检查**:全仓库 grep `mcn-dou-analysis/subskills/browser-harness` 与旧 `~/.dsh/skills/browser-harness` 无残留 ✅ +- **git**:rename 识别完美(175 R + 3 文档修改,envs 被 .gitignore 忽略不进库),commit a255abd,push 8278865..a255abd 成功(fetch 无分叉) +- 注:M70h3o 轮询任务(S6 修复后重跑 6 创作任务)completed 通知已收到,但任务已不在存储中,验证结果无法追溯 diff --git a/.workbuddy/memory/MEMORY.md b/.workbuddy/memory/MEMORY.md index 15549a5..556929d 100644 --- a/.workbuddy/memory/MEMORY.md +++ b/.workbuddy/memory/MEMORY.md @@ -43,6 +43,7 @@ - **.dsh 单向只读(08-22 强约束)**:`.dsh` 副本只能「读取→回流源技能」,禁止反向写回(除非用户明确授权);允许1处环境差异 - **git(09-01 改)**:**2 小时 push 一次**(不要改一点就推;2026-08-31 原定「半天一次」,09-01 用户改为 2 小时);本地可随时 commit,push 攒到 2 小时统一推;push 前先 fetch 确认无分叉;Windows 下 PowerShell Stop-Process 关后台 node;全局代理 socks5 会破坏 git 连接需清空 - **沙箱代理(09-01)**:Bash 会话环境有 `HTTP_PROXY/HTTPS_PROXY=http://127.0.0.1:7505`(sandbox-cli.exe 监听,WorkBuddy 沙箱注入,非用户系统配置)——**curl 本地 localhost 服务必须加 `--noproxy '*'`**,否则走代理转发失败(502/连接拒绝);工作台服务用 `node server.js` + Bash run_in_background 启动(`(cmd &)` 子 shell 方式进程会被回收) +- **Chrome 不主动关闭(09-02 用户明确)**:已开启的 Chrome(9223 调试实例/用户手动开启的 Chrome/daemon 连接的实例)一律**不主动关闭**(taskkill/Stop-Process/kill),除非用户明确要求;任务结束/失败都保留——承载登录态/授权记忆/标签页复用,关闭后需重新启动+授权且可能打断用户操作;仅可自行回收「本次任务自己启动的临时实例」;已固化 mcn-dou-analysis `references/浏览器搜索抖音账号操作规范.md` 5.7 与两侧 SKILL.md 红线 - **生成网页必参考设计技能(08-27 强约束)**:先读 `.workbuddy/skills/` 下 taste-skill 与 impeccable 再动手 ## 历史事件(摘要) diff --git a/project/短视频脚本创作/V1.0/SKILL.md b/project/短视频脚本创作/V1.0/SKILL.md index 77530dc..dd4f580 100644 --- a/project/短视频脚本创作/V1.0/SKILL.md +++ b/project/短视频脚本创作/V1.0/SKILL.md @@ -105,6 +105,7 @@ agent_created: true - **技能本体**:`project/短视频脚本创作/V1.0/subskill/browser-harness/`(含 `envs/browser-harness/` 环境与 `src/`,随源仓库分发) - **dsh 部署环境**:`~/.dsh/skills/browser-harness/`(随 dsh_MCNProject 仓库分发,换机器自带) - **可执行文件**:uv 工具安装,`~/.local/bin/browser-harness.exe`(Windows)/ `~/.local/bin/browser-harness`(macOS/Linux) +- **进程生命周期(红线,09-02 用户明确)**:已开启的 Chrome(9223 调试实例/用户手动开启的 Chrome)一律不主动关闭,除非用户明确要求;任务结束/失败都保留,承载登录态与标签页复用 - 调用前必做环境检查(三要素:工具/daemon/Chrome),详见 mcn-dou-analysis `references/浏览器搜索抖音账号操作规范.md` --- diff --git a/project/短视频脚本创作/V1.0/subskill/mcn-dou-analysis/SKILL.md b/project/短视频脚本创作/V1.0/subskill/mcn-dou-analysis/SKILL.md index f045d7e..cfda993 100644 --- a/project/短视频脚本创作/V1.0/subskill/mcn-dou-analysis/SKILL.md +++ b/project/短视频脚本创作/V1.0/subskill/mcn-dou-analysis/SKILL.md @@ -45,7 +45,7 @@ description: "MCN 达人爆款视频解析与人设卡生成技能:达人账 | 视频补充规则 | 解析失败或无法解析的视频,从视频数据中按排名规则(点赞+分享降序)取下一位视频补充,直至凑满「视频筛选标准」规定的数量(数量见上「视频筛选标准」唯一权威参数)。 | | 人设卡方法论 | 必须结合 **脚本创作技能 + 女娲造人术** 两个技能库综合生成,不可仅凭通用知识。**人设卡聚焦内容创作本身(内容基因/打法/情绪/视听/规则/差异化壁垒的内容侧),不含商业化变现路径分析**(商业化/市场分析归功能四账号数据分析)。**人设卡统一 12 段结构**(账号核心定位→内容基因→类型库→情绪结构→视听风格→内容打法→内容规则→系列内容规划→差异化壁垒→红线清单→当前需解决的问题→设定分析说明),详见 `references/人设卡生成方法.md` 5.3。 | | 账号类型判定 | 生成人设卡前**必须先判定账号类型**,不同类型使用不同模板结构。判定标准见 `references/人设卡生成方法.md`。 | -| 浏览器操作规范(红线) | **执行任何浏览器操作(功能一/二及任何网页获取)前,必须先读取 `references/浏览器搜索抖音账号操作规范.md` 全文**,严格遵守:① 环境前置(清除代理环境变量、固定 9223 调试 Chrome 实例);② **标签页复用(5.5)**——操作前检查已打开标签页,有则 goto_url 直接导航复用,无才 new_tab 新建,用完不关闭;③ 登录检测(弹登录窗口停止操作提示用户);④ 滚动收集技巧(.route-sc 容器);⑤ **访问账号主页必须走搜索路径→模拟点击进入,禁止直接构造 `/user/{sec_uid}` 地址跳转**;⑥ **视频数据提取首选列表组件 Fiber `defaultDataList`(一次拿全含 createTime),禁止逐条打开 `/video/{id}` 视频页抓字段**(详见规范「提取方法优先级」)。浏览器要求由插件 prompt 注入与本规范双重保证。 | +| 浏览器操作规范(红线) | **执行任何浏览器操作(功能一/二及任何网页获取)前,必须先读取 `references/浏览器搜索抖音账号操作规范.md` 全文**,严格遵守:① 环境前置(清除代理环境变量、固定 9223 调试 Chrome 实例);② **标签页复用(5.5)**——操作前检查已打开标签页,有则 goto_url 直接导航复用,无才 new_tab 新建,用完不关闭;③ 登录检测(弹登录窗口停止操作提示用户);④ 滚动收集技巧(.route-sc 容器);⑤ **访问账号主页必须走搜索路径→模拟点击进入,禁止直接构造 `/user/{sec_uid}` 地址跳转**;⑥ **视频数据提取首选列表组件 Fiber `defaultDataList`(一次拿全含 createTime),禁止逐条打开 `/video/{id}` 视频页抓字段**(详见规范「提取方法优先级」);⑦ **浏览器进程生命周期:已开启的 Chrome(9223 调试实例/用户 Chrome)一律不主动关闭,除非用户明确要求**(详见规范 5.7)。浏览器要求由插件 prompt 注入与本规范双重保证。 | | browser-harness 依赖(红线) | 功能一/二(浏览器抓取)执行前**必须先检测 browser-harness 是否可用**:检测方法(任一即可判定)——① 可执行文件存在性:`~/.local/bin/browser-harness.exe`(Windows)/ `~/.local/bin/browser-harness`(macOS/Linux);② `command -v browser-harness`(macOS/Linux)/ `where browser-harness`(Windows)有输出。**未安装 → 提醒用户安装**(可跳过:改用三方数据 API / MCP 兜底数据源,但功能一/二浏览器抓取无法执行;同意后安装)→ 执行 `uv tool install --python 3.12 --upgrade --force browser-harness` → `browser-harness doctor` 验证三要素(工具/daemon/Chrome)全绿。**技能本体位置(09-02 调整)**:主技能 `短视频脚本创作/subskill/browser-harness/`(源仓库 `project/短视频脚本创作/V1.0/subskill/browser-harness/`,含 envs 环境与 src;**不再挂在 mcn-dou-analysis 下**);dsh 部署环境 `~/.dsh/skills/browser-harness/`(随 dsh_MCNProject 仓库分发,换机器自带)。检测与安装细节见 `references/浏览器搜索抖音账号操作规范.md` 第五节。 | | 账号信息数据源(红线) | 获取达人账号信息(功能一)**必须浏览器优先**:browser-harness 打开抖音网页版访问达人主页提取(昵称/抖音号/抖音ID(sec_uid)/抖音地址/粉丝数/获赞数/关注数/作品数/IP属地/简介等)。**禁止从任何数据库读取账号字段回填账号表(含身份标识 sec_uid/抖音号/抖音地址)**:工作台库 `mcn-plugin.db` 的 `hot_accounts` 表 = MCP 内部账号库(`list_hot_accounts`/`hot_account_detail`)的**本地副本,读取其数据填表等同违反本红线**;dsh 原库(`~/.dsh/mcn-plugin.db`)同样只读参考。这些库仅用于**流程状态参考**(判断是否已有解析/产出),**不是功能一数据源**;账号表登记(Step 1.0)只占位 账号ID+达人昵称,抖音号/sec_uid/地址等一律留空,**待浏览器抓取后回填**(浏览器抓取到的值才写)。仅当浏览器无法访问(账号搜索不到/主页打不开等)时才可兜底补充,并须注明数据来源。详见 `references/铁律避坑规则/账号信息获取执行避坑.md`。 | | 已有数据处理(统一决策) | 用户要求「获取账号数据/提取账号设定/分析视频」时,**库中已有 ≠ 可直接使用**:实时数据(账号信息/视频列表)必须重新获取(红线禁回填);分析产物(人设卡/视频解析/分析报告)**复用优先 + 询问是否更新**,只对增量(新视频/未解析)补获取;「已有」须校验内容质量(存在≠有效,假数据视为无)。分场景决策表见 `references/铁律避坑规则/已有数据处理规则.md`(收敛更新时间检查/卡片覆盖询问/表格复用/入库去重等散落规则)。 | diff --git a/project/短视频脚本创作/V1.0/subskill/mcn-dou-analysis/references/浏览器搜索抖音账号操作规范.md b/project/短视频脚本创作/V1.0/subskill/mcn-dou-analysis/references/浏览器搜索抖音账号操作规范.md index e6b6b41..d535b7f 100644 --- a/project/短视频脚本创作/V1.0/subskill/mcn-dou-analysis/references/浏览器搜索抖音账号操作规范.md +++ b/project/短视频脚本创作/V1.0/subskill/mcn-dou-analysis/references/浏览器搜索抖音账号操作规范.md @@ -304,6 +304,15 @@ wait_for_load() PY ``` +### 5.7 浏览器进程生命周期(红线,09-02 用户明确) + +**已开启的 Chrome 浏览器(9223 调试实例、用户手动开启的 Chrome、daemon 自动连接的实例)一律不主动关闭,除非用户明确要求关闭。** + +1. **禁止主动关闭**:任务完成/失败/异常后,不得 `taskkill` / `Stop-Process` / `kill` 已开启的 Chrome 进程;用户没说要关就留着 +2. **只关自己启动的临时实例**:仅当本次任务自己用 `--remote-debugging-port` 新启动的、且明确标记为临时用途的实例,才可自行回收;复用已有实例时禁止关闭 +3. **工作台/脚本清理**:清理进程(如查占用端口时发现 Chrome)先确认是否为用户在用实例,是则跳过,不清理 +4. **为什么要保留**:9223 调试 Chrome 承载登录态/授权记忆/标签页复用,关闭后下次任务需重新启动+重新授权,成本高且可能打断用户正在进行的操作 + --- ## 六、已知问题