# WorkBuddy2API — Cloudflare Worker 配置 # 本地路径:D:\workbuddy2api-panel\deploy\cloudflare-worker\worker.js # # 用法: # cd D:\workbuddy2api-panel\deploy\cloudflare-worker # npx wrangler deploy # # 注意:任何 secret 一律用 `wrangler secret put` 写入,绝对不要落到本文件里。 # 本目录四个文件均可提交:worker.js / wrangler.toml / .dev.vars.example / README.md。 # `.dev.vars`、`.dev.vars.*`、`.wrangler/` 已被根目录 .gitignore 忽略 # (同时用 `!.dev.vars.example` 把模板放回版本库)。 name = "workbuddy2api-hf-proxy" main = "worker.js" # 兼容性日期:固定在一个已发布版本上,不要写得太新也不要写 today。 # 2025-01-01 已支持 Request/Response 流式透传、AbortController、 # `redirect: "manual"` 与 crypto/Headers 全套 API,本 Worker 只用这些。 compatibility_date = "2025-01-01" # --------------------------------------------------------------------------- # 环境变量(非机密) # --------------------------------------------------------------------------- [vars] # 源站:HF Space 的直连域名。改 Space 时只改这里,不用动 worker.js。 ORIGIN = "https://a3216-gcli2api.hf.space" # 保活探测路径,默认 /healthz(网关自带探活端点,无鉴权、开销最小)。 # HEALTH_PATH = "/healthz" # GET / 的跳转目标,默认 /panel/。 # 网关只注册了 /panel/,直连 Space 的 GET / 是 404;而公网入口 # cli.3216gemini.dpdns.org/ 实测返回 302 → /panel/ —— 说明这层跳转是 CF 侧加的。 # 本 Worker 复刻该行为,换用后首页体验不变。设成空串则关闭跳转、严格透传后端 404。 # ROOT_REDIRECT = "/panel/" # --- 以下为「可选唤醒/签到」相关,默认全部注释掉 = 功能关闭 --- # 只有当你确实需要「主动调用某个接口才算真正唤醒」时才打开; # 单纯的防休眠只需要 /healthz 的裸 ping,不需要任何鉴权。 # # CHECKIN_CRON:只在这个 Cron 表达式触发的运行里做签到。 # CHECKIN_PATH:带 Bearer 调用的路径,例如 "/panel/api/keepalive"。 # CHECKIN_CRON = "0 * * * *" # CHECKIN_PATH = "/panel/api/keepalive" # --------------------------------------------------------------------------- # 定时触发:Hugging Face 免费 cpu-basic Space 连续 48 小时无 HTTP 流量即暂停, # 冷启动 30–60 秒。每 5 分钟打一次 /healthz 即可彻底避免被暂停。 # 5 分钟是 Cloudflare Cron Triggers 的最小粒度,取最小值最稳。 # --------------------------------------------------------------------------- [triggers] crons = ["*/5 * * * *"] # --------------------------------------------------------------------------- # 路由:把公网入口 cli.3216gemini.dpdns.org 全部流量交给本 Worker。 # 该域名必须在本 Cloudflare 账号下(zone: 3216gemini.dpdns.org)。 # # 两种接法,任选其一: # A) 用 wrangler 管理路由——取消下面注释后 `wrangler deploy` 会自动建路由; # B) 在 Cloudflare Dashboard → Workers → 你的 Worker → Settings → Domains & # Routes 里手动添加,本文件保持注释即可(推荐,避免误删线上路由)。 # # ⚠️ 启用路由前请确认:该主机名当前的 DNS 记录不能同时是「已代理指向别处」的 # A/AAAA/CNAME,否则 Worker 路由与 DNS 记录会打架。正确做法是让该主机名 # 由 Worker 路由接管(DNS 里通常留一条指向 100:: 的 AAAA 占位记录)。 # # routes = [ # { pattern = "cli.3216gemini.dpdns.org/*", zone_name = "3216gemini.dpdns.org" } # ] # --------------------------------------------------------------------------- # 机密(不要写进本文件、不要提交) # --------------------------------------------------------------------------- # WB2A_API_KEY —— 面板/网关的 Bearer 密钥。仅「可选签到」功能需要它。 # npx wrangler secret put WB2A_API_KEY # 未设置时,scheduled() 只做 /healthz 裸 ping,不发送任何鉴权请求。 # # 本地调试用 `.dev.vars`(同目录,格式 KEY="value",见 .dev.vars.example)。 # 该文件与 `.wrangler/` 都已被根目录 .gitignore 忽略,但仍请自行确认不要 # 把真实密钥提交上去;线上请用 `wrangler secret put`。 # WB2A_API_KEY="你的密钥"