New Features
- Tag-based feed inclusion: ProcessedFeeds can now include feeds by tag; original feeds are optional (at least one tag or feed is required).
- Digest list view: Browse all digests at /feeds/{feed_name}/digest/, with navigation buttons and improved digest HTML formatting.
- Dynamic model loading: Available AI models are fetched from the OpenAI models API.
- Configurable User-Agent for feed fetching.
Fixes & Improvements
- Async task scheduling when saving processed feeds, preventing worker timeouts.
- Admin no longer resets state when the feed form is saved without actual m2m changes.
- Fallback parsing for malformed/timezone-less article dates; unparseable dates default to the current time to avoid sorting errors.
- Digest URLs now include the date, so they aren't auto-marked as read by readers.
- Digest generation threshold adjusted (23h) and title times shown to minute precision.
- Log folders are created automatically before management commands run.
- Removed obsolete Huey 1.x config; translation updates (summaries now labeled “总结”).
- Rate limit handling: HTTP 429 responses are retried inline with per-host backoff.
新功能
- 基于标签的订阅源聚合:ProcessedFeed 现可按标签自动包含订阅源,原始订阅源变为可选(标签和订阅源至少填一项)。
- 摘要列表页:新增 /feeds/{feed_name}/digest/ 页面浏览全部摘要,并添加导航按钮、优化摘要 HTML 排版。
- 动态模型加载:可用 AI 模型从 OpenAI models API 动态获取。
- 可配置抓取 User-Agent。
修复与改进
- 保存 ProcessedFeed 时改为异步调度任务,避免 worker 超时。
- 管理后台在多对多关系无实际变更时不再触发不必要的重置。
- 增加对格式异常/缺时区日期的解析;无法解析时使用当前时间,避免排序报错。
- 摘要 URL 加入日期,防止被阅读器自动标记为已读。
- 摘要生成阈值调整为 23 小时,标题时间精确到分钟。
- 运行管理命令前自动创建日志目录。
- 移除过时的 Huey 1.x 配置;更新翻译(“摘要”改为“总结”)。
- 限流处理:遇到 HTTP 429 时自动按 host 退避并重试。