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 条已知坑)
This commit is contained in:
maogeigei committed 2026-09-10 18:28:42 +08:00
1 parent 3926d742fd
commit 0165144292
58 files changed
+895 -263

No files matched your search

@@ -60,13 +60,13 @@ agent_created: true
## 外部技能依赖:账号解析(mcn-dou-analysis)
账号解析功能(达人账号信息获取与登记、视频列表抓取、爆款视频拆解分析、人设卡生成、账号数据分析)由独立技能 **mcn-dou-analysis** 提供,按三环境两步判定解析路径:
账号解析功能(达人账号信息获取与登记、视频列表抓取、爆款视频拆解分析、人设卡生成、账号数据分析)由独立技能 **mcn-dou-analysis** 提供(09-10 修正:原「盘符锚点两步判定 + 技能包外绝对路径」规则**已废弃**——独立仓库不存在,且写死盘符的锚点随仓库迁移必然失效):
- **第一步:查本机是否存在 `D:\AgentSkill`**
- **不存在 → 用户环境**(技能装在用户机器上,路径不限、不一定含 `.dsh`)→ 在本技能 `subskills/` 目录中寻找 `mcn-dou-analysis`
- **存在 → 第二步:看本技能自身路径**
- 不含 `.dsh`(源技能在 `D:\AgentSkill` 下)→ **开发机** → 使用 `D:\AgentSkill\mcn-dou-analysis`
- 含 `.dsh`(如 `C:\Users\{用户名}\.dsh\skills\…`)→ **dsh 部署环境** → 使用 `D:\AgentSkill\mcn-dou-analysis`
- **Lite1.0 当前未内置该技能**:本版本目录下无 `subskills/`(`ls` 实测),故 `subskills/mcn-dou-analysis` 在本版本**不存在**
- **需要账号解析时**:
- 优先改用完整版技能 **短视频工作台**(V1.0)——其 `subskills/mcn-dou-analysis/` 随技能分发,路径相对技能根,跨机器一致
- 若确需在 Lite1.0 内提供该能力,应先把 `mcn-dou-analysis` 同步进 `Lite1.0/subskills/`,再按相对路径 `subskills/mcn-dou-analysis/SKILL.md` 调用
- **禁止**再用任何**盘符绝对路径**定位该技能(锚点统一改用仓库特征判定)
---
@@ -249,7 +249,7 @@ agent_created: true
**用户确认:** Gate-6(最终确认),确认后完成交付。
**最终交付物(确认后自动生成):** 创作回顾.html — 整合全流程各阶段产出的可视化回顾页,命名规则 `脚本{编号}_{脚本标题}_创作回顾.html`,存放于产出根目录下 `{账号名}/` 账号文件夹根目录(dsh 部署环境:`D:\dshworkspace\创作任务\`;开发机与用户环境:桌面 `MCNSkill项目/`,以 `references-add/路径配置.md` 为准)。如有分镜则一并纳入。
**最终交付物(确认后自动生成):** 创作回顾.html — 整合全流程各阶段产出的可视化回顾页,命名规则 `脚本{编号}_{脚本标题}_创作回顾.html`,存放于产出根目录下 `{账号名}/` 账号文件夹根目录(开发机与用户环境同构:桌面 `MCNSkill项目/`,以 `references-add/路径配置.md` 为准)。如有分镜则一并纳入。
> 详细提示词和输出模板见:[11_脚本检查和诊断.md](references/创作流程/11_脚本检查和诊断.md)
@@ -295,7 +295,7 @@ Skill部署到非原始开发路径时,所有用户新增的创作流程/创
### 六、硬编码禁止规则(P0)
创作流程、知识库、素材库标准库中禁止硬编码任何具体账号信息(账号名/角色名/专属机制/专属路径)。素材库存具体物品是设计目的不算硬编码;产出目录(dsh 部署环境 `D:\dshworkspace\创作任务\`、开发机与用户环境桌面 `MCNSkill项目/`,或用户自定义路径)全允许。
创作流程、知识库、素材库标准库中禁止硬编码任何具体账号信息(账号名/角色名/专属机制/专属路径)。素材库存具体物品是设计目的不算硬编码;产出目录(开发机与用户环境同构:桌面 `MCNSkill项目/`,或用户自定义路径)全允许。
> 判定标准+替换对照表+验证命令见:[创作流程规范.md](references/创作流程规范.md) 六
@@ -320,6 +320,6 @@ Skill部署到非原始开发路径时,所有用户新增的创作流程/创
```
> 知识库+素材库详细索引 → [索引_知识素材库.md](references/索引_知识素材库.md)
> 产出路径规范(dsh 部署环境 `D:\dshworkspace\创作任务\`、开发机与用户环境桌面 `MCNSkill项目/`(`{账号名}/脚本{编号}/` 直挂,无技能文件夹层),Windows/macOS 按系统解析;**运行时以 `references-add/路径配置.md` 为唯一权威**) → [创作流程规范.md](references/创作流程规范.md) 五
> 产出路径规范(开发机与用户环境同构:桌面 `MCNSkill项目/`(`{账号名}/脚本{编号}/` 直挂,无技能文件夹层),Windows/macOS 按系统解析;**运行时以 `references-add/路径配置.md` 为唯一权威**) → [创作流程规范.md](references/创作流程规范.md) 五
> references-add增量目录结构 → [references-add/README.md](references-add/README.md)
> 快速启动模板 → [帮助文档.md](帮助文档.md)
@@ -85,7 +85,7 @@ references-add/
|:---|:---|
| 文件命名 | `{编号}_{类型名}_{细分}.md`(如 `01_美食库_川菜.md`) |
| 字段结构 | 与 `references/素材库/` 同类型文件保持一致(四维标签:极致维度×适用场景×镜头维度×画面维度) |
| 04_对话库 | 账号专属,不设通用增量,仍在产出根目录 `{账号名}/`(dsh 部署环境 `D:\dshworkspace\创作任务\`;开发机与用户环境桌面 `MCNSkill项目/`,或用户自定义路径)下管理 |
| 04_对话库 | 账号专属,不设通用增量,仍在产出根目录 `{账号名}/`(开发机与用户环境同构:桌面 `MCNSkill项目/`,或用户自定义路径)下管理 |
| 分块定义 | 不设增量,统一使用 `references/素材库/分块定义/` |
## 与 references/ 的关系
@@ -118,4 +118,4 @@ references/(标准) + references-add/(增量) → 合并结果
| **分赛道知识** | 创作前先确定赛道+叙事形态,然后检索 `references-add/分赛道知识/{赛道}/{内容形式}/` 获取赛道专属方法论。与 `references/知识库/` 的通用方法论合并使用 |
| **素材库** | 调取素材时同时检索 `references/素材库/` 和 `references-add/素材库/`。取并集,标准库优先,增量作为补充 |
| **铁律避坑** | 创作完成前,**必须**检索 `铁律避坑规则/通用/` + `铁律避坑规则/分赛道/{当前赛道}/{当前内容形式}/`,逐条检查是否违反铁律 |
| **路径配置** | 每次执行创作流程前,**先查** `路径配置.md`。有「用户自定义路径」记录 → 以用户指定为准(**覆盖标准库默认桌面路径**);无记录 → 按三环境两步判定(本机无 `D:\AgentSkill` → 用户环境 → 桌面 `MCNSkill项目/`;本机有且技能路径含 `.dsh` → dsh 部署环境 → `D:\dshworkspace\创作任务/`;本机有且不含 `.dsh` → 开发机 → 桌面 `MCNSkill项目/`),再按系统解析桌面路径。此维度为增量优先特例 |
| **路径配置** | 每次执行创作流程前,**先查** `路径配置.md`。有「用户自定义路径」记录 → 以用户指定为准(**覆盖标准库默认桌面路径**);无记录 → 按两环境判定(技能处于源技能 git 检出内 → 开发机 → 桌面 `MCNSkill项目/`;不在任何 git 检出内 → 用户环境 → 桌面 `MCNSkill项目/`。**两环境产出同构**),再按系统解析桌面路径。此维度为增量优先特例 |
@@ -5,13 +5,12 @@
## 一、默认路径(用户未自定义时生效)
**先判断运行环境(三环境两步判定),再按运行系统解析桌面路径:**
**先判断运行环境(两环境判定 · 仓库特征判定,v3),再按运行系统解析桌面路径:**
| 运行环境 | 判断依据 | 默认产出根目录 |
|:---|:---|:---|
| dsh 部署环境 | 技能所在路径含 `.dsh`,且本机存在 `D:\AgentSkill`(如 `C:\Users\{用户名}\.dsh\skills\…`) | **优先** `D:\dshworkspace\创作任务\`(主工作区「创作任务」目录) |
| 开发机 | 技能所在路径不含 `.dsh`(源技能在 `D:\AgentSkill` 下) | 用户桌面 `MCNSkill项目/`(`{账号名}/脚本{编号}/` 直挂,无技能文件夹层) |
| 用户环境 | 本机不存在 `D:\AgentSkill`(技能装在用户机器上,路径不限、不一定含 `.dsh`) | 用户桌面 `MCNSkill项目/`(与开发机同构) |
| 开发机 | 技能**处于源技能 git 检出内**(`git -C {技能目录} rev-parse --show-toplevel` 能返回仓库根) | 用户桌面 `MCNSkill项目/`(`{账号名}/脚本{编号}/` 直挂,无技能文件夹层) |
| 用户环境 | 技能**不在任何 git 检出内**(技能装在用户机器上,路径不限,如 `~/.workbuddy/skills/…`) | 用户桌面 `MCNSkill项目/`(与开发机同构) |
桌面路径按运行系统自动解析:
@@ -21,7 +20,10 @@
| macOS | `~/Desktop/`(即 `/Users/{用户名}/Desktop/`) |
**AI 执行规则:**
1. 先做三环境两步判定:① 本机是否存在 `D:\AgentSkill`——不存在即**用户环境** → 桌面 `MCNSkill项目/`;② 本机存在时再看技能自身路径——含 `.dsh` 即 **dsh 部署环境** → **优先操作** `D:\dshworkspace\创作任务\`(「创作任务」子目录不存在则创建);不含 `.dsh` 即**开发机** → 桌面 `MCNSkill项目/`(开发机与用户环境同构:`MCNSkill项目/{账号名}/脚本{编号}/`)
1. 先做两环境判定(**仓库特征判定**):
- 判断技能是否处于**源技能 git 检出内**——执行 `git -C "{技能目录}" rev-parse --show-toplevel`,返回仓库根即 **① 开发机**;命令失败(或返回 NOT_IN_REPO)即 **② 用户环境**。无 git 环境时兜底:从技能目录向上逐级查找,任一级存在 `.git` 目录/文件即开发机,查到盘符根仍未命中即用户环境
- 开发机与用户环境产出**同构** → 桌面 `MCNSkill项目/{账号名}/脚本{编号}/`
- ⚠️ 禁止按 `.dsh` 路径段或 `D:\dshworkspace` 做任何分支判断(该部署环境已不存在)
2. 再判断当前运行系统(Windows / macOS),拼接桌面路径
3. 目录不存在则自动创建
4. 产出结构:`{产出根目录}/{账号名}/脚本{编号}/…`(内部文件结构不变,仅根目录可变)
@@ -49,7 +51,7 @@
## 三、解析规则(优先级从高到低)
1. 本文件「用户自定义路径」记录 → 用自定义路径(最新一条生效)
2. 本文件默认路径 → 按三环境两步判定确定产出根目录(本机无 `D:\AgentSkill` → 桌面 `MCNSkill项目/`;有且技能路径含 `.dsh` → `D:\dshworkspace\创作任务/`;有且不含 `.dsh` → 桌面 `MCNSkill项目/`),再按系统拼接桌面路径
2. 本文件默认路径 → 按两环境判定确定产出根目录(在源技能 git 检出内 = 开发机 → 桌面 `MCNSkill项目/`;不在任何 git 检出内 = 用户环境 → 桌面 `MCNSkill项目/`。**两者同构**),再按系统拼接桌面路径
3. 路径含 `~` 时自动展开为用户主目录
4. 路径含 `{用户名}` 时替换为当前系统用户名
5. 目录不存在时自动创建
@@ -61,3 +63,5 @@
- 2026-08-26(再修订):dsh 部署环境改为**优先操作** `D:\dshworkspace\创作任务\`(主工作区「创作任务」目录,与 .dsh 部署副本既有自定义路径记录一致;用户指定:"dsh 中优先操作 D:\dshworkspace\创作任务\");主工作区不存在时兜底桌面 `DSHSkill项目/`。产出结构不变;双向同步自 V1.0。
- 2026-08-26(三环境重构):环境判定由两级改为**三环境两步判定**(①本机无 `D:\AgentSkill`=用户环境;②有且技能路径含 `.dsh`=dsh 部署环境;③有且不含 `.dsh`=开发机);`DSHSkill项目/` 根目录**整体废弃**(用户确认),原"dsh 异机兜底 DSHSkill项目/"场景并入用户环境 → 桌面 `MCNSkill项目/脚本创作/`;dsh 部署环境产出 `D:\dshworkspace\创作任务\` 不变。产出结构不变;双向同步自 V1.0。
- 2026-08-26(层级精简):开发机与用户环境产出根目录由 `MCNSkill项目/脚本创作/` 改为 `MCNSkill项目/`——去掉技能文件夹层,`{账号名}/脚本{编号}/` 直挂(用户指定:"不论1还是3,都是 桌面\MCNSkill项目\{账号名}\{脚本名}\对应文件");dsh 部署环境不变;双向同步自 V1.0。
- 2026-09-10(判定锚点重构 v2 · 仓库特征判定):环境判定锚点由「本机是否存在 `D:\AgentSkill`」改为**仓库特征判定**——第一步查技能路径是否含 `.dsh`(含 = dsh 部署环境),第二步用 `git -C {技能目录} rev-parse --show-toplevel` 判断技能是否处于源技能 git 检出内(在 = 开发机,不在 = 用户环境;无 git 时兜底为向上逐级查找 `.git`)。产出根目录三环境结果**完全不变**,仅判定依据改变。**根因**:仓库本地路径迁移导致写死盘符锚点失效 → 开发机被误判为「用户环境」。(用户确认:"改为仓库特征判定";同源同步自 V1.0)
- 2026-09-10(环境模型精简 v3 · 三环境 → 两环境):**dsh 部署环境整体废弃**(用户确认:"第一步 技能路径含 .dsh 路径段 ② dsh 部署环境 没有这个环境了")。实测依据:`~/.dsh/skills/` 不存在、`~/.dsh/mcn-plugin.db` 不存在、`~/.dsh` 下仅剩 `profiles/`、`D:\dshworkspace` 整个目录不存在。故删除 `.dsh` 判定分支与 `D:\dshworkspace\创作任务\` 产出路径,判定简化为**一步**。剩余两环境产出本就同构(桌面 `MCNSkill项目/`),产出结果不变。(同源同步自 V1.0)