本次提交新增了完整的多渠道消息网关系统,包括: 1. 支持飞书、钉钉、Web、Hook 四种渠道的适配器与配置 2. 领域模型层:消息、会话、绑定、出箱等核心实体 3. 应用服务层:管道、中间件、DTO 与业务逻辑 4. 基础设施层:持久化、过滤器、队列等端口实现 5. 接口层:REST API、SSE、WebSocket 通信端点 6. 前端页面与路由配置,添加渠道管理菜单 7. 新增相关依赖包与 docker-compose 部署配置
33 lines
785 B
Python
33 lines
785 B
Python
from dotenv import load_dotenv
|
|
|
|
load_dotenv(".env", override=True)
|
|
|
|
from concurrent.futures import ThreadPoolExecutor # noqa: E402
|
|
from importlib import import_module # noqa: E402
|
|
|
|
from yuxi.config import config as config # noqa: E402
|
|
|
|
try:
|
|
from importlib.metadata import version
|
|
|
|
__version__ = version("yuxi")
|
|
except Exception:
|
|
__version__ = "unknown"
|
|
|
|
executor = ThreadPoolExecutor() # noqa: E402
|
|
|
|
|
|
def get_version():
|
|
return __version__
|
|
|
|
|
|
def __getattr__(name: str):
|
|
if name in {"graph_base", "knowledge_base"}:
|
|
knowledge = import_module("yuxi.knowledge")
|
|
return getattr(knowledge, name)
|
|
raise AttributeError(f"module 'yuxi' has no attribute {name!r}")
|
|
|
|
|
|
def __dir__():
|
|
return sorted(set(globals()) | {"graph_base", "knowledge_base"})
|