refactor: route chat and subtitle settings through runtime

This commit is contained in:
jxxghp
2026-08-23 03:17:40 +08:00
parent 55c80c87da
commit 061a92eab0
8 changed files with 24 additions and 17 deletions
+3 -1
View File
@@ -12,7 +12,9 @@ from typing import Optional, List, Tuple
from PIL import Image from PIL import Image
from app.runtime.cache import FileCache from app.runtime.cache import FileCache
from app.runtime.config import settings from app.runtime.settings import RuntimeSettingsCompat
settings = RuntimeSettingsCompat()
from app.domain.context import MediaInfo, Context from app.domain.context import MediaInfo, Context
from app.domain.metainfo import MetaInfo from app.domain.metainfo import MetaInfo
from app.runtime.log import logger from app.runtime.log import logger
+3 -1
View File
@@ -4,7 +4,9 @@ from urllib.parse import urljoin, urlparse
from lxml import etree from lxml import etree
from app.runtime.config import settings from app.runtime.settings import RuntimeSettingsCompat
settings = RuntimeSettingsCompat()
from app.domain.context import Context from app.domain.context import Context
from app.application.site.query import get_configured_site_query_service from app.application.site.query import get_configured_site_query_service
from app.application.site.sites import SitesHelper # pylint: disable=import-error,no-name-in-module from app.application.site.sites import SitesHelper # pylint: disable=import-error,no-name-in-module
+3 -1
View File
@@ -36,7 +36,9 @@ try:
except ImportError: except ImportError:
from telegramify_markdown.type import ContentTypes, File, Photo, Text # noqa: E402 from telegramify_markdown.type import ContentTypes, File, Photo, Text # noqa: E402
from app.runtime.config import settings # noqa: E402 from app.runtime.settings import RuntimeSettingsCompat # noqa: E402
settings = RuntimeSettingsCompat()
from app.domain.context import MediaInfo, Context # noqa: E402 from app.domain.context import MediaInfo, Context # noqa: E402
from app.domain.metainfo import MetaInfo # noqa: E402 from app.domain.metainfo import MetaInfo # noqa: E402
from app.application.image import ImageHelper # noqa: E402 from app.application.image import ImageHelper # noqa: E402
+3 -1
View File
@@ -12,7 +12,9 @@ import websocket
from Crypto.Cipher import AES from Crypto.Cipher import AES
from app.runtime.cache import FileCache from app.runtime.cache import FileCache
from app.runtime.config import settings from app.runtime.settings import RuntimeSettingsCompat
settings = RuntimeSettingsCompat()
from app.domain.context import MediaInfo, Context from app.domain.context import MediaInfo, Context
from app.domain.metainfo import MetaInfo from app.domain.metainfo import MetaInfo
from app.application.messaging.agent import matches_channel_admin from app.application.messaging.agent import matches_channel_admin
+3 -1
View File
@@ -17,7 +17,9 @@ from Crypto.Cipher import AES
from Crypto.Util.Padding import pad from Crypto.Util.Padding import pad
from app.runtime.cache import FileCache from app.runtime.cache import FileCache
from app.runtime.config import settings from app.runtime.settings import RuntimeSettingsCompat
settings = RuntimeSettingsCompat()
from app.domain.context import Context, MediaInfo from app.domain.context import Context, MediaInfo
from app.domain.metainfo import MetaInfo from app.domain.metainfo import MetaInfo
from app.runtime.log import logger from app.runtime.log import logger
@@ -1066,6 +1066,8 @@ Emby、Jellyfin、Feishu、Discord 与 Slack 模块切换到动态运行时配
存储公开方法;配置债务由 57 个文件降至 50 个,文件管理与存储专项测试通过。 存储公开方法;配置债务由 57 个文件降至 50 个,文件管理与存储专项测试通过。
Indexer parser/spider 模块族切换到动态运行时配置,站点搜索 URL、解析与分类行为保持;配置债务由 50 个文件 Indexer parser/spider 模块族切换到动态运行时配置,站点搜索 URL、解析与分类行为保持;配置债务由 50 个文件
降至 39 个,Indexer 专项测试通过。 降至 39 个,Indexer 专项测试通过。
QQ、Telegram、WeChat、WeChatClawBot 与字幕模块切换到动态运行时配置,消息回调、代理和字幕下载行为保持;
配置债务由 39 个文件降至 34 个,消息与字幕专项测试通过。
同日修正适配器配置下沉边界:OCR、CookieCloud、DoH、Rust 和资源签名等低层实现不再直接依赖 同日修正适配器配置下沉边界:OCR、CookieCloud、DoH、Rust 和资源签名等低层实现不再直接依赖
`app.application`,由 `app.runtime.settings` 端口承接组合根注入;未启动装配时仍回退旧 Settings ABI `app.application`,由 `app.runtime.settings` 端口承接组合根注入;未启动装配时仍回退旧 Settings ABI
@@ -9,7 +9,7 @@
"root": "app" "root": "app"
}, },
"settings_imports": { "settings_imports": {
"count": 39, "count": 34,
"files": [ "files": [
"app/adapters/system/fsproxy.py", "app/adapters/system/fsproxy.py",
"app/cli.py", "app/cli.py",
@@ -23,11 +23,8 @@
"app/modules/filemanager/storages/local.py", "app/modules/filemanager/storages/local.py",
"app/modules/postgresql/__init__.py", "app/modules/postgresql/__init__.py",
"app/modules/qbittorrent/__init__.py", "app/modules/qbittorrent/__init__.py",
"app/modules/qqbot/qqbot.py",
"app/modules/redis/__init__.py", "app/modules/redis/__init__.py",
"app/modules/rtorrent/__init__.py", "app/modules/rtorrent/__init__.py",
"app/modules/subtitle/__init__.py",
"app/modules/telegram/telegram.py",
"app/modules/themoviedb/__init__.py", "app/modules/themoviedb/__init__.py",
"app/modules/themoviedb/category.py", "app/modules/themoviedb/category.py",
"app/modules/themoviedb/scraper.py", "app/modules/themoviedb/scraper.py",
@@ -40,8 +37,6 @@
"app/modules/transmission/__init__.py", "app/modules/transmission/__init__.py",
"app/modules/trimemedia/api.py", "app/modules/trimemedia/api.py",
"app/modules/webpush/__init__.py", "app/modules/webpush/__init__.py",
"app/modules/wechat/wechatbot.py",
"app/modules/wechatclawbot/wechatclawbot.py",
"app/runtime/extensions/host_module_adapter.py", "app/runtime/extensions/host_module_adapter.py",
"app/startup/agent_initializer.py", "app/startup/agent_initializer.py",
"app/startup/database.py", "app/startup/database.py",
+6 -6
View File
@@ -14,7 +14,7 @@
"workflow_to_db": [] "workflow_to_db": []
}, },
"edge_count": 6425, "edge_count": 6425,
"edge_sha256": "06fb9c478770d0a27b22f8bcde92644fc5a2b14775446953716b4ed492b32042", "edge_sha256": "41afc9f5275b7f406e8ab4dd240d9af5bd01dd2e7537431e221558db2b9e593e",
"edges": [ "edges": [
"app -> app.runtime", "app -> app.runtime",
"app -> app.runtime.compat", "app -> app.runtime.compat",
@@ -4797,8 +4797,8 @@
"app.modules.qqbot.qqbot -> app.modules.qqbot.gateway", "app.modules.qqbot.qqbot -> app.modules.qqbot.gateway",
"app.modules.qqbot.qqbot -> app.runtime", "app.modules.qqbot.qqbot -> app.runtime",
"app.modules.qqbot.qqbot -> app.runtime.cache", "app.modules.qqbot.qqbot -> app.runtime.cache",
"app.modules.qqbot.qqbot -> app.runtime.config",
"app.modules.qqbot.qqbot -> app.runtime.log", "app.modules.qqbot.qqbot -> app.runtime.log",
"app.modules.qqbot.qqbot -> app.runtime.settings",
"app.modules.redis -> app.adapters", "app.modules.redis -> app.adapters",
"app.modules.redis -> app.adapters.cache", "app.modules.redis -> app.adapters.cache",
"app.modules.redis -> app.adapters.cache.redis", "app.modules.redis -> app.adapters.cache.redis",
@@ -4861,8 +4861,8 @@
"app.modules.subtitle -> app.domain.context", "app.modules.subtitle -> app.domain.context",
"app.modules.subtitle -> app.modules", "app.modules.subtitle -> app.modules",
"app.modules.subtitle -> app.runtime", "app.modules.subtitle -> app.runtime",
"app.modules.subtitle -> app.runtime.config",
"app.modules.subtitle -> app.runtime.log", "app.modules.subtitle -> app.runtime.log",
"app.modules.subtitle -> app.runtime.settings",
"app.modules.subtitle -> app.schemas", "app.modules.subtitle -> app.schemas",
"app.modules.subtitle -> app.schemas.types", "app.modules.subtitle -> app.schemas.types",
"app.modules.synologychat -> app.adapters", "app.modules.synologychat -> app.adapters",
@@ -4923,9 +4923,9 @@
"app.modules.telegram.telegram -> app.modules.telegram", "app.modules.telegram.telegram -> app.modules.telegram",
"app.modules.telegram.telegram -> app.modules.telegram.compat", "app.modules.telegram.telegram -> app.modules.telegram.compat",
"app.modules.telegram.telegram -> app.runtime", "app.modules.telegram.telegram -> app.runtime",
"app.modules.telegram.telegram -> app.runtime.config",
"app.modules.telegram.telegram -> app.runtime.execution", "app.modules.telegram.telegram -> app.runtime.execution",
"app.modules.telegram.telegram -> app.runtime.log", "app.modules.telegram.telegram -> app.runtime.log",
"app.modules.telegram.telegram -> app.runtime.settings",
"app.modules.telegram.telegram -> app.runtime.thread", "app.modules.telegram.telegram -> app.runtime.thread",
"app.modules.theaudiodb -> app.adapters", "app.modules.theaudiodb -> app.adapters",
"app.modules.theaudiodb -> app.adapters.network", "app.modules.theaudiodb -> app.adapters.network",
@@ -5322,8 +5322,8 @@
"app.modules.wechat.wechatbot -> app.foundation.size", "app.modules.wechat.wechatbot -> app.foundation.size",
"app.modules.wechat.wechatbot -> app.runtime", "app.modules.wechat.wechatbot -> app.runtime",
"app.modules.wechat.wechatbot -> app.runtime.cache", "app.modules.wechat.wechatbot -> app.runtime.cache",
"app.modules.wechat.wechatbot -> app.runtime.config",
"app.modules.wechat.wechatbot -> app.runtime.log", "app.modules.wechat.wechatbot -> app.runtime.log",
"app.modules.wechat.wechatbot -> app.runtime.settings",
"app.modules.wechat.wechatbot -> app.schemas", "app.modules.wechat.wechatbot -> app.schemas",
"app.modules.wechat.wechatbot -> app.schemas.message", "app.modules.wechat.wechatbot -> app.schemas.message",
"app.modules.wechat.wechatbot -> app.schemas.types", "app.modules.wechat.wechatbot -> app.schemas.types",
@@ -5351,8 +5351,8 @@
"app.modules.wechatclawbot.wechatclawbot -> app.foundation.size", "app.modules.wechatclawbot.wechatclawbot -> app.foundation.size",
"app.modules.wechatclawbot.wechatclawbot -> app.runtime", "app.modules.wechatclawbot.wechatclawbot -> app.runtime",
"app.modules.wechatclawbot.wechatclawbot -> app.runtime.cache", "app.modules.wechatclawbot.wechatclawbot -> app.runtime.cache",
"app.modules.wechatclawbot.wechatclawbot -> app.runtime.config",
"app.modules.wechatclawbot.wechatclawbot -> app.runtime.log", "app.modules.wechatclawbot.wechatclawbot -> app.runtime.log",
"app.modules.wechatclawbot.wechatclawbot -> app.runtime.settings",
"app.modules.zspace -> app.modules", "app.modules.zspace -> app.modules",
"app.modules.zspace -> app.modules._base", "app.modules.zspace -> app.modules._base",
"app.modules.zspace -> app.modules.zspace.zspace", "app.modules.zspace -> app.modules.zspace.zspace",