chore(repo): 归集 09-14~09-29 工作产出(技能/知识库/工作台/报告)并收敛临时产物

- skill: 素材库分块定义(00~11)、05_极致事件知识库 4 篇、08_对话风格总纲、mcn-video-prompt 提示词质量门禁与外部语料检索流程

- workbench: mcn-work-shop 新增 cli-backend.js(本地 CLI 接入)、工作台视觉交互规范;移除旧 UI 规范

- docs: 根目录极致事件/素材卡/审计方案报告与热门短视频清单入库

- memory: 补 09-14~09-29 日志与自动化任务记忆

- chore: .gitignore 排除 tools/、.tmp-chrome-*/、_k_test.cjs
This commit is contained in:
maogeigei committed 2026-09-29 18:56:24 +08:00
1 parent 5631c26406
commit 80072ff542
198 files changed
+14781 -2639

No files matched your search

+116 -33
View File
@@ -1,40 +1,123 @@
# MCNVideo AI 项目长期记忆(09-10 四次压缩;权威源=SKILL.md+references,此处仅索引+红线)
# MCN 短视频项目长期记忆(2026-09-28 精简重写 v3)
## ★仓库路径(09-10 迁移)
- **本地路径:`D:\AI技能\mcn-short-video`**(原 `D:\AgentSkill\mcn-video-script`,`D:\AgentSkill` 已不存在);远程 `[email protected]:maogeigei/mcn-short-video.git`
- 技能软链 `C:\Users\maidou\.workbuddy\skills\短视频工作台` = junction → `D:\AI技能\mcn-short-video\project\短视频脚本创作\V1.0`
> 原则:**只放「索引 + 红线 + 踩坑」**。凡已在文件里可查的(SKILL.md / references / RUNBOOK / 工作台规范)只留指针。
## 环境判定 + 产出落盘(09-10 判据重构 v2 · 仓库特征判定)
- **两步**:①技能路径含 `.dsh` 路径段 → ②dsh 部署环境;②不含 `.dsh` → `git -C {技能目录} rev-parse --show-toplevel` 返回仓库根 = ①开发机、失败 = ③用户环境(无 git 兜底向上找 `.git`)。**必须 `.dsh` 先判**(`~/.dsh` 自身是 git 仓库)。**锚点禁写死盘符**(原 `D:\AgentSkill` 锚点随仓库迁移失效,曾致开发机误判为用户环境)
- 产出:①③=桌面 `MCNSkill项目/{账号名}/`;②dsh=`D:\dshworkspace\`。权威=`references-add/路径配置.md`(运行时优先)
## 0. 权威源指针
| 主题 | 权威文件 |
|:--|:--|
| 技能全部口径 | `<仓库>/project/短视频脚本创作/V1.0/`(SKILL.md + references/references-add) |
| 路径/环境 | `references-add/路径配置.md` |
| 留人密度 | `知识库/03_框架节奏/04_节奏控时叙事套路.md` §1.3 三级留人点体系 |
| 12 维标签 / 镜头 / 画面风格 | `素材库/分块定义/00_通用维度_分块定义.md` |
| 事件卡 10 字段模板 | `素材库/分块定义/00_模板-各库分块模板.md` §极致事件 |
| 赛道词表 | `知识库/标签库/赛道标签.md`(S01–S27 × 8 叙事形态 × 三级垂类) |
| 卡片批量生产 / 回炉 | `tools/weknora-ingest/RUNBOOK.md`(自包含手册,**§2.4 召回实测 / §2.5 回炉 SOP / §2.6 触发率**) |
| 工作台 UI | `mcn-work-shop/docs/工作台视觉交互规范.md` |
## 1. 仓库与环境
- 本地 `D:\AI技能\mcn-short-video`;远程 `[email protected]:maogeigei/mcn-short-video.git`。
- 技能软链 `~/.workbuddy/skills/短视频工作台` = junction → `project\短视频脚本创作\V1.0\`;失效判据 children=0 → node `unlinkSync` + PowerShell `New-Item -ItemType Junction`。
- 环境判定(禁写死盘符):路径含 `.dsh` → dsh(**只读**);否则 `git rev-parse --show-toplevel` 成功=开发机 / 失败=用户环境。
- 产物落盘:桌面 `MCNSkill项目/{账号}/`。
- 技能版本:**只改 V1.0**;Lite1.0(无 subskills)默认不动;变更流程 = 方案→确认→执行→同步副本。
## 核心技能
- **短视频工作台**(09-03 由「短视频脚本创作」更名,对外统一名)源=`project/短视频脚本创作/{V1.0,Lite1.0}`(**repo 目录保留旧名**,改的只是注册/显示名);V1.0 name=短视频工作台 含 MCP/Dify,Lite1.0 name=短视频工作台 Lite 去接口。**★软链事实(09-10 更新)**:`C:\Users\maidou\.workbuddy\skills\短视频工作台`=junction→`D:\AI技能\mcn-short-video\project\短视频脚本创作\V1.0\`(09-10 因仓库迁移重建;同一文件 md5 一致,改源即自动同步;**所有 SKILL_HINT_*/skills 参数用新注册名**)。**★09-03 junction 两次失效**:被替换成空目录(11:11,疑似宿主扫描/迁移)致 SKILL_HINT_* 加载失败;征兆=技能加载失败先查此路径 children==0;修法=node `unlinkSync` 删旧链/空目录 → PowerShell `New-Item -ItemType Junction`(目标路径必须已不存在否则 exit 1;junction 不能用 rmdir,报 Not a directory)。**同步策略(09-10 更新)**:只改 V1.0 源;Lite1.0 默认不动,如需同步由用户发起(09-10 用户授权同步了环境判定口径 + dou-analysis 依赖修正);**★Lite1.0 目录下无 `subskills/`(实测)→ 未内置 mcn-dou-analysis**;dsh 技能副本(short-video-script)**项目不存在(09-07 用户确认),已废弃,勿再考虑**。🧹清理自动化按 `references/接口调用/自动化任务清理规范.md`(禁 recurring/未来/running/QUEUED,走宿主软删)
- **MCN工作台(Web 品牌=短视频工作台;09-04 由 R43 曾用名 MCN热点雷达 改回)**(仅 V1.0)`V1.0/mcn-work-shop/`(零依赖 Node,**端口 8900**,argv 可指定;8899 旧值错误)。AI 任务=`POST /api/run` 写 automations(once+显式 next_run_at+5s)→轮询 `/api/run/status`;调度实测=工作台 `自动化任务调度机制.md`(scheduled_at 须 +60s、并发≈3 QUEUED、改 server.js 须重启)。**★创作/改写类 prompt 必须带 SKILL_HINT_CREATE 前缀**(漏=模型跳步直出;新增入口必查)。**★UI 规范文档=`mcn-work-shop/docs/工作台UI规范.md`**(09-10 梳理:设计 token/布局/8 页面路由/12 类组件/9 条已知坑;UI 迭代先查此文件)。关键铁律:`main#view` 高 `calc(100vh-55px)`(写 54 会溢出 1px 触发第二层滚动条)、榜单表格必须 `table-layout:fixed`、榜单三 tab 行高统一(表格 42px/预览 40px)、两套同名 `.tabs/.tab`(数据页下划线式覆盖顶栏胶囊式)、`.modal-mask[hidden]` 须显式 `display:none`、数值列 `tabular-nums`、`.ic` 的 `vertical-align:-0.18em`。AI选题 `/api/ai/topics`(Dify recall~50s;key 内置 `scripts/MCN_CYLG_API.py`;curl 中文被 CDN 拦用 Python)。复盘页 prompt 按 mcn-script-review。UI 改完必重开页面带 `?v=YYYYMMDDx`。**★配置收敛(09-10)**:端口/DB名/产出根/榜单目录单源化到 `mcn-work-shop/config.json`,代码层统一经 `load-config.js`(唯一入口+默认值)读,改设定只改 config.json;前端 data-pages.js 用 `location.origin` 动态取回调地址(前端读不到 server 端 config.json);start.bat 经 `get-port.js` 读端口(`for /f` 内嵌 node -e 会被 cmd 截断,必须走独立脚本);**start.bat 的 managed node 用 `for /d` 遍历 versions 自动探测**(写死版本号会随升级失效)。**坑1**:`.cjs` 的 `require('./x')` 无扩展名会 MODULE_NOT_FOUND → 配置模块须 `.js`。**坑2**:静态资源是根映射 `/data-pages.js`,`/public/xxx` 一律 404-config 读端口。**坑**:`.cjs` 文件 `require('./load-config')` 无扩展名会 MODULE_NOT_FOUND(Node 不把 .cjs 当无扩展 require 目标)→ 配置模块须用 `.js` 扩展名
- **mcn-dou-analysis** 源=`V1.0/subskills/mcn-dou-analysis/`、dsh 副本同构。F1信息/F2视频表(13列xlsx)/F3设定/F4分析/F5解析/F6设定卡片SVG。红线:达人表15列、TOP6(点赞+分享降序)、≥60条停、29赛道枚举、浏览器 9223 调试实例+标签页复用、**身份标识禁从 DB 回填**(留空待浏览器回填)、源技能只读单向同步。F6 配色按调性分深浅两系(深=深沉催泪;浅=明快甜美如玫瑰金 #D6A3A9→#9A5563;「治愈」回读情绪锚点)。browser-harness 执行 F1/F2 前必检。**★产物入库(09-01)**:落盘后须 `POST /api/import/account` 直写 mcn-plugin.db(analysis.json→account_video_analysis、content.json→account_video_source、设定/分析 md→account_persona/account_analysis、xlsx→account_videos);aweme_id 匹配删全角标点+下划线转空格、幂等删旧保新;选题读最新 3 条解析拼 prompt
- **mcn-data-insight(09-03)**:纯 11 个红狐系数据获取子技能包;`dou-analysis/subskills/nuwa-skill-main/` 是另一账号方法论勿混。**榜单即查即缓存落盘**(红狐计费+同日快照→先 ls 命中免 API);桌面 `MCNSkill项目\三方数据\红狐数据\抖音榜单\`、dsh=`D:\dshworkspace\抖音榜单\`;文件名不加数据源前缀。**★红狐周期规则(09-10 实测,code=3203 原文)**:日榜每日 20:00 后可查昨日、**周榜每周一 20:00 后可查上周**、月榜每月 1 号后可查上月 → 账号周榜(week,`fetch_rank.py`)最新可用期恒为上一周,本周须等下周一 20:00,故"刷新拿最新周期"得到上周**属正常非 bug**。热榜/点赞榜(hot/likes,`fetch_week_ranks.py`)为另一套作品榜 API,**未结束的周也能返回 50 条滚动值**(`--date <本周一>` 可取,明天再取会变);脚本 `last_full_week()` 默认统一回退一期是为与账号榜对齐、避免"同期不同期号",**勿随意改默认**
- **短视频分镜脚本** `project/短视频提示词生成/`:F1反推图/F2反推视频/F3生图/F4分镜(>5s 时间戳分段;模板 A剧情/B Vlog/C旁白/D产品/E氛围)
## 2. 子技能要点
- **MCN工作台(Web)** `V1.0/mcn-work-shop/`:零依赖 Node,端口 8900。AI 任务 `POST /api/run`(写宿主 automation,once + `next_run_at`=now+5s)→ 轮询 `/api/run/status`;**创作/改写 prompt 必带 `SKILL_HINT_CREATE` 前缀**。配置单源 `config.json`;`.cjs` 无扩展 require 会 MODULE_NOT_FOUND → 配置模块用 `.js`;静态资源根映射,`/public/xxx` 必 404。
- **mcn-dou-analysis**:达人表 15 列、TOP6、≥60 条停、29 赛道枚举、浏览器 9223 + 标签页复用、**身份标识禁从 DB 回填**;产物 `POST /api/import/account` 幂等写 `mcn-plugin.db`。
- **mcn-data-insight**:11 个红狐子技能,榜单即查即缓存。红狐周期 code=3203 → 账号周榜最新可用期恒为**上一周**(非 bug)。
- **mcn-video-prompt**:F1 反推图/F2 反推视频/F3 生图/F4 分镜;格式优先级 = 用户格式 > 默认 6 层;llm-wiki 必须下沉读原始条目。
- 提示词评价口径:`D:\AI技能\powerbi-work-space\提示词评价维度.md` V1.2(**仅适用于视频提示词**)。
## 创作红线(权威=SKILL.md+references/创作流程规范.md)
- 三态:⚡自动(默认静默只落最终物)/🤝共创(+确认门)/🛠开发(+全落盘);产物链 05选题→06框架→07大纲 禁跳步;硬编码禁止(P0);references-add 增量优先
- **技能边界**:生成/改写脚本必须切脚本创作技能走 S1-S11(S11 数字账取证/开场钩子绝对时长 3-7s 硬上限 10s/编导终审),禁会话内直写;验收=执行约束非内容,S9/S10 正文禁自证
- MCP:myai-mcp-production(正式)/test;飞书登录每天检查
## 3. 创作红线
- 三态:⚡自动(静默只落最终物)/🤝共创(+确认门)/🛠开发(+全落盘);产物链 05→06→07 禁跳步;硬编码禁止(P0)。
- 脚本必须走 S1-S11,禁会话内直写;开场钩子 3-7s,硬上限 10s。
- **留人点**:L1 极致触点 15-20s / L2 留人点 **每 10 秒 ≥1** / L3 增量点 3-5s。判据 = 观众产生明确「为什么」(抛问题/打破预期/说到自己/给承诺,≥1 种);纯陈述/纯动作/重复前文不算。自检 = ⌈时长÷10⌉。**禁止混层**。类型名沿用五类机制,**禁自造枚举**。
- **三层定位**:素材库=存素材/极致事件=素材的内容层属性/知识库=讲方法。**事件卡模板与条目落在素材库侧**,`知识库/05_极致事件/` 只放类型层与判据。
- **事件卡 10 字段(顺序固定)**:`极致内容 → 内容含义 → 极致触点 → 事件标签 → 极致类型 → 创作手法 → 镜头语言 → 画面风格 → 复用场景 → 适用场景`。卡片头 `> 所属库:{NN 库名 | 横切未定}` 不占字段位。
- 三易混字段:**极致内容**=画面内容+氛围+质感(客观可拍);**内容含义**=`[期待A]—被X打破→[结果B]`;**极致触点**=**效果侧两项:用户心理 / 共鸣**(机制词归标签/类型,效果词不复用标签词)。
- **事件标签 ≥2 值,主标签后缀「(主)」**;「事件标签」≠ 8 库「极致标签」。
- 创作手法含**铺垫量级 短≤3s / 中 3-10s / 长>10s**;翻车样本同等入库。**极致触点 ≠ 留人点**。
- **复用场景 ≠ 适用场景**:适用场景=原生在哪被调用(从哪来);复用场景=事件结构能搬到哪(到哪去),取值 `{赛道·叙事形态·段落}`,**禁自造赛道名**。
- **素材条目形态铁律**:`### {名称}` + `- **字段**:值` 平铺列表;**禁写成多节表格报告**。
- 解析逆向:以 `analysis` 场次表为准(±1-2s 偏移);`极限维度` 是**上游自造词,禁直录**,三步归一:剥落差→类型层→落 12 维。
## 工作方式红线
- 治本原则:从根因修机制→重执行验证;禁补数据/临时绕过
- **★锚点禁写死盘符(09-10)**:环境/路径判定一律用**仓库特征**(`.dsh` 路径段、git 检出),禁用 `D:\AgentSkill` 类盘符地标;「允许项」≠不会坏,仓库/环境迁移时须主动复核豁免写法
- **盘点类任务**:先确认扫描范围无遗漏(09-10 首轮 `skipDirs` 误含 `references` → 漏扫 24 处);下「违规」结论前必先读对应规范文件按规范分类(09-10 曾把 37 处豁免锚点误报为违规)
- 改完必重开(`?v=` 防缓存);排查顺序=先重开排除旧缓存再改代码
- 逐条修复:读一条→改一条→验证一条,禁批量读;批量后复查式修复
- git:2h push 一次本地随时 commit;push 前 fetch;代理 socks5://127.0.0.1:10800 破坏连接需清 local proxy;杀 node 用 PowerShell `Stop-Process`;push 后 origin 跟踪引用可能被沙箱吞需重建 refs/remotes;**★`git rm -r` 大范围被 SIGTERM 中断=只删盘不写索引+index.lock**→删 lock+checkout 恢复+纯 `rm -rf`+`git add -A -- 精确路径`
- 同步时清 tmp(mcn-work-shop/tmp/+仓库根 tmp/;**禁清 .workbuddy/tmp/**);先杀自启测试 Chrome 再删
- 沙箱代理 HTTP(S)_PROXY=127.0.0.1:7505——curl localhost 必须 `--noproxy '*'`;服务 run_in_background 起
- **Chrome 不主动关闭**(9223/用户 Chrome/daemon 连接保留;只回收自启临时实例)
- .dsh 单向只读:禁反向写回(除非用户明确授权)
- 三层沉淀:治本(技能文件)→失误(append 日志)→记忆;日志 append-only;frontmatter updated_at/last_change
- **★清理「XX已废弃」类废话的判据(09-10)**:环境/规则废弃后,prompt 与规则正文里"何时废弃、曾有几个分支、路径已不存在"这类历史叙述=噪音→**全删**(执行者只需"现在怎么做");代码注释里的变更动作叙述→删,只留定稿日期;"无 X 分支"这类陈述不存在事物的→删。**保留两类**:①文末「变更记录」历史区/变更日志(append-only 归档);②禁止性护栏(精简为"禁止做什么",去掉日期与下线经过)。例:dsh 环境废弃后清理 16 文件 18 处(注意 `/api/dsh/*` 是工作台 API 命名空间,与 dsh 环境无关,不可动)
- 生成网页必先读 taste-skill 与 impeccable
## 4. 检索层:WeKnora + 卡片流水线
- 容器:`MCN极致事件素材库`(FAQ 型,`e6772e41-7b72-499d-b46c-e5ca7c9d1740`,`127.0.0.1:31607`,key 见 `D:\.workbuddy\mcp.json`)。**执行前必读 RUNBOOK**。
- ⛔ **接口四铁律**:① 只走 `POST /faq/entries` 批量通道(单条 `/faq/entry` 建的检索不到);② 改相似问必须 DELETE + 重导;③ 检索必显式 `vector_threshold: 0.5`(默认 0.7);④ dry_run 异步且占通道,须轮询 completed。
- ⛔⛔ **检索参数名铁律**:数量参数名 = **`match_count`**;写 `top_k`/`limit`/`size`/`count`/`k` 会**静默忽略并恒返回 10 条**(不报错)。`vector_threshold` **必须显式传**(省略 → 返回 0 条)。阈值只做事后过滤,**不能提升质量**。分数间隔**不可判优**(top1~top10 首尾仅差 0.047)→ 靠**人工复筛落差结构同构性**。
- ⛔ **删 FAQ 条目**:`DELETE /knowledge-bases/{KB}/faq/entries` + body `{"ids":[int64,...]}`;`DELETE /faq/entries/{id}` 是 404。
- ⛔ **FAQ 列表分页抖动**:`page_size=100` 页边界会重复。解法 = 先 `page_size=1` 拿 `total` → 再 `page_size={total}` 一次拉全。
- 其他:FAQ 检索恒为纯向量;条目**单标签**;`CustomMetadata` 不参与过滤;`auto_tag` 必须关。素材卡走 FAQ 型(文档型封顶 9/11)。**规则类文本不进检索层**。
- ⛔ **卡片写入四条铁律**:① 读 **`tag`(单值字符串)不是 `tags` 数组**;② `事件标签` 行**必须写 12 维闭集标签**,禁自造事件名当主标签 → 写完必跑 `5_tag_coverage.py`;③ `spec.json` 的 `card` **禁带 `### ` 前缀**;④ 卡片正文**必须包 ` ```text ` 围栏**。
- **稳定写法(连续 24+ 批一次通过)**:临时 py 从 md 正则提 `###` 标题 → zip 手写 tag/std/sim/neg → 比对 mismatch=0 → 用完删脚本;md 每卡独占一个 ` ```text ` 围栏。
- ⚠️ **`3_done_batch.py` 跨会话中转丢失**:中途被打断 → 登记空、`ids:[]`。处理 = 手动补登 + 同步 `done`。**续跑先核对末条**。
- 已用 12 标签:反差 / 反常识 / 视觉冲击 / 预见式服务 / 价值观冲击 / 品质对比 / 细节专业 / 自嘲反差 / 感官沉浸 / 氛围沉浸 / 食材极致 / 难度极限。
## 历史事件(摘要)
07-17 大炮方法;07-29 短剧库 V5.0;07-30 短视频库 V2.0;08-11/12 素材库扁平化+产物链铁律;08-16 赛道 8→27;08-17 三态创作;08-20 分镜落库;08-21 Lite1.0;08-22 .dsh 只读;08-25 更名 mcn-video-script;08-26 路径重构+两步模型;08-27 dou-analysis+分镜解耦+工作台;08-31 数据预览条/调度器结论;09-01 产物入库+清理规范;09-02 AI创作弹窗 v2-v4+Chrome 不关红线;09-03 data-insight 瘦身、软链事实+junction 二次失效修复+git rm 坑、技能更名「短视频脚本创作→短视频工作台」(repo 路径不变);09-04 主 SKILL.md 子技能索引(6 子技能相对路径)+browser-harness 环境修复+**全量路径审计**:源技能 maidou/MCNVideo AI/废弃目录名(当前规则行)零残留;豁免三类=禁止性规则示例行、变更记录历史行、references-add/路径配置.md;dsh short-video-script SKILL.md 为刻意差异化(324 行无 subskills)不同步;**09-10 仓库迁移至 `D:\AI技能\mcn-short-video`+软链重建+环境判定锚点重构为「仓库特征判定」(21 文件统一口径)+工作台 cwd/BROWSER_LOCK 改 ROOT 动态推导 + `SESSION_CWD_PATTERN` 放宽为 `%mcn-work%` + Lite1.0 dou-analysis 依赖修正(Lite 无 subskills,未内置)+**dsh 部署环境废弃(三环境→两环境,判据 v3 一步 git 检出,20+ 文件去 dsh 分支)+工作台配置收敛(config.json 单源化,端口/DB/目录经 load-config.js 统一读取)**
### 4.1 补采自动化与标签治理
- 自动化 `MCN极致事件素材库·定向补采(每小时3批·暂存模式)`,id `c4d5eae8-e2ff-427a-99aa-d027d354bc19`,`FREQ=HOURLY;INTERVAL=1`,ACTIVE。**rrule 不支持分钟级** → 单次触发连跑 3 批。
- 脚本:`4_sensory_candidates.py`(感官候选)/`5_tag_coverage.py`(12 标签体检)/`6_target_candidates.py`(定向筛,含 `NEGMAP`)/`7_dispatch_next.py`(**调度器**:算缺口+取批命令+SKIP/PRIORITY)。取批三入口:主队列/`--sensory`/`--target <标签> N`。
- **目标「每标签 ≥100 条」**:**严格主角判据** + **食材优先** + **难度极限暂不处理**。缺口跑 `7_dispatch_next.py`,**勿写死**。
- ⭐ **「食材极致」严格主角判据 3 条**:① 部位知识型 ② 验鲜解剖全流程型 ③ 形态重组型。
- ⭐⭐ **暂存模式(防返工关键机制)**:补采只产 `batches/pending_import/{batch_00NN.md,.spec.json,.meta.json}`,**禁跑 `2_import_batch.py`/`3_done_batch.py`、禁改 `state.json`**。统一入库 = **`13_import_pending.py --dry|--run|--sync`**。**安全结论**:回炉删除按 `polish_plan.json` 冻结的 526 id → 新采卡不会被误删;唯一真风险 = 重跑 `9_polish_plan.py`(已禁)。
### 4.2 卡片回炉 + v3 双任务 SOP — 详见 RUNBOOK §2.5
- 链路:`8_backup_all.py` → `9_polish_plan.py` → `10_polish_batch.py payload|apply <n>` → 删旧 + 重导 → `11_diff_report.py`。
- **字段契约**:可润色 6(极致内容/内容含义/极致触点/创作手法/镜头语言/画面风格)/**锁定 4**(事件标签/极致类型/复用场景/适用场景)/可改写问法 3 组。
- **三重校验**:① 字段集合一致 ② 骨架完整 ③ 行数不变。任一失败 → 该卡退回。
- ⭐ **v2「吸引力优先」**:判据 = **内容是否更短视频化**。三特征:破折号 +24%/口语化连接词 +28/强动作动词 +32%。三改动 = **台词前置/破折号拍点/动词升级**。
- ⭐ **约束强度对照**:堆「禁止…」严约束 → 改动率仅 1%;宽约束 → 46%。走宽约束。
- ⭐ **v3 第二任务:问法增厚**:`std` 保留骨架补画面、`sim` 条数严格相等、`neg` 保持负例属性。**v3.1 绝对边界**:增厚 = **搬运原文已有信息**。自检口诀:「问法里每一个具体信息点,都必须能在该卡 6 个可润色字段 + 事件标签里找到出处;找不到的删掉。」
- ⭐ **`validate()` 返回 5 元组** `(ok, reasons, cleaned, q, autofix)`;**std 前缀校验 = autofix 语义**(原文无前缀时模型误加 → 自动剥离,不退回)。
- ⭐ **`fiction_check` 防误报**:引号字符类匹配弯/直引号;比对须归一化。实测残留告警全为误报 → 只告警不拦截。
- ⭐⭐ **暂存批 v3 链路(已跑通)**:`10_polish_batch.py build-pending <n>` → `Agent(model="doubao-seed-2-1-pro")` 喂 `PROMPT_polish_v3.md`+载荷 → 存 `out/polish_result/pending_00NN.json` → `apply-pending <n>`。
- ⚠️ **`apply-pending` 必须在同一次执行内跑完**:曾出现「已生成 pending_00NN.json 但未 apply」→ 续跑须先补 apply(批次 48 实测)。
- 工具:`12_attractiveness.py`、`11_diff_report.py`、`14_form_audit.py`、`15_sensory_recall.py`(含 `extract_name()`)、`16/17_question_ab.py`、`18/18b_question_validate(.r).py`。
### 4.3 ⭐⭐ 技能侧 WeKnora 调用(权威源 = 技能 `references/接口调用/WeKnora_极致事件检索.md`)
- 🔴 **素材召回触发率 ≈ 0(端到端实测 ×2 路径)**;**口径(用户确立,优先)**:架构 = 「**流程不主动召回素材,知识库按需被取**」= 设计意图,**不改**。`hybrid_search` 0 次 ≠ bug。判据只有两条:① 模型**真能写出桥段** → 跳过 = ✅;② **写不出却仍不检索** = ❌。
- 实测:4 会话 191 次工具调用、召回 0 次;模型自述「中间步骤已在上下文按序完成,自动模式后台静默」→ 整段脑内跳过。
- **⭐ 素材库两个作用位**:**① 给事件「填空」**(S7 写不出桥段时取机制样本)+ **② 给台词「润色」**(S9 取原话/微反应/意外)。**两者是同一条链上下游**:S7 触发 ≈ 0 → S9 的 `{material_cards}` 恒空 → ② 退化。**∴ ② 失效是 ① 的直接后果**(②修好①自动恢复,改动最小)。
- 文件位置:① `7_生成短视频大纲.md` §极致触点素材检索;② `9_生成短视频脚本.md` L12 + L101-113 §3.1。
- **结论**:不动架构;解「"按需"判据太软」→ 推荐 **C1 换外部可验证判据**("通用 vs 专属"可验证,不像"我能不能写")。⛔ 作废「删除跳过条款 → 默认必检」。
- 会话记录 `D:/.workbuddy/projects/<cwd转义名>/<sessionId>.jsonl`;工具 `20_trace_recall.py`。工作台「提交创作」是**两段式**(`#reqCreate` 只弹确认,真提交在 `button[data-ok]`)。
- ✅ **确定有效 = 参数纠正**:`match_count` 实测省 69% 上下文;`vector_threshold` 必显式传。
- ⚠️ **收益有限 = 问法改写**:反查法旧 R@1 34/35 vs 新 35/35 → **差异在噪声内**。价值 = **信息量保障**,不是提升召回率。⛔ 禁宣称"召回率 97%→100%"。
- 🔴 **真实瓶颈 = 素材覆盖**:需求法暴露 3/5 真实节点零命中 → 问法再优化也召不回不存在的素材。
- 🔬 **验证方法论铁律**:测「检索优化」→ ⛔ 禁用「凭空需求」法;✅ 必用**「反查法」**。
- ⚠️ **信息保真审计口径**:真判据 = **角色台词零丢失 + 数字零丢失 + 可拍动作/物品全在**。
## 5. 麦芽平台采集(脚本在 `tools/`)
- ⭐ **接口直取,禁 DOM 翻页**:`GET /api/scriptwriting/shortVideo/hot?pageNum&pageSize&sortType&startLikeNum`(pageSize=50 最快)。
- 两坑:① 页面「点赞量筛选」整体排除 `uploadType=1`(人工上传占 18.5%)→ 拉无门槛全集后本地过滤;② 日期取 `publishTime || uploadTime`。
- 近 3 个月 3531 条 → ≥20w 命中 **2202 条**(剧情 1194 / 生活vlog 971)。
- ⛔ **清单交付格式红线**:用户口中的「表格」= **Excel(.xlsx)**,主交付 3 页 + csv 配套;**写 .md 属过度交付**。
- **麦芽 MCP**(`myai-mcp-production`):登录态会过期(`auth_status` → `feishu_login`);`short_video_detail(id)` 返回 `content` + `analysis`。
## 6. 工作方式红线
- 治本:从根因修机制;禁补数据/临时绕过;锚点禁写死盘符。
- 盘点前先确认扫描范围;下「违规」结论前必先读规范分类。
- 术语治理:先**内容级比对**。批量替换禁吞沿革句,**沿革句写入后不得再跑替换脚本**(已踩 3 次)。改后整仓 grep 复查,临时脚本用完即删。
- 改静态资源后**整页重载**再验;同一文件多次 Edit 必须串行;逐条修复(读→改→验)。
- git:2h push 一次;push 前 fetch;杀 node 用 PowerShell `Stop-Process`;`git rm -r` 中断会留 index.lock。
- 三层沉淀:治本(技能文件)→ 失误(`失误与规避记录.md`,append-only)→ 记忆。
## 7. 本机工具链坑(通用项见用户级 MEMORY)
- **产 `.xlsx` / 需 requests-openpyxl → 一律 `D:/miniconda3/python.exe`**(托管 venv 装不上包)。
- shell 前先 `unset HTTP_PROXY HTTPS_PROXY ALL_PROXY ...` + `export no_proxy=127.0.0.1,localhost`,否则 localhost 502;curl 另加 `--noproxy '*'`。
- **PowerShell stdout 被吞** → `Out-File` 到临时文件再 Read。**删非 ASCII 文件必须 Node `fs.unlinkSync`**。
- 后台服务会被系统回收 → 让用户双击 `start.bat`。**Chrome 不主动关闭**。
- 浏览器调试(端口 9333):必须 `run_in_background: true` 长驻 chrome;browser-harness 用 `BU_CDP_URL=http://127.0.0.1:9333` + venv python;**禁用 `env -u` 前缀**。
- ChatGPT 投材料(`tools/chatgpt_ask.py`):**长材料走附件上传**;完成判定 = 无 stop 按钮且文本连续 4 次不变。
## 8. 工作台 UI 定稿要点
> 完整铁律查 **`mcn-work-shop/docs/工作台视觉交互规范.md`**(权威源)。
- 榜单四榜末列恒「功能」= `inDb ? 查看 : 关注`;热门榜与点赞榜字段体系不同 → 跨榜逻辑双向回退。
- 选题列表由 `rewrite_id` 驱动:点标题=详情;「查看脚本」=`openScriptModal({rewriteId})`;「编辑继续」=带 id UPDATE;「复制」=不带 id 新增。
## 9. 历史时间线(压缩)
- 08 月:素材库扁平化 8 类型;赛道 8→27;三态创作;Lite1.0;`.dsh` 只读;工作台立项。
- 09-10 仓库迁移 + 环境判定|09-14 全量技能审计(P0=0/P1=8/P2=7)|09-16 工作台 AI 创作改版 + UI 规范定稿。
- 09-21~22 极致事件定义与三层定位裁决、事件卡 10 字段定稿。
- 09-23 WeKnora 检索层建成(FAQ 容器 + 阈值 0.5);留人点三级体系定稿。
- 09-23~24 卡片流水线化(RUNBOOK + 脚本 1/2/3)。
- 09-28 定向补采自动化 + 卡片回炉(v2 吸引力优先 + v3 问法增厚)+ 补采切暂存模式;检索参数名纠正。