豆包签到助手
概述
本技能用于自动完成豆包(字节跳动)电脑客户端的每日签到,领取 200 额度。核心脚本通过 Windows UI Automation(UIA)读取豆包客户端(Electron 架构)暴露的无障碍树,首选在独立内部浏览器窗口打开签到活动页、按「每日签到」卡片状态自动完成签到与领取确认,全程无需人工干预。
单次执行约 10~20 秒;适合直接运行,也适合配置为每日定时任务。
前置条件
- 操作系统:Windows 10 / 11
- Python 3.9+,已安装依赖:
pip install uiautomation - 豆包电脑客户端已安装且已登录(登录状态由客户端自身保持,脚本不处理登录)
- 客户端版本需支持签到活动(侧边栏底部有「今日签到领 200 额度」卡片)
使用方式
立即执行签到
python scripts/doubao_checkin.py
可选参数:
| 参数 | 说明 |
|---|---|
--client-path <exe路径> |
显式指定豆包客户端启动器路径(默认自动探测常见安装目录与注册表) |
--launch-wait <秒> |
客户端未运行时,启动等待的最长秒数(默认 60) |
--account-name <账号名> |
登录账号名(如 TOTORO.SIR),用于菜单路径中更精准地定位头像按钮 |
--balance |
仅查询额度信息(自动打开活动页读取),不执行签到 |
--background |
后台模式:唤醒无障碍树后立即最小化窗口,全程 UIA Invoke 程序化点击(不动鼠标、不抢焦点),适合工作时段定时静默签到 |
--debug |
输出调试信息 |
额度信息输出
签到完成后(或使用 --balance 时),脚本会自动打开活动页读取额度信息并以 CREDIT_ 行输出:
| 输出行 | 含义 |
|---|---|
CREDIT_TODAY: +N 额度(今日签到) |
今日签到获得的额度(来自签到成功弹窗或活动页每日签到卡片) |
CREDIT_TOTAL: N 点(累计获得) |
账号累计获得的额度总量 |
CREDIT_NEXT: 再积累 N 点解锁额外奖励 |
距离下一档累计奖励的进度 |
结果判定
脚本输出以 RESULT: 行标识结果,并以退出码返回:
| RESULT | 含义 | 退出码 |
|---|---|---|
SUCCESS |
签到并领取成功 | 0 |
ALREADY |
今日已签到,无需重复 | 0 |
FAILED |
失败(未找到客户端 / 未登录 / 未找到按钮等),详情见日志 | 1 |
配置每日定时签到
推荐两种方式(详细步骤见 @references/user-guide.md):
- WorkBuddy 自动化:创建每日定时自动化,提示词中让 WorkBuddy 直接执行
python scripts/doubao_checkin.py并汇报 RESULT 结果。 - Windows 任务计划程序:新建每天固定时间(如 09:00)触发的基本任务,
操作为启动python.exe,参数为脚本绝对路径。
工作流程
脚本按以下顺序执行(每级失败自动降级到下一级):
- 入口一 · URL 直开豆包浏览器(首选):带活动页地址(
https://www.doubao.com/pc/agent-explore)启动客户端,单实例机制自动转发,在独立的内部浏览器窗口打开活动页完成签到——只弹一个浏览器窗口,不抢占主对话窗口,基本不影响用户在豆包或其他应用中的正常操作;客户端运行与否均可。 - 活动页状态机签到:活动页 banner 上的「立即领取」是常驻引导按钮(不随签到状态变化),脚本以「每日签到」卡片为准——未签则点击卡片按钮并确认弹窗,已签(卡片显示「已领取」)则返回 ALREADY,不会重复签到。
- 入口二 · 签到卡片:主客户端(「豆包」窗口,未运行则自动启动并等待 Chromium 内容区无障碍树就绪)侧边栏卡片的「立即签到」按钮,点击后确认「立即领取」弹窗。
- 入口三 · 头像菜单兜底:点击左下角头像(按钮名格式为「账号名 套餐名」,可通过
--account-name辅助定位)→ 点击弹出菜单中的「免费用豆包」(旧版客户端文案为「免费领额度」,脚本自动兼容两者)→ 内部浏览器打开活动页 → 按状态机签到。 - 结果验证:确认卡片进入「已领取」状态,输出 RESULT。
- 备用客户端:主客户端不可用或签到失败时,自动切换豆包工作客户端(窗口标题「豆包工作」)执行同样流程。签到为账号级活动,两个客户端共用签到状态,一天仅一次,不会重复领取。
后台模式(--background):唤醒内容树后立即把窗口最小化、把前台还给用户,之后全部通过 UIA Invoke 模式程序化点击(不移动鼠标、不抢占焦点),把前台占用压缩到窗口短暂弹起的数秒内。
排错
| 现象 | 处理 |
|---|---|
未找到「立即签到」按钮 |
确认客户端已登录、已更新到支持签到的版本;手动打开客户端确认侧边栏有签到卡片;脚本会自动尝试豆包工作客户端兜底 |
无法找到或启动豆包客户端 |
用 --client-path 显式指定启动器路径(如 D:\豆包安装目录\Doubao.exe 外层启动器) |
| 点击无反应 | 客户端窗口被全屏应用遮挡时可能失败,避开全屏时段重跑 |
| 签到活动下线/改版 | 活动为阶段性运营,规则或界面变化后需相应更新按钮定位逻辑 |
活动页中未找到「每日签到」卡片且未检测到已签状态 |
界面可能改版,手动打开客户端「头像 → 免费用豆包」确认活动页结构后反馈校准 |
| 后台模式签到失败 | Invoke 点击对个别元素可能无效,去掉 --background 用默认前台模式重跑 |
| 客户端启动后自动退出 | 务必通过外层启动器(安装根目录的 Doubao.exe,配合 ini 配置)启动,不要直接运行 app\ 子目录内的主程序 |
版本说明
- 1.1.0:签到入口优先级调整——URL 直开豆包浏览器升为首选(独立浏览器窗口签到,不抢占主对话窗口,基本不影响正常使用);新增
--background后台模式(唤醒无障碍树后立即最小化,全程 UIA Invoke 程序化点击,不动鼠标不抢焦点);活动页签到改为「每日签到」卡片状态机驱动(banner「立即领取」为常驻引导按钮,不再误点;弹窗与奖励识别改用点击前后节点 diff,避免静态文案误报);修复主客户端兜底入口未复用已探测客户端路径的问题;URL 直开增加活动页导航等待(窗口标题刷新后再签到);签到后自动刷新活动页读取最新累计额度;适配客户端菜单文案改版(「免费领额度」→「免费用豆包」,新旧自动兼容);新增额度信息输出(今日获得 / 累计获得 / 下一档进度)与--balance单独查询模式;增加内容区无障碍树就绪等待,提升定时任务成功率。 - 1.0.1:修复主客户端窗口识别(兼容「对话名 - 豆包」标题形式,排除内部浏览器与工作客户端误判);修复 SKILL.md frontmatter 非法 YAML 导致技能无法被加载的问题。
- 1.0.0:首个版本。支持自动签到 + 领取确认、客户端自启动、防重复签到、多安装路径探测,并支持豆包工作客户端作为备用签到入口(账号级签到共用,一天一次)。
关于作者
本技能由 龙猫科技说(longmaoit)开发维护;相关更新、用法答疑与实战笔记发布于公众号 龙猫科技说。