多平台多账号自动签到,理论上支持所有 NewAPI、OneAPI 平台,目前内置支持 Any Router 与 Agent Router,其它可根据文档进行摸索配置。
推荐搭配使用Auo,支持任意 Claude Code Token 切换的工具。
维护开源不易,如果本项目帮助到了你,请帮忙点个 Star,谢谢!
用于 Claude Code 中转站 Any Router 网站多账号每日签到,一次 $25,限时注册即送 100 美金,点击这里注册。业界良心,支持 Claude Sonnet 4.5、GPT-5-Codex、Claude Code 百万上下文(使用 /model sonnet[1m]
开启),gemini-2.5-pro
模型。
- ✅ 多平台(兼容 NewAPI 与 OneAPI)
- ✅ 单个/多账号自动签到
- ✅ 多种机器人通知(可选)
- ✅ 绕过 WAF 限制
点击右上角的 "Fork" 按钮,将本仓库 fork 到你的账户。
对于每个需要签到的账号,你需要获取:
- Cookies: 用于身份验证
- API User: 用于请求头的 new-api-user 参数(自己配置其它平台时该值需要注意匹配)
- 打开浏览器,访问 https://anyrouter.top/
- 登录你的账户
- 打开开发者工具 (F12)
- 切换到 "Application" 或 "存储" 选项卡
- 找到 "Cookies" 选项
- 复制所有 cookies
通常在网站的用户设置或 API 设置中可以找到,每个账号都有唯一的标识。
- 在你 fork 的仓库中,点击 "Settings" 选项卡
- 在左侧菜单中找到 "Environments" -> "New environment"
- 新建一个名为
production
的环境 - 点击新建的
production
环境进入环境配置页 - 点击 "Add environment secret" 创建 secret:
- Name:
ANYROUTER_ACCOUNTS
- Value: 你的多账号配置数据
- Name:
支持单个与多个账号配置,可选 name
和 provider
字段:
[
{
"name": "我的主账号",
"cookies": {
"session": "account1_session_value"
},
"api_user": "account1_api_user_id"
},
{
"name": "备用账号",
"provider": "agentrouter",
"cookies": {
"session": "account2_session_value"
},
"api_user": "account2_api_user_id"
}
]
字段说明:
cookies
(必需):用于身份验证的 cookies 数据api_user
(必需):用于请求头的 new-api-user 参数provider
(可选):指定使用的服务商,默认为anyrouter
name
(可选):自定义账号显示名称,用于通知和日志中标识账号
默认值说明:
- 如果未提供
provider
字段,默认使用anyrouter
(向后兼容) - 如果未提供
name
字段,会使用Account 1
、Account 2
等默认名称 anyrouter
与agentrouter
配置已内置,无需填写
接下来获取 cookies 与 api_user 的值。
通过 F12 工具,切到 Application 面板,拿到 session 的值,最好重新登录下,该值 1 个月有效期,但有可能提前失效,失效后报 401 错误,到时请再重新获取。
通过 F12 工具,切到 Network 面板,可以过滤下,只要 Fetch/XHR,找到带 New-Api-User
,这个值正常是 5 位数,如果是负数或者个位数,正常是未登录。
- 在你的仓库中,点击 "Actions" 选项卡
- 如果提示启用 Actions,请点击启用
- 找到 "AnyRouter 自动签到" workflow
- 点击 "Enable workflow"
你可以手动触发一次签到来测试:
- 在 "Actions" 选项卡中,点击 "AnyRouter 自动签到"
- 点击 "Run workflow" 按钮
- 确认运行
- 脚本每6小时执行一次(1. action 无法准确触发,基本延时 1~1.5h;2. 目前观测到 anyrouter 的签到是每 24h 而不是零点就可签到)
- 你也可以随时手动触发签到
- 请确保每个账号的 cookies 和 API User 都是正确的
- 可以在 Actions 页面查看详细的运行日志
- 支持部分账号失败,只要有账号成功签到,整个任务就不会失败
- 报 401 错误,请重新获取 cookies,理论 1 个月失效,但有 Bug,详见 #6
- 请求 200,但出现 Error 1040(08004):Too many connections,官方数据库问题,目前已修复,但遇到几次了,详见 #7
假设你有两个账号需要签到,不指定 provider 时默认使用 anyrouter:
[
{
"cookies": {
"session": "abc123session"
},
"api_user": "user123"
},
{
"cookies": {
"session": "xyz789session"
},
"api_user": "user456"
}
]
如果你需要同时使用多个服务商(如 anyrouter 和 agentrouter):
[
{
"name": "AnyRouter 主账号",
"provider": "anyrouter",
"cookies": {
"session": "abc123session"
},
"api_user": "user123"
},
{
"name": "AgentRouter 备用",
"provider": "agentrouter",
"cookies": {
"session": "xyz789session"
},
"api_user": "user456"
}
]
默认情况下,anyrouter
、agentrouter
已内置配置,无需额外设置。如果你需要使用其他服务商,可以通过环境变量 PROVIDERS
配置:
大多数情况下,只需提供 domain
即可,其他路径会自动使用默认值:
{
"customrouter": {
"domain": "https://custom.example.com"
}
}
如果服务商使用了不同的 API 路径、请求头或需要 WAF 绕过,可以额外指定:
{
"customrouter": {
"domain": "https://custom.example.com",
"login_path": "/auth/login",
"sign_in_path": "/api/checkin",
"user_info_path": "/api/profile",
"api_user_key": "New-Api-User",
"bypass_method": "waf_cookies"
}
}
关于 bypass_method
:
- 不设置或设置为
null
:直接使用用户提供的 cookies 进行请求(适合无 WAF 保护的网站) - 设置为
"waf_cookies"
:使用 Playwright 打开浏览器获取 WAF cookies 后再进行请求(适合有 WAF 保护的网站)
注:
anyrouter
和agentrouter
已内置默认配置,无需在PROVIDERS
中配置
- 进入你的仓库 Settings -> Environments -> production
- 添加新的 secret:
- Name:
PROVIDERS
- Value: 你的 provider 配置(JSON 格式)
- Name:
字段说明:
domain
(必需):服务商的域名login_path
(可选):登录页面路径,默认为/login
(仅在bypass_method
为"waf_cookies"
时使用)sign_in_path
(可选):签到 API 路径,默认为/api/user/sign_in
user_info_path
(可选):用户信息 API 路径,默认为/api/user/self
api_user_key
(可选):API 用户标识请求头名称,默认为new-api-user
bypass_method
(可选):WAF 绕过方法"waf_cookies"
:使用 Playwright 打开浏览器获取 WAF cookies 后再执行签到- 不设置或
null
:直接使用用户 cookies 执行签到(适合无 WAF 保护的网站)
配置示例(完整):
{
"customrouter": {
"domain": "https://custom.example.com",
"login_path": "/auth/login",
"sign_in_path": "/api/checkin",
"user_info_path": "/api/profile",
"api_user_key": "x-user-id",
"bypass_method": "waf_cookies"
}
}
内置配置说明:
anyrouter
:bypass_method: "waf_cookies"
(需要先获取 WAF cookies,然后执行签到)sign_in_path: "/api/user/sign_in"
agentrouter
:bypass_method: null
(直接使用用户 cookies 执行签到)sign_in_path: "/api/user/sign_in"
重要提示:
PROVIDERS
是可选的,不配置则使用内置的anyrouter
和agentrouter
- 自定义的 provider 配置会覆盖同名的默认配置
脚本支持多种通知方式,可以通过配置以下环境变量开启,如果 webhook
有要求安全设置,例如钉钉,可以在新建机器人时选择自定义关键词,填写 AnyRouter
。
EMAIL_USER
: 发件人邮箱地址EMAIL_PASS
: 发件人邮箱密码/授权码CUSTOM_SMTP_SERVER
: 自定义发件人SMTP服务器(可选)EMAIL_TO
: 收件人邮箱地址
DINGDING_WEBHOOK
: 钉钉机器人的 Webhook 地址
FEISHU_WEBHOOK
: 飞书机器人的 Webhook 地址
WEIXIN_WEBHOOK
: 企业微信机器人的 Webhook 地址
PUSHPLUS_TOKEN
: PushPlus 的 Token
SERVERPUSHKEY
: Server酱的 SendKey
配置步骤:
- 在仓库的 Settings -> Environments -> production -> Environment secrets 中添加上述环境变量
- 每个通知方式都是独立的,可以只配置你需要的推送方式
- 如果某个通知方式配置不正确或未配置,脚本会自动跳过该通知方式
如果签到失败,请检查:
- 账号配置格式是否正确
- cookies 是否过期
- API User 是否正确
- 网站是否更改了签到接口
- 查看 Actions 运行日志获取详细错误信息
如果你需要在本地测试或开发,请按照以下步骤设置:
# 安装所有依赖
uv sync --dev
# 安装 Playwright 浏览器
uv run playwright install chromium
# 创建 .env 文件并配置(注意:JSON 必须是单行格式)
# 示例:
# ANYROUTER_ACCOUNTS=[{"name":"账号1","cookies":{"session":"xxx"},"api_user":"12345"}]
# PROVIDERS={"agentrouter":{"domain":"https://agentrouter.org"}}
# 运行签到脚本
uv run checkin.py
uv sync --dev
# 安装 Playwright 浏览器
uv run playwright install chromium
# 运行测试
uv run pytest tests/
本脚本仅用于学习和研究目的,使用前请确保遵守相关网站的使用条款.