每天自动领积分:Trae CN + WorkBuddy 签到自动化

每天早上打开两个客户端,点两下领 100 积分------动作很简单,但连续做一个月,总会漏几天。漏掉的那几天,积分就是白丢的。

这篇文章记录我怎么把这件事彻底交出去:两个脚本、两个定时任务,最后打包成一个 Skill,换台电脑也能一键复现。全程零付费、零第三方工具,只用 Windows 自带的 PowerShell。

一、先说结论:效果长什么样

中午 13:00,电脑没人操作。Trae CN 的窗口被自动拉到前台,左下角头像被点开,账户面板弹出,「每日领 100 积分」那一行被点中,然后自动截图、写日志、收起窗口。整个过程不到 10 秒。

3 分钟后的 13:03,轮到 WorkBuddy:窗口置前,轮播卡片切回第一张「Buddy加油站」,点右下角领取按钮,截图存档。

任务 时间 做了什么
TraeCN_DailyCheckin 每天 13:00 点头像 → 点签到行
WorkBuddy_DailyCheckin 每天 13:03 切轮播 → 点领取按钮

为什么是 13:00 和 13:03 而不是同时?因为两个脚本都要抢前台窗口和鼠标。同时运行,第二个的点击会落到第一个的窗口上,两边都白跑。间隔 3 分钟是最稳的配置。

二、为什么不用接口,只能模拟点击

签到这类入口通常藏在客户端界面里,没有公开 API,也不走网页。能落地的方案只有一条:让程序像人一样去点。

Windows 提供了现成的能力:找窗口、置前、移动光标、发送点击。PowerShell 调几个 Win32 函数就能完成,不用装 Python、不用装 Selenium,也不用任何第三方库。

关键设计:坐标按窗口相对计算

头像不是屏幕绝对坐标 (x, y),而是「窗口左下角往右 36px、往上 33px」。这样窗口被拖动、放大、换显示器,脚本依然点得准。这一条决定了脚本能不能长期用下去。

三、第一步:把点击位置量出来

别猜坐标。先用脚本把窗口位置打印出来,再截图对照像素位置,量两三个点就够了。

复制代码
# 打印窗口矩形,确认窗口在哪
$r = Get-WindowRect -Handle $hwnd
"L=$($r.Left) T=$($r.Top) W=$($r.Width) H=$($r.Height)"

然后截图,用画图工具把鼠标移到头像上,底部状态栏会显示像素坐标。换算成相对窗口左下角的偏移量,写进脚本常量。

四、第二步:写点击脚本

核心就三段:找窗口、置前、点击。下面是 Trae CN 的骨架,WorkBuddy 同理,只是点击目标不同。

复制代码
# 1. 找窗口(没有就启动,最多等 30 秒)
$hwnd = Find-AppWindow -Keyword 'Trae CN'

# 2. 置前:先 SetForegroundWindow,失败就临时置顶
Show-Window -Handle $hwnd
Set-TopMost -Handle $hwnd -On $true

# 3. 点头像 → 等面板 → 点签到行
Invoke-Click -X ($rect.Left + 36) -Y ($rect.Bottom - 33)
Start-Sleep -Milliseconds 800
Invoke-Click -X ($rect.Left + 300) -Y ($rect.Bottom - 210)

这里有两个坑必须处理:

  • Windows 会阻止后台程序抢前台。

    直接调用经常失败。做法是先把窗口置顶(TopMost),点完再取消,视觉上突兀一两秒,但成功率接近 100%。

  • 点击后要留等待时间。

    面板弹出、卡片渲染都需要几百毫秒。点完立刻点下一个目标,必然落空。

五、第三步:注册成每天自动执行

脚本能跑一次不等于能每天跑。用 Windows 任务计划程序注册,才能做到「开机就等我」。

复制代码
$act = New-ScheduledTaskAction -Execute 'powershell.exe' `
  -Argument '-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File "C:\签到\trae_checkin.ps1"'
$trg = New-ScheduledTaskTrigger -Daily -At 13:00
$set = New-ScheduledTaskSettingsSet -StartWhenAvailable `
  -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
$prn = New-ScheduledTaskPrincipal -UserId "$env:COMPUTERNAME\$env:USERNAME" `
  -LogonType Interactive -RunLevel Highest
Register-ScheduledTask -TaskName 'TraeCN_DailyCheckin' `
  -Action $act -Trigger $trg -Settings $set -Principal $prn -Force

三个参数值得说明:

  • -LogonType Interactive

    :必须能操作桌面。用后台服务方式跑,点不到任何东西。

  • -StartWhenAvailable

    :错过了时间(比如当时关机),开机后补跑一次。

  • -AllowStartIfOnBatteries

    :笔记本用电池时也照跑,不然中午拔了电源就不执行。

验证方法:右键任务「运行」,然后去看日志和截图。日志写 done、截图里按钮显示「已签到」,就是成功;如果按钮已经是「已签到」但你还没领过,说明当天早些时候已经领完了,不是失败。

六、第四步:封装成 Skill

脚本能跑,但下次想复用得翻聊天记录、找文件、改路径。封装成 Skill 之后,你只要说一句「帮我签到」,Agent 就知道该做什么、脚本在哪、失败了怎么排查。

