Files
mcn-short-video/project/短视频脚本创作/V1.0/references-add/变更日志.md
T
maogeigei 5631c26406 feat(skill): 素材层切换 WeKnora + 方法层接线
定性:素材载体切换(本地 md -> WeKnora 容器),非扩容;驱动方向由素材驱动改为方法驱动。

- 新建 references/接口调用/WeKnora_极致事件检索.md 调用契约:MCP hybrid_search(服务 weknora)/ kb_id 用库名禁写死 UUID / match_count=3 / vector_threshold=0.5 显式 / 不传 keyword_threshold / 零命中判据 success=true 且 data=null / 只读 chunk_metadata.answers[0] / 禁用 chat 与 agent_chat / 复筛<=2条每节点 / 取材不取形转译 / 降级矩阵 / 成本控制
- S7 布位表新增「候选创作方法」列(4->5 列)打通方法层(此前 05_极致事件 6 个方法文件在创作流程中 0 调用)
- S7 新增「极致触点素材检索」按需环节 + {material_content} 定死结构 + 极致触点机制自检([期待A]-被X打破->[结果B]);输入章节素材库改双层源(主源 WeKnora / 降级 md,md 永不删除)
- 6 个方法文件补「素材供给」块(极致标签 / 定库检索入口 / 问法②打破方式填法)
- SKILL.md MCP 依赖节增 WeKnora 检索层(含静默降级口径);S7 小节补调用链;frontmatter updated_at
- 索引_知识素材库.md 修正 03/05/06/07/08/11 定性(实为字段结构模板而非素材库);新增「接口调用」章节
- S9 输入增 {material_cards} + 新增台词毛边三档参考;S11 类1「爆点贯穿」升级为爆点溯源 4 判据,八类35项清单同步
- 根目录补 3 份方案/规范文档 + 2 份 09-23 WeKnora 文档;变更日志归档
2026-09-24 14:47:19 +08:00

193 lines
41 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 变更日志(主 SKILL.md frontmatter last_change 历史归档,09-04 起)
> 用途:SKILL.md frontmatter `last_change` 字段的历史明细归档处(该字段仅保留最近一次变更的**一行摘要**,完整明细按日期记于此)。
> 维护规则:每次变更 SKILL.md 时——① 在下方**按日期追加**一条(新在上);② frontmatter `last_change` 更新为当次一行摘要。
> 本文件位于 `references-add/`(运行时与标准库取并集加载,不影响创作执行逻辑,仅供维护追溯)。
---
## 2026-09-24(执行:素材层切换 WeKnora + 方法层接线)
- **触发**:用户「按照方案执行」,执行《技能接入WeKnora实施规范_V1.0》《极致事件素材接入创作流程方案_V1.1》。定性经用户两轮收口 —— ① 驱动关系由**素材驱动**改为**方法驱动**;② 素材动作不叫「扩容」叫**切换**(素材载体:本地 md → WeKnora)。
- **新建调用契约**:`接口调用/WeKnora_极致事件检索.md` —— MCP `hybrid_search`(服务 `weknora`)+ FAQ 容器 `MCN极致事件素材库`;`kb_id` 用**库名**(禁写死 UUID);`match_count=3`;`vector_threshold=0.5` 显式传;**不传** `keyword_threshold`(FAQ 恒为纯向量召回);**禁用 `chat`/`agent_chat`**(会摘要化卡片,丢失原话/微反应/铺垫量级)。含镜像式五要素问法、返回判据(`success=true 且 data=null` = **零命中而非调用失败**;同卡内容重复三份、**只读 `chunk_metadata.answers[0]`**)、复筛 ≤2 条/节点、取材不取形转译、降级矩阵、上下文成本控制(`match_count=3` + 按需检索 + 读后即弃)。
- **方法层接线(治「方法层 0 调用」)**:`创作流程/7_生成短视频大纲.md`「极致触点节点布位」表**新增「候选创作方法」列**(钩子型→极致行为四分类;留人型→预期反转四载体 / 冲突叙事套路;转粉型→克制 / 荒诞化 / 抽象化;传播型→无厘头 / 专属符号型),并明定**调用方向自上而下:方法定手法 → 类型定判定 → 检索取素材**,禁止素材驱动。
- **S7 检索环节**:新增「极致触点素材检索」小节(布位定完 → 事件展开之前,**按需触发**:已有桥段的节点跳过,通常一视频 1–3 次)+ `{material_content}` 注入格式定死(机制来源 / 落差结构 / 手法与铺垫量级 / 拍摄参考 / 本账号转译,**不含原卡人物名与台词**)+ 新增**极致触点机制自检**(每个 L1 节点须写得出 `[期待A] —被X打破→ [结果B]`,写不出则降级为普通情节、不计入 L1 密度);输入章节「素材库」改为**双层源**(主源 WeKnora 检索 / 源与降级 md 文件,**md 永不删除**);System Prompt 与禁止行为同步(禁跳方法列、禁搬卡原文、禁零命中编造)。
- **SKILL.md**:MCP 依赖章节新增「WeKnora 检索层(极致事件素材 · 可选增强)」含降级口径;S7 小节补全调用链 + 输出增「极致触点机制自检」+ 新增检索契约引用行;frontmatter `updated_at` → 2026-09-24。
- **S9/S11 配套**:S9 输入增 `{material_cards}`(可选)+ 新增「台词毛边三档参考」(**原话 / 微反应 / 意外**,只借范式不借句子、不得影响「说什么」);S11 类1「爆点贯穿」升级为**爆点溯源 4 判据**(次数 / 可溯源 / 落差三件套 / 转译合规),`知识库/09_脚本诊断/脚本质量自动检查清单_八类35项.md` 类1 同项同步。
- **索引修正**:`索引_知识素材库.md` 修正 03/05/06/07/08/11 六个库的定性(**实为字段结构模板、尚无实素材条目** —— 原描述「生活仪式化行为选型」「穿搭方案选型」等**承诺了不存在的内容**);素材库章节补双层源说明 + 新增「极致事件素材(事件类 · 主源在 WeKnora)」行;新增「三、接口调用」章节。
- **6 个方法文件**各补「素材供给」块(极致标签 / 定库 / 问法「② 打破方式」填法):极致行为创作法(**不映射标签**、横切未定、按事件标签跨库找载体)、预期反转(反差·反常识·价值观冲击;铺垫 中 3-10s)、荒诞化 / 抽象化 / 无厘头(自嘲反差·反差)、错位化-反常化(反常识·反差)。
- **未执行(留待后续,见方案 §六)**:① 6 个空壳库的字段结构并入 `分块定义/` 后原文件退役;② 21 条载体素材补问答对入库;③ 清理 15 条泛化磁铁卡 + 6 条标签污染;④ 240 条卡补「方法归属」字段。
## 2026-09-23(执行:极致事件卡片层治本 —— 10 固定字段硬规则 + 「极致触点」三义裁决 + 横切定库)
- **触发**:用户「按照方案优化」,执行同日《极致事件卡片优化方案_V1.0》全部 10 项(P0 3 / P1 4 / P2 3);三项待确认按方案建议选项落地(库位 → B 跨库横切;触点治理 → A 加裁决条款不改名;存量卡 → A 按 V1.3 重出)。
- **口径单源(治「极致触点」一词三义)**:`知识库/05_极致事件/01_极致类型-素材标签映射表.md` 第四节新增 **4.5 条款** —— 摊开 A 布位层(爆点节点)/ B 卡片层(击中原因)/ C 8 库层(内容描述)三义 + 一句话判据(「说画面里有什么」= C /「说用户为什么被击中」= B /「说它在第几秒引爆」= A);明确 C = 极致事件「极致内容」字段的等价物;**硬规则:极致事件类必须写满 10 固定字段**,不得退回 8 库口径。节标题「四条」→「**五条**边界裁决条款」。
- **横切定库(治 D2 + 缺口 1)**:同文件第二节新增「**定库列怎么读**」说明 —— 极致事件 = **跨库横切类别**,「定库」为**选定的检索入口库**、**可为空**(`—(横切未定)`);「极致行为」行补注定库口径;表头变更行登记。**不做**新增「行为/情境」类库、**不做**同一事件多库复制。
- **模板层(`素材库/分块定义/00_模板-各库分块模板.md` §极致事件,升 V1.2 → V1.3)**:
① 新增两条头注 —— 10 字段硬规则 + 卡片头元信息行 `> 所属库:{NN 库名 | 横切未定}`(**不占字段位**);
② 「极致内容」补两条要求(人物语言**保留原话不概括** + **≥1 处真实毛边**);
③ 「内容含义」补**时间跨度型写法**(成长/蜕变类 `[长期期待 A] —经 X 过程→ [结果 B]`);
④ 「极致触点」四子项**收敛为效果侧两项(用户心理 / 共鸣)**,机制侧「反差 / 猎奇」归还「事件标签 / 极致类型」+ **效果词不得复用标签词**;
⑤ 「创作手法」补子项 **铺垫量级:短 ≤3s / 中 3–10s / 长 >10s**;
⑥ 「事件标签」补自检 **下限 ≥2 值** + **「(主)」记法**(主标签 = 定库依据);
⑦ 专属段说明补「横切未定则省略本段」;专属说明 5 条 → **6 条**。
- **顺带修正模板内自相矛盾**:§三 总表 ※2 字段数 `9 + 10 = 19` → **`10 + 10 = 20`**(落 03 库 `10 + 5 = 15`;横切未定只写 10);※3 末尾「同名升级」处补 4.5 指针(闭合原文「是否同步见第四节」的**悬空指针**);「事件标签位于卡片**末位**」→ **第 4 位**(专属说明 4 同步)。
- **评估标准(`知识库/05_极致事件/03_极致事件评估标准.md`)**:第一节补「**翻车 / 失败 / 未达预期也是合法的极致**」 —— 豪言后翻车**同等入库**,但**须写清被打破的期待落点**(否则是流水账、不入库);与「步骤 5 真实性校验」不冲突(须真实发生)。
- **存量卡重出(`极致事件提取_多类别样本_20260922.md`,仓库根)**:§二 12 张卡由旧口径 9 字段迁移为 **V1.3 的 10 固定字段 + 元信息行** —— 原「极致标签」→ `事件标签`(第 4 位);原「极致触点」→ `极致内容`(第 1 位);原「表现形式」→ `内容含义`(第 2 位);**新增效果侧 `极致触点`**(原卡无此字段,按 V1.3 补写、依据原描述推断、**不含新事实**);`创作手法` 补铺垫量级;补卡片头 `> 所属库:…`。**事件内容与判据一字未改。** 同文件同步修正:§一 定库列(7 处 `⚠️ 见 §四` → `—(横切未定)`)、§3.1 类型分布(`错位` 2→1、补 `品质` 1 —— 原表把 F1 误记为错位)、§3.2 标签分布(按 §一 总览重算;零命中实为 4 个)。
- **新自检暴露(重要实证)**:重出后按「`事件标签` ≥2 值」自检,**12 张卡中 6 张为单标签**(P1 / P2 / P3 / C1 / C2 / C3)—— **保留实测原判、逐条标 ⚠️、不追补**,作为该条款必要性的实证(与 D5 判断一致)。
- **明确不做(保持原判)**:卡片内嵌 Prompt 模板(越层)/卡内嵌评分字段(与模板说明 2 冲突)/「黄金组合」字段(用法非素材属性)/标签层加「一级心理刺激」(违反 4.4 红线)/「用户需求层」(选题层职责)/8 库「极致触点」字段改名(沿用 4.1「只加裁决、不全量改名」原则)。
- **核对**:模板 / 映射表 / 评估标准三文件口径一致;`00_模板` 内旧字段数 `9 + N` 零残留;12 张卡全部含 10 固定字段 + 元信息行。
## 2026-09-23(追加·执行:治本 11 的「信息密度」一词二义 → 更名「展开深度检查」)
- **触发**:上一轮(三级留人点体系)留的两项「未同步项」之一,用户回复「按照建议执行」。
- **问题**:`创作流程/11_脚本检查和诊断.md` 里「信息密度」一词二义 —— 「二、信息密度检查」= **展开深度静态数量**(具名物品/对话组/步骤链/环境细节),四维度表里那条 = **时间轴频率**(已更名「留人密度」)。同名共存,读法不稳定。
- **处置(改名而非加注,消除同根)**:
1. **`11_脚本检查和诊断.md`**:「二、信息密度检查」→ **「二、展开深度检查」**(业务逻辑头、模块标题、四维度弱情感铺垫行、System Prompt 第 2 项/审核规则/知识指针、输出模板章节标题共 7 处);原「命名区分(防混淆)」改为「**命名沿革**」,保留两口径不互相替代的说明;「改为检查信息密度…」同步为「留人密度」。
2. **连带引用**:`SKILL.md`(能力清单行)、`创作流程/7_生成短视频大纲.md`:178(大纲校验项更名,与「展开深度标准」同名归一)。
3. **频率义引用统一为「留人密度」**:`创作流程/9_生成短视频脚本.md`(弱情感铺垫「留人密度优先」+ 赛道标准指针)、`创作流程/6_生成短视频框架.md`(弱情感铺垫等级行、三问自检 3 处、赛道标准指针、模板 A 侧描述)。
4. **症状名去同根**:`03_框架节奏/04_节奏控时`(2.2 节奏信号行、七、误区「信息密度过低」→「留人点过疏」);`03_框架节奏/01_标准爆款结构模板`(误区行「中段信息密度过低」→「中段留人点过疏」)。
5. **子技能副本同步**:`mcn-dou-analysis/references/知识库/视频拆解/框架04_节奏控时.md`(2 处)、`框架01_标准爆款结构.md`(1 处)。
- **保留边界(未动)**:「信息密度」作为**通用描述语 / 关键指标 / 方法论原文 / 文件标题**的用法一律保留(如 `01_标准爆款结构模板`:289「关键指标:信息密度高」、`08_对话风格/高信息密度Vlog创作法`、`创作流程/3_对标视频账号拆解`「每30秒信息增量」)—— 本次只治「作为阈值口径名或模块名」的义项,不做全量替换。
- **核对**:全树扫 `信息密度检查` → 有效规则**零残留**(剩余命中全部为 8 库方法论原文 + 第三方参考技能 + 本日志自身)。
## 2026-09-23(方案·未执行:极致事件卡片优化方案 V1.0)
- **触发**:用户指出「对于极致事件卡片,没有什么优化的建议和方案」。本方案为**卡片层专项**,与上一轮「留人点」(流程侧)并行、互不改口径。
- **核心结论**:卡片**主体不需重构**(三字段分工 事实/机制/效果 成立,外部评审亦认可);真问题是三条结构性问题 ——
① **存量卡两套口径并存**(同日 `极致事件卡_癫婆_模板版` 为 V1.2 的 10 字段;`极致事件提取_多类别样本` 12 条仍为旧口径 9 字段,全部用「表现形式」、且无新口径的「极致触点」);
② **「极致触点」一词三义**(布位层 = 爆点节点 / 卡片层 = 击中原因 / 8 库层 = 内容描述);
③ **10+N 的 N 不可见**(卡内无「所属库」标注,致本地缺口 1「12 个事件里 7 个定库无处可落」无法落地)。
- **外部 9 条建议判定**:**采纳 1**(双轴体系 → 用本地方案落地:卡片加归属标注 + 映射表「定库」列改可空);**改造 4**(事件强度评分 → 把已在使用但未定义的「主/辅」标注正式化,不新增字段;失败样本 → 不建新库,判定处补准入一行;真人细节 → 「极致内容」补「原话不概括」+「≥1 处真实毛边」;节奏字段 → 只取「铺垫量级」,出现位置与情绪曲线分别归 S7 布位、07_情绪共鸣);**否决 3**(卡片内嵌 Prompt 模板 = 越层;黄金组合字段 = 组合是用法非素材属性;标签三级分层之「一级心理刺激」= 违反 4.4 条款「情绪效果不设标签」红线;用户需求层 = 选题层职责)。
- **4 个外部「盲区」核实**:**3 个已被现有体系覆盖** —— 成长/蜕变 → 反差 + 期待铺垫 + 「内容含义」时间跨度变体;挑战规则 → 极致行为·强度拉满 + 难度极限;关系变化 → **预见式服务**标签,定义原文即「对方还没开口就已经做好」。仅「悬念/信息差」属标签层挤压(对应本地缺口 2),非新类型。
- **产出**:`极致事件卡片优化方案_V1.0_20260923.md`(仓库根,含 D1–D6 缺口、P0–P2 改动清单、明确不做清单、3 项待确认)。**技能文件零改动。**
## 2026-09-23(中段留人机制治本:新增「三级留人点体系」,合并 35 项两条口径打架的密度项)
- **触发**:用户提出「能否提升中间留人的吸引力,10 秒左右一个吸引点抓住用户注意力」。只读审计后发现瓶颈不在阈值松紧,而在**中段留人在技能里没有被定义成可产出、可自检的东西**。
- **审计发现(4 项)**:
1. **三条密度线口径打架**:A 信息密度 每10秒(`9_生成短视频脚本.md`:151/441、35项:73、`04_节奏控时`:48/91/106、`01_标准爆款结构模板`:246、`06_编导终审`:71)=下限防腐;B 钩子密度 每15秒(35项:72)**全技能无定义、无来源、无产出格式,悬空**;C 极致触点 每15-20秒(`7_生成短视频大纲`:66/159、`05_极致事件/03`:17/41)=上限爆点,资源有限**不可能也不应** 10 秒一个。
2. **产出粒度太粗**:S6「本场钩子」是**场级**(一场 15-25s → 15-25s 才一个留人设计);S7 只有 4 个极致触点布位、非窗口化 → **「每10秒一个吸引点」在全部产出物里没有字段**。
3. **校验强度倒挂**:S7 里 L1 极致触点是硬闸门,中段留人(原 L162-163)只是"参见知识库"软引用;而 L165-171 硬检查全是**静态数量**(具名物品≥12/对话≥4组/故事细节≥50),与时间轴无关。
4. **命名口径分化**:钩子类型存在 4 套并存的枚举(五类留人机制 / `01_标准爆款结构模板`:143-149 的「数据冲击·违背常识」/ `04_爆款开场` 10 种开场方式(CSV)/ `04_爆款开场` 8 个旧钩子文件口径)。
- **方案(路线 A 合并升级,非新增第 4 条平行线)**:三级留人点体系 —— **L1 极致触点**(15-20 秒,稀缺性保护,**不动**)/ **L2 留人点**(每 10 秒 ≥1,由 A 升级 + B 归并)/ **L3 增量点**(3-5 秒,知识库已有,落成字段)。L2 判据=观众产生一个明确的「为什么」(抛问题/打破预期/说到自己/给承诺,**类型名沿用五类留人机制**,不新造枚举);可自检换算=**本场最少留人点数 = ⌈本场时长 ÷ 10⌉**;分赛道分档=剧情/知识/口播/搞笑 10 秒、Vlog/美食/亲子/情侣 10-15 秒、沉浸/治愈/慢生活 15 秒。
- **改动(11 个文件)**:
- **口径单源**:`references/知识库/03_框架节奏/04_节奏控时叙事套路.md` 新增 1.3「三级留人点体系」(定义/阈值/判据/换算/分档/禁止混层);1.2 后各节与 2.2 节奏信号、七、误区、八、自查清单同步对齐(删「每15秒一个新信息」,情绪峰值 20 秒→15-20 秒)。
- **知识库对齐**:`03_框架节奏/01_标准爆款结构模板.md`(钩子类型表加五类口径说明,`数据冲击`/`违背常识` 归入反差画面;中间主体 ⑤ 与误区、自查清单指向 1.3);`03_框架节奏/06_编导终审验收标准.md`(「增量密度」→「留人密度」,中段不疲加「极致触点空档 ≤ 20 秒」,Step 4 与返工归因同步)。
- **创作流程产出与闸门**:`创作流程/6_生成短视频框架.md`(「本场钩子」列加 10 秒窗口粒度 + ⌈时长÷10⌉;新增「本场钩子 ≠ 极致触点」提示;场次结构输出模板占位符与校验行同步;模板A/B 与三段式速查表口径同步);`创作流程/7_生成短视频大纲.md`(新增「留人点布位」表 + 禁止混层/不计入留人点三类说明;校验规则新增**硬闸门**「留人点数 ≥ ⌈本场时长÷10⌉,不达标打回 S6」+ 类型覆盖 ≥2 类;原两条软引用改为指向 `01_标准爆款结构模板`;大纲输出模板各场新增留人点字段;开场钩子类型枚举改为五类)。
- **质检层**:`创作流程/9_生成短视频脚本.md`(L151/L441「信息密度」→「留人密度」);`创作流程/11_脚本检查和诊断.md`(类4 两项更名、四维度「信息密度」条目→「留人密度」并给出分档判据、输出模板行同步、弱情感铺垫评分项改为留人密度达标;**「二、信息密度检查」(展开深度静态数量)加命名区分注**,避免与新留人密度混淆);`知识库/09_脚本诊断/脚本质量自动检查清单_八类35项.md` 类4「钩子密度+信息密度」合并为「留人密度」、腾出槽位新增「留人点类型覆盖」(**类4 仍 3 项、总数仍 35 项**)。
- **极致事件层**:`知识库/05_极致事件/03_极致事件评估标准.md`(密度校验加「不计入彼此」说明;第四节分工表新增 `03_框架节奏` 行,明确「极致触点 ≠ 留人点,禁止互相替代」防爆点稀释;文件头加 09-23 变更行)。
- **钩子机制映射**:`知识库/04_爆款开场/00_开场方式全量覆盖分析.md` 新增第五节「五类留人机制 ↔ 开场方式 ↔ 中段复用」映射表 + 两条红线(中段选型不受 S5 限制、中段复用≠重放开场话术)。**替代原计划新建 5 篇中段方法论文件——五类机制的方法论本就在本库 10 篇开场方式文件里,新建属重复建设。**
- **子技能副本同步**:`subskills/mcn-script-review/SKILL.md` 与 `references/脚本复盘流程.md`(框架节奏维、爆款开场维「中间留人钩子」、中段不疲、评分总表行);`subskills/mcn-dou-analysis/references/知识库/视频拆解/框架04_节奏控时.md`(含 2.1 与节奏控制信号)。
- **版本标签**:`SKILL.md` frontmatter `updated_at`/`last_change` 更新(version 保持 1.0,与既往惯例一致)。
- **残留核对**:全树扫描 `钩子密度`/`每15秒`/`每10秒至少1个新信息`——**有效规则零残留**;剩余命中仅在 `subskills/mcn-video-prompt/参考skills/script-writing-studio/`(**第三方参考技能,禁改**)2 处。
- **遗留项(同日追加批次已解决其一)**:`11_脚本检查和诊断.md` 内「二、信息密度检查」与新增「留人密度」共用「信息密度」词根的**一词二义问题** —— 已于 2026-09-23 追加批次更名为「展开深度检查」(连带 10 文件同步,见上方「追加·执行」条)。**仍未做**:赛道分档阈值(剧情 10 秒 / Vlog 10-15 秒 / 沉浸 15 秒)为**推定值非实测**,建议跑 3-5 条真实脚本后按落选/留存数据回调。
- **关联产出**:`中间留人机制诊断与留人点体系方案_V1.0_20260923.md`(仓库根,含 8 项改动点清单与证据索引 文件:行号)。
## 2026-09-10(工作台配置收敛:端口/DB/目录单源化,代码层统一引用 config.json)
- **触发**:用户问「这些设定能否用配置,所有文件和脚本都引用,避免有调整时到处修改」。确认范围:只收敛代码层(不动文档/技能规范),配置放 `mcn-work-shop/config.json`。
- **目标**:工作台散落在 server.js / dsh-data.js / 4 个辅助脚本 / 前端 data-pages.js / start.bat 里的硬编码设定(端口 8900、DB 名 mcn-plugin.db、产出根 MCNSkill项目、榜单目录),统一收进 config.json,代码层一律从配置读,调整只需改 config.json 一处。
- **新增**:
- `mcn-work-shop/config.json`:单一配置源(port / dbName / outputRoot / businessDataDir / extraRoots)
- `mcn-work-shop/load-config.js`:配置读取唯一入口 + 默认值唯一来源(config 缺失/损坏回退 DEFAULTS)
- **改动**:
- `server.js`:`require('./load-config')` 取 CFG;`PORT_BASE = argv[2] || CFG.port`(argv 端口仍优先);`DEFAULT_ROOT` / `path.join(ROOT, CFG.dbName)` 从 CFG 读;`saveConfig` 合并写盘保留其它字段;错误提示「mcn-plugin.db」→ CFG.dbName 动态
- `dsh-data.js`:删本地 loadCfg,改用 loadConfig;`DSH_DB = path.join(__dirname, CFG.dbName)`;榜单目录 `path.join(...CFG.businessDataDir)`
- `build-create-prompts.cjs` / `submit-review-tasks.cjs` / `poll-create-tasks.cjs` / `poll-review-tasks.cjs`:DB / API 端口 / prompt 内 dbName 字面量 → CFG 动态
- `public/data-pages.js`:新增 `const BASE = location.origin`;SKILL_HINT_VIDEO_PARSE / SKILL_HINT_ANALYZE / saveHintOf 里的 `http://localhost:8900` 全部改 BASE 动态(前端读不到 server 端 config.json,用 location.origin 让回调地址端口自动跟随当前访问地址)
- `start.bat`:端口从 config.json 读取(`for /f` + load-config),不再写死 8900
- **踩坑**:`load-config.cjs` 用 `.cjs` 扩展名时,`require('./load-config')` 无扩展名解析会 MODULE_NOT_FOUND(Node 不会把 .cjs 作为无扩展 require 的解析目标)→ 重命名为 `load-config.js`(无 package.json,默认 CommonJS)后所有引用自动生效。node --check 只查语法不执行 require,此坑在运行时才暴露。
- **验证**:8 文件 node --check 全通过;`loadConfig()` 正确读回 config.json 全字段;工作台重启 HTTP 200(端口 8900、产出根 MCNSkill项目 均从 config 正确读取)。
## 2026-09-10(dsh 部署环境废弃:三环境 → 两环境,判定简化为一步)
- **触发**:用户确认「第一步 技能路径含 `.dsh` 路径段 ② dsh 部署环境 —— 没有这个环境了」。实测依据:`~/.dsh/skills/` 不存在、`~/.dsh/mcn-plugin.db` 不存在、`~/.dsh` 下仅剩 `profiles/`、`D:\dshworkspace` 整个目录不存在。
- **判据 v3(一步 · 仓库特征判定)**:删除 `.dsh` 路径段判定步骤,仅保留 `git -C {技能目录} rev-parse --show-toplevel` 返回仓库根 = ①开发机、失败 = ②用户环境(无 git 兜底向上找 `.git`)。环境模型由三环境精简为两环境。
- **产出结果不变**:两环境(开发机/用户环境)产出本就同构(桌面 `MCNSkill项目/`),仅判定依据简化。
- **改动范围**:
- **判定层**:`V1.0/references-add/路径配置.md`、`Lite1.0/references-add/路径配置.md`、`subskills/mcn-dou-analysis/references/路径配置.md`、`subskills/mcn-video-prompt/references-add/路径配置.md`(判定表/执行规则/解析规则/变更记录,v3)
- **SKILL 层**:`V1.0/SKILL.md`(榜单读取 71/78、外部技能依赖 dsh 副本删除、产出路径表述)、`Lite1.0/SKILL.md`、`subskills/mcn-dou-analysis/SKILL.md`(42/44/51/52/58/59/82/95 行)、`subskills/mcn-video-prompt/SKILL.md`(502/505/531-539)、`subskills/mcn-data-insight/SKILL.md`(90-96/116 行)
- **标准库**:5 份 `references/规则/路径引用规范.md`(「三种机器」→「两种机器」)、`references/创作流程规范.md`、`references/创作流程/{11_脚本检查和诊断,4_账号设定解析和确认}.md`、`references/接口调用/{MCP_工具调用规范,自动化任务清理规范}.md`
- **数据源层**:`subskills/mcn-data-insight/scripts/fetch_week_ranks.py`(删 `.dsh` 分支代码)、`mcn-work-shop/dsh-data.js`(删 `isDshDeploy` 分支 + 注释)、`mcn-work-shop/public/data-pages.js`(SKILL_HINT_RANKING + 写库注释)、`subskills/mcn-data-insight/subskills/{douyin-rise-ranking,douyin-weekly-surge,douyin-content-surge,douyin-daily-hot}/SKILL.md`、`references/规则/抖音数据规则.md`
- **账号分析层**:`references/账号数据分析方法.md`、`references/feature/{01_获取账号信息,03_提炼账号设定,04_分析视频数据,06_生成账号设定卡片}.md`、`references/铁律避坑规则/账号信息获取执行避坑.md`(删「dsh 原库」)、`references/浏览器搜索抖音账号操作规范.md`(159/175 行 browser-harness dsh 部署环境)
- **README**:`references-add/README.md`(两处)、`subskills/mcn-dou-analysis/references-add/README.md`、`subskills/mcn-video-prompt/references-add/README.md`、`subskills/mcn-video-prompt/references/README.md`
- **残留核对**:全树扫描 `.dsh`/`dshworkspace`/`dsh 部署`/`dsh 环境`/`dsh_MCNProject`/`②dsh`/`③用户环境`——**当前有效规则零残留**,剩余命中全部为豁免三类:①变更记录/变更日志历史行;②「09-10 起 dsh 环境已废弃」说明文字;③`路径引用规范.md` 用户级路径示例 `{主目录}/.dsh/...`(DSH 工具配置目录,非部署环境)。工作台重启验证 HTTP 200,`dsh-data.js`/`fetch_week_ranks.py` 语法校验通过。
## 2026-09-10(路径治本:环境判定锚点重构为「仓库特征判定」+ 全树写死路径清理)
- **触发**:仓库本地路径由 `D:\AgentSkill\mcn-video-script` 迁移至 `D:\AI技能\mcn-short-video`,`D:\AgentSkill` 已不存在 → 全部以「本机是否存在 `D:\AgentSkill`」为锚点的环境判定**失效**,开发机被误判为「③ 用户环境」(产出落桌面、且误启用 references-add 增量分支)。同时发现技能目录 8 处**真实读写路径**写死盘符。
- **判据重构(新口径 v2 · 两步)**:
- 第一步:技能路径是否含 `.dsh` 路径段 → 含 = ② dsh 部署环境
- 第二步:不含 `.dsh` 时,`git -C {技能目录} rev-parse --show-toplevel` 能返回仓库根 = ① 开发机(处于源技能 git 检出内);命令失败 = ③ 用户环境。无 git 环境兜底:从技能目录向上逐级查找 `.git`
- ⚠️ 必须 `.dsh` 优先判定——`~/.dsh` 自身也是 git 仓库,先查 `.git` 会把 dsh 环境误判为开发机
- **产出根目录三环境结果完全不变**,仅判定依据改变
- **改动范围(21 个文件)**:
- **规范层**:`references/规则/路径引用规范.md`(允许项「锚点禁止用写死盘符」+ 禁令项示例 `D:\MyRepo` + 豁免表);`V1.0/references-add/路径配置.md`、`Lite1.0/references-add/路径配置.md`(判定表/执行规则/解析规则/变更记录);两份 `references-add/README.md`
- **标准库副本(4 份 `路径引用规范.md` 同步)**:`subskills/{mcn-data-insight,mcn-dou-analysis,mcn-script-review,mcn-video-prompt}/references/规则/`
- **子技能判定节**:`subskills/mcn-dou-analysis/{SKILL.md,references/路径配置.md,references-add/README.md}`、`subskills/mcn-video-prompt/{SKILL.md,references-add/README.md,references-add/路径配置.md,references/README.md}`
- **MCP 文档**:`references/接口调用/MCP_工具调用规范.md`、`subskills/mcn-dou-analysis/references/接口调用/MCP_工具调用规范.md`(开发/非开发环境判定)
- **Lite1.0**:`SKILL.md` 外部技能依赖段落(见下)
- **真实读写路径修复(B 类 8 处)**:
- `mcn-work-shop/server.js`:新增 `BROWSER_LOCK_FILE = path.join(ROOT, '.browser-lock')`、`SESSION_CWD = ROOT`;2 处 `const cwd` 与 `BROWSER_LOCK` 改用常量;`SESSION_CWD_PATTERN` 由 `'%mcn-workshop%'` 放宽为 `'%mcn-work%'`(**同时兼容历史会话 mcn-workshop 与新建会话 mcn-work-shop**,避免 6 小时清理对旧会话失效)
- `mcn-work-shop/build-create-prompts.cjs` / `submit-review-tasks.cjs`:prompt 内 DB 绝对路径 → 改用文件内既有 `DB` 常量插值
- `V1.0/SKILL.md` 第 5 条:文档里的运行时 `cwds=["D:\AgentSkill\mcn-workshop"]` → 改为 `<工作台目录>`(由 server.js 从 ROOT 动态推导)
- **Lite1.0 外部技能依赖修正(09-02 结构变更补同步)**:原段落仍写「三环境两步判定 + `D:\AgentSkill\mcn-dou-analysis` 外部路径」,既失效又未同步 09-02「mcn-dou-analysis 并入 `subskills/`」变更。修正为:**Lite1.0 目录下无 `subskills/`(实测),未内置该技能**;需要账号解析改用完整版「短视频工作台」V1.0,或先把技能同步进 `Lite1.0/subskills/` 后按相对路径 `subskills/mcn-dou-analysis/SKILL.md` 调用;禁止盘符绝对路径定位。
- **BROWSER_LOCK 契约同步**:`subskills/mcn-dou-analysis/references/浏览器搜索抖音账号操作规范.md` 5.6 节锁文件路径由 8 处盘符硬编码 → 改为相对 `.browser-lock`(工作台触发的会话 cwd 即工作台目录),并注明以工作台注入的绝对路径为准。
- **残留核对**:全树扫描 `AgentSkill` 剩 18 处(含本条目自身 5 处),**全部为豁免类别**——变更记录/变更日志行 11 处、frontmatter `last_change` 摘要 1 处、09-04/09-10 修正说明行 2 处、Lite 技能审计报告历史 2 处、路径引用规范修订脚注 1 处、本条目残留核对说明 1 处。**当前规则行零残留**。`mcn-video-script` 剩 1 处(变更记录行)、`MCNVideo AI` 剩 3 处(Lite 审计报告历史)。
## 2026-09-07(S1/S2 产物文件名改名:01_需求理解 / 02_需求补全)
- **决策**:产物文件名 01_需求拆分.md / 02_需求拆解.md(旧步骤名「需求拆分任务规划 / 任务需求拆解完善」残留,两词同音近义、与现行步骤名对不上)→ 改名 **01_需求理解.md**(S1 产物=五板块状态表)/ **02_需求补全.md**(S2 产物=归类+AI 补全)。命名口径:编号承担"属于哪步"(01=S1、02=S2),文件名承担"装了什么"(与 03_对标拆解~11_诊断报告 产物语义名体系一致;不采用对齐步骤名方案,避免与 references/创作流程/1_意图识别.md、2_需求完善.md 撞名)。
- **影响面(V1.0 内 9 处,运行时产物文件无需 mv)**:创作流程规范 L49/L68(行文 01需求理解~08广告植入)、L78、落盘表 L426-427、L452(需求拆分/拆解→需求理解/补全);1_意图识别 L83 User Prompt 引导语「完成需求拆分和任务规划」→「完成需求理解与信息完整度判定」(旧步骤名残留联动清理);11_脚本检查和诊断 L241-243。
- **写入事故复盘(补入失误记录)**:同文件多处 Edit 并行提交发生写竞态——前一个 replace_all 的成果被并发写覆盖丢失(L49/L68/L427 残留),串行补做后零残留。教训:**同一文件多处修改必须串行,禁止并行 Edit;改后全量 grep 验证零残留**。
- **D·视觉脚本 → D·视觉短片(全量)**:S9 格式列举(SKILL.md)、S6 内容形式映射表(F04 测评种草/F07 纯视觉短片)、S9 正文 6 处、创作流程规范 3 处、03_框架节奏/07_脚本格式选择指南 8 处——与工作台需求框/用户既定术语对齐,消除「纯视觉短片→D·视觉脚本」混用。
- **预设钩子 → 开场钩子(全量)**:S5 选题方案字段(含 10 种开场方式引用)+ S7 大纲回扣语义 + 04_爆款开场/00_口径说明——对外统称「开场钩子」(=S6 场1 段名、工作台需求框 hook 字段同名同义),S5 阶段语义由「预设」改为直接以开场钩子表达。
- **需求框-技能衔接注明(mcn-work-shop/prompts/clarify.md)**:内容形式 4 项为粗选方向,落创作时细化为 S6 口径(口播→教程/知识分享/盘点,视觉短片→测评/沉浸式);故事框架四词(钩子前置/悬念反转/递进铺垫/先抑后扬)=达人倾向词,由 S6 用叙事形态 F01-F08 + 结构模板(三段式/五段式)定型。
- **规则沉淀(09-07)**:新增 references/规则/概念分层与源头表述规范.md(先分层再落笔:策略/实现/容器各写源头正文;禁止 X=Y/括注跨文档打补丁,改源头正文;同族术语对外一个总称、改名一次全链路;含开场钩子家族案例);SKILL.md 红线摘要区新增 🔴 索引行;项目级 技能审计检查清单.md 一致性维新增第 11/12 条(概念分层、源头表述自洽),编号重排 1→15,使用方法补层级先于枚举。
- **开场钩子分层表述源头化(5_选题 / 6_框架 / 04_爆款开场·00_)**:三个源头正文自洽——开场方式(04_ 库 10 种标准分类)由 S5 依据用户要求/账号结构性符号/对标拆解(S3)选定并写入选题方案;S6 场次表「本场钩子」=五类留人机制(悬念提问/反差画面/直击痛点/身份共鸣/利益承诺),场1 的本场钩子用于把 S5 已选开场方式实现为镜头与台词。消除 S5「钩子类型」一词双指(表头改「开场方式」、方案字段行改为单一开场方式成分);不再以对照式/括注维护,概念各归其位。
## 2026-09-07(S1/S2 五板块归一 + 台词风格降层 + 说话风格词族全链路)
- **S1/S2 五维度 → 五板块(顶层集合归一)**:1_意图识别 / 2_需求完善 顶层一律为 账号设定 / 选题 / 框架 / 大纲 / 广告Brief(与 S2/S3 板块名、S4 输入引用、下游产物链对齐);S1 原「人设信息」行改名「账号设定」;「选题信息/框架信息」后缀去除;SKILL.md 步骤1 描述、创作流程规范落盘表说明(五板块状态表 + 02 容器不补全)同步。
- **台词风格顶层维度降层**:S1 判定表删顶层「台词风格」行,语气/语速/口头禅/语言禁忌并入 账号设定·说话风格 子项(保留推荐级);S2 补全策略 D「台词风格补全」并入 A「账号设定补全(含说话风格子层)」,E 重编号为 D;S2 大纲板块明确定位=草稿容器(承接用户已写段落,缺失正常由 S7 生成,不补全、不参与必补判定)。
- **语音层词族全链路统一为「说话风格」**(对齐 S4 达人设定⑤说话风格权威字段名):S3 拆解维度行与对标视频表列、S7 输入/自检 3 处、S8 广告植入 4 处、S9 输入与一致性检查 3 处、S11 检查轴 2 处(台词风格一致性→说话风格一致性)、人设设计参考选项十(台词风格设计用→说话风格设计用);「语言风格」仅保留于 S4 卡模板内部作 ⑤说话风格 的子成分描述语(2-3 个形容词层),不再作为对外字段名。S1/S2 内与卡内层级词区分:需求层=板块/子项,卡内=达人设定维度①-⑨。
- **S2 大纲板块下游断链修复**:7_生成短视频大纲 输入段补「步骤2大纲草稿容器→大纲生成起点和约束」承接句式(对齐 S5/S6 既有模式)。
- **顺带修正**:创作流程规范落盘表 05 行「钩子预设」→「开场钩子」(此前改名漏网变体)。
## 2026-09-07(S5↔S4 字段漂移修复:账号定位补「核心价值类型」7 字段)
- **根因**:S4 账号定位重构为 6 字段时漏掉旧模板「②核心价值类型」字段,S5 约束提取仍按旧编号引用(维度①赛道/受众/差异化、维度②核心价值类型)——核心价值实为 S5 选题生成锚点(L304 推导依据)+ 选题方案必填输出字段(core_value_type),非可删引用。
- **修复(用户选方案 1 补字段)**:S4 账号定位 6→7 字段(赛道定位后插入「核心价值类型:知识/情感/实用/娱乐/观点 选 1,细化参考 人设设计参考选项.md 五、主导价值」;确认清单①、输出模板表、P0 输入约束承接规则同步补行);S5 约束提取 4 行去旧编号改指 S4 现行字段名 + 老卡缺字段兜底(由赛道定位+内容打法推导并回填);参考选项五标注改「账号定位·核心价值类型」;SKILL.md 步骤 4 输出描述同步 7 字段。
- **影响面**:仅技能层 4 文件;工作台账号设定为自由 md 无固定字段表单,不受影响;存量人设卡片零迁移(S5 读取兜底)。
## 2026-09-07(B项收尾:落盘表说明列修正 + 人设设计参考选项对齐 S4 卡模板 + dsh 副本废弃)
- **创作流程规范落盘表 04 行说明列修正**:「账号设定 + 人设卡片」→「账号设定 + 达人设定」(04_人设卡片.md 内容 = S4 产出的账号设定+达人设定两个板块,原说明列自指文件名系笔误)。
- **人设设计参考选项.md 编号体系对齐 S4 人设卡片**:删除全文旧版「达人维度③/④/⑥/⑧」「账号维度②」编号(源自旧 9 维模板,与 S4 现行「达人设定 6 章节:身份人设/性格人设/外在特质/价值观与底线/说话风格/行为决策 + 账号定位 6 字段」不同源,实锤错位);各章标注改为指向 S4 现行字段(核心性格/气质/小瑕疵/情绪倾向→性格人设,三观→价值观与底线,语态细节→说话风格,专属符号→外在特质·记忆符号,传递感觉→账号定位·差异化定位,主导价值→账号定位·核心价值类型);文件头用途行新增章节归属说明。dou-analysis 子技能知识库副本同文件同步(台词风格设计用→说话风格设计用)。
- **决策记录**:dsh 技能副本项目经确认不存在,同步策略更新为「只改 V1.0 源;Lite1.0 默认不动、术语同步由用户手动发起」。
## 2026-09-04(R73/R74 技能树体量优化)
主 SKILL.md 压缩维护:frontmatter `last_change` 明细迁移至本文件(历史归档);11 步流程 ASCII 总览图压缩为行式 Gate 链(S1→[G0]→…→[G6]);文件底部新增「阅读分层」说明(🔑 导航行/🚫 红线/无标记正文三类)。
## 2026-09-04(子技能索引登记 + 外部依赖路径修正)
- 新增「子技能索引(subskills/)」章节:subskills 下 6 个子技能全部登记入主 SKILL.md(browser-harness/lieflat-charts/mcn-data-insight/mcn-dou-analysis/mcn-script-review/mcn-video-prompt),引用一律相对路径 `subskills/<目录>/SKILL.md`;目录树补 `subskills/` 行。
- 修正外部技能依赖段落:mcn-dou-analysis 原「D:\AgentSkill 两步判定」规则废弃(独立仓库不存在,改 subskills/ + dsh 平级 `~/.dsh/skills` 双描述);browser-harness 可执行文件改技能自带 venv 相对路径(原 uv 工具安装已废弃);lieflat-charts 路径改相对。
- 全文件旧绝对路径引用零残留。
## 2026-09-03(技能更名 + 触发条件补清理场景)
- 技能更名:短视频脚本创作 → **短视频工作台**(用户定,对外统一名称;触发方式与引用结构不变)。
- 触发条件新增 🧹 后台任务清理场景:用户问后台任务/清理过期失败任务时按 `references/接口调用/自动化任务清理规范.md` 执行——只清过期或错误失败的一次性任务,禁清未来/周期/运行中任务,删除走宿主工具禁直改库。
## 2026-09-02(工作台 AI 任务契约与执行铁律)
- 工作台新增第 7 条「AI 任务入口技能契约(P0)」:所有 AI 会话任务入口须遵守功能入口×技能调用契约(prompt=技能前缀常量+业务正文+skills 参数级挂载),新增/修改入口前先读 `mcn-work-shop/docs/AI会话任务输入输出对照.md`(含新增入口检查清单 7 项)——防裸 prompt 跳步/技能声明混入业务串/BROWSER_HINT 误注入;原第 7/8 条顺延为 8/9。
- 工作台任务执行方式铁律固化:创作/改写/复盘必须走 `POST /api/run` + skills 参数,禁会话内手写草稿。
- 调度机制实测定稿 + 端口 8899→8900。
> ⚠️ 仅记录 2026-09-02 起的变更明细(本文件创建前,更早历史未归档——如确需追溯请查 git 提交历史)。