docs(skill): 明确已开启 Chrome 不主动关闭红线(09-02 用户要求)
- 浏览器搜索抖音账号操作规范.md 新增 5.7 浏览器进程生命周期(红线) - mcn-dou-analysis/SKILL.md 浏览器操作规范红线补第⑦条 - V1.0/SKILL.md browser-harness 小节补进程生命周期红线
This commit is contained in:
1 parent
a255abde23
commit
dc21faf416
5 files changed
+19
-1
No files matched your search
@@ -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=<BH>/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 通知已收到,但任务已不在存储中,验证结果无法追溯
|
||||
@@ -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 再动手
|
||||
|
||||
## 历史事件(摘要)
|
||||
|
||||
@@ -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`
|
||||
|
||||
---
|
||||
|
||||
@@ -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`(收敛更新时间检查/卡片覆盖询问/表格复用/入库去重等散落规则)。 |
|
||||
|
||||
@@ -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 承载登录态/授权记忆/标签页复用,关闭后下次任务需重新启动+重新授权,成本高且可能打断用户正在进行的操作
|
||||
|
||||
---
|
||||
|
||||
## 六、已知问题
|
||||
|
||||
Reference in new issue
Block a user