2026-09-03 09:53:07 +08:00
|
|
|
|
# 2026-09-03 工作日志
|
|
|
|
|
|
|
|
|
|
|
|
## 后台自动化任务全量清空(~/.workbuddy/workbuddy.db automations 表)
|
|
|
|
|
|
- **背景**:用户询问「后台在执行什么任务,没用的任务是否可以清空」
|
|
|
|
|
|
- **盘点结论**(只读查询 workbuddy.db):
|
|
|
|
|
|
- 运行状态表 automation_runtime_state 58 条全部 `running=0`——**当前无任何任务在执行/排队**
|
|
|
|
|
|
- automations 表 66 条全部为 once 一次性历史任务(65 ACTIVE + 1 PAUSED),created 08-27~09-02,无 recurring
|
|
|
|
|
|
- 57 条已跑完(ACCEPTED/成功),1 条被 user_cancel 中断(导入指令·周小闹 PENDING_REVIEW),8 条从未运行(08-31 旧重复任务,已被 09-01 uuid 新版取代)
|
|
|
|
|
|
- **执行**:经用户确认「全部清空 66 条」,逐条 automation_update mode=delete(软删机制,置 deleted_at)
|
|
|
|
|
|
- **验证**:非软删有效任务 0 / 软删 66 / running=0;automation_runs 58 条运行历史保留(产物与会话回溯不受影响)
|
|
|
|
|
|
- **要点**:删除任务定义不影响 automation_runs 历史与已生成产物;工具删除为软删(deleted_at),表行物理保留
|
|
|
|
|
|
|
|
|
|
|
|
## 清理规则固化进技能(09-03,用户定红线:只清过期/错误失败任务)
|
|
|
|
|
|
- **背景**:用户问「WorkBuddy 不会自动清除过期任务吗」→ 答不会(实测:66 条积压 08-27~09-02 全保留,跑完仍 ACTIVE,调度器只扫未来时间不再触发但也不自动删)→ 用户要求「加入 skill,部署到用户环境也能执行,只能清理过期或者错误失败任务」
|
|
|
|
|
|
- **新增**:`references/接口调用/自动化任务清理规范.md`(源 V1.0)——触发场景(🧹后台任务清理,不创作)、判定标准(🟢过期已完成 once/🔴错误失败/PENDING_REVIEW/last_error/⚪从未运行死任务;**禁清** recurring/未来时间/running=1/QUEUED/IN_PROGRESS/deleted_at 非空)、执行步骤(只读 SQL 盘点→归档→列清单确认→**走宿主 automation_update 删除禁直改库**→复核)、实测事实(宿主不自动清理/删除不影响产物/工具删除幂等软删)
|
|
|
|
|
|
- **SKILL.md 挂载**:触发条件区新增 🧹后台任务清理 场景 + frontmatter updated_at→2026-09-03、last_change 追加
|
|
|
|
|
|
- **同步三处**:源 `D:\AgentSkill\mcn-video-script\project\短视频脚本创作\V1.0\`(=WorkBuddy 用户技能目录软链 `C:\Users\maidou\.workbuddy\skills\短视频脚本创作`→V1.0,md5 一致同一文件)+ dsh 副本 `C:\Users\maidou\.dsh\skills\short-video-script\`(独立副本,需手动同步,updated_at/deployed_at→09-03);Lite1.0 默认不动(08-26 同步策略)
|
|
|
|
|
|
- **重要事实(09-03 实测)**:`C:\Users\maidou\.workbuddy\skills\短视频脚本创作` 是 → `/d/AgentSkill/mcn-video-script/project/短视频脚本创作/V1.0` 的符号链接——改源技能即改 WorkBuddy 用户技能,dsh 副本才是唯一需手动同步的独立副本
|
|
|
|
|
|
|
|
|
|
|
|
## mcn-data-insight 复制进短视频创作技能 subskills(09-03)
|
|
|
|
|
|
- 用户指令:把 `D:\AgentSkill\mcn-data-insight` 复制到 `project/短视频脚本创作/V1.0/subskills/mcn-data-insight`,**去掉 git**
|
|
|
|
|
|
- 源结构:SKILL.md(实为 third-party-skills-index 索引,19K)+ references/规则/ + `.workbuddy/`(内含 memory 工作日志 / scripts 3个 py / **skills 13 个第三方子技能 4.2M**:douyin-account-diagnosis、douyin-ai-feed、douyin-content-surge、douyin-daily-hot、douyin-hot-trend、douyin-prohibited-word、douyin-search、douyin-top-account、douyin-weekly-surge、douyin-works-crawler、multi-copywrite-alchemy、nuwa-skill、playlet-douyin-feed)
|
|
|
|
|
|
- 执行:整目录 cp -r → 删副本 .git → 37M→4.3M;无嵌套 .git;`ls .workbuddy/skills/` 13 子技能齐全
|
|
|
|
|
|
- 注意点(未处理,待用户定夺):该 SKILL.md 目录树描述为平铺(douyin-*/ 在根),实际子技能全在 `.workbuddy/skills/` 下——复制保持原样,未改引用;是否要在父 SKILL.md 注册该 subskill 未做
|
|
|
|
|
|
|
|
|
|
|
|
## mcn-data-insight .workbuddy 重组(09-03 续,R6)
|
|
|
|
|
|
- 用户指令:`.workbuddy` 中的 scripts 放上级、skills 迁上级并改名 **subskills**
|
|
|
|
|
|
- 执行:`mv .workbuddy/scripts scripts` + `mv .workbuddy/skills subskills`;`.workbuddy/` 仅剩 memory(原项目历史日志,用户约定「历史日志保留原路径不变」→ 未改其内部路径)
|
|
|
|
|
|
- 引用同步:Python 批量替换 21 个文件(负向后顾保护 `~/.workbuddy/` 用户级路径):
|
|
|
|
|
|
- `.workbuddy/scripts/`→`scripts/`(root SKILL.md setup 命令、抖音数据规则.md、13 子技能 py 报错提示/SKILL.md/README)
|
|
|
|
|
|
- `.workbuddy/skills/`→`subskills/`(douyin-search SKILL.md 命令示例、抖音数据规则.md 存放路径节)
|
|
|
|
|
|
- douyin-account-diagnosis 两个 README「放入 .workbuddy/skills/」语义为用户级安装 → 改 `~/.workbuddy/skills/`
|
|
|
|
|
|
- root SKILL.md:技能清单 目录列加 `subskills/` 前缀 ×10、结构树按新布局重写(新增 scripts/ + subskills/13 子技能清单)、更新记录追加 2026-09-03 行
|
|
|
|
|
|
- 保留未动:SKILL.md 安全审计状态表 + L77「存档于 .workbuddy/security-audit-*.md」+ 更新记录历史行(报告文件本就不随包分发,属原项目历史存档,待用户定夺是否清理)
|
|
|
|
|
|
- 验证:非 memory 范围 0 残留裸 `.workbuddy/scripts|skills`;修改过的 py py_compile 全过
|
|
|
|
|
|
- 结构定稿:`mcn-data-insight/{SKILL.md, references/规则/, scripts/(3py), subskills/(13子技能), .workbuddy/memory/}`
|
|
|
|
|
|
- 待用户决定:①.dsh 副本是否同步该新子技能(dsh short-video-script 结构待确认)②memory 是否移出 .workbuddy ③安全审计表/历史存档行是否清理 ④子技能 douyin-account-diagnosis 内同名嵌套目录是否平铺
|
2026-09-03 10:15:54 +08:00
|
|
|
|
|
|
|
|
|
|
## 全技能树相对路径审计与规则固化(R7/R8,09-03 上午)
|
|
|
|
|
|
- 范围:短视频脚本创作 V1.0 全树(主技能+references/references-add/scripts+全部 subskills 及嵌套)相对路径全面审计
|
|
|
|
|
|
- 扫描结论:Windows/Unix 绝对路径命中几乎全为「环境判别锚点(D:/AgentSkill 是否存在/.dsh)/路径配置表/示例路径」按设计保留;browser-harness/envs/(conda venv)有 .gitignore `**/browser-harness/envs/` 兜底不随分发,豁免
|
|
|
|
|
|
- 真实修复:①V1.0/SKILL.md 七节「失误与规避记录.md」越级引用 `../../../` 改语义说明(技能包外文件、仅开发机;源+dsh short-video-script 两处)②mcn-dou-analysis/subskills/nuwa-skill-main 断链(README 多语言/COMMUNITY/CONTRIBUTING + fidelity-scorecard + sun-yuchen LICENSE)→ 官方 GitHub URL,源+dsh 副本同步(同 mcn-data-insight/nuwa-skill 上轮修法)
|
|
|
|
|
|
- 自有内容 md 断链复验 = 0(剩余仅第三方参考包 seedance 黑神话项目/openstreetmap 内部示例,豁免)
|
|
|
|
|
|
- **Task #78 规则固化**:新建 `references/规则/路径引用规范.md`(P0:相对路径铁律+允许项~占位/__file__/URL+禁令盘符/Unix/越级+豁免仅开发机工具·路径配置·示例·历史日志+自检方法),模板同步 V1.0+4 自有 subskills(mcn-data-insight/dou-analysis/video-prompt/script-review 各 references/规则/)+dsh 4 副本(short-video-script/dou-analysis/storyboard-prompt/script-review);5 源 SKILL.md+dsh SKILL.md 各挂 🔴 引用行(dou-analysis 表格锚点插入须放标题后非表头间——dsh 初插错位已修)
|
|
|
|
|
|
- 规则文档示例链接用 code 包裹防断链校验误报(某文件.md 占位)
|
|
|
|
|
|
- 提交:V1.0 20 项(14M+6??:含之前遗留 frontmatter/后台清理触发条款+自动化任务清理规范.md)
|
2026-09-03 10:50:08 +08:00
|
|
|
|
|
|
|
|
|
|
## R9 mcn-data-insight 收尾(09-03 上午)
|
|
|
|
|
|
- 用户 4 点决定:①删 `.workbuddy/memory` ②清理 SKILL.md 历史存档行(安全审计表/存档说明/更新记录历史) ③去 douyin-account-diagnosis 同名嵌套 ④**dsh 部署**;追加决定:nuwa-skill **整体删除**、multi-copywrite-alchemy **移至桌面**(理由「这里应该都是数据获取技能」)
|
|
|
|
|
|
- **★git rm 沙箱坑(重要,2 次踩)**:`git rm -r` 删百级文件在本沙箱被 SIGTERM 反复中断 → 结果=只删磁盘不写索引(全变 ` D` 未暂存)+ 留 index.lock + 中断时范围失控半删除(曾把整个 subskills 树删掉)。修法:`rm -f .git/index.lock` 清锁 → `git checkout HEAD -- <路径>` 从 HEAD 恢复误删 → **纯 `rm -rf` 删磁盘 + `git add -A -- <精确路径>` 暂存**(不经 git rm)。规律:git rm 触大范围删除必被杀;rm+add 分离安全
|
|
|
|
|
|
- 删除构成(157 文件):`.workbuddy/memory` 9 + 内层嵌套 10 + nuwa-skill 133(git 跟踪数;186 含非跟踪)+ multi-copywrite-alchemy 5;nuwa/multi HEAD 零残留
|
|
|
|
|
|
- SKILL.md 大清理:frontmatter/简介改「**抖音数据获取技能集**(Third-party Skills 百宝箱)」,技能清单**补全 11 行**(douyin-search/top-account/playlet 原缺列表,文件数=git ls-files 实测),删 multi(#5)/nuwa(#8) 两详情节+15 分身表,目录树 11 子技能,安全审计表整表删,更新记录精简为一行 09-03,详情节编号 1-8 连续重排(内容含两处双 `---` 修复);抖音数据规则.md 同步 13→11
|
|
|
|
|
|
- **技能定位定稿:mcn-data-insight = 纯数据获取技能集(11 个红狐系子技能)**;nuwa-skill 已删——注意 mcn-dou-analysis/subskills/nuwa-skill-main 是**另一份**(账号分析方法论组件,保留勿混)
|
|
|
|
|
|
- 提交 `eaecdd4`(159 files, -41007 行)已 push origin(f4f6938..eaecdd4)
|
|
|
|
|
|
- dsh 部署完成:`C:\Users\maidou\.dsh\skills\mcn-data-insight\` 新建(与源 diff=0、79 文件,无 .workbuddy)→ commit `2c3cf98`;**pycache 误入库**(scripts/__pycache__ 2 pyc)→ 清理 commit `9cee86a` + `.dsh/.gitignore` 追加 `__pycache__/`、`*.pyc`(V1.0 源仓库本就忽略,磁盘 pycache 已删)。dsh 2 commit 本地未 push(2h 节奏)
|
|
|
|
|
|
- 桌面迁移:`C:\Users\maidou\Desktop\multi-copywrite-alchemy\`(5 文件:SKILL.md + references×4)
|
2026-09-03 10:51:28 +08:00
|
|
|
|
|
|
|
|
|
|
## git 收尾(09-03 上午补录)
|
|
|
|
|
|
- dsh 仓库:未提交变更 = R1-R8 期间同步的规则(short-video-script 09-03 后台清理触发/frontmatter、script-review v1.3、4 处路径引用规范.md、自动化任务清理规范.md、nuwa-skill-main 3 处 URL 修复)→ commit `9a90e19`(12 files +367/-14)已 push origin(bc810f1..9a90e19,含 2c3cf98/9cee86a 共 3 commit)
|
|
|
|
|
|
- 源仓库 2 commit(本地未 push,2h 节奏):
|
|
|
|
|
|
- `116b7a2` 记忆维护(2026-09-03.md 追加 + MEMORY.md 压缩 22746→10416 字节)
|
|
|
|
|
|
- `d57b830` 历史遗留落地:**发现根 `dist/` 5 文件 = 用户早前移到 `project/短视频对话题分析/dist/` 的参考产物**(100% rename 识别,screenshot 存档不可再生)→ 纳入跟踪而非删除;case_1 案例目录 28 文件确认删除(磁盘早已删)
|
|
|
|
|
|
- 坑:`git add -A -- <中文路径>` pathspec 不匹配(bash 传参编码)→ 改全量 `git add -A`(先确认工作树只剩目标变更);rename detection 会把「删根 dist + 新位置 untracked」自动配对成 rename,commit message 需按 rename 语义写
|
2026-09-03 11:03:14 +08:00
|
|
|
|
|
|
|
|
|
|
## 达人账号表移出 mcn-dou-analysis 技能包(09-03 上午)
|
|
|
|
|
|
- 用户问「技能包内为何有达人账号表,不需要就删除」→ 查明:表是技能工作流登记台账(SKILL.md 红线 L42 15 列 + 功能一/二/六 7 处引用),但**内置副本=08-26 过期数据**(仅小咪橘座/旧梦留声机 2 账号),权威台账在**桌面 MCNSkill项目/达人账号表.xlsx**(含俊希 JJX0827/281.9万粉 08-31 更新、3 账号、数据更新)——技能包副本从未再更新
|
|
|
|
|
|
- 处理(用户指示本地文件放桌面 MCNSkill项目):删除技能包内置 xlsx(零数据损失,桌面份更全)+ SKILL.md 红线行/Step 1.0 + feature/01 两处改为「达人账号表=**外部数据文件不入技能包**(存放于产出根目录同层,表缺失按 15 列现场新建)」;feature/02/06 逻辑引用保留原文
|
|
|
|
|
|
- 提交 `5ccaaef`(源仓库,本地未 push)
|
|
|
|
|
|
- 待办:dsh 副本 skills/mcn-dou-analysis SKILL.md 同 7 处引用且无表文件——同步说明段需用户授权
|
|
|
|
|
|
- **dsh 侧澄清(用户确认)**:`D:/dshworkspace/达人账号表.xlsx`(08-26 17:28)= dsh 环境遗留死数据,**内容重复 2 遍(损坏导出)+ 停更 + 无俊希**,用户确认「dsh 数据已经没更新了」→ 不作权威、不维护、不同步 dsh 副本 SKILL.md。红线说明修正为「权威台账=桌面 MCNSkill项目 份(①③环境)」→ 提交 `aaafeec`
|
2026-09-03 11:12:21 +08:00
|
|
|
|
|
|
|
|
|
|
## 目录改名 R13:mcn-video-script → mcn-short-video(移交用户手动,09-03 上午)
|
|
|
|
|
|
- 用户要求本地目录与远程 git 名统一(origin 早已是 `mcn-short-video`)
|
|
|
|
|
|
- 已完成前置:3 处硬编码路径引用更新并提交 `7d6048c`(build-create-prompts.cjs L75、submit-review-tasks.cjs L30 数据库路径;mcn-dou-analysis SKILL.md L82 源技能路径);软链 `短视频脚本创作` 已删待重建
|
|
|
|
|
|
- **改名被占用阻塞(Device or resource busy 反复)**:根因=多进程持句柄/cwd——pwd 实证 Bash 工具自身 cwd 曾停在目标目录内;Bash cwd 切出后仍 busy → node 4444 等工作台服务 + WorkBuddy.exe 多进程仍持句柄(netstat/wmic/PowerShell 通道均无法取进程命令行取证,wmic 已不可用、PS 通道空输出)
|
|
|
|
|
|
- **结论:用户手动执行改名**(需完全退出 WorkBuddy 释放句柄后资源管理器重命名)
|
|
|
|
|
|
- 改名后收尾待办:①重建软链 `ln -s "/d/AgentSkill/mcn-short-video/project/短视频脚本创作/V1.0" "/c/Users/maidou/.workbuddy/skills/短视频脚本创作"`;②push `7d6048c`(当时唯一未 push commit);③grep 残留 `mcn-video-script` 引用(memory 日志除外)
|
2026-09-03 11:23:30 +08:00
|
|
|
|
- **09-03 11:12 用户决定搁置改名** → 软链已重建(指向当前 mcn-video-script 路径,技能恢复可用);7d6048c 预改名引用已 `git revert` 回退(`09bc9be`,3 处路径恢复 mcn-video-script 全树零残留);日志补录 `3de1c0f`
|
|
|
|
|
|
|
|
|
|
|
|
## 工作台任务模型跟随用户 AUTO(09-03 11:17 实证定稿)
|
|
|
|
|
|
- **问题**:用户问工作台任务能否跟随 WorkBuddy 模型选择(如 AUTO)——R11 已知 /api/run model_id 钉死 deepseek-v4-flash
|
|
|
|
|
|
- **机制实证**:①调度器 `modelId: row.model_id ?? void 0` + `setSessionModel` —— **model_id 有值必强制指定会话模型**(这就是全跑 flash 根因);无值(NULL)不强制走宿主默认;②用户 UI 模型选择是**会话级**的(sessions.model 列),最近 6 条手动会话全 `'auto'`(AUTO=系统按复杂度自动路由,小写存储);③66 条历史任务 65 flash+1 pro 无 auto/null 案例;④models.json 空、settings 无 model 键(非全局设置)
|
|
|
|
|
|
- **方案 A 落地(用户选 A)**:server.js /api/run L569 model_id `'deepseek-v4-flash'`→`'auto'`(加 09-03 注释含回退说明:若调度不认 auto 改留 NULL)
|
|
|
|
|
|
- **端到端实证通过**:提交测试任务「模型跟随auto验证」→ automations.model_id='auto' → 调度拾取创建会话 `98f73483` **model='auto'**(对比旧任务会话 model=deepseek-v4-flash)→ run ACCEPTED result_success=1、session completed。**调度 API 接受 'auto' 字符串且等效 UI 选 AUTO**
|
|
|
|
|
|
- 提交 `cf359f4`(源仓库本地未 push)。测试任务/会话已留在左侧会话栏(可忽略)
|
|
|
|
|
|
- 遗留:若日后想任务级精细选模型(flash/pro/auto)→ 方案 C 前端弹窗下拉+后端透传,未做
|
|
|
|
|
|
- 服务启动坑(重踩):Bash 工具 `&` 后台进程随命令结束被回收(8900 连接被拒)→ 必须 Bash `run_in_background=true` 启动长驻服务;curl 需 `--noproxy "*"`(全局 socks 代理 127.0.0.1:10800 拦截 localhost 报 upstream connect failed)
|
|
|
|
|
|
|
|
|
|
|
|
## 升级:动态跟随用户模型选择(09-03 11:22 定稿,替代固定 auto)
|
|
|
|
|
|
- 用户追问「能否真正做到用户在 UI 选什么模型任务就用什么」→ **能**。修正认知:WorkBuddy 模型无全局设置(models.json 空/settings 无 model 键),是**会话级**(sessions.model);且此刻用户最新活跃手动会话 model='deepseek-v4-flash'+thought='high'(非 auto——auto 是 09-02 旧会话)
|
|
|
|
|
|
- **实现**:/api/run 提交任务前动态读 `最近活跃手动会话(is_background_automation=0 AND model非空)的 model` 写入 model_id;无手动会话兜底 'auto'。用户在 UI 切 auto/flash/pro → 任务随之
|
|
|
|
|
|
- **端到端实证通过**:测试任务「模型动态跟随验证2」→ model_id='deepseek-v4-flash'(=当时最新手动会话 model,读取匹配)→ 会话 model=flash → run ACCEPTED result_success=1、session completed
|
|
|
|
|
|
- 提交 `cea7d11`(源仓库本地未 push)。cf359f4(固定 auto)+ cea7d11(动态跟随)两次演进均留史
|
|
|
|
|
|
- 待 push 累计:7d6048c/09bc9be/3de1c0f/cf359f4/cea7d11(5 commit,2h 节奏);左侧会话栏留 2 个验证任务(auto验证/动态跟随验证2,可忽略或清理)
|