TOPn动态规则+MCP首次检测+browser-harness依赖检测+环境检查系统分流(Windows/macOS)
This commit is contained in:
1 parent
268ce29aae
commit
9b878eccc3
12 files changed
+135
-37
No files matched your search
@@ -95,4 +95,4 @@ id = "{detailId}"
|
||||
- **改设定**(内容/模块/命名)→ 卡片同步更新:内容级改动走功能六「方式」重新生成;单点改动(改文案/换底色)直接改 SVG 对应元素
|
||||
- **改卡片**(单点微调:换底色/微调布局)→ 设定 md 中对应内容同步(底色映射见 06 文档「配色适配」,内容以设定为源)
|
||||
- **术语/模块改名** → 两边一起改(历史案例:「内容路线」→「叙事结构」、「核心气质」→「内容标签」均同步改设定 md + 卡片 SVG)
|
||||
- **一致性校验**:交付前用 grep 核对两文件关键术语一致(模块名「叙事结构」「内容标签」「内容基因·TOP6」等),零残留后再交付
|
||||
- **一致性校验**:交付前用 grep 核对两文件关键术语一致(模块名「叙事结构」「内容标签」「内容基因·TOPn」等,n=实际解析条数),零残留后再交付
|
||||
@@ -53,8 +53,8 @@
|
||||
- 设定 md 与设定卡 = **同一账号信息的两种载体**,任一边修改,另一边必须同步:
|
||||
- **改设定**(内容/模块/命名)→ 卡片同步:内容级改动走下方「方式」重新生成;单点改动(改文案/换底色)直接改 SVG 对应元素
|
||||
- **改卡片**(单点微调:换底色/微调布局)→ 设定 md 对应内容同步(底色映射见上方「配色适配」,内容以设定为源)
|
||||
- **术语/模块改名** → 两边一起改(历史案例:「内容路线」→「叙事结构」、「核心气质」→「内容标签」、「六大内容基因」→「内容基因·TOP6」,均同步改设定 md + 卡片 SVG)
|
||||
- **一致性校验**:交付前用 grep 核对关键术语两文件一致(模块名「叙事结构」「内容标签」「内容基因·TOP6」等),零残留后再交付
|
||||
- **术语/模块改名** → 两边一起改(历史案例:「内容路线」→「叙事结构」、「核心气质」→「内容标签」、「六大内容基因」→「内容基因·TOPn」,均同步改设定 md + 卡片 SVG)
|
||||
- **一致性校验**:交付前用 grep 核对关键术语两文件一致(模块名「叙事结构」「内容标签」「内容基因·TOPn」等,n 按实际解析条数),零残留后再交付
|
||||
|
||||
---
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
| 1 | 账号核心定位(赛道/类型/定位语) | 顶部标题区(账号名 + 「账号设定卡」副题 + 定位语) | 浅米色大框 520×170,居中 |
|
||||
| 2 | 内容打法中的路线/流程(如有六步闭环) | 叙事结构(流程条) | 6 卡横排,箭头串联 |
|
||||
| 3 | 内容标签/核心标签 | 内容标签(chips) | 胶囊 86×32,两行 |
|
||||
| 4 | 内容基因(功能三基于 TOP6 视频提炼的结论) | 内容基因·TOP6 | 3 列 × 2 行,卡 186×130 |
|
||||
| 4 | 内容基因(功能三基于 TOPn 视频提炼的结论,n=实际解析条数) | 内容基因·TOPn | 3 列 × 2 行,卡 186×130 |
|
||||
| 5 | 视听风格/色彩体系 | 色彩体系 | 5 色卡横排(色块 + 标签) |
|
||||
| 6 | 类型库/角色类型 | 角色类型库 | 3 列 × 2 行,卡 186×130 |
|
||||
| 7 | 情绪结构(六段式) | 情绪图(柱状条) | 7 条条形,底边对齐 |
|
||||
@@ -83,7 +83,7 @@
|
||||
| 9 | 差异化壁垒/其他亮点 | 可并入基因/类型卡描述行 | — |
|
||||
| — | 底部版权 | 数据来源 + 版本注记 | 居中两行小字 |
|
||||
|
||||
> **注**:内容基因条目由**功能三基于 TOP6 视频**(筛选权威参数见 SKILL.md「视频筛选标准」)提炼得出——TOP6 视频是分析依据(输入),内容基因是结论(输出),卡片上全量呈现、不裁剪。后续生成卡片统一以「内容基因·TOP6」描述该模块。
|
||||
> **注**:内容基因条目由**功能三基于 TOPn 视频**(n=实际解析条数;筛选上限见 SKILL.md「视频筛选标准」)提炼得出——TOPn 视频是分析依据(输入),内容基因是结论(输出),卡片上全量呈现、不裁剪。**模块名「内容基因·TOPn」的 n 按实际解析条数写(几个视频就是 TOP 几,如王微斯 4 条→「内容基因·TOP4」),不是固定 6**;n 与设定 md「解析视频:最近三个月TOPn」保持一致。
|
||||
|
||||
### ③ 排版绘制(SVG 手写)
|
||||
逐模块写 SVG(无模板文件,直接手写 `<rect>`/`<text>`),坐标自上而下递增,模块间留白 ≥30px。
|
||||
@@ -104,7 +104,7 @@
|
||||
|------------|---------|------|
|
||||
| 有叙事结构/六步闭环/流程 | 保留「叙事结构」 | 流程条按实际步骤数画(4/5/6 步皆可,等宽均分 600px 宽) |
|
||||
| 无流程类内容 | **删除**「叙事结构」模块 | 后续模块上移,不留空白 |
|
||||
| 有内容基因(≥3 条) | 保留「内容基因·TOP6」 | 按实际条数画 2 列或 3 列(卡宽 = 600px/列数 - 间距) |
|
||||
| 有内容基因(≥3 条) | 保留「内容基因·TOPn」(n=实际解析条数) | 按实际条数画 2 列或 3 列(卡宽 = 600px/列数 - 间距) |
|
||||
| 有角色类型/角色库 | 保留「角色类型库」 | 按实际条数画 2 列或 3 列 |
|
||||
| 无角色库 | **删除**「角色类型库」 | — |
|
||||
| 有情绪结构/情绪曲线 | 保留「情绪图」 | 条形按实际段数画(4-7 段),底边对齐 |
|
||||
|
||||
@@ -141,30 +141,53 @@
|
||||
|
||||
## 五、browser-harness 调用方式(环境 SOP)
|
||||
|
||||
> **环境说明(2026-08 实测)**:browser-harness 由 uv 工具安装,可执行文件在 `~/.local/bin/browser-harness.exe`;技能本体在 `~/.dsh/skills/browser-harness/`(随 dsh_MCNProject 仓库分发,换机器自带)。
|
||||
> **环境说明(2026-08 实测)**:browser-harness 由 uv 工具安装,可执行文件位置**按系统区分**——Windows:`~/.local/bin/browser-harness.exe`;macOS/Linux:`~/.local/bin/browser-harness`;技能本体在 `~/.dsh/skills/browser-harness/`(随 dsh_MCNProject 仓库分发,换机器自带)。
|
||||
|
||||
### 5.0 环境检查与安装(每次浏览器任务前【必做】)
|
||||
|
||||
**① 检测是否已安装(任一方法即可判定):**
|
||||
|
||||
| 方法 | 操作 | 判定 |
|
||||
|------|------|------|
|
||||
| ① 可执行文件 | 检查 `~/.local/bin/browser-harness.exe`(Windows)/ `~/.local/bin/browser-harness`(macOS/Linux)是否存在 | 存在 = 已安装 |
|
||||
| ② 命令探测 | `command -v browser-harness`(macOS/Linux)/ `where browser-harness`(Windows)是否有输出 | 有输出 = 已安装 |
|
||||
| ③ doctor 验证(可选) | `browser-harness doctor`(确认工具/daemon/Chrome 三要素) | 三要素就绪 = 可用 |
|
||||
|
||||
**② 未安装 → 提醒用户安装**(由 SKILL.md「browser-harness 依赖(红线)」驱动):
|
||||
|
||||
- **可跳过**:改用三方数据 API / MCP 兜底数据源,但功能一/二浏览器抓取无法执行
|
||||
- **同意安装**:`uv tool install --python 3.12 --upgrade --force browser-harness`(`--python 3.12` 防止选中过旧版本;`--upgrade --force` 覆盖旧安装)
|
||||
- **技能本体** `~/.dsh/skills/browser-harness/` 随 dsh_MCNProject 仓库分发(换机器自带;如缺失可从 browser-harness 仓库的 `browser-harness skill` 命令重新生成)
|
||||
- **安装后验证**:`command -v browser-harness`(macOS/Linux)/ `where browser-harness`(Windows)有输出 + `browser-harness doctor` 三要素全绿,再进入下方 5.1 环境准备
|
||||
|
||||
### 5.1 环境准备(每次浏览器任务前【必做】)
|
||||
|
||||
**① 清除代理环境变量(最重要,漏掉必踩坑)**:本机 Shadowsocks 的 Privoxy 组件监听 10800,会劫持 127.0.0.1 的 CDP 请求(报 "Internal Privoxy Error" 或连接失败)。
|
||||
**① 清除代理环境变量(最重要,漏掉必踩坑)**:本机代理软件(如 Shadowsocks 的 Privoxy 组件监听 10800)会劫持 127.0.0.1 的 CDP 请求(报 "Internal Privoxy Error" 或连接失败)。**按系统清除**:
|
||||
|
||||
- **Windows(PowerShell)**:
|
||||
```powershell
|
||||
Remove-Item Env:HTTP_PROXY, Env:HTTPS_PROXY, Env:http_proxy, Env:https_proxy -ErrorAction SilentlyContinue
|
||||
$env:NO_PROXY = "127.0.0.1,localhost,::1"
|
||||
```
|
||||
- **macOS/Linux(bash/zsh)**:
|
||||
```bash
|
||||
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
|
||||
export NO_PROXY="127.0.0.1,localhost,::1"
|
||||
```
|
||||
|
||||
**② 连接方式(按顺序尝试)**:
|
||||
|
||||
| 方式 | 操作 | 说明 |
|
||||
|---|---|---|
|
||||
| A. 自动(推荐) | 直接运行 browser-harness(daemon 自动启动并连接浏览器) | 最简单;可能触发 Chrome 授权弹窗(见 5.2) |
|
||||
| B. 定向连接 | `$env:BU_CDP_URL="http://127.0.0.1:<端口>"` 后运行 | 端口:先探测 9222(用户 Chrome 隐式调试端口)/ 9223(独立实例),取有效者 |
|
||||
| C. 独立实例 | `chrome.exe --remote-debugging-port=9223 --user-data-dir=<固定目录> about:blank` | 与用户浏览器隔离;Chrome 151+ 首次连接同样可能弹授权 |
|
||||
| B. 定向连接 | 设置 BU_CDP_URL 后运行:Windows `$env:BU_CDP_URL="http://127.0.0.1:<端口>"` / macOS `export BU_CDP_URL="http://127.0.0.1:<端口>"` | 端口:先探测 9222(用户 Chrome 隐式调试端口)/ 9223(独立实例),取有效者 |
|
||||
| C. 独立实例 | Windows:`chrome.exe --remote-debugging-port=9223 --user-data-dir=<固定目录> about:blank`;macOS:`"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --remote-debugging-port=9223 --user-data-dir=<固定目录> about:blank` | 与用户浏览器隔离;Chrome 151+ 首次连接同样可能弹授权 |
|
||||
|
||||
### 5.2 Chrome 151+ 远程调试授权(关键机制)
|
||||
|
||||
- Chrome 151+ 无论隐式(9222)还是显式(--remote-debugging-port)启动,**CDP 端点默认 404,首次连接会弹「Allow remote debugging?」授权框**;点击「允许」后端点才可用(Chrome 会记住,后续不再弹)
|
||||
- 弹窗可能出现在**后台窗口**:看不到时打开 `chrome://inspect/#remote-debugging` 页面启用(勾选后同样生效)
|
||||
- 连接前探测授权状态:`Invoke-WebRequest http://127.0.0.1:<端口>/json/version` —— **返回含 "Browser" 的 JSON = 可用**;404/超时 = 未授权或非 CDP
|
||||
- 连接前探测授权状态:Windows(PowerShell)`Invoke-WebRequest http://127.0.0.1:<端口>/json/version` / macOS/Linux(bash/zsh)`curl -s http://127.0.0.1:<端口>/json/version` —— **返回含 "Browser" 的 JSON = 可用**;404/超时 = 未授权或非 CDP
|
||||
|
||||
### 5.3 失败排查顺序(按此执行,不跳步)
|
||||
|
||||
|
||||
Reference in new issue
Block a user