modify: 网关拆为独立包 chongming-gateway(源码迁出到 utils/gateway,打包只留 plugins.mbank)

This commit is contained in:
2026-10-13 17:29:38 +08:00
parent ac7ddb7445
commit 6d087fa4e3
44 changed files with 298 additions and 5594 deletions
+33 -15
View File
@@ -101,8 +101,17 @@ use_embedded_broker = false
config_path = "./config/workers/config.toml"
[pyinstaller_build_import]
# 打包收集清单(PyInstaller --hidden-import / Nuitka --include-module)。
# 网关本体依赖随 chongming-gateway 包发布,打包时能沿 `from chongming.app import app`
# 静态跟到;本清单保留两类:
# - 动态导入、静态分析看不到的(granian 内部子模块、amqtt 插件、
# sqlite_vfs.contrib、chongming_worker 子模块等)
# - public 骨架自身(server / utils)与服务器可选实现(uvloop 等)
# 内置插件专属依赖(网关本体不 import,如 openai / bytedance)在根目录
# plugins_deps.toml 按插件分节维护,打包时由 build 自动并入本清单
base = [
"utils", # public 骨架
"httptools",
"utils", # public 骨架
"utils.launch",
"utils.config",
"zenoh",
@@ -113,17 +122,17 @@ base = [
"chongming_request",
"chongming_auth",
"server",
"module_bank", # 模块化打包工具
"module_bank", # 模块化打包工具
"sqlite_vfs",
"sqlite_vfs.core",
"sqlite_vfs.contrib",
"sqlite_vfs.contrib.fastapi_static",
"fastapi", # web 应用依赖
"fastapi", # web 应用依赖
"fastapi.staticfiles",
"fastapi.middleware.cors",
"fastapi.middleware.gzip",
"uvicorn",
"granian", # 备选服务器(APP_SERVER=granian,见 public/main.py),含 Rust 内核
# "uvicorn",
"granian", # 备选服务器(APP_SERVER=granian,见 public/main.py),含 Rust 内核
"granian._compat",
"granian._futures",
"granian._granian",
@@ -149,7 +158,6 @@ base = [
"chongming_cache.backends.sqlite_",
"orjson",
"python_multipart",
"volcenginesdkarkruntime",
"chongming_jwt",
"chongming_database",
"chongming_config",
@@ -164,22 +172,32 @@ base = [
"aiofiles.os",
"sqlmodel",
"amqtt",
"bytedance",
"bytedance.volcengine_aicc_sdk",
"bytedance.volcengine_aicc_sdk.secure_http_client",
# amqtt 内嵌 Broker 的插件:amqtt 经 entry points 动态加载,静态分析看不到
# (Nuitka 尤其如此;缺了会在启动时告警 "Plugin import failed: amqtt.plugins....")
"amqtt.plugins.authentication",
"amqtt.plugins.logging_amqtt",
"amqtt.plugins.sys.broker",
"amqtt.plugins.topic_checking",
"aiofiles",
"openai",
]
linux = [
"gunicorn.glogging",
"gunicorn.app",
"gunicorn.app.wsgiapp",
# "gunicorn.glogging",
# "gunicorn.app",
# "gunicorn.app.wsgiapp",
"uvloop",
]
windows = []
[production.module_system]
# 网关本体(chongming-gateway 包)不再打进 .mbank:打包时 PyInstaller/Nuitka 从
# site-packages 静态收集(public/server.py 里 `from chongming.app import app`),
# 改网关走正常依赖升级(uv lock --upgrade-package chongming-gateway)而不是换 .mbank。
# 模块银行只剩内置插件一项:插件仍是加密交付 + 可只换 plugins.mbank 现场更新。
path = [
["resources/app.mbank", "src/chongming/app", "app"],
["resources/plugins.mbank", "src/plugins", "plugins"],
[
"resources/plugins.mbank",
"src/plugins",
"plugins",
],
]
type = "module-bank"