Files
mcn-short-video/.workbuddy/memory/MEMORY.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

41 lines
11 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.
# MCNVideo AI 项目长期记忆(09-10 四次压缩;权威源=SKILL.md+references,此处仅索引+红线)
## ★仓库路径(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`
## 环境判定 + 产出落盘(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`(运行时优先)
## 核心技能
- **短视频工作台**(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氛围)
## 创作红线(权威=SKILL.md+references/创作流程规范.md)
- 三态:⚡自动(默认静默只落最终物)/🤝共创(+确认门)/🛠开发(+全落盘);产物链 05选题→06框架→07大纲 禁跳步;硬编码禁止(P0);references-add 增量优先
- **技能边界**:生成/改写脚本必须切脚本创作技能走 S1-S11(S11 数字账取证/开场钩子绝对时长 3-7s 硬上限 10s/编导终审),禁会话内直写;验收=执行约束非内容,S9/S10 正文禁自证
- MCP:myai-mcp-production(正式)/test;飞书登录每天检查
## 工作方式红线
- 治本原则:从根因修机制→重执行验证;禁补数据/临时绕过
- **★锚点禁写死盘符(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
## 历史事件(摘要)
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 统一读取)**