Files
mcn-short-video/.workbuddy/memory/2026-09-24.md
T
maogeigei d07049ecf1 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
2026-09-29 18:56:24 +08:00

37 KiB
Raw Blame History

2026-09-24 工作日志

00:0x · 极致事件卡片批量生产 · 批次 4(无人值守自动任务)

  • 处理 21819 / 33425 / 21779 / 30078 / 20367 → 出卡 15,导入 WeKnora FAQ 库 MCN极致事件素材库 15/15,检索终验 15/15(threshold 0.5,score 0.73–0.82),库内 75 条。
  • 产物:tools/weknora-ingest/batches/batch_0004.md + batch_0004.spec.json。
  • 踩坑(已治本写入 RUNBOOK):spec 的 card 与 md 的 ### 标题需逐字一致,导入脚本只报「对不上」不报差异位置 → 导入前用 3 行 Python 比对两边标题。
  • 状态:完成 22 | 剩余 2180 / 2202;已建第 5 批单次任务(2026-09-24T00:15)。

00:2x · 极致事件卡片批量生产 · 批次 5(无人值守自动任务)

  • 处理 21730 / 24840 / 21727 / 28330 / 34790 → 出卡 15,导入 15/15,检索终验 15/15(threshold 0.5,score 0.75–0.85),库内 90 条。
  • 产物:tools/weknora-ingest/batches/batch_0005.md + batch_0005.spec.json。
  • 做法沉淀(已写入 RUNBOOK「批次 5 经验」):4/5 仍是周小闹系列 → 同系列内给每条视频的 3 张卡各配不同主标签(本批主标签 = 反差5/反常识4/视觉冲击2/自嘲反差2/价值观冲击1/预见式服务1/细节专业1),避免批内互抢召回;25s 极短视频按独立闭环同样拆 3 卡。
  • 状态:完成 27 | 剩余 2175 / 2202;已建第 6 批单次任务(2026-09-24T00:28)。

00:34 · 极致事件卡片批量生产 · 批次 6(无人值守自动任务)

  • 处理 18909 / 28311 / 36728 / 24841 / 30153 → 出卡 15,导入 15/15,检索终验 15/15(threshold 0.5,score 0.73–0.84),库内 105 条,无新建标签。
  • 产物:tools/weknora-ingest/batches/batch_0006.md + batch_0006.spec.json;RUNBOOK 已追加批次 6 记录与经验。
  • 做法沉淀:278s 长视频拆 3 卡取「开场装杯被打脸 / 中段数量奇观 / 结尾信物升华」,软广段与派餐段宁弃;「自嘲反差」主标签判据再验证 = 先高调立 flag 再自己拆台。写 spec 前的比对脚本一次通过。
  • 状态:完成 32 | 剩余 2170 / 2202;已建第 7 批单次任务(2026-09-24T00:39,id f353aa08-…)。

