Skip to content

新增定时账号预热功能#266

Merged
KilimiaoSix merged 2 commits into
qxcnm:mainfrom
CHANTXU64:codex/scheduled-account-warmup
May 24, 2026
Merged

新增定时账号预热功能#266
KilimiaoSix merged 2 commits into
qxcnm:mainfrom
CHANTXU64:codex/scheduled-account-warmup

Conversation

@CHANTXU64
Copy link
Copy Markdown
Contributor

变更摘要

  • 新增定时账号预热功能,可在设置页配置多个 Cron 表达式、启用后台定时预热任务。
  • 定时预热复用现有账号预热逻辑。
  • 使用 Croner 解析 Cron 表达式并计算下一次触发时间,调度线程通过配置变更通知唤醒预热。

改动范围

  • Frontend
  • Desktop / Tauri
  • Service
  • Gateway / Protocol Adapter
  • Docs / Governance
  • Workflow / Release

主要文件

  • apps/src/app/settings/page.tsx
  • crates/service/src/usage/refresh/runner.rs
  • crates/service/src/usage/refresh/settings.rs

验证

  • pnpm -C apps run test
  • pnpm -C apps run build
  • pnpm -C apps run test:ui
  • cargo test --workspace
  • 其他本地验证已说明

已执行的实际验证:

pnpm -C apps run test:runtime:通过
pnpm -C apps run test:navigation:通过

未执行的验证与原因:

pnpm -C apps run test:失败,原因是 apps/package.json 没有 test 脚本
pnpm -C apps run test:ui:失败,原因是 apps/package.json 没有 test:ui 脚本

风险与影响面

  • 新增后台线程 account-warmup-cron,仅在服务启动后常驻。
  • Cron 表达式保存前会校验;开启定时预热但表达式为空或非法时会拒绝保存。
  • 新增 croner 依赖并更新 Cargo.lock,带来其传递依赖变化。

备注

  • 提交前请确认未包含敏感 token、cookie、API key

Copy link
Copy Markdown
Collaborator

@KilimiaoSix KilimiaoSix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

已修复审计中发现的三个问题,并通过相关验证。

@KilimiaoSix KilimiaoSix merged commit 8db1273 into qxcnm:main May 24, 2026
@CHANTXU64
Copy link
Copy Markdown
Contributor Author

有一个 Bug,在 Docker 部署中,时区用的默认 UTC+0,会导致跟用户预期的差几个小时

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants