From d36795ec4dae50446127b2b383395c31a6579abe Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sun, 23 Aug 2026 02:53:48 +0800 Subject: [PATCH] refactor: route runtime extension settings through port --- app/runtime/extensions/module_manager.py | 4 +++- app/runtime/extensions/plugin/catalog.py | 4 +++- app/runtime/extensions/plugin_manager.py | 4 +++- app/runtime/state.py | 4 +++- app/runtime/thread.py | 4 +++- docs/refactor/backend-architecture-next-stage.md | 2 ++ .../architecture/configuration-debt-baseline.json | 7 +------ tests/fixtures/architecture/dependency-baseline.json | 12 ++++++------ 8 files changed, 24 insertions(+), 17 deletions(-) diff --git a/app/runtime/extensions/module_manager.py b/app/runtime/extensions/module_manager.py index 9c57c3be2..94308cb39 100644 --- a/app/runtime/extensions/module_manager.py +++ b/app/runtime/extensions/module_manager.py @@ -12,7 +12,9 @@ from app.runtime.capabilities.model import ( CapabilitySpec, ) from app.runtime.capabilities.runtime import CapabilityRuntime -from app.runtime.config import settings +from app.runtime.settings import RuntimeSettingsCompat + +settings = RuntimeSettingsCompat() from app.runtime.events import Event, EventHandlerBinding, eventmanager from app.runtime.extensions.host_module_adapter import ( HOST_MODULE_KIND, diff --git a/app/runtime/extensions/plugin/catalog.py b/app/runtime/extensions/plugin/catalog.py index b52542f29..7b6e26140 100644 --- a/app/runtime/extensions/plugin/catalog.py +++ b/app/runtime/extensions/plugin/catalog.py @@ -7,7 +7,9 @@ from collections.abc import Callable, Mapping from typing import Any, Optional from app.foundation.version import compare_version -from app.runtime.config import settings +from app.runtime.settings import RuntimeSettingsCompat + +settings = RuntimeSettingsCompat() from app.runtime.extensions.plugin.contracts import supports_plugin_hook from app.runtime.extensions.plugin.storage import PluginStorage from app.runtime.extensions.plugin.system import PluginSystemServices diff --git a/app/runtime/extensions/plugin_manager.py b/app/runtime/extensions/plugin_manager.py index 93eab49ae..d593e6e71 100644 --- a/app/runtime/extensions/plugin_manager.py +++ b/app/runtime/extensions/plugin_manager.py @@ -15,7 +15,9 @@ from app.foundation.singleton import Singleton from app.foundation.version import compare_version from app.runtime.log import logger from app.runtime.observability import observe_compat_facade -from app.runtime.config import settings +from app.runtime.settings import RuntimeSettingsCompat + +settings = RuntimeSettingsCompat() from app.runtime.events import EventHandlerBinding, eventmanager from app.runtime.reload import ConfigReloadMixin from app.runtime.extensions.plugin.loader import PluginLoader diff --git a/app/runtime/state.py b/app/runtime/state.py index c6e09521c..338933c31 100644 --- a/app/runtime/state.py +++ b/app/runtime/state.py @@ -11,7 +11,9 @@ from typing import Optional, Tuple import docker import psutil -from app.runtime.config import settings +from app.runtime.settings import RuntimeSettingsCompat + +settings = RuntimeSettingsCompat() from app.runtime.log import logger from app.runtime.reload import ConfigReloadMixin from app.foundation.environment import is_docker diff --git a/app/runtime/thread.py b/app/runtime/thread.py index 0209e4058..dbcac5b69 100644 --- a/app/runtime/thread.py +++ b/app/runtime/thread.py @@ -1,7 +1,9 @@ from concurrent.futures import ThreadPoolExecutor from contextvars import copy_context -from app.runtime.config import settings +from app.runtime.settings import RuntimeSettingsCompat + +settings = RuntimeSettingsCompat() from app.foundation.singleton import Singleton diff --git a/docs/refactor/backend-architecture-next-stage.md b/docs/refactor/backend-architecture-next-stage.md index e94871dad..3ce5898e9 100644 --- a/docs/refactor/backend-architecture-next-stage.md +++ b/docs/refactor/backend-architecture-next-stage.md @@ -1052,6 +1052,8 @@ Agent 能力适配器、记忆和提示词模块改用 `RuntimeSettingsCompat` 配置债务由 98 个文件降至 93 个,LLM、Agent 生命周期与工具专项测试通过。 技能注册表、插件工具辅助、终端会话和语音工具也已切换到动态运行时端口,技能市场写入改走配置服务; 配置债务由 93 个文件降至 89 个,技能、工具和安全专项测试通过。 +运行时状态、线程池、插件目录/管理器和模块管理器随后切换到同一动态运行时端口,保留旧模块覆盖语义; +配置债务由 89 个文件降至 84 个,插件、模块生命周期与线程安全专项测试通过。 同日修正适配器配置下沉边界:OCR、CookieCloud、DoH、Rust 和资源签名等低层实现不再直接依赖 `app.application`,由 `app.runtime.settings` 端口承接组合根注入;未启动装配时仍回退旧 Settings ABI, diff --git a/tests/fixtures/architecture/configuration-debt-baseline.json b/tests/fixtures/architecture/configuration-debt-baseline.json index d9a2280af..e7664fa22 100644 --- a/tests/fixtures/architecture/configuration-debt-baseline.json +++ b/tests/fixtures/architecture/configuration-debt-baseline.json @@ -9,7 +9,7 @@ "root": "app" }, "settings_imports": { - "count": 89, + "count": 84, "files": [ "app/adapters/system/fsproxy.py", "app/agent/tools/impl/add_download_tasks.py", @@ -88,11 +88,6 @@ "app/modules/wechat/wechatbot.py", "app/modules/wechatclawbot/wechatclawbot.py", "app/runtime/extensions/host_module_adapter.py", - "app/runtime/extensions/module_manager.py", - "app/runtime/extensions/plugin/catalog.py", - "app/runtime/extensions/plugin_manager.py", - "app/runtime/state.py", - "app/runtime/thread.py", "app/startup/agent_initializer.py", "app/startup/database.py", "app/startup/database_initializer.py", diff --git a/tests/fixtures/architecture/dependency-baseline.json b/tests/fixtures/architecture/dependency-baseline.json index 5fc684d7b..ee166e394 100644 --- a/tests/fixtures/architecture/dependency-baseline.json +++ b/tests/fixtures/architecture/dependency-baseline.json @@ -14,7 +14,7 @@ "workflow_to_db": [] }, "edge_count": 6421, - "edge_sha256": "808e0a96b5cce123d86ce90ae4538258c6cc817a6204dc06346888c4f69d344b", + "edge_sha256": "466c1f146a2ce7403e60f32c98c7b33466b335dba3bfd2f756e7bef22a135e5e", "edges": [ "app -> app.runtime", "app -> app.runtime.compat", @@ -5542,22 +5542,22 @@ "app.runtime.extensions.module_manager -> app.runtime.capabilities", "app.runtime.extensions.module_manager -> app.runtime.capabilities.model", "app.runtime.extensions.module_manager -> app.runtime.capabilities.runtime", - "app.runtime.extensions.module_manager -> app.runtime.config", "app.runtime.extensions.module_manager -> app.runtime.events", "app.runtime.extensions.module_manager -> app.runtime.extensions", "app.runtime.extensions.module_manager -> app.runtime.extensions.host_module_adapter", "app.runtime.extensions.module_manager -> app.runtime.log", + "app.runtime.extensions.module_manager -> app.runtime.settings", "app.runtime.extensions.module_manager -> app.schemas", "app.runtime.extensions.module_manager -> app.schemas.types", "app.runtime.extensions.plugin.catalog -> app.foundation", "app.runtime.extensions.plugin.catalog -> app.foundation.version", "app.runtime.extensions.plugin.catalog -> app.runtime", - "app.runtime.extensions.plugin.catalog -> app.runtime.config", "app.runtime.extensions.plugin.catalog -> app.runtime.extensions", "app.runtime.extensions.plugin.catalog -> app.runtime.extensions.plugin", "app.runtime.extensions.plugin.catalog -> app.runtime.extensions.plugin.contracts", "app.runtime.extensions.plugin.catalog -> app.runtime.extensions.plugin.storage", "app.runtime.extensions.plugin.catalog -> app.runtime.extensions.plugin.system", + "app.runtime.extensions.plugin.catalog -> app.runtime.settings", "app.runtime.extensions.plugin.catalog -> app.schemas", "app.runtime.extensions.plugin.catalog -> app.schemas.plugin", "app.runtime.extensions.plugin.catalog -> app.schemas.types", @@ -5610,7 +5610,6 @@ "app.runtime.extensions.plugin_manager -> app.foundation.singleton", "app.runtime.extensions.plugin_manager -> app.foundation.version", "app.runtime.extensions.plugin_manager -> app.runtime", - "app.runtime.extensions.plugin_manager -> app.runtime.config", "app.runtime.extensions.plugin_manager -> app.runtime.events", "app.runtime.extensions.plugin_manager -> app.runtime.extensions", "app.runtime.extensions.plugin_manager -> app.runtime.extensions.plugin", @@ -5632,6 +5631,7 @@ "app.runtime.extensions.plugin_manager -> app.runtime.log", "app.runtime.extensions.plugin_manager -> app.runtime.observability", "app.runtime.extensions.plugin_manager -> app.runtime.reload", + "app.runtime.extensions.plugin_manager -> app.runtime.settings", "app.runtime.extensions.plugin_manager -> app.schemas", "app.runtime.extensions.plugin_manager -> app.schemas.plugin", "app.runtime.extensions.plugin_manager -> app.schemas.types", @@ -5657,13 +5657,13 @@ "app.runtime.state -> app.foundation", "app.runtime.state -> app.foundation.environment", "app.runtime.state -> app.runtime", - "app.runtime.state -> app.runtime.config", "app.runtime.state -> app.runtime.log", "app.runtime.state -> app.runtime.reload", + "app.runtime.state -> app.runtime.settings", "app.runtime.thread -> app.foundation", "app.runtime.thread -> app.foundation.singleton", "app.runtime.thread -> app.runtime", - "app.runtime.thread -> app.runtime.config", + "app.runtime.thread -> app.runtime.settings", "app.scheduler -> app.adapters", "app.scheduler -> app.adapters.external", "app.scheduler -> app.adapters.external.server",