maogeigei
32fca120da
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
ca7f511d2f
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
b1602ec173
账号详情:视频列表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
c3769102c2
账号信息精简:去掉简介行,账号定位收起改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
74c9bfdf98
工作台账号详情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
00e649a2f2
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
f1f6288b7b
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
19bf4949a9
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
831fd0e123
工作台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
6662cc70d9
工作台迭代:技能挂载收口(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
6dd0519c84
fix(工作台): 视频详情首行改「标签」标签+标签内容+查看视频链接合并,删原第4行标签
2026-09-01 15:16:20 +08:00
maogeigei
9db964bf99
fix(工作台): 视频详情首行恢复标签结构——「视频地址」标签+「查看视频」链接在标签后
2026-09-01 15:13:58 +08:00
maogeigei
cd89dd8166
fix(工作台): 视频详情首行恢复标签结构——「视频地址」标签+「查看视频」链接在标签后
2026-09-01 15:13:58 +08:00
maogeigei
419242dd41
feat(工作台): 视频详情首行改「查看视频」可点击链接,不显示具体视频地址
2026-09-01 15:11:32 +08:00
maogeigei
1e2b8378c0
feat(工作台): 视频详情首行改「查看视频」可点击链接,不显示具体视频地址
2026-09-01 15:11:32 +08:00
maogeigei
adebcc135b
feat(工作台): 视频详情 toolbar 显示视频标题名称,信息卡首行改视频地址可点击链接
2026-09-01 15:08:01 +08:00
maogeigei
eb73c89b90
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
aaabc297fc
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
e43e5bbb6c
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
2e048459ea
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
6bf0eca90e
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
6e8698a469
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
3b09d73248
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
cce27c0ba2
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
79b8a3d036
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
e91c8046c6
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
818d00a28c
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
b34929e7db
修复视频列表表头假记录+时长显示: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