logo
1
2
WeChat Login
WorkBuddy Claw<workbuddy@local>
docs: fix VERSION hash mismatch; sync README and SKILL.md with actual code

WorkBuddy GUI 每日签到技能

通过 Windows UI Automation API 自动定位元素,实现 WorkBuddy 桌面端每日签到。

特性

  • 🚀 零配置:无需手动配置坐标,开箱即用
  • 📐 任意分辨率:自动适应不同屏幕分辨率和缩放比例
  • 👤 任意账户:头像识别不依赖昵称,适配所有用户
  • 🔧 自动配置调试模式:首次运行自动配置,无需手动修改快捷方式
  • 🎁 连续签到奖励:自动识别普通签到(+100)和连续7天奖励(+1000)

工作原理

使用 Windows UI Automation API (UIA) 定位 WorkBuddy 界面元素,不使用任何硬编码坐标

  1. 检测 WorkBuddy 是否启用调试模式(accessibility)
  2. 如未启用,自动配置快捷方式并提示重启
  3. 通过 按钮高度 识别头像(不依赖昵称和坐标)
  4. 点击头像,等待侧边栏弹出
  5. 在弹窗中搜索含 "今日礼包" 的按钮
  6. 点击完成签到
  7. 验证签到结果:唯一标准——真实 UI 元素出现 "今日礼包已到账"
  8. ESC 关闭弹窗

一键安装

人类安装

在终端中执行以下命令:

# 克隆仓库 git clone https://cnb.cool/i.o/workbuddy_checkin.git # 复制技能到 WorkBuddy skills 目录 xcopy /E /I workbuddy_checkin %USERPROFILE%\.workbuddy\skills\workbuddy_checkin\ # 清理临时文件 rmdir /S /Q workbuddy_checkin

Python 依赖(uiautomation)会在首次运行时自动安装。

小龙虾(WorkBuddy AI)安装

告诉小龙虾:

安装技能 https://cnb.cool/i.o/workbuddy_checkin,必须使用git clone命令

小龙虾会自动完成克隆、复制、安装依赖的全部操作。

使用方法

首次运行

python %USERPROFILE%\.workbuddy\skills\workbuddy_checkin\scripts\checkin.py

首次运行时,脚本会自动检测 WorkBuddy 是否启用了调试模式:

  • 如果已启用:直接执行签到
  • 如果未启用:自动配置快捷方式,提示用户从桌面快捷方式重启 WorkBuddy

创建每日自动化任务

签到测试成功后,必须创建 WorkBuddy 自动化任务实现每日自动签到。

告诉小龙虾:

帮我创建一个每日签到的自动化任务,每天早上8点执行

小龙虾会自动创建自动化任务:

  • 任务名称:每日签到
  • 执行频率:每天 08:00
  • 任务内容:执行签到脚本

⚠️ 自动化运行时需要确保 WorkBuddy 桌面端处于运行状态且已登录。

签到状态判断

状态弹窗显示脚本行为
未签到"立即领取"点击领取
签到成功"已到账"(最可靠)或 +100/+1000确认成功
已签到"已到账" / 100 / 1000跳过,直接关闭弹窗

💡 判断优先级:「已到账」>「100/1000」>「立即领取消失」。「已到账」是最可靠的签到成功标识。

连续签到7天,第7天奖励 1000 Credits(而非 100)。

版本更新

版本号使用 git commit hash 前 8 位

签到脚本每次执行时会自动检测是否有新版本,发现新版本时会提示更新。

# 手动检测更新 python scripts/update.py --check # 自动热更新 python scripts/update.py --update

文件说明

├── SKILL.md # WorkBuddy 技能描述文件 ├── VERSION # 版本号(git commit hash 前8位) ├── scripts/ │ ├── checkin.py # 签到主脚本 │ └── update.py # 版本更新脚本 └── README.md # 本文件

技术原理

为什么用 UIA?

之前尝试过其他方案:

  • Cookie 签到:APISIX WAF 反爬拦截
  • CDP 签到:依赖浏览器 SSO session,过期后无法自动恢复
  • pyautogui 坐标点击:需要手动配置坐标,不同分辨率/缩放需要不同配置

UIA 方案直接读取 WorkBuddy 窗口的 UI 元素树,精确定位按钮位置,完全自适应分辨率。

无固定坐标设计

元素识别方式不依赖
头像按钮Agents tabs 锚点 + 父容器中最高按钮昵称、坐标
签到按钮全窗口搜索 "立即领取" + "今日礼包已到账" 验证昵称、坐标
点击交互UIA InvokePattern / LegacyIAccessiblePattern硬编码像素
成功标识TextControl/ButtonControl 含 "今日礼包已到账"(唯一)数字误判

调试模式

Electron 应用默认不暴露 DOM 到 UIA 树。添加 --force-renderer-accessibility 参数后,Electron 会将 DOM 元素映射到 UIA 树,使得 UIA 可以定位到每个按钮、文本框等元素。

License

MIT License

Copyright (c) 2026 i.o