Commit Graph
161 Commits
Author SHA1 Message Date
InfinityPacer f700db5ac8 feat(database): add managed backup and offline restore (#6359) 2026-08-19 17:34:32 +08:00
jxxghp 03ada7eb01 refactor: 收敛 factory 模块级副作用并统一 async 路径进度为异步后端
- 将 configure_token_codec/configure_plugin_routes 移入 create_app(),消除 import 期副作用
- runtime 层新增 AsyncCacheProxy/AsyncTTLCache/AsyncProgressHelper,共享 progress region
- search/system/history/scheduler/dashboard 的事件循环路径切换异步进度后端
- 同步进度回调经事件循环提交或线程池执行,避免阻塞事件循环
2026-08-19 09:11:42 +08:00
jxxghp 8472bcff43 refactor: 收口 V3 分层架构与插件兼容边界 2026-08-18 13:22:02 +08:00
jxxghp 5128ae9e1e refactor: 推进后端分层架构治理 2026-08-18 00:29:14 +08:00
jxxghp 2edc7d54f4 fix text 2026-08-17 13:47:48 +08:00
jxxghp 72f5667927 refactor(scheduler): 缓存清理改为仅手动执行
移除 clear_cache 的 add_job 注册,不再自动定时执行。
在 _jobs 中标记 manual=True 并补充 provider_name,
list() 新增手动任务展示段,未调度的手动任务也能在 UI 中显示和手动触发。
2026-08-17 13:38:01 +08:00
jxxghp 252f0f986f fix(scheduler): 恢复缓存清理定时任务注册
commit 4b1df72a 移除了 clear_cache 的 add_job 调用但保留了 _jobs 定义,
导致任务在 UI 中不可见、无法手动执行。现以固定 24 小时间隔重新注册,
不再绑定 META_CACHE_EXPIRE。
2026-08-17 13:33:32 +08:00
jxxghp 48d85b798b feat(scheduler): 下载失败冷却记录加入定时清理
新增 DATA_CLEANUP_DOWNLOAD_FAILURE_DAYS 配置项(默认 7 天),
在 _build_cleanup_plans 中增加 downloadfailure 清理计划,
调用已有的 DownloadFailure.delete_expired 删除冷却已过期的记录。
2026-08-17 13:29:42 +08:00
InfinityPacer 4e47cce5f2 fix(runtime): prevent implicit scheduler startup (#6337) 2026-08-16 19:48:22 +08:00
jxxghp 54f093a099 Merge remote-tracking branch 'origin/v3' into v3
# Conflicts:
#	app/api/endpoints/agent.py
#	app/api/endpoints/anthropic.py
#	app/api/endpoints/openai.py
#	app/chain/__init__.py
#	app/chain/message.py
#	app/chain/site.py
#	app/chain/subscribe.py
#	app/chain/transfer.py
#	app/modules/discord/__init__.py
#	app/modules/qqbot/__init__.py
#	app/modules/slack/__init__.py
#	app/modules/telegram/__init__.py
#	app/modules/wechat/__init__.py
#	app/runtime/extensions/module_manager.py
#	app/runtime/extensions/service_registry.py
#	tests/test_agent_interaction.py
#	tests/test_slash_command_interactions.py
#	tests/test_web_agent_stream.py
2026-08-16 19:44:43 +08:00
jxxghp 240a4dffe6 refactor(schemas): 统一 message/notification 命名边界,旧名收敛至兼容映射表
- notification 域:渠道能力(MessageChannel→NotificationChannel、ChannelCapability* 迁入 notification.py)
- message 域:消息收发(Notification→Message、NotificationType→MessageType、CommingMessage→IncomingMessage、NotificationHistoryItem→MessageHistoryItem、NotificationClear*→MessageClear*)
- Agent 工具契约:send_notification_message→send_message、notification_callback→message_callback
- 源码不保留旧名物理别名,旧导入经 app/runtime/compat/manifest.py SYMBOL_ALIASES 惰性解析
- API 路径与持久化键冻结不变,前端零改动
- 新增兼容守护测试与 docs/rules/07 命名边界规范
2026-08-16 19:32:20 +08:00
InfinityPacer 5b367011c5 refactor(agent): 按需加载 Agent 运行时 (#6336) 2026-08-16 19:25:24 +08:00
jxxghp 7e851dbfa7 refactor(chain): 处理链功能域 mixin 化,清理未使用导入并根治兼容层循环导入
- ChainBase 拆分为 RecognitionMixin/MessageProcessingMixin/NotificationMixin
- TransferChain 拆分为 7 个功能 mixin(_mixins.py),SubscribeChain 音乐订阅域拆出 _music.py
- 斜杠命令交互四件套收敛为 InteractionChainMixin 委托,会话管理器移至 application 层,chain 层不再 re-export
- 模块基础类收敛到 app/modules/_base(notification/mediaserver 语义重命名)
- 清理 app/chain/__init__.py 24 个未使用导入,修正 49 处测试 patch 目标到实际命名空间
- 兼容层 legacy 符号不再并入 __all__,根治 schemas 初始化反向拉起 application.transfer 的循环导入
- 修复 bangumi 集数为字符串时 set_bangumi_info 抛 TypeError
- 新增重复代码等架构门禁测试;capability 清单校验排除下划线内部目录
2026-08-16 16:30:16 +08:00
Aqr-K 8a11214a43 refactor(db): 修复异步连接池无界增长,并完成 SQLAlchemy 2.0 迁移与分层归位 (#6320) 2026-08-15 06:58:38 +08:00
jxxghp 369d7d6448 refactor: reorganize backend module boundaries 2026-08-14 19:53:33 +08:00
jxxghp 7b3444c366 refactor backend module architecture 2026-08-14 15:45:38 +08:00
InfinityPacer 57e7f86f38 feat(agent): record task run history (#6305) 2026-08-13 22:13:36 +08:00
InfinityPacer e014604b1c fix: 避免服务重启后重复执行 Agent 定时任务 (#6302) 2026-08-13 19:25:11 +08:00
InfinityPacer 4d11a38496 fix(agent): propagate task cancellation (#6284) 2026-08-13 08:12:00 +08:00
jxxghp 4b1df72a4a refactor(cache): simplify recognition cache persistence 2026-08-06 07:48:43 +08:00
jxxghp e3f80af74f feat: expand metadata sources and media server sync (#6129) 2026-07-21 11:34:18 +08:00
jxxghpandtraeagent 318d2ab7d7 feat: 修复单元测试失败 (#6165)
Co-authored-by: traeagent <traeagent@users.noreply.github.com>
2026-07-21 07:41:34 +08:00
jxxghp d666134ed2 Route autonomous agent tasks through notification broadcasting 2026-07-20 08:54:32 +08:00
jxxghp 31544629b4 Add autonomous Agent task scheduling 2026-07-19 20:19:06 +08:00
InfinityPacer 7725342a80 fix(scheduler): refresh plugin jobs after reload (#6124) 2026-07-15 17:29:31 +08:00
jxxghp 9eb71c744b feat(mediaserver): add item count retrieval for various media servers 2026-06-29 10:45:10 +08:00
jxxghp 494f809ef0 Refine transfer history batch actions 2026-06-29 07:07:33 +08:00
jxxghp 6557b8b9d8 更新 scheduler.py 2026-05-27 15:56:08 +08:00
jxxghp 0e5c592862 refactor: centralize MoviePilot server helper 2026-05-27 12:56:45 +08:00
jxxghp 94633173b1 添加安装版本统计上报 2026-05-25 18:16:59 +08:00
jxxghp 4027ae2641 feat: add configurable data cleanup settings
Add a global cleanup switch, per-table retention periods, and scheduler config reload support so data cleanup can be managed and applied without restarting.
2026-05-09 21:22:02 +08:00
jxxghp ac11b303b3 fix: scheduled data cleanup chain 2026-05-09 18:30:55 +08:00
jxxghp a7823fb4d1 feat: implement data cleanup chain for batch deletion of expired records 2026-05-09 14:04:10 +08:00
jxxghp 94c75eb1c7 feat: 智能体增加定时任务(Jobs)管理和心跳唤醒机制
- 新增 JobsMiddleware 中间件,支持通过 JOB.md 文件管理长期/重复性任务
- 智能体可创建一次性(once)和重复性(recurring)任务,自动跟踪执行状态
- 新增心跳唤醒机制,定时调度器周期性唤醒智能体检查并执行待处理任务
- 新增 AI_AGENT_JOB_INTERVAL 配置项控制检查间隔,默认24小时
- 每次心跳使用独立会话,执行完毕后清理资源
2026-03-25 13:02:20 +08:00
jxxghp 274fc2d74f v2.8.8
- 下载器支持配置路径映射
- 问题修复与细节优化
2025-12-10 14:33:13 +08:00
Attente 5af217fbf5 refactor: 将图片获取逻辑抽象为独立的 ImageHelper 2025-12-06 10:10:36 +08:00
Attente ca5ec8af0f feat(config): 优化配置变更事件处理机制 2025-11-27 23:17:34 +08:00
jxxghp 48da5c976c fixx loop 2025-11-20 08:15:37 +08:00
jxxghp b5a6794381 Refactor event loop handling to use GlobalVar.CURRENT_EVENT_LOOP across multiple modules, improving consistency and maintainability. 2025-11-19 08:42:07 +08:00
jxxghp f013bf1931 fix 2025-09-08 10:59:28 +08:00
jxxghp 107cbbad1d fix 2025-09-08 10:54:45 +08:00
jxxghp 481f1f9d30 add full gc scheduler 2025-09-08 10:49:09 +08:00
jxxghp eb0e67fc42 fix logging 2025-09-03 12:42:13 +08:00
jxxghp 88049e741e add SUBSCRIBE_SEARCH_INTERVAL 2025-09-02 11:41:52 +08:00
jxxghp 6379cda148 fix 异步定时服务 2025-08-25 21:19:07 +08:00
jxxghp 91a124ab8f fix 异步定时服务 2025-08-25 20:44:38 +08:00
jxxghp 2357a7135e fix run_async 2025-08-25 17:46:06 +08:00
jxxghp 6664fb1716 feat:增加插件和日历的自动缓存 2025-08-25 16:37:02 +08:00
jxxghp 055c8e26f0 refactor:重构缓存系统 2025-08-20 17:35:32 +08:00
jxxghp 784868048d 更新 scheduler.py 2025-08-18 07:04:39 +08:00