00:4x · 极致事件卡片批量生产 · 批次 7(无人值守自动任务)

  • 处理 30101 / 31774 / 17404 / 17468 / 28294 → 出卡 15,导入 15/15,检索终验 15/15(threshold 0.5,score 0.75–0.85),库内 120 条,无新建标签。
  • 产物:tools/weknora-ingest/batches/batch_0007.md + batch_0007.spec.json;RUNBOOK 已追加批次 7 记录与经验。
  • ⚠️ 踩坑(已治本写入 RUNBOOK 步骤 5 红线):2_import_batch.py 用非贪婪正则按 ```text 围栏解析卡片,15 张卡写进同一个围栏只会被识别成 1 张 → 报「卡片 1 张」+ 14 条 spec 对不上。正确写法 = 每张卡独占一个围栏。导入前自检:len(re.findall(r'```text\n(### [^\n]+\n.*?)\n```', src, re.S)) 应等于卡数。
  • 标签判据补充:「细节专业」= 专业条款被拆成递进问答、一轮顶回一个理由;「预见式服务」= 预判对方的难堪并提前把台阶铺好(与品质对比无关)。
  • 状态:完成 37 | 剩余 2165 / 2202;已建第 8 批单次任务(2026-09-24T00:52,id 5bc97c8c-…)。

01:0x · 极致事件卡片批量生产 · 批次 8(无人值守自动任务)

  • 处理 26518 / 33453 / 24498 / 26497 / 36468 → 出卡 15,导入 15/15,检索终验 15/15(threshold 0.5,score 0.69–0.79),库内 135 条,无新建标签。
  • 产物:tools/weknora-ingest/batches/batch_0008.md + batch_0008.spec.json;RUNBOOK 已追加批次 8 记录与经验。
  • 本批首次混入非周小闹素材:24498 周大爷不服老(186s 硬核健身 vlog,全片首个生活 vlog 卡)、36468 癫婆(50s 军训段子)。
  • 做法沉淀:① 围栏自检 + 标题比对两个自检合并为固定前置步骤,本批一次通过;② 主标签打散 = 反差4/反常识3/视觉冲击3/价值观冲击2/品质对比1/细节专业1/自嘲反差1;③「品质对比」= 品质标准被资历/利润公然替换;④「细节专业」= 一轮搜证顶回一个理由形成闭环;⑤ 50s 短段子拆 3 卡可行,前提三卡的期待-打破落在不同对象上;⑥ 生活 vlog 用 行为极致·{离谱/反差/整蛊},剧情用 戏剧极致·{反转/冲突/冲击/荒诞/专业}。
  • 状态:完成 42 | 剩余 2160 / 2202;已建第 9 批单次任务(2026-09-24T01:05,id 65cbe8c2-…)。

01:1x · 极致事件卡片批量生产 · 批次 9(无人值守自动任务)

  • 处理 24856 / 21778 / 24792 / 37368 / 20343 → 出卡 15,导入 15/15,检索终验 15/15(threshold 0.5,score 0.68–0.82),库内 150 条,无新建标签。
  • 产物:tools/weknora-ingest/batches/batch_0009.md + batch_0009.spec.json;RUNBOOK 已追加批次 9 记录与经验。
  • 本批首个校园暗访爽剧素材:37368 脱缰凯(272s 校长微服私访查饭卡乱扣费),极致类型 仍走 戏剧极致·{反转/荒诞}。
  • 做法沉淀:① spec 改用临时 py 按 md 顺序生成(自建卡片顺序表 + 标签/标准问/相似问/反例问),从根上消灭「md ### vs spec.card」不一致,配合围栏自检一次通过;② 主标签打散 = 反常识4/反差4/视觉冲击2/价值观冲击2/细节专业2/自嘲反差1;③「细节专业」补层 = 物证点破(敲盒底日期 / 举硬盘)+ 极快语速链条推理,缺物证不成立;④ 272s 长视频仍只拆 3 卡,结尾猎奇彩蛋(地窖啃烂土豆)宁弃不为之单开卡。
  • 状态:完成 47 | 剩余 2155 / 2202;已建第 10 批单次任务(2026-09-24T01:21,id d9abd8a9-…)。

00:3x · MEMORY.md 精简重写(25973 → 11339 字符)

  • 注入时超限被截断 → 按「索引 + 红线 + 踩坑」原则重写:WeKnora 详细参数、采集脚本细节等已固化在 tools/weknora-ingest/RUNBOOK.md 与技能文件,此处只留指针;保留工具链坑、创作红线、子技能要点。

01:2x–01:3x · 极致事件卡片批量生产 · 批次 10(5 视频 → 15 卡)

  • 视频:31775 菜难吃 / 35110 外卖堂食不一样 / 18973 赠菜要好评 / 23334 俩人坐包房(均周小闹)+ 20270 时间的终点(至尊旭 科幻悬疑 616s,本流水线首个科幻题材)。
  • 产出:batches/batch_0010.md + .spec.json;导入 WeKnora FAQ 库 15/15,终验 15/15 ✅(score 0.79–0.87,历批最高),库内 150 → 165 条;无新建标签。
  • 主标签打散:反常识 4 / 价值观冲击 3 / 反差 3 / 细节专业 2 / 视觉冲击 1 / 自嘲反差 1。
  • 自检一次通过:fences=15;md ### 行 vs spec.card mismatch 空集(沿用批次 9 的「临时 py 按 md 顺序生成 spec」,用完即删)。
  • ⚠️ 新踩坑(已写进 RUNBOOK 红线 3):正式导入返回 success_count=11 但库内实际 +15 且终验全 ✅ —— completed 时 success_count 尚未累加完,判定必须看「库内增量 + 检索终验」,不能看 SUMMARY。
  • 新增经验(已入 RUNBOOK):616s 超长视频仍只拆 3 卡(开场悖论 / 中段物证击穿 / 结尾闭环焊死),中间走马灯奇观整段弃;「细节专业」第三层判据 = 一个具体到位置的物证("你上一口袋的安神片")瞬间击穿专业方。
  • 进度:完成 52 | 剩余 2150 / 2202(cursor=51);已建第 11 批单次任务 2026-09-24T01:40(id bcc1c2ac-…)。

01:52 极致事件卡片批量生产 · 批次 11(自动化)

  • 处理 5 条:26549(李炮儿 258s 挑战一天五份工,生活vlog·职业挑战)、20359(周小闹 包房丢东西)、27956(三虎子gy 52s「女子本身就是好字」,亲子萌娃)、30169(周小闹 假好评,大女主商战线)、28273(周小闹 后厨忘记做菜,老板权谋线)。
  • 出卡 15 张,导入 15/15,检索终验 15/15 ✅(score 0.67–0.82);库内 165 → 180;进度完成 57 | 剩余 2145(cursor=56)。
  • 产物:tools/weknora-ingest/batches/batch_0011.md + .spec.json。
  • 主标签打散为 反差 4 / 反常识 4 / 价值观冲击 4 / 自嘲反差 1 / 视觉冲击 1 / 细节专业 1,无新建标签。
  • 新方法沉淀(已写回 RUNBOOK「批次 11 经验」):① 临时 py 生成 spec 第 3 次一次通过(fences=15、mismatch 空集);② 52s 纯对话型亲子 vlog 也能拆 3 卡(开场反差转述 / 中段金句反驳 / 结尾挖坑反杀),判据是三卡「期待-打破」落在不同对象;③「细节专业」第四层判据 = 把抽象规则门槛换算成具体数字+日常道具(2950 vs 3000 立案线 → 硬塞两个纸巾盒);④「视觉冲击」可用满屏旋转花字+鬼畜复读音效"吞噬"人物表达精神崩溃,不必是实景奇观;⑤ 同一 IP 下不同故事线(暑假工反击 / 大女主商战 / 老板权谋)可同批共存,相似问绑定各自冲突物件与金句即可不互抢。
  • 已建第 12 批单次任务 fd1c3dc0-e076-43dd-afab-a66ae61c7fa4,scheduledAt 2026-09-24T01:57(窗口内 +5min)。

02:10 极致事件卡片 · 批次 12

  • 处理 5 条:30154(周小闹 菜品出错,老板权谋线)、26468(周小闹 提前排菜,部门内斗线)、24826(周小闹 午休开会,暑假工硬刚线)、24495(礼君君 187s「女朋友能有多丢人」,首个情感剧场)、17251(侯绿萝 81s 老钱班,首个校园荒诞喜剧,本批最短)。
  • 出卡 15 张,导入 15/15,检索终验 15/15 ✅(score 0.71–0.83);库内 180 → 195;进度完成 62 | 剩余 2140(cursor=61)。
  • 产物:tools/weknora-ingest/batches/batch_0012.md + .spec.json。
  • 主标签打散为 反差 5 / 反常识 4 / 价值观冲击 3 / 自嘲反差 1 / 细节专业 1 / 视觉冲击 1,无新建标签。
  • 新方法沉淀(已写回 RUNBOOK「批次 12 经验」):① 临时 py 生成 spec 第 4 次一次通过(fences=15、mismatch 空集),写法已完全稳定;②「细节专业」第五层判据(新增):不只是物证顶回对方,还包括"专业规范先立到极细(揭盖朝向 12 点钟方向)→ 执行者在同一套动作上当场翻车 → 管理层把事故改写成'必须培训'的论据",规范从保护盾异化为甩锅凭据;③「视觉冲击」可靠"道具直接砸到脸上"的动作量成立(成把钞票物理扇脸 + 塞比脸还大的金元宝)用于 3 秒改尺度;④ 81s 极短校园喜剧同样能拆 3 卡(开篇奇观 / 离谱赠礼 / 反转+彩蛋);⑤ 跨题材混批(餐饮职场 + 情感剧场 + 校园喜剧)实测不互抢召回,相似问绑定各自冲突物件与金句即可。
  • 已建第 13 批单次任务 3fdaf397-9b2f-4888-bf5e-a28eeace8ef0,scheduledAt 2026-09-24T02:15(窗口内 +5min)。

极致事件卡片批量生产 · 批次 13(2026-09-24 02:28)

  • 处理 5 条:28325(周小闹·托盘/借冰)、33485(周小闹·没大米饭了)、33400(周小闹·上菜小推车)、35036(周小闹·借厕所)、24870(脱缰凯·老师年纪小)。
  • 出卡 15 张,导入 15/15,检索终验 15/15 ✅(score 0.73–0.86);库内 195 → 210;进度完成 67 | 剩余 2135(cursor=66)。
  • 产物:tools/weknora-ingest/batches/batch_0013.md + .spec.json。
  • 主标签打散为 反常识 4 / 反差 4 / 价值观冲击 3 / 视觉冲击 2 / 细节专业 1 / 自嘲反差 1,无新建标签。
  • 新方法沉淀(已写回 RUNBOOK「批次 13 经验」):① 临时 py 生成 spec 第 5 次一次通过(fences=15、mismatch 空集);②**「反常识」新增「对称翻车」型**——两难的两个选项各自都翻车(不借被网暴 / 借了被抽烟霸位耗光耗材连爱心卫生巾被薅秃),落点在"这道题本身没有安全解";③**「视觉冲击」可以是"代价被具象化"——为面子撤推车 → 一地碎瓷 + 跪地 + 2000 元餐损 + 半个月工资;④「细节专业」第六层**——把不可见的"累"拆成三级可称量(空盘 → 加菜 → 加汤水 20 多斤)再塞进对方手里做体感,"你行你上"被物理化;⑤ 同系列四线 + 一个校园题材混批仍不互抢召回。
  • 已建第 14 批单次任务 766c89cf-cfb8-4a48-9859-33e0356d9cb1,scheduledAt 2026-09-24T02:35(窗口内 +5min)。

02:45 · 极致事件卡片批量生产 · 批次 14 ✅

  • 处理视频:36712(穿短裙)、35106(弄脏名牌包)、24854(不能坐电梯)、28262(上交手机)、28286(下班来客人)—— 5/5 全周小闹,但五条故事线互不重叠。
  • 出卡 15 张,导入 15/15,检索终验 15/15 ✅(score 0.74–0.84);库内 210 → 225;进度完成 72 | 剩余 2130(cursor=71)。
  • 产物:tools/weknora-ingest/batches/batch_0014.md + .spec.json。
  • 主标签打散为 反常识 4 / 反差 4 / 价值观冲击 4 / 视觉冲击 2 / 自嘲反差 1,无新建标签。
  • 新方法沉淀(已写回 RUNBOOK「批次 14 经验」):① 临时 py 生成 spec 第 6 次一次通过(fences=15、mismatch 空集);②**「反常识」新增「规章自相矛盾」型**——这套规章本身没有安全解(不用传菜梯就洒怕扣钱,用了客梯要躲店长;收了手机连急救电话都接不到),落点在制度悖论;③**「视觉冲击」新增「物理断供」型**——不靠奇观特效,直接切断环境本身(拉总闸 → 全场全黑 → 手机冷光 → 摸黑结账),爽感在"终止键握在最没权力的人手里";④**「价值观冲击」新增「一次裁决内赏压并行」**(罚店长 500 + 免员工 100 + 留人敲打 + "你得跟我一条心呐"一气呵成)。
  • 已建第 15 批单次任务 7cb57404-bd54-4903-8612-eafedcb5d19e,scheduledAt 2026-09-24T02:50(窗口内 +5min)。

09:43 · 极致事件卡片批量生产 · 批次 15 ✅

  • 处理视频:36742(后厨偷懒)、21753(职场人情味)、17452(客人带食材)、30168(培训)—— 4/5 周小闹但四条线互不重叠;33483(良田 209s 摄影养成)为本技能首次处理「生活 vlog 情感纪实」形态。
  • 出卡 15 张,导入 15/15,检索终验 15/15 ✅(score 0.72–0.87,上限 0.8657 为本链最高);库内 225 → 240;进度完成 77 | 剩余 2125(cursor=76)。
  • 产物:tools/weknora-ingest/batches/batch_0015.md + .spec.json。
  • 主标签打散为 反常识 4 / 反差 3 / 价值观冲击 3 / 视觉冲击 2 / 细节专业 2 / 自嘲反差 1,无新建标签。
  • 新方法沉淀(已写回 RUNBOOK「批次 15 经验」):① 临时 py 生成 spec 第 7 次一次通过(fences=15);②**「反常识」新增「正确废话」型**——角色用一句完全正确的话给自己做最离谱的辩护("后厨是人也不是机器"是事实,却用来论证虾线可以不去;"有点人情味"是美德,结果经理替下属端盘子、老客在楼下没人接),落点在"这句话本身没错所以谁都反驳不了";③**「视觉冲击」第三层:代价在镜头前实时发生且不可撤回**(夺回来的茅台已被开了,一句"送给客人了"把两瓶台子变沉没成本);④**「细节专业」第七层:用对方原话当物证**——把对方说过的话连腔调带动作原样复刻("哎呀有啥不行啊,服务至上嘛"),让否认本身变成新笑料,判据=证据即对方的表演痕迹。
  • 已建第 16 批单次任务 940bb983-4aed-445e-927d-93d225940f10,scheduledAt 2026-09-24T23:10(执行时 09:43 在窗口外 → 顺延当晚 23:10)。

12:1x · 方案:极致事件素材接入创作流程(分析,未改技能文件)

  • 需求:分析脚本创作流程,如何加入知识库调用、让创作参考恰当极致事件素材、丰富内容层次。
  • 核心诊断:技能全仓 grep -i weknora = 0 命中 → WeKnora 240 条卡是离线资产,创作流程零引用;S7 的 {material_content} 注入者「编排层」全仓仅 1 处提及且无定义(悬空引用)。
  • 内容层次模型(4 层):载体层(8 库,拍什么)/结构层(03_框架节奏,怎么排)/机制层(WeKnora 卡,凭什么留人)← 未接入、最薄/表达层(08_对话风格,怎么说)。S7 的 L2 密度自检只查"具体度"不查"爆点机制是否成立" → 大纲可以既具体又平。
  • 实测(本次新跑,10 组跨赛道创作意图打 faq/search,threshold 0.5):
    • 命中 9/10,分数窄带 0.50–0.61,天花板低;
    • 纯抽象 query 零命中("一句话让所有人都沉默"→0);带具象动作的 query 最高分("被当场刁难的人用专业细节顶回去"→0.6058)→ 问法必须带具象锚点;
    • 发现 15 条「泛化磁铁卡」(编号 A1/A2/B1/B2 + 11 条名称式,标准问统一为"找一条 X 的极致事件素材")语义与任何意图都近,频繁挤占 top1;
    • 赛道覆盖偏斜:剧情 186/240(77.5%),亲子仅 3,「感官沉浸」「氛围沉浸」= 0 条(治愈/慢生活向检索为空)。
    • 复用发现:卡片 内容含义 结构 [期待A]—被X打破→[结果B] 可反向当爆点成立性自检器(无新数据即可用)。
  • 方案三接入点:A(P0)S7 事件展开前做机制检索,问法用「镜像式五要素」(与库内标准问语域同构:落差对象+打破方式+具象锚点+段落功能);B(P1)S9 台词毛边(原话/微反应/意外三档);C(P1)S11 爆点溯源(无来源=编造爆点,照搬=P0)。
  • 红线:① 转译必须"取材不取形"(只取落差结构/手法类别/铺垫量级,禁搬人物·台词·道具);② WeKnora 是开发机本地 Docker(用户环境没有)→ 必须静默降级为 8 库筛条,脚本含 Key/端口不入技能包,只进 tools/;③ FAQ 纯向量 + CustomMetadata 不参与过滤 → 收敛只能靠 query 语义与检索后复筛(top5 复筛留 ≤2);④ 阈值恒显式 0.5(提到 0.6 会大面积漏)。
  • 产物:极致事件素材接入创作流程方案_V1.0_20260924.md(仓库根目录)。未改任何技能文件,待授权后按缺口清单 8 项执行。
  • 数据侧待办(已记入方案 §四):改造 15 条泛化磁铁卡标准问、清理 6 条卡 事件标签 字段混入的自检备注、后续批次优先补非剧情赛道。

12:2x · 方向修正:极致事件素材接法改为「方法驱动」(用户提出,两轮确认)

  • 用户质疑:「极致事件是否需要根据创作方法去应用,而不是直接加入到创作流程中」→ 判断:对,上一版方案的接法方向是反的。上一版把卡库当成 S7 的一个检索子步骤直接插进流程(布位→检索→填充)= 素材驱动;应改为方法驱动(方法定手法 → 判定定类型与布位 → 素材作实例供给)。
  • 证据(本轮新查):知识库/05_极致事件/ 10 个文件实为两类混放——① 规则/索引层(00 总纲、01 映射表、02 赛道形态、03 评估标准)已被 S6/S7 引用;② 方法层 6 个(极致行为创作法 + 预期反转/荒诞化/抽象化/无厘头/错位化)在创作流程中 0 调用(唯一 1 次出现在 创作流程规范.md 第 380 行的目录罗列,属罗列非调用;「极致行为创作法」连文件名都未出现)。对照:S5 选题有完整方法论清单(5 大方法 + 明文"AI 执行时须读取对应文件")→ S5 是方法驱动,S6/S7/S9 不是。
  • 上一版实测跨赛道检索分低(0.50–0.61)的病根是方法缺位(泛意图在向量空间无收敛点),不是检索参数问题。
  • 三层关系确认(用户本轮再次收口):方法层(怎么制造极致感)/ 判定层(这是什么极致)/ 素材层(用什么材料);调用方向自上而下。
    • ⭐ 「极致事件素材」= 素材层的事件类,与 8 库「载体类」并列(不是素材库的替代)。用户定性:极致事件素材起的就是素材库的作用。
    • 「极致事件」一词两义必须切开:作为知识库维度(知识库/05_极致事件/)= 方法 + 判定,不是素材;作为素材(240 条卡)= 素材层,不是方法。
    • 素材层两类用法/检索方式不同:载体类 8 库 = 字段筛条(四维标签),可直接取用(换成本账号具名物品);事件类卡 = 语义检索(FAQ 纯向量、无字段过滤),只能结构参照 + 转译(属别人账号事件,禁直取)。
  • 设计推论(待落地):① ❌ 取消「接入点 A = S7 新增检索子步骤」——极致事件素材既属素材层,就不应有独立接入步骤;② ✅ 改为扩展 S7 现有「素材库」定义域(8 库 → 8 库 + 极致事件卡库),共用同一调用链「类型定库 → 筛条/检索 → 填充」,仅检索方式分叉 → ⚠️ 该"扩容"表述当天 13:0x 被用户纠正为"切换"(见下节);③ 方法层接线是本需求的另一半(不改则素材层扩大后仍是素材驱动)——落点 = S7「极致触点节点布位」表新增「候选创作方法」列(无需新增步骤)。

13:0x · 定性修正:不是「扩容」,是「切换」(用户纠正)+ 三项事实实测

  • 用户纠正:「素材库不叫扩容,是叫切换,之前技能中的素材切换到 WeKnora 对应素材库」→ 采纳。定性 = 素材载体切换(本地 md 素材 → WeKnora 容器),非两库并存。
  • ⭐ 支撑该定性的实测事实(本轮新查,极重要):
    • references/素材库/ 共 10 个文件 / 546 行,真实素材条目合计仅 21 条;
    • 7 个通用库中 6 个是空壳(03_生活仪式库/05_装修布局库/06_生活服务库/07_穿搭库/08_妆容库/11_造型库)——文件内只有 ## 字段结构 代码块 + <!-- 在此添加条目 --> 注释 + 「最低要求:每个账号 ≥ 10/15 个」的空承诺,零条素材;
    • 唯一有实素材的是 01 美食库 4 文件 = 21 条菜品(中式家常菜 8 / 仪式感美食 5 / 煲汤类 5 / 深夜宵夜 3);
    • 对比:WeKnora 240 条。→ 本地 md 素材库从未真正建成过,故"切换"成本极低(仅 21 条要迁)。
  • ⚠️ 连带问题:references/索引_知识素材库.md 对 03/05/06/07/08/11 的描述("安睡/做饭/按摩选型"「穿搭方案选型」等)承诺了不存在的内容——把"字段结构模板"写成了"素材库",切换时须一并修正。
  • 切换的关键设计约束(本轮新增判断):
    1. md 素材文件不能删 —— WeKnora 是开发机本地 Docker,用户环境没有 → 无 md 则用户环境零素材。定位:md = 权威源 + 降级源,WeKnora = 检索运行时副本;降级 = 静默回退读 md + 四维标签筛条。
    2. 切换范围:分块定义/模板/标签闭集 = 规格 → 留文件(规则类不进检索层);实素材条目 → 切 WeKnora;6 个空壳库的"字段结构"并入 分块定义/ 后原文件退役。
    3. 能力置换(必须接受):失去四维标签字段精确筛选(FAQ 纯向量、CustomMetadata 不参与过滤,实测),换来素材 21 → 240 条。净收益为正。
    4. 账号隔离是硬边界:FAQ 无 metadata 过滤 → 无法按账号隔离 → 04 对话库(账号专属)不切换,保持文件形态按账号存,否则多账号串号。
    5. 前置成本:进 WeKnora 的载体素材必须补「标准问+相似问」(FAQ 召回唯一杠杆)→ 21 条 × 5-6 问法 ≈ 120 条问法,复用 2_import_batch.py。
  • 产物:极致事件素材接入创作流程方案_V1.1_20260924.md(V1.0 已加"被取代"标注保留沿革)。技能文件仍未改动,待授权。
  • 六项待办顺序(V1.1 §六):补 21 条问答对入库 → 清 15 条泛化磁铁卡 + 6 条标签污染 → 改技能文件 10 项 → 卡片补「方法归属」→ 变更日志。

13:0x · 技能接入 WeKnora 的具体实现(实测定稿)

  • ⭐ 决定性发现:走 MCP 工具,不写脚本。weknora MCP 已配在 D:\.workbuddy\mcp.json(stdio + weknora-mcp-server.exe,env 指向 http://localhost:31607/api/v1 + Key)。实测 mcp__weknora__hybrid_search 可直接召回 FAQ 库条目:kb_id 传库名「MCN极致事件素材库」自动解析;命中 28325-3,score=0.6058205716953738 —— 与 REST /faq/search 同 query 同分(两条路径等价)。
  • 两条路径分工:MCP = 创作端(会话内,S7 每视频 1-3 次);REST /faq/search = 生产端(tools/weknora-ingest/*.py 批量导入+终验,需 unset 代理、导入通道独占)。
  • 三个必须写进技能的坑(实测):
    1. 零命中不是错误:返回 {"data": null, "success": true} → 判据是 success=true 且 data=null,不得判为调用失败,不重试不报错,走降级。
    2. 同一张卡内容返回三份(content / chunk_metadata.answers[0] / matched_content)→ 创作端只读 chunk_metadata.answers[0],其余为噪声。
    3. chat 不能替代 hybrid_search:chat 是 RAG+LLM 总结,会把卡「摘要化」,而卡的价值恰在不可概括的细节(原话/微反应/铺垫量级/镜头语言)→ S7 用 hybrid_search 取原文,禁用 chat/agent_chat。
  • 参数:hybrid_search 默认 vector_threshold=0.5(恰好合规,仍应显式传)、match_count=5 → 建议传 3;keyword_threshold 对 FAQ 库无效(FAQ 恒纯向量召回),不传。
  • 上下文成本控制(实测推导):单条卡约 3.5-4KB(因三份重复),match_count=5 单次≈18KB≈6K tokens;5 节点全检 ≈30K tokens → 三条规则:① match_count=3(单次≈3.5K tokens);② 按需检索(只检"想不出桥段的节点",通常一视频 1-3 次);③ 串行、读后即弃,不堆积。
  • 降级矩阵(P0):MCP 未挂载 / 服务不可用(用户环境无 Docker)/ 库不存在 / 零命中 → 静默回退读 references/素材库/*.md;零命中退化为「仅用类型层子类指引」,不编造素材。技能文案须写成能力探测式(先试→失败则降级),不假定可用也不假定不可用。
  • 召回机制澄清(补充):hybrid_search 名字含 keyword,但 FAQ 库 matched_content 说明命中的是「标准问+相似问+答案」全文,match_type=0 → 关键词不参与,仍是纯向量。
  • 产物:技能接入WeKnora实施规范_V1.0_20260924.md —— 含可直接落地的新建文件全文草稿 references/接口调用/WeKnora_极致事件检索.md(5 节:调用/镜像问法/返回判据/降级/成本控制)+ 各技能文件改动落点表(SKILL.md 两处、S7 四处、{material_content} 定死结构)+ 环境矩阵。
  • 落地前 3 项待补测:① 载体类 21 条菜品与事件卡是否互挤召回;② match_count=3 对小众赛道(亲子 3 条/沉浸 0 条)是否够;③ 真实 S7 场景零命中率。
  • 技能文件仍未改动,待授权。

14:xx · 执行落地:素材层切换 WeKnora + 方法层接线 ✅(用户授权「按照方案执行」)

  • 新建:references/接口调用/WeKnora_极致事件检索.md —— 调用契约权威源,8 节(定位 / 调用参数 / 镜像式五要素问法 / 返回判据三坑 / 复筛转译 / 降级矩阵 / 成本控制 / 实测依据 / 与其他接口分工)。kb_id 用库名、match_count=3、vector_threshold=0.5 显式、不传 keyword_threshold、零命中判据 success==true 且 data==null、只读 chunk_metadata.answers[0]、禁 chat/agent_chat。
  • S7 核心改造(创作流程/7_生成短视频大纲.md,9 处):布位表新增「候选创作方法」列(4→5 列)打通方法层 → 新增「极致触点素材检索」按需环节(已有桥段的节点跳过,通常一视频 1–3 次)→ {material_content} 注入格式定死 → 新增极致触点机制自检(L1 节点须写得出 [期待A]—被X打破→[结果B],写不出降级为普通情节)→ 输入章节素材库改双层源(主源 WeKnora / 降级 md 文件,md 永不删除)→ System Prompt 与禁止行为同步(禁跳方法列 / 禁搬卡原文 / 禁零命中编造)。
  • 方法层接线:知识库/05_极致事件/ 6 个方法文件各补「素材供给」块(极致标签 / 定库检索入口 / 问法「② 打破方式」填法),治「方法层在创作流程中 0 调用」。
  • 配套:SKILL.md(MCP 依赖节 + WeKnora 检索层 + S7 小节调用链 + frontmatter updated_at);索引_知识素材库.md(素材库章节改双层源 + 03/05/06/07/08/11 逐条标注「仅含字段结构模板,尚无实素材条目」+ 新增「接口调用」章节);S9 输入增 {material_cards} + 新增「台词毛边三档参考」(原话/微反应/意外);S11 类1「爆点贯穿」升级为爆点溯源 4 判据(次数/可溯源/落差三件套/转译合规),八类35项清单同步。
  • ⚠️ 踩坑(本轮):6 个方法文件写在 references/知识库/05_极致事件/(两层深),「素材供给」块里我写了 ../接口调用/WeKnora_极致事件检索.md —— 层数算错(../ 只退到 知识库/)。阅 references/规则/路径引用规范.md 后确认:技能内既有惯例是省略 references/ 前缀写成 接口调用/xxx.md(S7、索引、变更日志一致),故统一改为 接口调用/WeKnora_极致事件检索.md。教训:跨层级引用前先 grep 同侪写法对齐惯例,别自己推层数。
  • 复查(全仓):../接口调用/WeKnora = 0;敏感串(sk- / 31607 / e6772e41)= 0;盘符绝对路径 = 0;「编排层」旧表述仅剩 2 处且均在第三方整包 nuwa-skill-main 内(规范明示豁免);6 个方法文件「素材供给」引用写法完全一致。
  • ✅ junction 已重建(14:46,用户授权):~/.workbuddy/skills/短视频工作台 → D:\AI技能\mcn-short-video\project\短视频脚本创作\V1.0(children=7,SKILL.md 可读)。
    • 做法沉淀:写临时 UTF-8 js 文件(路径硬编码在文件内,不走 argv)→ node fs.symlinkSync(target, link, 'junction') → 用完即删。避开两个坑:① PowerShell 沙箱报 cmd decisionRecord missing actual resource subject 直接不可用;② node -e "…中文路径…" 走 argv 有编码风险。
  • ✅ git 已提交:6e4ce94(20 files changed / 1701 insertions(+) / 67 deletions(-)),仅含本次范围(技能 14 + 仓库根文档 5 + 记忆 1)。未 push。工作区仍有 137 个其他工作线未提交改动(mcn-work-shop / 03_框架节奏 / 04_爆款开场 等),未动。
  • 方案 §六 未执行项(本次范围外,待另行授权):6 个空壳库字段结构并入 分块定义/ 后原文件退役;21 条载体素材补问答对入库;清 15 条泛化磁铁卡 + 6 条标签污染;240 条卡补「方法归属」字段。

16:2x · 俊希视频列表刷新(mcn-dou-analysis 功能二)✅

  • 产出:桌面 MCNSkill项目/俊希/短视频表格.xlsx 重写为 138 条(原 136 条全部覆盖、零丢失 + 新增 2 条:09-19「70元做酸辣菜」2.9万赞、09-07「开学前一天400块做大餐」11.6万赞);13 列标准格式(序号/视频ID/标题/地址/点赞/点赞显示/评论/分享/收藏/播放/时长/发布时间/标签),按「点赞+分享」降序。字段零缺失(createTime / duration / desc 全 138/138)。原表已备份 → mcn-dou-analysis/tmp/_backup_短视频表格_20260831.xlsx。
  • 账号表刷新(达人账号表.xlsx 俊希行,数据源 = 页面 Fiber userInfo 实时值):粉丝 281.0万(原 281.9万)、获赞 3694.4万(原 3658.9万)、关注 11、作品 138(原 136)、更新时间 2026-09-24。
  • 抓取路径:9333 CDP(browser-harness)→ 搜索页 JJX0827?type=user → 卡片坐标点击进主页(守规范:不直连 /user/ 地址)→ Fiber defaultDataList 提取 → 滚动 3 轮(54 → 90 → 138)。全程守 5.6 浏览器锁(工作台目录 .browser-lock)并已释放;未关闭用户 Chrome(守 5.7)。
  • 三个坑(已写入 失误与规避记录.md #020):① browser-harness.exe 入口失效(exit=1 零输出)→ 必须改 venv python -m browser_harness.run + PYTHONPATH=src(python run.py 会相对导入失败);② 独立调用之间 current tab 漂移回列表第一个 → 每次先 switch_tab(list_tabs() 筛出的 target_id),截图差点截到用户页面;③ 规范里的滚动容器 .route-sc 实测已不存在 → 实际是 [class*="route-scroll-container"]。
  • 附带发现:js() 返回值反序列化为 Python 对象,可直接回传 138 条×10 字段并本地写文件,不必走 stdout(避开截断坑)。
  • ⚠️ 待确认(技能规范待修,本次未动技能文件):mcn-dou-analysis/references/浏览器搜索抖音账号操作规范.md ①「滚动容器与加载技巧」写死 .route-sc(已失效);② 5.x「调用方式」未说明本机 .exe 失效需走 venv -m。建议修,待授权。

极致事件卡片批量生产 · 批次 16(23:10–23:24)

  • 处理 5 条:27102(海杰 骑行去新疆 257s)/ 21777(周小闹 退团购券 139s)/ 26534(李炮儿 荒野求生 316s)/ 20344(周小闹 客人自己拿酒 131s)/ 20863(二孬别闹 反向吵架 75s)→ 15 张卡,导入 15/15,终验 15/15 ✅,库内 240→255 条。
  • 产物:tools/weknora-ingest/batches/batch_0016.md + batch_0016.spec.json;RUNBOOK 追加批次 16 记录。
  • 新增 3 条判据(已写 RUNBOOK):「反常识·被动方反客为主型」「反常识·美德被计价型(坦白从严 9347 元)」「视觉冲击·数量排布替代说明型(洗手台一整排空瓶)」。
  • 主标签分布:反常识 5 / 视觉冲击 3 / 反差 3 / 价值观冲击 2 / 细节专业 1 / 自嘲反差 1,无新建标签。
  • 下一批(第 17 批)单次任务已建:2026-09-24 23:29。

极致事件卡片批量生产 · 批次 17(23:29–23:41)

  • 处理 5 条:30075(李炮儿 一天五份工 335s)/ 28282(脱缰凯 校园违纪通报 249s)/ 36741(周小闹 饭店消杀回扣 136s)/ 24462(竹子买车 找婆婆借2块钱 591s)/ 31545(猫meme 传承 41s)→ 15 张卡,导入 15/15,终验 15/15 ✅(0.76–0.85),库内 255→270 条。
  • 产物:tools/weknora-ingest/batches/batch_0017.md + batch_0017.spec.json;RUNBOOK 追加批次 17 记录与 4 条新判据。
  • 新判据:「反常识·勤奋反向计价型(把重量当金额收)」「反差·生理不可协商型(扛床垫行、刷马桶崩)」「视觉冲击·关系实物化(满车空瓶倾泻 / 假人残肢)」「591s 超长纪实与 41s 极短猫meme 均只拆 3 卡」。
  • 主标签分布:反差 5 / 反常识 4 / 价值观冲击 3 / 视觉冲击 2 / 自嘲反差 1,无新建标签。
  • 下一批(第 18 批)单次任务已建:2026-09-24 23:46。

极致事件卡片批量生产 · 批次 18(23:46–23:57,无人值守自动任务)

  • 处理 5 条:31760(脱缰凯 魏老师保卫班级荣誉 319s)/ 26469(侯绿萝 老钱班30 227s)/ 33436(周小闹 菜品备注 136s)/ 17507(段俊 晚安 悬浮键盘 36s)/ 37363(隆隆隆野 多语种检票员 182s)→ 15 张卡,导入 15/15,终验 15/15 ✅(0.76–0.85),库内 270→285 条。
  • 产物:tools/weknora-ingest/batches/batch_0018.md + batch_0018.spec.json;RUNBOOK 追加批次 18 记录 + 3 条新判据,并更新「已用标签」清单。
  • 新建标签「感官沉浸」(12 维闭集第 9 个已用标签);主标签分布:反差 4 / 反常识 3 / 价值观冲击 2 / 视觉冲击 2 / 品质对比 1 / 感官沉浸 1 / 细节专业 1 / 自嘲反差 1。
  • 新判据:① 反常识·自证陷阱掀桌型(31760-2:「你问心无愧为什么不敢重考」→ 拒绝进入游戏,区别于批次 10 的"美德被计价");② 品质对比·预告式翻车(33436-2:「少辣就是不好吃」先声明,最后被自家服务员干呕兑现);③ 细节专业·一句问候四步闭环+收得住(37363-2:国籍→母语→发音纠正→夸奖,够用即止)。
  • 36s 极短才艺视频拆 3 卡成立(17507:召唤奇观/沉浸弹奏+路人反应/停手一指抽奖),判据是三卡打破对象分别为物件/旁观者/观众身份。
  • 「临时 py 按 md 顺序生成 spec」第 10 次一次通过(fences=15、mismatch 空集)。
  • 下一批(第 19 批)单次任务已建:2026-09-25 00:02。