maogeigei
5e8670c182
记忆:固化同步时清tmp约定(09-02用户明确)
2026-09-02 17:52:04 +08:00
maogeigei
6853fa361f
记忆:三入口技能前缀修复日志+同步清tmp约定(09-02)
2026-09-02 17:50:19 +08:00
maogeigei
c7777322e2
记忆:创作指令跳步根因修复执行+推送完成日志(09-02)
2026-09-02 17:20:25 +08:00
maogeigei
05f812728e
记忆:创作任务prompt必须带SKILL_HINT_CREATE前缀(09-02修复定版,防新增入口遗漏致S1-S11跳步)
2026-09-02 17:17:50 +08:00
maogeigei
35778e09be
fix(workshop): AI创作弹窗提交任务补拼SKILL_HINT_CREATE自动模式声明(防S1-S11跳步直出S9)
...
- 根因: 弹窗 reqCreate 提交(L386)只调 buildCreatePrompt() 裸需求 prompt, 漏拼 SKILL_HINT_CREATE 流程约束前缀(详情页入口 L711/L920 从 ef98395 起都拼了, 弹窗 v2-v6 迭代漏跟)
- 导致: 创作指令任务收到无流程约束的 prompt → 模型按自动模式语义误读'后台静默=可跳步' → 只读 S9 规范一步直出, S5-S8 脑内带过
- 修复①: SKILL_HINT_CREATE 补'本任务以⚡ 自动模式执行: 严格按 S1-S11 步骤顺序逐步走完...禁止跳过或合并中间步骤一步直出成品'声明(对齐创作流程规范'后台静默≠跳步'P0)
- 修复②: 弹窗 reqCreate 提交拼 ${SKILL_HINT_CREATE}\n 前缀, 与详情页入口对齐
2026-09-02 17:14:57 +08:00
maogeigei
25396a9765
fix(workshop): AI创作弹窗v6.2 输入框默认两行空间(min-height 30→60+rows=2)
2026-09-02 16:50:59 +08:00
maogeigei
b9896a1f75
fix(workshop): AI创作弹窗v6 确认按钮移入输入框工具栏 + 间距10px
2026-09-02 16:47:48 +08:00
maogeigei
047f2d0b9c
记忆:v3 弹窗 autoGrow 补完要点
...
- 2026-09-02.md 新增 v3 补完小节
- MEMORY.md v3 段末加补完要点(autoGrow 实现 + 提示文案迁移)
2026-09-02 16:15:13 +08:00
maogeigei
e8fcb02be4
AI创作弹窗 v3:需求维度块+一体输入条(图标钮·去取消)
...
按用户 UI 要求收紧弹窗体验:
HTML(data-pages.js confirmAiScript):
- 弹窗加高 width 720→760 + height:min(840px,92vh) flex column
- 需求区改为 req-field 维度块(rf-title 标题在上,rf-val 内容在下),CSS 2 列 grid
- 输入条一体化:req-bar = [reqCreate ✓图标] [req-input-box 圆角胶囊(内嵌 textarea + 右侧 reqSend ↑图标)]
- 取消按钮整段删除(保留右上 × 关闭);提交创作改用 #reqCreate id + svg check 图标
- 附 ICON_PATHS 加 arrow-up/check 路径
CSS(style.css .req-* 段全重写 L209-272):
- .req-modal flex column gap:10px
- .req-sheet grid 2 列 + .req-field 卡片底(empty 浅色)
- .req-input-box 圆角 12 + focus-within halo + 无边框 textarea + 34x34 primary 蓝圆发送钮
- .req-send busy 状态:disabled 灰 + 14x14 白色旋转 spinner(@keyframes req-spin)
- .req-create 44x44 描边 ✓ 图标钮(hover 浅蓝底)
附带红利:弹窗提交按钮改 id 后,与账号列表 [data-create] 同名选择器歧义自然消失(之前 CDP 冒烟需 .req-modal [data-create] 限定,现改 #reqCreate 直接命中)
冒烟 cdp-req-v3-smoke.mjs 24s 一轮真打磨+提交捕获全绿:fields:10/empty:10/modalH:784/sendIsIcon:true/createIsIcon:true/hasCancel:false + 提交{label:创作指令, skills:[短视频脚本创作], hasPersona:true, reqRows:6, modalClosed:true}
2026-09-02 16:11:00 +08:00
maogeigei
7984520728
AI创作弹窗对话打磨 v2:单弹窗需求框+输入框+AI全程引导
...
废弃旧分步向导+跨会话打磨+md载入路径,改为单弹窗 confirmAiScript 重写。
改动:
- public/data-pages.js: confirmAiScript v2(L199-326)= REQ_FIELDS 10 项常量 + 顶部10行需求框常显(空值灰显"待定·由AI按人设自决")+ 中部对话流(u/ai气泡)+ 底部输入行 + 取消/提交创作;无 step/chip/AI按钮/载入按钮/上下步
- public/style.css: 删 .wizard-modal/.wz-/.ai-topic 旧样式;新增 .req-modal/.req-sheet/.req-dialog/.req-msg.mine/.req-msg.ai/.req-bubble/.req-input-row/.req-input/.req-send 全套
- server.js: 新增 POST /api/ai/clarify(紧跟 /api/ai/topics 之后)= 同步阻塞 Dify chat-messages 100s AbortController;入参 {accountName,turn,reqMd,history};query 拼装账号人设+当前需求+最近2轮历史+本轮输入;强制输出"对话+==REQ==+10行需求"模板
- 记忆:MEMORY.md 核心技能段补"AI创作弹窗对话打磨 v2"长期记忆;2026-09-02.md 追加完整收尾日志
关键设计:每轮重发 reqMd + 最近 2 轮 history 做无状态上下文;AI 可更新任意字段但严禁生成脚本正文;reqLines 仅取非空字段 + "未填由AI按人设自决"提示。
冒烟 tmp/cdp-req-dialog-smoke.mjs(CDP 9224)4 步端到端 53s 全绿:结构✓/双轮真实Dify打磨✓/需求框0→6→8字段✓/提交捕获{label:创作指令,skills:[短视频脚本创作],hasPersona:true,reqRows:8,modalClosed:true}✓。
2026-09-02 16:00:46 +08:00
maogeigei
5b5bcf790f
docs(memory): AI脚本诊断标题弹窗重构日志(09-02)
2026-09-02 14:38:25 +08:00
maogeigei
1444f59e42
fix(workbench): 复盘按钮按有无源脚本动态分支prompt——无源(输入选题/未解析视频)仅AI脚本评分,禁幻觉对比;查询失败保守沿用三模式(09-02)
2026-09-02 14:26:56 +08:00
maogeigei
8c365d77e8
fix(workbench): AI脚本诊断生成方式列收拢两种取值——按video_id判定 参考选题/输入选题,删GEN死代码映射(09-02)
2026-09-02 14:22:30 +08:00
maogeigei
d8ad2ccf0a
feat(workbench): AI脚本诊断列表操作列表头居中(th-act)+已诊断行按钮改「更新」(按review_ai/compare done判定)(09-02)
2026-09-02 14:19:09 +08:00
maogeigei
bceed5ba10
feat(workbench): 账号详情页抖音号可点击跳抖音主页——优先sec_uid拼/user/URL,兜底搜索链接,复用data-ext外链打开(09-02)
2026-09-02 14:16:25 +08:00
maogeigei
c21b5b43b9
feat(workbench): AI脚本诊断列表支持分页——每页20条前端切片,复用pager组件,空态colspan改动态(09-02)
2026-09-02 14:13:10 +08:00
maogeigei
d0cbd41d29
docs(skill)+fix(skill-review): 复盘技能对齐创作技能09-01/09-02新增规则——①设定承接维度补场1结构性符号承接检查 ②新增执行方式判定节(工作台复盘走AI会话任务/一条脚本=一个独立上下文) v1.2→v1.3(09-02)
2026-09-02 13:16:54 +08:00
maogeigei
8e8ebf5702
docs(memory): 3条硬伤脚本修复完成——313小姨残留+账目闭合/318排骨来源+账目/320四菜一汤+蛋糕来源,全部INSERT新行保留旧版(09-02)
2026-09-02 12:35:35 +08:00
maogeigei
58682e6b94
docs(memory): 6条脚本独立会话诊断完成——AI抓出5个逻辑硬伤(313小姨残留/318排骨穿帮/320数字不符),执行方式二次失误纠正记录(09-02)
2026-09-02 12:29:18 +08:00
maogeigei
b692fba007
docs(memory): 前3条重写执行方式失误与固化记录(09-02)
2026-09-02 12:04:48 +08:00
maogeigei
d13e2680f8
docs(memory): 趋势图半年时间窗口记录(09-02)
2026-09-02 11:40:55 +08:00
maogeigei
66f50d22bc
docs(memory): 时间轴倒序定稿 + 参考skills删除恢复记录(09-02)
2026-09-02 11:38:35 +08:00
maogeigei
76789ce026
docs(memory): 趋势图修复与单图双轴彩色版记录(09-02)
2026-09-02 11:34:13 +08:00
maogeigei
d43578e820
账号详情:视频列表tab去掉标题,账号设定内容去左右20px间隔
...
- data-pages.js:persona tab 删除 <h3>视频列表</h3> 标题
- style.css:.persona-wrap padding 0 20px → 0
2026-09-02 10:55:12 +08:00
maogeigei
dd15f12b58
账号信息精简:去掉简介行,账号定位收起改4行
...
- data-pages.js:info tab 删除「简介」info-row
- style.css:.clamp-text max-height 240px→96px(4行),展开按钮阈值 200→120
2026-09-02 10:53:39 +08:00
maogeigei
4473f159e5
工作台账号详情tab调整:账号设定内联信息页,视频列表移入persona tab并改名
...
- info tab:移除视频列表表格,内联展示账号设定(空态/文字版/卡片+文字切换),小节标题「账号设定」
- persona tab:改为视频列表表格+分页/批量,tab 标签改名「视频列表」
- persona 加载改为 info tab 首屏并行加载(dvP/await 拆分),tab 点击处理器去冗余
2026-09-02 10:51:40 +08:00
maogeigei
c3147234a6
docs(memory): 记录 subskills 更名与用户环境同 inode 发现
2026-09-02 10:37:49 +08:00
maogeigei
11fe8d42e2
refactor(skill): 主技能 subskill 目录更名 subskills(09-02 用户要求)
...
- V1.0/subskill/ → V1.0/subskills/(browser-harness/mcn-dou-analysis/mcn-script-review/mcn-video-prompt,git 识别 R100 纯重命名保留历史)
- 路径说明同步:V1.0/SKILL.md(96/105行)、Lite1.0/SKILL.md(66行)、mcn-dou-analysis/SKILL.md 红线行、操作规范.md 159/175行、mcn-work-shop app.js SKILL_HINT_ACCOUNT
- 用户环境 ~/.workbuddy/skills/短视频脚本创作/ 与源仓库 V1.0 同 inode(junction),自动同步无需单独改
- mcn-dou-analysis 内部 subskills/nuwa-skill-main 为正常结构不受影响
2026-09-02 10:36:23 +08:00
maogeigei
dc21faf416
docs(skill): 明确已开启 Chrome 不主动关闭红线(09-02 用户要求)
...
- 浏览器搜索抖音账号操作规范.md 新增 5.7 浏览器进程生命周期(红线)
- mcn-dou-analysis/SKILL.md 浏览器操作规范红线补第⑦条
- V1.0/SKILL.md browser-harness 小节补进程生命周期红线
2026-09-02 10:30:31 +08:00
maogeigei
8278865831
工作台UI:账号详情去年龄/地区重排两行 + 视频信息字段对齐(video-grid单容器跨行列对齐) + 视频ID限宽220px
...
- 账号信息:行1=抖音号/作品数/获取视频,行2=赛道/AI制作/粉丝/获赞\n- 视频信息:8字段合并同一grid容器(2行x4列,minmax(min-content,max-content)+80px间隔),时长↔分享/发布时间↔收藏逐列对齐(CDP实测差0)\n- 视频ID .vid-limited 220px省略+hover全量\n- 新增 cdp-align-videoinfo.mjs 对齐测量脚本
2026-09-02 10:22:11 +08:00
maogeigei
e776bd2c7c
工作台迭代:技能挂载收口(F1/F2补mcn-dou-analysis)+文案改名(AI脚本评分/AI脚本)+周榜关注按钮+AI写脚本列表页全量分页/关注优先/时间倒序/标题跳详情/发布时间筛选
...
- 8处/api/run入口全部参数级技能挂载\n- listVideos全量625条分页+关注优先+发布时间倒序+days筛选\n- .gitignore忽略数据库备份文件
2026-09-01 18:33:20 +08:00
maogeigei
1cea55b0eb
fix(工作台): 视频详情首行改「标签」标签+标签内容+查看视频链接合并,删原第4行标签
2026-09-01 15:16:20 +08:00
maogeigei
9db964bf99
fix(工作台): 视频详情首行恢复标签结构——「视频地址」标签+「查看视频」链接在标签后
2026-09-01 15:13:58 +08:00
maogeigei
419242dd41
feat(工作台): 视频详情首行改「查看视频」可点击链接,不显示具体视频地址
2026-09-01 15:11:32 +08:00
maogeigei
adebcc135b
feat(工作台): 视频详情 toolbar 显示视频标题名称,信息卡首行改视频地址可点击链接
2026-09-01 15:08:01 +08:00
maogeigei
c165b4c2ed
fix(工作台): 视频详情标题去重(toolbar静态+信息卡标题行)与2/3行字段等宽grid
2026-09-01 15:04:22 +08:00
maogeigei
7e3d6c74fa
feat(工作台): 视频列表加收藏列+数字列右对齐,视频详情页信息三行+标签排版
2026-09-01 14:56:46 +08:00
maogeigei
b049cca766
feat(工作台): 三列表(账号/视频/AI写脚本)批量操作——左下角图标按钮+勾选批量删除
...
- 后端: dsh-data.js batchDelete(kind,ids)——accounts 软删(del_flag=1)+连坐清 persona/analysis/videos/source/analysis/rewrite_log; videos|rewrites 删视频行+关联(video_id 与 aweme_id 双键,兼容 video_id=null 历史行); server.js POST /api/dsh/batch-delete(kind 校验+空 ids 幂等)
- 前端: data-pages.js batchBarHtml/bindBatchBar + 三列表勾选列+左下角批量操作条; 图标版——app.js 新增 check-square/trash 图标, 批量模式图标右侧出 trash/x+全选+计数; style.css 批量样式+--danger
- 修复 P0: 账号连坐删除漏删 account_videos 行(孤儿残留), 已补并复验
- 验证: API 实测(删测试账号/视频连坐全清+非法kind+空ids) + CDP UI 33项PASS + 端到端删除 PASS(cdp-verify-batch.mjs / cdp-verify-batch-e2e.mjs)
2026-09-01 14:31:46 +08:00
maogeigei
838aa4d443
feat(工作台): mcn-workshop 会话超 6 小时自动清除(软删除)
...
- server.js 启动段新增 cleanupExpiredSessions(): cwd 含 mcn-workshop + status=completed + 最后活动超 6h 且未删 → 置 deleted_at 软删除
- 启动时执行一次 + setInterval 每小时自动检查; working 会话不删(安全红线)
- 实测: 清除 9 条(13.6h~114.8h) 保留 1 条(1.5h 新会话)
2026-09-01 14:13:17 +08:00
maogeigei
56fc5e08fc
test(工作台): 俊希测试用例重跑——TC-09/10+三入口输入输出+入库全链路验证
...
- cdp-test-junxi.mjs: 弹窗标题断言 AI写脚本→AI创作(09-01 改名同步);文案分支打印修正(首次/有设定正则区分)
- 实测验证:TC-09 界面链路 PASS(AI选题3方向);AI创作三入口 prompt 注入 PASS(账号设定前置/选题后置/无泄漏);TC-10 自动任务链路 PASS(automations→调度器→会话→脚本02落盘);入库 PASS(video_source 6条+persona幂等+videos去重)
- 库表澄清:source/analysis 无 account_id 列靠 video_id 关联,俊希行 video_id=null 属设计
2026-09-01 12:44:13 +08:00
maogeigei
d9576c19dd
docs(分析技能+工作台): 固化已有数据处理规则(库中已有≠可直接使用,复用优先+询问更新)
...
- 新建 references/铁律避坑规则/已有数据处理规则.md:分场景决策表+判断依据(产出目录权威/质量校验/增量处理)+散落规则收敛出处
- SKILL.md 加「已有数据处理(统一决策)」引用行
- 工作台 docs/AI会话任务输入输出对照.md 关键细节加已有数据处理条目
2026-09-01 12:29:32 +08:00
maogeigei
4d5c50ef47
fix(工作台): 去「AI改写脚本」措辞残留,统一为 AI脚本(生成分镜/表头/占位/文档)
...
- data-pages.js: 查看 tooltip/表头已改写/两处暂无占位/生成分镜 desc+prompt 改写脚本→AI脚本
- docs/AI会话任务输入输出对照.md: 改写对比弹窗→脚本对比弹窗、生成分镜输入/模板同步
- cdp-verify-gensb.mjs: 新增生成分镜措辞验证(hook confirmRun 断言无改写)
2026-09-01 12:24:06 +08:00
maogeigei
c920b7527d
feat(工作台): AI创作输入输出梳理+顺序统一(账号设定前置)+类型列签约改内部
...
- data-pages.js: 未解析两分支账号设定前置; 账号详情 data-rewrite 补 url; 类型列 badge+筛选下拉 签约→内部(后端 type=signed 不变)
- docs/AI会话任务输入输出对照.md: 8类功能入口输入输出+触发链路+prompt结构模板
- cdp-verify-aicreate.mjs: 断言升级(hasTopic动态分支+顺序断言)
- cdp-verify-typebadge.mjs: 新增类型列改名验证(排除bio数据文本)
2026-09-01 12:20:20 +08:00
maogeigei
9589680dc3
feat(工作台): AI创作 分镜头表老视频先提炼选题再创作 + 修复 #/rewrites noPersonaNote 未定义 P0
...
- buildTopicBlock(): 有#选题段直接用;无(分镜头表等)带解析内容+提炼指令;空只带标题
- 账号详情视频列表 + #/rewrites 两入口同步改造,desc 注明分镜头表先提炼
- 修复 renderRewrites 分支引用未定义 noPersonaNote 导致弹窗打不开(ReferenceError)
- 验证脚本 cdp-verify-aicreate.mjs(hook confirmRun 捕获 prompt,按 hasTopic 动态断言)
2026-09-01 12:03:47 +08:00
maogeigei
787ececedb
fix(工作台): 视频拆解/视频分析字段映射修正闭环
...
- server.js 入库映射对齐 dsh 语义:content.json→source.content_json、analysis.json→source.analysis_json(视频拆解 tab)、*拆解分析.md→account_video_analysis(视频分析 tab)
- 清理 6 条俊希错位 account_video_analysis + 白昼小熊 id13 归位 source47.analysis_json
- 重跑入库验证:俊希 6 条 analysis_json 均写入、account_video_analysis 12 条=王微斯拆解分析(语义正确)
- 王微斯视频三 tab 验证通过(视频脚本/视频拆解/视频分析各就其位)
- 临时脚本已清理
2026-09-01 10:34:07 +08:00
maogeigei
a519948e6b
修复视频列表表头假记录+时长显示:export_video_map 过滤非数字 aweme_id;fmtDuration 兼容 mm:ss 文本
...
- 根因1:export_video_map.py 未过滤表头行(aweme_id='视频ID' 非空被当数据导入)
- 根因2:fmtDuration 只认秒数,Number('01:31')=NaN→全部显示 '-';库存/接口为 mm:ss 文本
- 修复:aweme_id 纯数字校验过滤表头;fmtDuration 双兼容(数字秒+mm:ss/hh:mm:ss);清理库内表头假记录
- 验证:导出 136 条无异常,库 total=136/表头0/无时长0,接口 duration 正常显示
2026-09-01 10:20:44 +08:00
maogeigei
7f936a4116
长期记忆:mcn-dou-analysis 补充产物入库机制+选题读视频解析约定
2026-09-01 10:16:07 +08:00
maogeigei
92c93cf66a
账号分析产物入库闭环:工作台入库接口+选题读视频解析
...
- server.js 新增 POST /api/import/account:扫描账号产出目录直写 mcn-plugin.db(视频分析→analysis/source、账号设定→persona、账号数据分析→analysis、短视频表格.xlsx→videos upsert)
- 新增 scripts/export_video_map.py:python 读 xlsx 13列输出 JSON 权威 aweme_id 映射
- /api/ai/topics 增加读最新3条视频解析 JOIN account_videos 拼入 prompt,选题基于真实视频内容
- 修复 aweme_id 匹配:normTitle 删全角标点(xlsx「!」「”」vs 文件夹无标点,4/6 失败根因)+下划线转空格;入库前清 null 脏数据
- mcn-dou-analysis SKILL.md:功能五补充工作台入库方式+注意事项第6条匹配红线
- 验证:俊希 6 analysis+6 source+137 videos 入库,JOIN 全关联,选题端到端返回贴合视频解析
2026-09-01 10:12:36 +08:00
maogeigei
24886338d1
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写脚本会话链路完整跑通
2026-09-01 00:36:02 +08:00
maogeigei
ccdd79ea40
账号分析技能红线强化:身份标识禁从MCP账号库回填 + 新增视频列表/账号信息获取执行避坑规则
2026-08-31 19:58:33 +08:00