mirror of
https://github.com/Smile-QWQ/SubTracker.git
synced 2026-05-31 22:23:24 +08:00
本次 lite 更新面向 Cloudflare Worker Free 的自部署用户,重点是让仪表盘、费用统计、登录、导入和自动续费这些高频路径更轻、更稳定。 升级说明: - 如果你当前仍在 be70f8d2d9d1a7a0c9f6e814ff7f4c16e57cefd5,可以直接通过当前 GitHub Actions 部署到新版本。 - 本次更新不需要手工数据库迁移,也不需要重建 D1。 - 普通用户部署后刷新页面即可使用新版界面。 功能调整: - 标签月预算已从 lite 分支移除。全局月预算、全局年预算和仪表盘预算使用率继续保留。 - 独立预算页和对应菜单入口已移除。 - 仪表盘改为轻量首页,只保留核心指标、全局预算和即将续订列表。 - 费用统计现在保留费用概览、状态分布、币种分布、月订阅支出 TOP10 和 AI 总结。 - 仪表盘趋势图、标签预算图、标签月度支出、未来 12 个月支付趋势、未来 30 天按日续订分布、自动续订占比等展示已从 lite 分支移除。 性能与稳定性优化: - 统计和仪表盘不再展示空壳图表,减少无效内容和无意义加载。 - /statistics/overview 的负载更轻,Worker 免费版下更不容易因为统计内容过重浪费资源。 - 登录路径继续保留记住我、默认密码修改提醒和失败限流;旧账号升级后可以继续登录。 - 自动续费仍可使用,但历史积压会分批追赶,不再保证一次 cron 补完整个 backlog,从而降低单次定时任务压力。 导入与兼容: - Wallos JSON / SQLite / ZIP 导入仍可使用。 - SubTracker 备份 ZIP 导入继续保留。 - 升级后请使用同版本前端完成导入流程,避免旧页面和新接口混用。 文档同步: - README 已更新功能亮点和 lite 版说明。 - DEPLOYMENT 已更新能力边界、旧版本升级说明、缓存说明、导入说明、自动续费说明,以及仪表盘 / 费用统计的新版展示范围。
5.5 KiB
5.5 KiB
SubTracker Lite
一个现代化的自托管订阅管理工具,用来统一管理多币种订阅、续订提醒、预算概览、Logo 资源,以及 Wallos 数据迁移
当前
lite分支仅保留 Cloudflare Worker 部署路线;如果你需要 Docker / Docker Compose 部署,请前往main分支,对应的部署说明、工作流与 Node/SQLite 适配实现都维护在该分支
界面预览
仪表盘
更多截图
| 订阅管理 | 费用统计 |
|---|---|
| AI 识别 | Wallos 导入 |
|---|---|
功能亮点
- 订阅管理:新增、编辑、续订、暂停、停用、记录查看、自定义排序
- 提醒规则:支持
天数&时间;格式的灵活提醒规则,覆盖到期前、到期当天与过期提醒,并支持分钟级扫描 - 标签系统:多标签归类、筛选与自定义排序
- 预算能力:全局月预算、全局年预算与仪表盘预算使用率
- 统计分析:费用概览、状态分布、币种支出分布、月订阅支出 TOP10 与 AI 总结
- 多币种支持:基准货币换算、汇率快照、货币转换器
- 通知能力:Webhook、Resend 邮件、PushPlus、Telegram Bot
- Logo 能力:上传(R2)、远程引用、网络搜索
- AI 识别:支持文本 / 图片识别后自动填充订阅信息
- Wallos 导入:支持 JSON、SQLite 数据库与 ZIP 备份导入;SQLite / ZIP 会在浏览器端解析,再交给 Worker 持久化
- 登录体验:支持“记住我”、可配置的登录保留时长、默认密码修改提醒,以及登录失败限流保护
Lite 版说明
这个分支面向 Cloudflare Worker Free,因此会做一些 Lite 化取舍:
- 热点统计 / 日历接口会使用 D1 缓存来降低 Worker CPU 压力
- 不使用 KV
- 不再提供标签月预算和独立预算页
- 仪表盘保留轻量指标、全局预算和即将续订列表
- 费用统计保留费用概览、状态分布、币种分布、TOP10 和 AI 总结
- Wallos / SubTracker 备份导入、Logo 搜索、Cron、自动续费等能力都做了 Worker 适配
- 遇到
503/ CPU 超限时,前端会明确提示可能受 Worker 免费版限制影响
更详细的部署、能力边界与性能说明见:
技术栈
- 前端:Vue 3、Vite、TypeScript、Naive UI、Pinia、TanStack Query、ECharts
- 后端:Cloudflare Worker、Hono、Prisma D1 Adapter、D1、可选 R2
本地开发
1. 安装依赖
npm install
2. 启动本地 Worker
npm run dev:worker
默认地址:http://127.0.0.1:8787
默认账户:
- 用户名:
admin - 密码:
admin
首次登录后建议立即修改默认密码;登录接口在连续失败过多时会触发限流保护。
常用命令
npm run dev:worker
npm run build
npm run lint
npm test
部署
当前推荐通过 GitHub Actions + Cloudflare 部署。
部署流程已经整理到:
大致流程:
- fork 仓库
- 配置 Cloudflare Secrets / Variables
- fork 时记得不要勾选“只复制默认分支 / Copy the main branch only”,否则不会带上
lite - 在 GitHub Actions 中运行 Lite CI and Deploy,并在 Use workflow from 里选择
lite - 后续通过 Sync fork 自动更新
常用仓库 Variables:
WORKER_NAME_PREFIXENABLE_R2(默认关闭;开启后可持久化 ZIP 导入的 Logo)
工作流
Lite CI and Deploy:同一个 workflow 里先跑 lint / test / build,验证通过后再部署到 Cloudflare
许可证
本项目采用 GNU General Public License v3.0(GPLv3) 许可证发布。
致谢
感谢以下项目和生态为 SubTracker 提供支持:
- Wallos —— 提供了导入兼容方向与迁移参考
- Vue 3 与 Vite —— 提供前端开发基础
- Naive UI —— 提供界面组件支持
- Fastify 与 Prisma —— 提供后端与数据访问能力
- Pinia、TanStack Query 与 ECharts —— 提供状态管理、数据请求与图表展示能力