Files
mcn-short-video/project/短视频脚本创作/V1.0/references-add/变更日志.md
T
maogeigei 0165144292 09-10 工作台:配置收敛、复盘字段契约修复、原创选题分镜支持、榜单期号区间显示
配置收敛:
- 端口/DB名/产出根/榜单目录单源化到 mcn-work-shop/config.json,代码层统一经 load-config.js 读取
- 新增 get-port.js 供 start.bat 读端口(bat 内嵌 node -e 会被 cmd 截断,读到的是兜底值)
- start.bat 修复失效的 managed node 路径(原写死 22.22.2 已不存在),改为遍历 versions 自动探测

复盘诊断页(真 bug 修复):
- 问题清单严重度全部显示成绿色 + 修改建议不显示:模型输出 {sev:'high',fix} 与前端读取 {severity:'高',suggestion} 字段名与取值均不匹配
- 前端新增 normIssue 归一化,兼容 sev/severity/level 与中英取值,并回补所属维度显示
- 在 submit-review-tasks 与诊断/复盘 prompt 中固化 issues_json 字段契约,从源头防 schema 漂移

分镜提示词:
- 原创选题(video_id 为空)原本无生成入口(分镜按 video_id 查询)
- listStoryboards 支持按 rewrite_id 查询,前端放开入口、切版本重查,并补落库指令(此前入库靠模型自由发挥)

榜单展示:
- 期号改为显示区间「08/31 ~ 09/06」,避免被误读为单日(期号=该周周一)
- 后端新增 collectRanges,从落盘文件读真实 dateStart/dateEnd 随 API 返回(日榜 start=end 不显区间)

其他:
- 清理 dsh 环境废弃后的历史叙述类废话(16 文件约 18 处),文末变更记录区保留
- 新增 docs/工作台UI规范.md(设计 token / 布局 / 8 页面路由 / 12 类组件 / 9 条已知坑)
2026-09-10 18:28:42 +08:00

21 KiB
Raw Blame History

变更日志(主 SKILL.md frontmatter last_change 历史归档,09-04 起)

用途:SKILL.md frontmatter last_change 字段的历史明细归档处(该字段仅保留最近一次变更的一行摘要,完整明细按日期记于此)。 维护规则:每次变更 SKILL.md 时——① 在下方按日期追加一条(新在上);② frontmatter last_change 更新为当次一行摘要。 本文件位于 references-add/(运行时与标准库取并集加载,不影响创作执行逻辑,仅供维护追溯)。


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 提交历史)。