09-01 调度机制修复落地+并发方案A+全链路复测通过

- 调度根因修复:工作台/api/run 显式写 next_run_at=now+5s(17列),scheduledAt=now+5s 带秒
- 新增 自动化任务调度机制.md(根因/硬规则/状态机/并发上限≈3/排查命令)
- 并发方案A(浏览器锁):/api/run 对浏览器类任务自动注入锁约束;浏览器搜索抖音账号操作规范.md 新增5.6并发互斥
- 端口 8899→8900 可传参(8899被小米MiPCAudio.exe系统服务占用且杀后复活)
- cdp-test-junxi.mjs 支持 --port 参数
- SKILL.md 工作台段落同步修正(旧认知 scheduled_at=now 已废弃)
- 俊希全流程 TC-01~11 复测全通过(验收表更新):并行解析6条+AI写脚本会话链路完整跑通
This commit is contained in:
maogeigei committed 2026-09-01 00:36:02 +08:00
1 parent e906e6616a
commit b2e472bf27
12 files changed
+265 -49

No files matched your search

+46
View File
@@ -471,3 +471,49 @@
- **三层化沉淀**:治本=浏览器规范.md「提取方法优先级」+「访问账号主页」两节 + SKILL.md 浏览器操作规范红线⑤⑥ + 部署禁用说明登记;失误=新建 `铁律避坑规则/视频列表获取执行避坑.md`(坑1 逐条开视频页/坑2 构造直达地址 + 校验速查表);记忆=本日志
- 产出:`俊希/videos_full.json`(136 条全量含 createTime/duration/stats)+ `短视频表格.xlsx` 重生成(发布时间 100%)+ `top6.json`(标准工具出 6 条,2026-06-09~08-15)
- 浏览器清理:关闭搜索页/redfox 标签页,仅留俊希主页标签页供后续复用
## 远程仓库改名 mcn-short-video + 推送(19:57-20:00)
- 用户指令「提交到仓库 以本地为准」;前置已把 remote 从 mcnskills.git 改为 mcn-short-video.git(用户澄清「不该文件夹名,只改 git 地址」)
- **实测**:远程 `mcn-short-video.git` 已存在且可达(fetch/push 成功,SSH 222 连通),历史与本地连续(共同祖先 6cbdb70=原 mcnskills 的 origin/main)→ 即 mcnskills 仓库在服务器端已改名为 mcn-short-video(修正 17:00 旧结论:当时 mcn-video-script.git 不存在、mcnskills.git 存在;现 mcn-short-video.git 存在且历史一致)
- 提交 ccdd79e(账号分析技能红线强化 + 2 避坑规则 + 记忆文件,7 文件 +131/-6)→ `git push origin main` 成功(6cbdb70..ccdd79e),本地=远程=ccdd79e
- 用户级 MEMORY.md Git 清单已同步:远程地址 mcnskills.git→mcn-short-video.git,本地路径修正为 mcn-video-script
- 经验:push 前先 fetch 确认无分叉(本次 fast-forward 领先 2 提交,无需 force);SSH 需授权模式访问 ~/.ssh(读 Port 222 配置 + 办公室 deploy key);本地代理先清空再连远程
## mcn-dou-analysis 沉淀同步到 dsh 副本(20:08-20:13)
- 用户确认「需要」→ 把本次沉淀同步到 dsh 副本 `C:/Users/maidou/.dsh/skills/mcn-dou-analysis/`
- **同步 6 文件**(cp 源→dsh,diff 验证全空一致):SKILL.md(红线⑤⑥ + 账号信息数据源红线 + 部署禁用登记)、01_获取账号信息.md(数据来源红线 + 路径中性化)、02_获取视频.md(路径中性化 L15)、浏览器搜索抖音账号操作规范.md(defaultDataList 方法固化 + 访问主页搜索路径)、视频列表获取执行避坑.md + 账号信息获取执行避坑.md(新增)
- **关键发现**:① mcn-dou-analysis 源与 dsh frontmatter **完全一致**(无 deployment/deployed_at 环境字段,08-27 定主版本时未引入),故 cp 覆盖无需恢复环境字段(区别于 storyboard-prompt);② 达人账号表路径统一为中性「达人账号表.xlsx」——源已把绝对路径 `D:\dshworkspace\达人账号表.xlsx` 改中性(配合路径配置.md 三环境两步判定:开发机→桌面 MCNSkill项目、dsh→D:\dshworkspace),dsh 的 01/02 文件残留旧绝对路径一并清掉;两个环境的账号表是**不同文件**(桌面 6036B 含俊希 08-31 / D:\dshworkspace 5737B 旧版)
- **验证**:6 文件 diff 全空;知识库/账号设定/ 13 文件源=dsh 一致(此前 find+for 按空格拆分误报「缺失」,实为文件名含空格)
- dsh 仓库(dsh_MCNProject)未 commit,按节奏待用户决定
## 俊希测试 TC-07/08 + AI 会话任务链路实测(21:52-22:00)
- **TC-07 人设卡**:产出 `俊希/俊希账号设定.md`(12 段完整人设卡)。判定=**单一达人型**(俊希+妈妈固定,爸爸/小姨客串);粉丝281.9w/获赞3658.9w/作品136/广西;5 内容基因 + 8 条内容规则 + 6 条红线 + 广告植入偏好独立小节(金典/海尔/学而思/COLMO,妈妈口播)
- **TC-08 设定卡 SVG**:`俊希/俊希账号设定卡.svg`(viewBox 0 0 680 1520)。**俊希=温情/亲子/治愈 → 深焦糖深色系** `#2B1A10→#1A0F08`(非旧梦深棕红/非王微斯玫瑰金);模块=叙事结构(5步)/内容标签(6chip)/内容基因·TOP6(5条)/角色类型库(3角色)/情绪结构(5段)/红线清单(6条);内部元素沿用深色系固定规范
- **术语双向对齐**:设定md 补 `### 内容基因·TOP6` 子标题 + section三「类型库/达人设定」→「角色类型库」(对齐旧梦定稿);「核心标签」字段↔SVG「内容标签」模块=固有映射(与旧梦一致,非改名)
- **AI 会话任务链路实测(回应用户「为什么没看到创建AI会话任务」两次追问)**:**根因定论**——TC-01~07 全走「本地文件+MCP直调」,只有 TC-10 AI写脚本走 `/api/run` 才创建会话。工作台服务曾挂(8899 有 0.0.0.0 残留监听但 127.0.0.1 无响应),重启后 `POST /api/run` 实测成功:automations 表 4→5 条,新增 `automation-1788184599640`「俊希-AI写脚本(TC-10实测)」(status=ACTIVE/schedule_type=once/scheduled_at=21:56/cwds=D:\AgentSkill\mcn-workshop/model=deepseek-v4-flash);`/api/run/status` 返回 queued(宿主尚未调度 automation_runs,会话将在左侧会话栏 mcn-workshop 空间出现)
- 待办:TC-09 AI选题(/api/ai/topics 同步接口,不建会话)、TC-10 脚本实际生成(后台会话)、TC-11 收尾+git
## 视频列表「AI写脚本」链路澄清 + 俊希设定卡配色纠正(22:05-22:55)
- **视频列表未解析视频的 AI写脚本**:同样走 `confirmRun→executeTask→POST /api/run` 创建会话(data-pages.js:443 每行不分状态都渲染「AI写脚本」按钮,prompt 只带「达人名+视频标题」不带 analysis)。实测未解析视频 511(白昼小熊)触发成功,automations 6 条。工作台视频列表共 56 条/47 条未解析;「未解析」=dsh 库 account_video_source/analysis 表无记录,不阻塞触发。**关键坑**:视频改写 prompt 不注入解析内容,已解析/未解析在 prompt 层面无差异,纯靠标题脑补
- **俊希设定卡配色纠正(用户质疑"背景色对吗",确属我误判)**:俊希=明快/欢乐/治愈爽文调性(满级小孩哥宠妈),**非深沉浓郁**。之前机械套「温情/亲子/治愈→深焦糖深色系」是错的(那条对应深沉催泪型亲子)。按 06 文档两系判定(明快/治愈→浅色系)应走**浅色系暖橙**:bg `#F5D0A4→#DE9A5E`,内部元素暖橙系(白卡+#F0CBA0边+#8A4B23深棕字+#E07A3F/#E85A2A橙红强调),情绪核爆段橙红#E85A2A。已重写 SVG(深色残留=0,结构配对完整)
- **教训**:06 文档配色表「温情/亲子/治愈→深焦糖」只覆盖"深沉催泪"亲子;"明快欢乐"亲子美食账号无现成浅色模板,需按浅色系推导(主色暖橙→提亮降饱和)而非照表硬套。判定先看"明快/深沉"两系大前提,再看表格细分
## 俊希配色定稿 + 调度器根因深查(23:00-23:15)
- **配色定稿**:浅绿偏太阳黄背景 `#EDF1C0→#D8E28A` + 暖橙内部卡片不变(用户先提「背景浅绿偏一点太阳黄」=小孩嫩绿清新+太阳黄阳光暖意,后澄清「卡片保持之前颜色」=只换背景、内部卡片保持暖橙)。一绿一橙呼应「满级小孩哥给妈妈做饭」属性
- **三层沉淀「调性优先于赛道标签」**(用户"没有对应配色标准就结合账号属性内容调性思考"):①治本=06文档①节改三层判定(调性决定色系二选→色值取色相→赛道仅初筛)+配色表亲子治愈加调性分叉+③强规则加「调性优先」;②失误=账号设定执行避坑.md第8条(俊希深焦糖误判);③记忆=MEMORY.md F6条目。核心=「治愈」双义标签必须回读情绪锚点判定明快vs深沉
- **AI会话调度器根因(深查,回应用户核心困惑)**:实测两条任务(俊希/白昼小熊)已入 automations 表(status=ACTIVE),但 automation_runtime_state 与 automation_runs **零记录**=宿主从未拾取。字段与 08-27 成功任务逐项一致(once/scheduled_at/rrule/cwds格式/permission_mode/model_id 全同)排除格式问题。**根因=宿主调度器不活跃**:automation_runs 最新记录停在 08-28 09:53(导入指令 last_error=user_cancel),此后零调度。**「写表成功 ≠ 创建会话」,中间还差宿主调度器拾取这一步**;调度器属 WorkBuddy 客户端侧,非工作台代码可控
## 「1任务=1会话」机制确认 + 停摆实锤验证(23:20-23:30)
- **「1 automation = 1 会话」= WorkBuddy 原生 1:1 映射(确认)**:automation_runtime_state 的 `running_conversation_id` → sessions 表 UUID,4 条历史任务各对应 4 个 `is_background_automation=1`、`status=completed` 的会话。链路=写automation→宿主调度器拾取→建session(后台自动化)→执行completed。**多账号并行 = 写 N 条 automation = N 个后台会话并发**(无需改代码)
- **停摆实锤(用户"你就同时解析俊希最新6条视频 我看怎么停摆")**:同时派发 6 条「解析视频」任务(detailId=33022/33021/29596/15729/21514/20164),全部 `POST /api/run` 返回 ok:true,automations 6→12 条;但 6 条全部 `last_run_at=null`、automation_runtime_state 无记录、automation_runs 无记录、后台会话数仍 4。automation_runs 最新仍停在 08-28 09:53:39 未动=值班员(调度器)没上班
- **隐患(待处理)**:累积 8 条卡住任务(之前俊希/白昼小熊 2 条 + 本次 6 条),一旦客户端调度器恢复会**突然复活**、同时开出 8 个会话执行(可能重复解析/重复写脚本)。恢复前建议清理或预期这 8 条会并发执行
- **澄清「之前会话怎么建的」(用户"是不是搞错了"质疑,23:31 全字段对比)**:成功任务 vs 卡住任务**逐字段一致**(once/ACTIVE/scheduled_at字符串格式/permission_mode=fullAccess/owner_status=confirmed 全同),唯一差异 last_run_at(成功有值、卡住 null)。**时间线铁证**:工作台链路测试 08-27 19:15:40写入→19:16:40被调度(60秒);导入指令 08-28 09:53:11→09:54:05(54秒)。**即之前的 4 条会话全是调度器所建、1 分钟内拾取**,机制从未坏过;调度器最后一次活动 08-28 09:54:05 后停摆。**表述教训**:之前反复说「只能写纸条建不了会话」易让用户误以为「会话功能本来就建不出」,应明确「会话能建、建过4次、1分钟建好;现在建不出纯粹是调度器停摆」
- **POC 记录核对(用户提供 8-27 wb-trigger-poc,23:34)**:用户还原当时 POC=`C:\Users\Administrator\WorkBuddy\2026-08-17-21-42-42\wb-trigger-poc\`(index.html+server.js端口8088+insert_automation.py直写automations表;两链路=①/api/run execFile调CLI同步不进任务栏、②/api/trigger insert_automation.py异步进任务栏),关键字段 schedule_type=once/scheduled_at=now/model_id=deepseek-v4-flash/permission_mode=fullAccess/owner_user_id绑定用户。**核对结论**:①POC文件当前机器找不到(Administrator路径不存在,全盘搜无 insert_automation.py,属另一台机器);②当前工作台 server.js `/api/run` 已100%复刻POC——INSERT字段(once/scheduledAt=now/model_id='deepseek-v4-flash'/fullAccess/owner_user_id动态查sessions)与POC一字不差;③数据库实查成功vs卡住任务 model_id 全=deepseek-v4-flash、owner_user_id 全=9bb574cb-...701f,**字段零差异**。**最终定论**:写法对、字段对、与POC一致,问题不在代码/字段;POC原文「客户端调度器检测到后即执行」=印证根因是「调度器检测活跃性」(08-27/28检测→执行,08-31未检测→卡住),非工作台可修,需客户端侧恢复
- **「清空+重建」实测(用户"你不能清空和重启automations吗",23:39,最终闭环)**:改用官方 `automation_update` 工具(Agent 侧唯一合法入口,规则禁直写 SQLite 动 automations)。①**list** 能看到全部9条任务(8卡住+导入指令)。②**delete** 8条僵尸任务全 success——实为**软删除**(`deleted_at` 打时间戳,行仍在但标记删除,调度器不会再拾取)。③**create** 新建1条验证任务成功——**id 用 UUID 格式**(`337935e0-...`,非工作台的 `automation-<时间戳>`),且 **model_id=`deepseek-v4-pro`**(取当前会话模型,非工作台硬编码的 `deepseek-v4-flash`)。④**等65秒后复查:官方任务 last_run_at 仍 null、automation_runs 无新记录**。**最终铁证闭环**:工作台直写SQLite→卡住、官方automation_update创建→同样卡住,两条路都卡=根因确凿是**调度器(客户端后台轮询服务)停摆**,与「怎么建任务」无关;表(箱子)能写能删,但「捞纸条开会话」的调度循环 08-28 09:54 后未再运行,只能靠重启 WorkBuddy 客户端叫醒。留1条 UUID「验证任务」作金丝雀(调度器一恢复即触发回复「AI会话创建成功」)
- **重启无效(用户"已经重启了",23:44,金丝雀验证)**:用户重启 WorkBuddy 客户端后,进程确认存活(WorkBuddy.exe 12 个进程,Electron 多进程架构正常),但金丝雀任务等 3 分钟(23:47 查)仍 `last_run_at=null`、`automation_runs` 无新记录、后台自动化会话数仍 4。**重启未恢复调度器**——说明调度机制非「重启即恢复」那么简单,问题更深层(可能:登录态过期/客户端自动化开关被关/调度依赖云端服务/需在客户端自动化面板手动触发)。金丝雀任务保留作探针;下一步需用户在客户端侧确认自动化任务列表状态或手动触发
## ★调度链路根因确认 + 金丝雀验证成功(23:58-23:59,最终闭环)
- **最终根因(与另一 WorkBuddy 实例行为差异定位,用户提供对方完整参数后确认)**:`automation_update`(官方工具)create/update **只对未来 scheduledAt 补算 `next_run_at`(毫秒时间戳),过去时间不补算** → 调度器按 next_run_at 扫描找不到 → 任务永远卡住。对方实例 `scheduled_at=now` 时客户端会补算 nextRunAt 并执行;此实例不会 → 客户端版本差异。工作台 `/api/run` 直写 SQLite 同理:scheduled_at=now(已过时刻)→ next_run_at NULL → 调度器扫不到
- **修复验证(金丝雀 `337935e0-0dc0-47ef-9d6c-eeb6f83bea4f`)**:scheduledAt 从过去时间 23:39 改为**未来时间 23:58:00** → update 返回 `nextRunAt: 1788191880000`(客户端自动补算)→ 23:58:25 `automation_runs` 新增该任务 status=ACCEPTED → `automation_runtime_state` 出现 running_conversation_id → 后台自动化会话 4→**5**,新增「验证自动化调度链路」会话(f4232ef1,is_background_automation=1)→ 执行后 next_run_at 置空
- **结论**:调度器没停摆,是 next_run_at 补算条件(未来时间)问题;**凡创建/更新任务,scheduledAt 必须设为未来时间(now+),客户端才补算 next_run_at、调度器才扫得到**
- **遗留**:8 条已软删除僵尸任务(deleted_at 标记,调度器不拾取)无需处理;金丝雀任务已执行完成(once 不重跑),可留作证据或删除
+36
View File
@@ -0,0 +1,36 @@
# 2026-09-01 工作日志
## 调度链路修复后:重派 6 条俊希视频解析任务(00:02-00:08)
- **背景**:08-31 深夜确认调度根因=automations scheduledAt 必须未来时间才补算 next_run_at;金丝雀任务(337935e0)已验证成功执行并开出会话 f4232ef1
- **重派**(用户选「重派6条视频解析任务」):6 条 once 任务,scheduledAt 依次 00:03:07~00:08:09(未来时间错开 1 分钟),cwds=D:\AgentSkill\mcn-workshop(会话归 mcn-workshop 空间)
| detailId | 任务名 | scheduledAt | nextRunAt 补算 |
|---|---|---|---|
| 33022 | 俊希-解析视频-33022 | 00:03:07 | ✅ 1788192187000 |
| 33021 | 俊希-解析视频-33021 | 00:04:08 | ✅ 1788192248000 |
| 29596 | 俊希-解析视频-29596 | 00:05:08 | ✅ 1788192308000 |
| 15729 | 俊希-解析视频-15729 | 00:06:09 | ✅ 1788192369000 |
| 21514 | 俊希-解析视频-21514 | 00:07:09 | ✅ 1788192429000 |
| 20164 | 俊希-解析视频-20164 | 00:08:09 | ✅ 1788192489000 |
- **关键验证点**:6 条全部返回 nextRunAt(此前卡住的 6 条即这批 detailId 全无 nextRunAt)→ 预期调度器逐条拾取、mcn-workshop 空间陆续出现 6 个后台自动化会话(1 任务=1 会话)
- **prompt 自包含**:明确 mcn-dou-analysis 技能路径 + 功能五解析 + MCP short_video_detail/upload_douyin_video + content.json 边界规则 + 落盘 `桌面\MCNSkill项目\俊希\视频分析\{标题}_标签1_标签2\` + 完成后回解析摘要
- 待追加:6 条任务执行结果(automation_runs ACCEPTED / 会话创建 / 解析产出落盘)
## 调度器秒级准点实证 + 并行改期教训 + 工作台 next_run_at 修复(00:03-00:07)
- **33022 准点执行实证(调度器从未停摆)**:create 时补算 nextRunAt=00:03:07 → 调度器准点拾取 → automation_runs ACCEPTED(00:03:17)→ 会话 442280f0「解析俊希账号指定视频」completed。**后台会话 5→6**。即 create 时设 +60s 未来时间 → 秒级准点执行
- **改期教训(我的失误)**:为并行把 6 条 update 到 00:04:50(距 update 时刻仅 ~17s 余量)→ 客户端判定太近**清空 next_run_at** → 5 条卡死(33022 因已在 00:03:07 执行不受影响)。**规则:automation_update 的 scheduledAt 必须留足够未来余量(实测 +60s 稳、+17s 失败),update 往返有几秒延迟,越近越险**。已用 +60s(00:07:06)恢复 5 条,nextRunAt=1788192426000 全部补算成功
- **工作台 server.js 根因修复(08-31 P2 判断有误需纠正)**:实测证明**客户端调度器按 next_run_at 扫描**(33022 有 nextRunAt 才执行;工作台直写 SQLite 的 next_run_at=null 全卡死)。之前 P2「去掉 next_run_at 列(执行器用 scheduled_at/created_at)」是**错误判断**。修复:`/api/run` ①scheduled_at=now+5s(带秒,未来)②**恢复 next_run_at 列 = Date.now()+5000**(17 列)→ 工作台按钮触发后 +5s 调度器拾取,满足用户「10 秒内执行」诉求
- **「10 秒内」机制边界**:Agent 侧 automation_update 受客户端补算阈值限制(余量不足不补算),无法稳定 10s 内;工作台直写 next_run_at=now+5s 可稳定 10s 内执行。用户诉求正确落点=工作台按钮链路
- 服务当前未运行(8899 无响应);server.js 已改+语法通过,下次启动生效
## 09-01 00:10 关键验证:并行执行实测通过 + 立即执行参数结论
- **5 任务并行实测(00:07:06 触发)**:调度器 00:07:32.7 全部拾取(拾取延迟 ~27s = 客户端扫描周期);3 个立即 IN_PROGRESS 各建会话(29596/33021/15729 working),2 个 QUEUED 排队(21514 pos1/20164 pos2)→ **客户端后台自动化并发上限≈3**,超出排队(queuedPosition 标记);1任务=1会话 1:1 并行成立
- **automation_runs 状态机**:QUEUED(排队,有queuedPosition)→IN_PROGRESS(建会话,meta含conversationId/sessionId)→ACCEPTED(完成,meta含resultState/resultEvidence);表列=thread_id/automation_id/status/read_at/thread_title/source_cwd/runs_json/result_success/metadata_json
- **立即执行参数:不存在**。已查 argv.json(仅IDE渲染参数)/settings.json(仅插件/sandbox/claw)/无 workbuddy CLI;客户端无并发数/扫描周期配置项 → 无法通过参数控制立即执行
- **工作台按钮已是最快路径**:server.js /api/run 写 scheduledAt=now+5s + next_run_at=now+5000(17列),点击后 5s 进入调度器视野 + 扫描周期(≤30s) → 实际开始 5~35s
- 服务已重启(00:10:08, PID 23820),server.js 修复代码确认在位(369-375行)
## 09-01 00:25 并发方案A(浏览器锁)落地 + 端口迁移 8899→8900
- **方案A 落地**:server.js /api/run 对浏览器类任务(正则匹配 账号信息|视频列表|保存并分析|采集|导入账号|网页采集|浏览器)自动注入【浏览器锁约束】——锁文件 `D:/AgentSkill/mcn-workshop/.browser-lock`,操作前查锁→10s重试×18次(3分钟)→死锁保护(超10分钟可抢占)→完成后删锁;规范文档新增 5.6 并发互斥节(含 bash 拿锁/释放示例)
- **8899 被小米占用(新坑)**:`MiPCAudio.exe`(小米 PC 管家音频共享服务)系统级占用 0.0.0.0:8899 且杀后自动复活(taskkill 无效)→ server.js 绑定 127.0.0.1:8899 不生效、curl/内置浏览器全 000
- **修复**:server.js 支持 `node server.js [端口]` 传参(PORT_BASE=argv[2]||8899),改用 8900 启动,HTTP 200 验证通过,内置浏览器已打开
- **bash `&` 后台进程会被会话回收**:必须用 run_in_background=true 方式启动长驻服务,普通 `&` + 重定向会在命令返回后被清理
+15 -20
View File
@@ -1,26 +1,23 @@
# MCNVideo AI 项目长期记忆
## 环境判定两步模型 + 三技能统一产出结构(08-26 定稿)
- **两步判定**:第一步查本机 `D:\AgentSkill` 是否存在——**无=③用户环境**;有→第二步看技能路径——**在 `D:\AgentSkill\` 下=①开发机(源技能)**、**含 `.dsh`=②dsh 部署环境**(如 `C:\Users\maidou\.dsh\skills\`)。单一 `.dsh` 锚点会把用户环境误判为开发机(P0 已修复)
- **产出落盘**:①③同构=**桌面 `MCNSkill项目/{账号名}/`**(账号层直挂,无技能文件夹层);②dsh=**`D:\dshworkspace\` 主工作区优先**
- **三技能结构**:①③ 三技能共用一个账号文件夹(账号分析产出 `{账号名}账号设定.md`/`账号数据分析.md`/`短视频表格.xlsx`/`视频分析\{标题}_标签1_标签2\` 直挂;脚本=`脚本{编号}\`;分镜=`提示词{编号}\` 继承上游编号)。② dsh 分目录:`创作任务\{账号名}\`(脚本/分镜平级)与 `解析任务\{达人昵称}\` 分开
- **废弃**:`DSHSkill项目\` 根、`MCNSkill项目/脚本创作/`、`/分镜提示词/` 技能层、旧 dsh 根 `MCNSkillCase/`
- 现状:dsh 解析任务已符合定稿;桌面 `MCNSkill项目/账号分析/{小咪橘座,旧梦留声机,王微斯}` 用户选"现有先不动";账号分析/脚本创作技能配置尚未同步两步判定(待办)
- **两步判定**:①本机无 `D:\AgentSkill`=③用户环境;有→②技能路径在 `D:\AgentSkill\` 下=①开发机(源技能)、含 `.dsh`=②dsh 部署环境。单一 `.dsh` 锚点会把用户环境误判为开发机(P0 已修复)
- **产出落盘**:①③同构=桌面 `MCNSkill项目/{账号名}/`(账号层直挂);②dsh=`D:\dshworkspace\` 优先。三技能共用账号文件夹(分析产出直挂;脚本=`脚本{编号}\`;分镜=`提示词{编号}\` 继承上游编号)。废弃:`DSHSkill项目\`、`MCNSkill项目/脚本创作/`、`/分镜提示词/` 技能层、旧 dsh 根 `MCNSkillCase/`
- 产出路径唯一权威=`references-add/路径配置.md`(运行时优先于 SKILL.md);用户自定义路径 > 默认路径
## 核心技能
- **短视频脚本创作** `project/短视频脚本创作/{V1.0,Lite1.0}/`:11步流程+知识库12分类(66文件);V1.0 含 MCP/Dify 接口,Lite1.0 去全部接口、模型自带 WebSearch。**同步策略(08-26 用户定)**:只改 V1.0 源技能+dsh 副本两处;Lite1.0 默认不动
- **MCN工作台(08-27,仅 V1.0)** `project/短视频脚本创作/V1.0/mcn-work-shop/`(server.js+public/,零依赖 Node,端口8899自动避让);触发「打开工作台」→ 启动服务+内置浏览器打开。hash 路由:首页+📈账号周榜/👥热门账号/账号详情/视频详情/AI写脚本/AI写作复盘(读自有 mcn-plugin.db 副本+dshworkspace 榜单 JSON)+📁产出浏览(桌面 MCNSkill项目/ 账号层直挂)+❓帮助页。**首页顶部数据预览条(08-31,参考 dsh-plugin-mcn 首页 stats 移植)**:`/api/dsh/stats` 5 项=热门账号(accounts)/视频解析(analyses)/AI写脚本(rewrites)/AI写作复盘(reviews type='ai')/AI写作评分(writingScore=最新20条AI复盘平均分),条带=7%品牌蓝底+数值26px粗体+右分隔线(样式在 style.css .home-stats);**AI 任务触发(08-27 定版;归 mcn-workshop 空间)**:数据页按钮→`confirmRun()` 确认弹窗→`executeTask()` `POST /api/run` 写 `~/.workbuddy/workbuddy.db` automations(once+now,cwds=`D:\AgentSkill\mcn-workshop`)→WorkBuddy 自动执行创建会话→左侧会话栏 mcn-workshop 空间可见;轮询 `GET /api/run/status?id=`(读 automations/automation_runs/automation_runtime_state:running=IN_PROGRESS/running、done=DONE/COMPLETED/SUCCESS、error=ERROR/CANCELLED;5s 间隔 30min 上限)→done/error 恢复按钮(.btn-busy「执行中…」);**用户明确不同步 dsh/Lite**(刻意 divergence);AI脚本选题(08-28):关注账号「创作」→「AI脚本」`confirmAiScript` 选题 textarea→`POST /api/ai/topics`(查库带账号摘要→S5 方法论 prompt→Dify chat-messages recall 即时返回约50s);Dify key 内置 `scripts/MCN_CYLG_API.py` 的 `DEFAULT_CYLG_KEY`(env `DIFY_MCN_CYLG_KEY` 优先;key=app-0vRaxPhvVOqzFQIa5eFzFdjD),`DIFY_URL` 默认 mydify.youmanvideo.com/v1、model 默认 gemini、curl 中文被 CDN 拦推荐 Python、search 易超时用 recall;**AI脚本诊断(08-31 用户指定技能)**=#/reviews 复盘页(原「AI写作复盘」改名),复盘/对比按钮的 AI 任务 prompt 明确「按 mcn-script-review(脚本复盘)技能执行」(评分式复盘 + AI脚本vs源脚本对比分析三段式);帮助页「诊断 & 评分」组 desc 同步标注技能来源并补对比问法
- **抖音账号分析 mcn-dou-analysis(主版本 08-27)**:源=`project/短视频脚本创作/V1.0/subskill/mcn-dou-analysis/`;dsh 副本=`C:\Users\maidou\.dsh\skills\mcn-dou-analysis\`;旧路径 `project/短视频账号分析/case_1/` 已废弃。**六大功能(08-31 加 F6)**:F1账号信息/F2视频列表(13列Excel)/F3提炼账号设定(人设卡12段)/F4分析视频数据(逐条→汇总两段式)/F5解析视频(单视频MCP)/**F6生成账号设定卡片**(SVG 长图 680×~1716,模板=旧梦留声机样例)。红线:达人账号表15列(仅用户要求增改)、TOP6筛选(点赞+分享降序,权威参数在SKILL.md)、≥60条停止滚动、29赛道枚举、源技能只读单向同步、技能边界(脚本必须切脚本创作技能)、浏览器9223调试实例+标签页复用。**账号数据来源红线(08-31 强化,防"又走到MCP"复犯)**:账号表任何字段(**含身份标识 sec_uid/抖音号/抖音地址**)禁止从数据库回填——工作台库 `mcn-plugin.db` 的 `hot_accounts` 表 = MCP 内部账号库(list_hot_accounts/hot_account_detail)**本地副本,读其数据=违反红线**;dsh 原库只读参考;库仅用于流程状态参考;登记只占位 账号ID+昵称,身份标识**留空待浏览器抓取回填**;MCP 工具调用严格限定 TC-05 视频解析环节(前置检查只确认可用性,登记阶段不调 MCP)。避坑案例见 `references/铁律避坑规则/账号信息获取执行避坑.md`**F6 卡片配色分两系(08-31 定型)**:**深色系(深色长图风,深沉/浓郁调性,如旧梦留声机)**=深棕红渐变底 #2B0F0A→#1A0805 + 浅米卡 #FAEEDA + 深色字 + 珊瑚红强调;**浅色系(浅色甜宠风,明快/甜美/治愈调性,如王微斯·定稿玫瑰金)**=玫瑰金渐变底 #D6A3A9→#9A5563 + 白卡 #FFFFFF + 粉边 #E8C9DC + 深粉字 #7B2D5E + 粉强调 #C0457F→#E876A9;背景上直接书写的文字随背景深浅提亮(玫瑰金底:模块标题 #FDE8EC/注释 #EAC6CE/版权 #DDBCC4);更浅可回退浅粉紫 #F8EDF6→#F1E0EE;底色决定色系,**同一账号必须固定色系**,跨账号可不同;禁跨系混用。模块名统一为「叙事结构」「内容标签」「**内容基因·TOPn(n=实际解析条数,几个视频就是TOP几,如王微斯4条→TOP4;不足6条按实际条数,非固定6)**」。**F6 触发场景处理(07情况表+三问判定链)在 06 文档。**MCP 安装检测触发时机(08-31 定稿):**账号分析保持「执行工作流前(视频解析前)检测」原状**(不随创作技能扩);**创作技能 V1.0 = 首次触发必做动作**——会话首次交互(问功能/发起任务无论问什么)先检查 `myai-mcp-production` 可用性(查可用工具列表或读 `~/.workbuddy/mcp.json`),未安装轻量提醒(可跳过不打断创作);规则落点=SKILL.md MCP 依赖章节安装引导行 + MCP 规范 3 节触发时机/检测方法 + 帮助文档 MCP 服务说明。**browser-harness 依赖检测(08-31 加)**:功能一/二(浏览器抓取)执行前必检——检测可执行文件(Windows `~/.local/bin/browser-harness.exe` / macOS/Linux `~/.local/bin/browser-harness`)或命令探测(Windows `where` / macOS `command -v`)→ 未装提醒(可跳过,换三方API/MCP兜底)→ 同意则 `uv tool install --python 3.12 --upgrade --force browser-harness` → `browser-harness doctor` 验三要素(工具/daemon/Chrome);技能体 `~/.dsh/skills/browser-harness/` 随 dsh_MCNProject 分发。规则落点=SKILL.md 红线行「browser-harness 依赖」+ 浏览器规范 5.0(检测/安装)。**环境检查系统分流(08-31 用户要求)**:browser-harness 代理清理(Win PowerShell Remove-Item / mac unset)、Chrome 启动(Win `chrome.exe` / mac `/Applications/Google Chrome.app/...`)、端口探测(Win Invoke-WebRequest / mac curl)、MCP mcp.json 路径(Win `%USERPROFILE%\.workbuddy\mcp.json` / mac `~/.workbuddy/mcp.json`)、npm 缓存权限检查仅 macOS 高发(Windows 跳过)。**功能三→功能六自动联动(08-31 固化)**:功能三产出 `{账号名}账号设定.md` 后**自动生成设定卡**(无需用户开口,删除 06 文件即禁用自动);**设定 md ↔ 卡片 SVG 双向联动维护**——改设定→卡片同步(内容级重生成/单点改 SVG)、改卡片→设定同步、术语改名→两边一起改(历史案例:内容路线→叙事结构、核心气质→内容标签),交付前 grep 校验关键术语两文件一致;规则固化于 SKILL.md(功能三 Step7/功能六自动触发)+ 03 文档 Step7 + 06 文档触发场景/双向联动维护
- **短视频分镜脚本** `project/短视频提示词生成/`(08-27 去 V1.0 层):4功能 F1反推图片/F2反推视频/F3生成图片/F4生成分镜;三层引用架构 参考skills→references/→references-add/(运行时优先;开发机不启用 references-add/,dsh/用户环境启用);知识库15维度(01-12用户+13音效+14构图+15风格);F4输出=主题+导演阐述+代码块(>5s时间戳分段/≤5s单段);提示词模板类型分档(A剧情/B单人Vlog/C旁白知识/D产品展示/E纯氛围)+4层×5类型适配表;公式只留时间预算表等内部环节,提示词正文只写时长结论;seedance25 时间测算体系(语速6公式+动作14+运镜7+帧级换算+超调6级);dsh 副本无独有内容需回流(唯一独有项 `name: storyboard-prompt` 环境保留)
- **MCN工作台(08-27,仅 V1.0)** `project/短视频脚本创作/V1.0/mcn-work-shop/`(server.js+public/,零依赖 Node,端口8899自动避让);触发「打开工作台」→ 启动服务+内置浏览器打开。hash 路由:首页+📈账号周榜/👥热门账号/账号详情/视频详情/AI写脚本/AI写作复盘+📁产出浏览+❓帮助页。**首页数据预览条(08-31,参考 dsh-plugin-mcn)**:`/api/dsh/stats` 5 项=热门账号/视频解析/AI写脚本/AI写作复盘/AI写作评分(最新20条AI复盘平均分),7%品牌蓝底+数值26px粗体+右分隔线。**AI 任务触发(08-27 定版;归 mcn-workshop 空间)**:按钮→`confirmRun()`→`executeTask()` `POST /api/run` 写 `~/.workbuddy/workbuddy.db` automations(once+now,cwds=`D:\AgentSkill\mcn-workshop`)→客户端调度器建会话→左侧会话栏可见;轮询 `GET /api/run/status?id=`(running/done/error;PENDING_REVIEW→review「待确认」08-31 加)。**★09-01 调度机制完整结论(详见工作台 `自动化任务调度机制.md`,实测定稿)**:①调度器按 `next_run_at` 扫描,工作台直写必须显式写 next_run_at(08-31 P2 去列判断错误,已纠正为 +5s 显式写);②scheduled_at 必须未来且留足余量(+60s 稳、+17s 失败——update 有往返延迟);③客户端后台自动化并发上限≈3,超出 QUEUED 排队(meta.queuedPosition);④立即执行参数不存在(argv/settings 均无,无 CLI),工作台 +5s 已是最快路径(实际开始 5~35s);⑤runs 状态机 QUEUED→IN_PROGRESS→ACCEPTED(meta 含 conversationId/sessionId/resultState);⑥改 server.js 必须重启服务才生效(taskkill /PID 后重启)**。**用户明确不同步 dsh/Lite**(刻意 divergence)。AI脚本选题(08-28):`/api/ai/topics`(S5方法论→Dify recall 即时返回约50s);Dify key 内置 `scripts/MCN_CYLG_API.py` 的 `DEFAULT_CYLG_KEY`(env `DIFY_MCN_CYLG_KEY` 优先),`DIFY_URL` 默认 mydify.youmanvideo.com/v1、model 默认 gemini、curl 中文被 CDN 拦推荐 Python、search 易超时用 recall。**AI脚本诊断(08-31)**=#/reviews 复盘页,复盘/对比按钮 prompt 明确「按 mcn-script-review(脚本复盘)技能执行」(评分式复盘+AI脚本vs源脚本对比三段式)
- **抖音账号分析 mcn-dou-analysis(主版本 08-27)**:源=`project/短视频脚本创作/V1.0/subskill/mcn-dou-analysis/`;dsh 副本=`C:\Users\maidou\.dsh\skills\mcn-dou-analysis/`。**六大功能(08-31 加 F6)**:F1账号信息/F2视频列表(13列Excel)/F3提炼账号设定(人设卡12段)/F4分析视频数据/F5解析视频(单视频MCP)/F6生成账号设定卡片(SVG 长图 680×~1716,模板=旧梦留声机样例)。红线:达人账号表15列、TOP6筛选(点赞+分享降序,SKILL.md 权威)、≥60条停止、29赛道枚举、源技能只读单向同步、技能边界(脚本必须切脚本创作技能)、浏览器9223调试实例+标签页复用。**账号数据来源红线(08-31)**:账号表任何字段(含身份标识 sec_uid/抖音号/地址)禁止从数据库回填——工作台库 `hot_accounts` 表=MCP 内部账号库本地副本,读其数据=违反红线;登记只占位 账号ID+昵称,身份标识留空待浏览器回填;MCP 调用严格限定 TC-05。**F6 卡片配色两系(08-31)**:深色系(深沉浓郁调性,如旧梦留声机)=深棕红渐变 #2B0F0A→#1A0805+浅米卡 #FAEEDA+珊瑚红强调;浅色系(明快甜美治愈,如王微斯·玫瑰金定稿)=玫瑰金 #D6A3A9→#9A5563+白卡+粉边 #E8C9DC+深粉字 #7B2D5E+粉强调 #C0457F→#E876A9;背景文字随背景深浅提亮。**调性优先于赛道标签**:明快/欢乐/爽文/暖心→浅色系,深沉/催泪/怀旧/悲情→深色系;「治愈」双义必须回读情绪锚点(俊希=明快欢乐治愈爽文→浅色系暖橙 #F5D0A4→#DE9A5E,非深焦糖)。模块名统一「叙事结构」「内容标签」「内容基因·TOPn(n=实际解析条数,非固定6)」。**F3→F6 自动联动(08-31)**:功能三产出设定后自动生成卡片(删 06 文件即禁用);设定 md↔卡片 SVG 双向联动维护(改一边另一边同步、术语改名两边一起改,交付前 grep 校验)。**MCP 检测触发时机(08-31)**:账号分析保持「执行工作流前检测」原状;创作技能 V1.0=首次触发必做动作(会话首次交互先查 `myai-mcp-production`,未装轻量提醒可跳过)。**browser-harness 依赖(08-31)**:功能一/二执行前必检(Win `where`/mac `command -v` 或可执行文件存在性),未装提醒+`uv tool install --python 3.12 --upgrade --force browser-harness`+doctor 验三要素
- **短视频分镜脚本** `project/短视频提示词生成/`(08-27 去 V1.0 层):4功能 F1反推图片/F2反推视频/F3生成图片/F4生成分镜;三层引用架构 references→references-add/(运行时优先;开发机不启用);知识库15维度;F4输出=主题+导演阐述+代码块(>5s时间戳分段/≤5s单段);模板分档 A剧情/B单人Vlog/C旁白知识/D产品展示/E纯氛围 +4层×5类型适配表;seedance25 时间测算体系;dsh 副本无独有内容需回流
## 创作技能关键规则(权威源:SKILL.md 关键规则 + references/创作流程规范.md)
## 创作技能关键规则(权威源:SKILL.md + references/创作流程规范.md)
1. 三态创作:⚡自动(默认)=静默执行+只落最终交付物;🤝共创=+每确认门询问;🛠️开发=+每步全落盘。7确认门不可合并;角色边界(分析不做创作)
2. 内容总监兜底所有质量检查点;文件 `scripts/{视频标题}/XX_阶段名.md`
3. 人设卡片 `{账号名}人设卡片.md` 账号层共用(dsh=`D:\dshworkspace\创作任务\{账号名}/`,①③=桌面 `MCNSkill项目/{账号名}/`);模板=账号设定(定位6字段+内容怎么做5章节)+达人设定6章节+账号类型三分类+广告植入偏好(可选);**内容规则=账号级"如果…则…"事前约束,非事后验收清单**
3. 人设卡片 `{账号名}人设卡片.md` 账号层共用;内容规则=账号级"如果…则…"事前约束,非事后验收清单
4. 产物链铁律(P0):`05_故事选题`→`06_短视频框架`→`07_短视频大纲` 顺序产出禁跳步;「产出与传递」永不省略
5. 硬编码禁止(P0):标准库禁账号名角色名;产出目录全允许
6. references-add 增量优先(冲突以 references-add 为准,references/ 加⚠️);路径配置以 `references-add/路径配置.md` 为权威
6. references-add 增量优先(冲突以 references-add 为准);路径配置以 `references-add/路径配置.md` 为权威
7. 三层分离:S6情绪规划→S7结构搭建→S9情绪演绎;S6情绪设计卡集中完成,S7只引用;S9分行切镜;闪回≤2次/条;花字/字幕每场≤2条
8. 叙事驱动4类:事件/对白/旁白/混合;剧情类禁旁白驱动;S6必须明确选择
9. 情感铺垫分级:强=剧情类(四功能位+蓄力释放+七问自检);中=Vlog/探店;弱=知识/美妆/吃播/三农/户外
@@ -29,26 +26,24 @@
12. 分镜只能从S9生成,可选步骤🔶,默认流程结束于S9
13. 知识库09_脚本诊断=三件套(AI检查+人工检查+自动清单八类32项);12_爆款拆解=反推复刻方法论;知识库总数65个
14. 技能边界(08-26 固化三副本):分析技能止步于五类账号分析侧交付物;凡生成/改写脚本必须切换脚本创作技能走S1-S11(含S11数字账取证/开场钩子铁律/编导终审验收),禁止会话内直接手写脚本。开场钩子=绝对时长3-7秒硬上限10秒,不看占比;数值校验必须取证列链、禁心算
15. 交付物输出边界(08-26 固化三副本):**验收口径=执行约束,不是输出内容**——铁律/时长占比/数字账取证禁在S9/S10交付物正文展开自证(禁秒级节拍分段/生成链路块/映射表/S11诊断记录);交付物只含输出模板定义字段;固化于 `创作流程规范.md`「交付物输出边界」+`9_生成短视频脚本.md`输出模板「输出边界」块
15. 交付物输出边界(08-26 固化三副本):**验收口径=执行约束,不是输出内容**——铁律/时长占比/数字账取证禁在S9/S10交付物正文展开自证;交付物只含输出模板定义字段
## 其他项目
- **AI创作平台toc** `project/AI创作平台toc/case_1/`:ToC 个人创作者,输入→分析→脚本3版本→对话修改
- **内容创作产品规划** `project/内容创作产品规划/`:短剧知识库五层分类×三层标签×12维度;短视频知识库V2.0 三级分类(27赛道S01-S27×8叙事形态F01-F08)+13维度+极致事件双重类型
- **ljg-skills** `.workbuddy/skills/ljg-skills/`:ljg-is/think/rank/structure + ljg-mcn(6种共鸣类型+具象场景+细微情绪=强共鸣,禁下钻神经科学)
- **AI创作平台toc** `project/AI创作平台toc/case_1/`;**内容创作产品规划** `project/内容创作产品规划/`(短剧知识库五层分类×三层标签×12维度;短视频知识库V2.0 三级分类27赛道×8叙事形态+13维度);**ljg-skills** `.workbuddy/skills/ljg-skills/`
## 分析方法论
- **跨技能借鉴/同步判断**:两步独立判断——①数据流验证(信息从哪来→落到哪→下游谁读,断点=缺口)②字段形态决策(直接搬/改造/承接);禁止用②覆盖①;先画数据流再定形态
- **跨技能借鉴/同步判断**:两步独立判断——①数据流验证(信息从哪来→落到哪→下游谁读,断点=缺口)②字段形态决策(直接搬/改造/承接);禁止用②覆盖①
- **信息链路缺口识别**:Step 有方法论≠Step 能承接账号级信息;通用方法论管"怎么做",账号级信息管"怎么做才像它",不可互替
## 工作方式约定
- **改完必重开页面(08-28 用户强调)**:MCN工作台等网页改动完成后,最后一步必须用 present_files 重新打开对应页面(带 hash 定位,如 `http://localhost:8899/#/rewrites`);内置浏览器无 CDP 调试端口无法模拟 F5,重开页面是唯一刷新方式
- **改完必重开页面(08-28)**:MCN工作台等网页改动完成后,最后一步必须用 present_files 重新打开对应页面(带 hash 定位);内置浏览器无 CDP 调试端口无法模拟 F5,重开页面是唯一刷新方式
- **逐条修复**:审计修复必须读一条→改一条→验证一条→再进下一条,禁止批量读取
- **技能版本标签(08-26)**:frontmatter 存 `updated_at`+`last_change`+`deployment`;源=`source`+`created_at`+`updated_at`,副本=`dsh`+`updated_at`+`deployed_at`;副本 deployed_at<源updated_at=滞后
- **.dsh 单向只读(08-22 强约束)**:`.dsh` 副本只能「读取→回流源技能」,禁止反向写回(除非用户明确授权);允许1处环境差异
- **dsh 差异方向判定(08-26)**:以「08-22 回流后 V1.0=.dsh 完全一致」为基准线+当日日志字面描述判定,不靠内容新旧直觉
- **生成网页必参考设计技能(08-27 强约束)**:先读 `.workbuddy/skills/` 下 taste-skill(Anti-Slop,适用于 landing/作品集,不适用 dashboard)与 impeccable(完整界面设计/评审工程,dashboard/product UI 主参考其 Operate 模式)再动手
- **git(08-31)**:半天 push 一次(不要改一点就推);push 前先 fetch 确认无分叉;Windows 下 PowerShell Stop-Process 关后台 node;全局代理 socks5 会破坏 git 连接需清空
- **生成网页必参考设计技能(08-27 强约束)**:先读 `.workbuddy/skills/` 下 taste-skill 与 impeccable 再动手
## 历史事件(摘要)
- 06-25 营销号风格清理;07-17 大炮创作方法136文件;07-20 知识库重组;07-29 短剧知识库V5.0;07-30 短视频知识库V2.0
- 08-11→12 素材库扁平化(8类型+四维标签)+去硬编码(30处)+产物链铁律;08-12 人设卡片V2.1;08-16 知识库赛道8→27;08-17 三态创作模式定稿;08-20 分镜标准库落库+seedance25提炼;08-21 Lite1.0 新增;08-22 .dsh 单向只读确立;08-25 仓库更名 mcn-video-script
- 08-26 路径重构+环境判定两步模型+三技能统一产出结构定稿;08-27 mcn-dou-analysis 定主版本、短视频提示词生成去 V1.0 层、工作台新增;08-28 S9 格式修正(A格式独立动作叙述去括号)+ 工作台改写弹窗 UI 迭代
- 08-26 路径重构+环境判定两步模型+三技能统一产出结构定稿;08-27 mcn-dou-analysis 定主版本、短视频提示词生成去 V1.0 层、工作台新增;08-28 S9 格式修正+工作台改写弹窗 UI 迭代;08-31 工作台数据预览条/改名/AI脚本诊断技能关联/俊希全流程TC-01~11/调度器根因确认(scheduledAt须未来时间)
@@ -0,0 +1,6 @@
# 自动化执行记录:AI会话创建链路验证
## 2026-08-31
- 任务:验证自动化调度链路是否恢复(要求直接回复指定文本)
- 结果:成功执行,已按要求回复「AI会话创建成功,自动化调度链路已恢复」
- 备注:本自动化用于验证 AI 任务触发 → 会话创建 → 自动执行的完整链路
@@ -227,18 +227,18 @@
| 环节 | 用例 | 结果(✅/❌/⚠️) | 备注 |
|-----|------|----------------|------|
| 账号表登记 | TC-01 | | |
| 获取账号信息 | TC-02 | | |
| 获取视频列表 | TC-03 | | |
| 筛选 TOP | TC-04 | | n=___ |
| MCP 解析 | TC-05 | | |
| 保存解析 | TC-06 | | |
| 人设卡 12 段 | TC-07 | | |
| 设定卡自动生成 | TC-08 | | |
| AI 选题 | TC-09 | ✅ | **界面模拟点击已实测 PASS**(cdp-test-junxi.mjs 安全模式:定位/弹窗/选题 3 方向);真实触发任务需 --confirm |
| AI 写脚本 | TC-10 | | 脚本1/ |
| 收尾验证 | TC-11 | | |
| **整体结论** | | | 通过/不通过 |
| 账号表登记 | TC-01 | ✅ | 俊希 70014 已登记,15 列结构不变,已有行未受影响(09-01 复核) |
| 获取账号信息 | TC-02 | ✅ | 15 列补齐:JJX0827/sec_uid/地址/粉丝281.9w/获赞3658.9w/作品136/IP广西,更新时间 2026-08-31 18:05(浏览器实时抓取) |
| 获取视频列表 | TC-03 | ✅ | `短视频表格.xlsx` 13 列 136 行(≥60) |
| 筛选 TOP | TC-04 | ✅ | top6.json 6 条(n=6,最近三个月+≤15min+点赞+分享降序) |
| MCP 解析 | TC-05 | ✅ | 6 条全部 ACCEPTED(33021/29596/15729/21514/20164/33022),09-01 凌晨调度器拾取并行执行 |
| 保存解析 | TC-06 | ✅ | 6/6 目录各含 content.json+analysis.json,JSON 全部可读(verify 通过) |
| 人设卡 12 段 | TC-07 | ✅ | `俊希账号设定.md` 12 段齐全,内容基因板块数=6(TOP6) |
| 设定卡自动生成 | TC-08 | ✅ | `俊希账号设定卡.svg` 生成;grep 一致性通过(叙事结构/内容标签/内容基因·TOP6 两文件一致) |
| AI 选题 | TC-09 | ✅ | **界面模拟点击实测 PASS**(cdp-test-junxi.mjs --port 8900):定位/弹窗/选题 3 方向全 PASS(穷鬼大餐/手绘拼音菜单/菜场散心) |
| AI 写脚本 | TC-10 | ✅ | 09-01 实测:--confirm 触发 → automations 写入(+5s 调度)→ 调度器拾取 → 会话 cd064941 完成 → `脚本01/09_脚本正文.md` + 创作回顾 HTML。S9 质量门禁:6 场 420s 数字账一致、5 字段画面标注、人物标注统一、开场钩子 3-7s 达标 |
| 收尾验证 | TC-11 | ✅ | 全链路产物 12 项齐全;账号表仅按需增改 3 行;调度机制修复(next_run_at+并发锁)验证通过 |
| **整体结论** | | **✅ 通过** | 09-01 全链路复测:修复后调度链路完整跑通(含并行解析 6 条 + 创作会话) |
---