refactor: unify service configuration boundary

This commit is contained in:
jxxghp
2026-08-24 05:12:21 +08:00
parent 52c5c14f87
commit cb3c5f008f
19 changed files with 174 additions and 53 deletions
+2 -3
View File
@@ -12,6 +12,7 @@ from pathlib import Path
from typing import Any, Dict, Optional
from uuid import uuid4
from app.application.notification import get_notification_configs
from app.runtime.settings import RuntimeSettingsCompat
settings = RuntimeSettingsCompat()
@@ -801,9 +802,7 @@ class AgentCapabilityManager:
if not source:
return False
from app.runtime.extensions.service_config import ServiceConfigHelper
for config in ServiceConfigHelper.get_notification_configs():
for config in get_notification_configs(include_disabled=True):
if config.name != source:
continue
return (config.config or {}).get("WECHAT_MODE", "app") != "bot"
+2 -2
View File
@@ -23,7 +23,7 @@ from app.runtime.settings import RuntimeSettingsCompat
settings = RuntimeSettingsCompat()
from app.application.messaging.agent import matches_channel_admin
from app.runtime.extensions.service_config import ServiceConfigHelper
from app.application.notification import get_notification_configs
from app.runtime.log import logger
from app.schemas.message import Message
from app.schemas.types import NotificationChannel, MessageType
@@ -719,7 +719,7 @@ class MoviePilotTool(BaseTool, metaclass=ABCMeta):
return False
try:
configs = ServiceConfigHelper.get_notification_configs()
configs = get_notification_configs(include_disabled=True)
for config in configs:
if config.name == self._source and config.config:
return matches_channel_admin(
+2 -3
View File
@@ -9,7 +9,7 @@ from pydantic import BaseModel, Field
from app.agent.tools.base import MoviePilotTool
from app.agent.tools.tags import ToolTag
from app.chain.mediaserver import MediaServerChain
from app.runtime.extensions.service_config import ServiceConfigHelper
from app.application.mediaserver import get_mediaserver_configs
from app.runtime.log import logger
PAGE_SIZE = 20
@@ -61,8 +61,7 @@ class QueryLibraryLatestTool(MoviePilotTool):
@staticmethod
def _get_enabled_servers() -> list[str]:
"""同步读取启用的媒体服务器列表。"""
mediaservers = ServiceConfigHelper.get_mediaserver_configs()
return [ms.name for ms in mediaservers if ms.enabled]
return [config.name for config in get_mediaserver_configs()]
@staticmethod
def _load_latest_items(