Commit Graph
1112 Commits
Author SHA1 Message Date
jxxghp 4dd2d7fed2 refactor: use explicit runtime facade getters 2026-08-24 03:56:54 +08:00
jxxghp 9f76fc9dec refactor: unify workflow runtime boundary 2026-08-24 03:43:47 +08:00
jxxghp 371383f0a8 refactor: unify host threadpool boundary 2026-08-24 03:28:10 +08:00
jxxghp 2e5dd2cf0a refactor: drain traditional agent streams 2026-08-24 00:50:24 +08:00
jxxghp e9a226af02 refactor: complete command facade migration 2026-08-24 00:00:37 +08:00
jxxghp 820582ab12 refactor: close plugin shutdown mutation races 2026-08-23 21:55:22 +08:00
jxxghp 7f09927c47 refactor: own shutdown lifecycle boundaries 2026-08-23 20:20:26 +08:00
InfinityPacer c6ffc309d4 fix(persistence): separate retryable rejection errors (#6423) 2026-08-23 20:10:59 +08:00
InfinityPacer f7f5a7e107 fix(api): use async site query for mapping (#6416) 2026-08-23 17:54:26 +08:00
InfinityPacer e1d7918297 fix(runtime): 收口调度与事件异步任务生命周期 (#6415) 2026-08-23 17:17:59 +08:00
jxxghp 7afabeda02 refactor: register protocol stream tasks 2026-08-23 15:13:05 +08:00
jxxghp e7e232d625 refactor: register history ai redo tasks 2026-08-23 15:02:53 +08:00
jxxghp 0459b6a662 Merge remote-tracking branch 'origin/v3' into v3
# Conflicts:
#	tests/fixtures/architecture/dependency-baseline.json
2026-08-23 14:57:03 +08:00
InfinityPacer d2b72f5729 fix(database): decouple worker errors from application 2026-08-23 14:26:42 +08:00
jxxghp 03c03fa27d fix: reconcile API annotations and debt baseline 2026-08-23 13:54:47 +08:00
jxxghp 51bd59f3f1 Merge remote-tracking branch 'origin/v3' into v3 2026-08-23 13:30:33 +08:00
jxxghp f1e542bef0 refactor: govern background tasks and query ownership 2026-08-23 13:24:04 +08:00
InfinityPacer d11c2fb301 fix(agent): isolate web and storage blocking I/O 2026-08-23 13:06:30 +08:00
InfinityPacer e0f70fa920 fix(agent): close chat lifecycle safely 2026-08-23 11:44:18 +08:00
InfinityPacer 0ba4a7e5e3 fix(agent): close async chat persistence lifecycle 2026-08-23 11:44:18 +08:00
InfinityPacer f560c19d65 fix(agent): keep chat reads on native async path 2026-08-23 11:43:07 +08:00
InfinityPacer 21ce70fbfc refactor(agent): route chat persistence through database worker 2026-08-23 11:43:07 +08:00
InfinityPacer fc677a2bba feat(database): bound async configuration writes 2026-08-23 02:29:40 +08:00
InfinityPacer 3d7fb44dc7 refactor(database): isolate configuration transactions 2026-08-23 02:29:22 +08:00
jxxghp e602c23668 refactor: clear public entrypoint complexity debt 2026-08-22 23:28:30 +08:00
jxxghp 56cb7294eb refactor: extract cache network and compatibility entrypoints 2026-08-22 23:13:59 +08:00
jxxghp 1bb6e36e8c refactor: complete runtime configuration migration 2026-08-22 19:07:07 +08:00
jxxghp 996a1a0705 refactor: expand api and chain config snapshots 2026-08-22 13:22:33 +08:00
InfinityPacer 9cc2bdbce1 fix: 避免 Web Agent 语音转写阻塞事件循环 (#6389) 2026-08-22 13:16:15 +08:00
jxxghp 508bf0bc38 fix(ci): restore lint and architecture gates 2026-08-22 10:23:18 +08:00
InfinityPacer 1c07333909 fix: 收敛 Agent 会话队列与 worker 关闭 (#6386) 2026-08-22 10:09:01 +08:00
jxxghp 7b9499fc5b feat(plugin): add virtual plugin instances 2026-08-22 09:40:38 +08:00
jxxghp 97d2dcd7fb fix(ci): align architecture and pylint gates 2026-08-22 08:50:25 +08:00
jxxghp 5d9c6c8b19 refactor: expand runtime contracts and debt ratchets 2026-08-22 08:25:36 +08:00
jxxghp c5de1c7b1b refactor: make subscription lifecycle events durable 2026-08-22 07:43:41 +08:00
jxxghp 1b253510e1 ci: block new async blocking calls 2026-08-21 22:29:19 +08:00
jxxghp 9df599f502 refactor: split api dependencies by domain 2026-08-21 21:09:57 +08:00
InfinityPacer b9bbc8913c fix: 完善插件恢复与运行态收敛 (#6376) 2026-08-21 18:09:29 +08:00
InfinityPacer 2b3766e86e feat: 数据库迁移前自动备份 (#6360) 2026-08-19 18:35:56 +08:00
InfinityPacer f700db5ac8 feat(database): add managed backup and offline restore (#6359) 2026-08-19 17:34:32 +08:00
0069d04b18 feat(download): 支持未识别资源确认下载 (#6356)
* feat(download): 支持未识别资源确认下载

* feat(download): 音乐与影视统一未识别确认下载逻辑

* fix(download): 修正未识别媒体信息构造的类型标注与合集归一

---------

Co-authored-by: liulang <liulang@25qp.cn>
Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-08-19 13:40:47 +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 8d62f33155 fix(plugin): 修复坏插件模块声明击穿模块调度导致接口大面积报错
- projection 只接受映射类型的 get_module 声明,非法值跳过并记日志
- dispatcher 同步/异步路径防御非映射方法表,单个坏插件被隔离
- media 端点改用 application 层插件运行时门面,消除分层违规依赖
- 图片能力测试打桩 models.dev 目录边界,适配仓库内离线目录留空

Closes #6346
2026-08-18 15:53:28 +08:00
jxxghp dc23977b0c fix: 修复站点用户数据转换并完善媒体来源扩展 2026-08-18 14:50:09 +08:00
jxxghp c2a27f7c71 refactor: 收口订阅与插件应用边界 2026-08-18 13:54:17 +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 5d0bacabd5 fix(dashboard): 修复首页存储空间显示为 0
仪表板 _build_storage 原先仅按 library_storage 选取存储,用户只配置
本地下载目录而未填媒体库存储时存储集合为空,直接返回 0;而设置页经
LocalStorage.usage 同时统计下载目录与媒体库目录,故显示正常。

改为汇总下载目录的 storage 与媒体库目录的 library_storage,与 usage
口径对齐。存储名用 set 去重,同一存储只查询一次;磁盘层面 space_usage
已按 st_dev / Btrfs FSID 去重,相同磁盘的不同目录不会重复累加。

closes #6268
2026-08-17 17:34:34 +08:00
jxxghp d7e610e656 feat(agent): 新增 apply_patch 多文件补丁编辑工具
参考 Codex apply_patch 设计,支持单次调用对多个文本文件执行新增、
更新和删除:补丁以 *** Begin Patch / *** End Patch 包裹,Update 段
用 @@ 分隔 hunk,上下文行须与当前内容精确一致;先整体校验全部文件
操作,通过后才逐个原子写盘,并以校验期 sha256 防止并发修改。

- 工具描述与系统提示词明确 apply_patch / edit_file / write_file 分工:
  跨多文件或增删文件用 apply_patch,单文件单处替换用 edit_file
- 注册进工具工厂与 ALWAYS_INCLUDE 列表,加入策略 inventory 与
  MCP 隐藏列表,流式回调归类为 file_write
- 同步 create-moviepilot-plugin / publish-moviepilot-plugin /
  create-moviepilot-skill 技能的 allowed-tools 与版本
- 新增 tests/test_agent_apply_patch.py 覆盖解析、多文件应用、
  整体拒绝、权限边界与版本冲突场景
2026-08-17 08:01:59 +08:00
InfinityPacer ca99af10f1 fix(auth): preserve bcrypt password compatibility (#6339) 2026-08-17 06:13:18 +08:00