一个 Skill 就是一个文件夹,核心是一个 SKILL.md:

复制代码
daily-points-checkin/
├── SKILL.md          # 触发条件 + 执行流程 + 排错表
└── scripts/
    ├── trae_checkin.ps1
    └── wb_checkin.ps1

SKILL.md 的头部只需要两行:

复制代码
name: daily-points-checkin
description: 每日自动签到领积分(Trae CN 与 WorkBuddy),通过 Windows PowerShell
  模拟界面点击完成。当用户要求签到、领取每日积分或设置自动签到时使用。

description 是唯一被 Agent 用来判断「什么时候该用这个 Skill」的文字,触发词要写全:签到、领取积分、自动签到,一个都不能少。正文则写清楚:怎么跑、日志在哪、报错怎么读。

一个容易忽略的命名限制:

name 只能用小写字母、数字和连字符,而且必须和文件夹名一致。写成中文会加载失败------技能列表里直接消失,比英文名更难排查。想让它好认,把中文写进 description,那里会显示在技能列表的副标题。

七、在 Agent 里安装这个 Skill

Skill 分两种作用域,装哪一层决定了它能被谁用:

作用域 目录 生效范围
个人(全局) %USERPROFILE%\.trae-cn\skills\ 本机所有项目
项目级 项目根目录\.trae\skills\ 仅该项目

签到这种通用能力,装个人级最合适。

方式一:手动安装(最直接,推荐)

  1. 下载文章末尾的 zip 包并解压;

  2. 把 daily-points-checkin 整个文件夹放到 %USERPROFILE%\.trae-cn\skills\;

  3. 回到客户端,打开「插件市场 → 管理 → 技能 → 个人」,确认列表里出现它,开关是绿色;

  4. 对话里说「帮我签到」,看 Agent 是否调用。

方式二:命令行复制

复制代码
# 解压后进入目录,把技能文件夹复制到个人技能目录
Copy-Item -Recurse -Force .\daily-points-checkin `
  "$env:USERPROFILE\.trae-cn\skills\"

方式三:让 Agent 帮你装

把 zip 拖进对话,然后说「把这个技能装到个人技能目录并验证能加载」。Agent 会解压、校验 frontmatter、复制到位,再检查文件是否齐全。

装完怎么确认真的生效?看两处:技能列表里有没有它;对话里说触发语,Agent 有没有按 SKILL.md 的流程走。两处都对,才算装好了。

八、几个必须知道的限制

  • 必须开机且解锁。

    锁屏状态下点击落空,截图截到的也是锁屏界面。笔记本合盖休眠时不会执行,记得设置成「合盖不睡眠」或者干脆开着。

  • 执行时会抢鼠标和前台窗口。

    每次 3 到 10 秒。所以我把时间定在午休,人不在电脑前的时间段。

  • 换了显示缩放比例,坐标要重调。

    100% 调到 125% 或 150%,界面布局会变,需要重新量一次偏移量。

  • 客户端改版会导致失效。

    按钮位置一变,脚本就点偏。所以脚本里留了截图和日志------每次运行都留证据,失效时一眼能看出来。

九、下载

技能包含两个可直接运行的 PowerShell 脚本和一份完整的 SKILL.md,Windows 环境开箱即用,无需安装任何依赖。

【每日自动签到领积分 Skill v1.0】下载链接(长期有效,链接自带提取码,点开即用无需手动输入)

百度网盘:

https://pan.baidu.com/s/1GirwcXCa6Q1_D2s-f63QNw?pwd=rqhm

夸克网盘:

https://pan.quark.cn/s/ef9d688356fb?pwd=vvFd

迅雷云盘:

https://pan.xunlei.com/s/VP5PpmZJdVuZqKjv_vU0Rw_oA1?pwd=q62a

使用说明:任选一条链接打开即可下载 skill 压缩包,解压后按包内说明安装使用;某条失效可换用其他两条。

文件:每日自动签到领积分-skill-v1.0.zip(约 6.5 KB)

建议下载后先看一遍 SKILL.md 里的排错表,再动手运行。

相关推荐
skywalk81631 小时前
卡不等于分支:我用 TRAE 宝配合 Hive 跑三张任务卡的一天
运维·人工智能·hive·trae
znnnk1 小时前
【Fetch】AI 自动化中的应用——从接口请求到数据获取
运维·自动化
2501_927283582 小时前
同样是自动化立库,堆垛机和四向车差别在哪里?
运维·自动化
虎鲸不是鱼2 小时前
AI 自动化逆向(三十六)先找不加密的部分
人工智能·自动化·大模型·逆向·ai逆向
手可摘星陳×2 小时前
10-运维排障篇-无线排障框架与常见故障-诊断矩阵速查
运维·网络
ai_coder_ai2 小时前
在自动化脚本中调用大语言模型
语言模型·自动化·dubbo
分布式存储与RustFS2 小时前
Kafka 分层存储落地指南:冷 Segment 自动落到 RustFS 对象存储
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
acd120092 小时前
域名解析缓存带来的隐性故障,很多排查都漏掉了这一层
java·运维·nginx
Z21-X2 小时前
云原生运维实战笔记:华为云计算与网络类服务全景解析
运维·笔记·学习·云原生·华为云