Install
openclaw skills install @wangjiaocheng/workbuddy-expert-sync让 WorkBuddy 本地创建的专家/专家团在本机所有登录账号可见,并自动同步到未来新登录的账号;排查"换账号后看不到我的专家"问题。触发词:专家不见了、换账号看不到专家、专家团丢失、同步专家、专家跨账号、my-experts。
openclaw skills install @wangjiaocheng/workbuddy-expert-sync当用户遇到以下任一情况时执行本技能:换登录账号后看不到本地创建的专家/专家团;要求把某账号的专家同步到本机其他账号;要求新登录的账号自动获得全部本地专家;询问"专家不见了/专家团丢失"的去向。
%USERPROFILE%\.workbuddy\plugins\marketplaces\<仓库名>\plugins\<专家包名>\。用户自建专家默认在本地仓库 my-experts 中,每个专家包内含 agents/、skills/、avatars/、README.md。%USERPROFILE%\.workbuddy\experts\custom\<账号UUID>\experts.json,内容为包名字符串数组,如 ["<专家包名>", ...]。%USERPROFILE%\.workbuddy\storage\skeleton\account-snapshot.json 的 primary.uid 字段。experts\custom\ 下各 <账号UUID>\experts.json 与文件夹实际清单逐一比对,记录每个账号缺失或多余的条目;悬空条目(清单中有登记但包目录不存在)单独标注。account-snapshot.json 确认当前主账号。plugins\marketplaces\my-experts\plugins\ 下;不存在者为悬空条目(仅登记未建包),同步时排除并明确告知用户;若用户想恢复某悬空专家,需先补齐包目录再同步。把所有 experts.json 复制到 experts\custom-backup-<YYYY-MM-DD>\<账号UUID>-experts.json。任何涉及应用数据文件的修改都必须先备份;删除类操作一律先备份再动手,且需用户知情同意。
核心原则:文件夹里有什么就同步什么。 规范列表 = 本地 marketplace 目录 plugins\marketplaces\<仓库名>\plugins\ 下实际存在的包目录(默认仓库名 my-experts),绝不硬编码专家清单——有几个同步几个,用户将来增删专家后自动跟随。注册表是这份清单的镜像:所有账号的 experts.json 与文件夹保持完全一致,文件夹是唯一事实源。
plugins\ 子目录得到规范列表(目录即专家)。experts.json。experts.json 覆盖为文件夹实际清单(含非空注册表);覆盖前自动备份原文件到 experts\custom-backup-auto\。文件夹是唯一事实源,账号内不保留独立差异。%USERPROFILE%\.workbuddy\scripts\sync-my-experts.ps1(本技能包内 scripts/sync-my-experts.ps1 为同一脚本副本)。脚本每次运行时实时枚举 marketplace 文件夹内容,把所有账号注册表镜像为该清单(内容有变化时先自动备份原文件再覆盖),写日志 sync-my-experts.log;脚本顶部 $marketplaceName 变量可切换其他本地专家仓库。WorkBuddy_SyncMyExperts:触发器 = 用户登录时 + 每 30 分钟重复。
Register-ScheduledTask 创建;沙箱环境可能拦截 schtasks.exe,不要使用。Set-Content 把 Get-ScheduledTask/Get-ScheduledTaskInfo 结果写入状态文件,再用 Read 工具读取确认。<账号UUID>\experts.json 已按规范列表填充;计划任务状态经状态文件确认存在且就绪;提醒用户完全重启 WorkBuddy 后在专家面板确认。WorkBuddy_SyncMyExperts 与脚本 %USERPROFILE%\.workbuddy\scripts\sync-my-experts.ps1。powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/sync-my-experts.ps1
experts.json 始终等于文件夹实际清单,覆盖前自动备份。<账号UUID> 指代,不输出真实账号信息)。