WorkDaddy 银河麒麟启动修复与自动化集成
> 适用环境:银河麒麟 V10 aarch64(其他 Linux 桌面可参考,但修复是针对该发行版路径与 WorkDaddy 1.2.18 的代码缺陷)。
> WorkDaddy 是第三方开源的 WorkBuddy 桌面端增强助手(babygoton/WorkDaddy,AGPL-3.0),通过 CDP 注入正在运行的 WorkBuddy 客户端,提供自动化任务、连登奖励领取等能力。本技能只负责在银河麒麟上把它装好、跑起来,不修改 WorkBuddy 本体。
何时使用
- 在银河麒麟上首次安装 WorkDaddy,或安装后双击启动报错、面板不出现、账号显示「(已加密)」。
- 现象为「应用未在 CDP 模式」「旧守护进程身份无法验证」「端口可达但未找到客户端页面」「cdp.connected 始终 false」。
- 想要连登奖励自动领取、逐账号例行发送等社区实用自动化任务(见 assets/tasks)。
快速开始
# 1) 安装 WorkDaddy 并部署修复版启动器
bash scripts/install.sh
# 2) 启动(图形入口或终端均可)
bash ~/.local/bin/workdaddy-launch-fixed
首次会用 CDP 模式重启 WorkBuddy 并启动守护进程;之后右下角出现灰色小机器人即表示已启用。若 WorkBuddy 已在 CDP 模式运行,则只重启守护进程、不关闭当前窗口。
三处启动缺陷与修复(详见 references/fix-analysis.md)
- 二进制识别失败(账号无法解密):
scripts/lib.js的wdCompatExeCandidates()在 Linux 只认/opt/WorkBuddy/workbuddy,本机真实路径是/opt/apps/workbuddy/workbuddy。修复:启动器注入WORKDADDY_WB_EXE=/opt/apps/workbuddy/workbuddy(并自动探测多个候选路径)。 - 守护进程身份校验失败:
relaunch只导出WBSWITCH_PROFILE、漏了WBSWITCH_DATA_DIR,导致下次启动isVerifiedLinuxDaemonProcess()校验不通过、「旧守护进程身份无法验证」。修复:启动器显式export WBSWITCH_DATA_DIR,并安全结束旧守护进程、清理陈旧.daemon.lock。 - customTarget 空信号连环陷阱(本次「没有启动 workdaddy」的真正卡点):为修缺陷 1 注入的
WBSWITCH_WORKBUDDY_BIN被readWorkBuddyTarget()当作 envBinary 分支处理,走非 official 路径 →customTarget:true且apiHost/targetHints全空 →isTargetForProfile()用空 signals 匹配,对任何页面返回 false →findCdpEndpoint返回 null → 注入失败。修复:写~/.config/WorkDaddy/workbuddy-target.json把clientType显式标为official(official 分支customTarget:false且自带targetHints:['workbuddy']),覆盖 envBinary 带来的 custom 标记。
修复后的验证
curl --noproxy '*' http://127.0.0.1:9222/json/version # CDP 端口可连通
curl --noproxy '*' http://127.0.0.1:47832/api/status # cdp.connected 应为 true
导入实用自动化任务
assets/tasks/ 已附带 4 个可用任务 JSON(在 WorkDaddy 自动化面板「导入」即可):
01-连登奖励自动领取_daily-growth-redeem.json:逐个账号读取活跃地图连登状态,对已达档且本月未兑换的档位调用官方兑换接口领取(7/14/28 天三档,每档每月限 1 次)。默认enabled:false,按需手动启用。02-逐账号例行发送_keep-accounts-active.json:例行保持账号活跃。默认enabled:false。03-官方-账号信息Toast_account-info-toast.json/04-官方-关闭首页弹窗_close-buddy-popups.json:官方演示任务。
> 更多社区自动化任务可到 GitHub 官方仓库获取,例如 huxc573/workdaddy-streak-redeem、fuyunmanbu/workdaddy-tasks、wb-guard、CodeBuddy-Code-Swich(均为 WorkDaddy 社区插件)。
回滚
删除部署文件即可恢复系统原生启动方式(不影响已安装的 WorkDaddy 本体):
rm -f ~/.local/share/applications/workdaddy.desktop ~/.local/bin/workdaddy-launch-fixed
注意事项
- 修复器只改环境变量、进程与锁,不改
/opt/workdaddy下任何文件(该目录对普通用户只读,升级也会被覆盖)。 - 升级 WorkDaddy 后若上游已修复上述缺陷,可不再使用本修复器;若升级后复发,重跑
workdaddy-launch-fixed即可。 - 安装阶段的
dpkg -i与结束 root 守护进程需要 sudo;结束普通用户守护进程无需 sudo。