Files
chongming-utils-cli/README.md
T
2026-10-13 10:19:03 +08:00

2.6 KiB
Raw Blame History

chongming-cli

chongming 网关的命令脚本集合,独立包维护(从 src/chongming/scripts 抽离)。

命令

命令 说明
build 应用构建打包(PyInstaller / Nuitka)
build_plugin 进程插件项目根直接压缩为可部署 zip
gen_models 从插件配置 *.toml 生成 Pydantic 模型
gen_plugin 生成风格统一的 Worker 插件骨架(--process 生成进程插件完整项目)

另有 chongming_cli.code_content 模块:将目录下代码文件汇总为 Markdown(python -m chongming_cli.code_content <dir>)。

用法

在 chongming 网关项目根目录下(已通过 path/git 依赖安装本包):

uv run build pyinstaller        # 构建打包(默认:明文模块、不带授权)
uv run build --only mbank       # 仅重新打包 .mbank 模块文件(跳过其余流程)
uv run build --only mbank,vue   # 只执行指定步骤
uv run build --encrypt --license  # 对外分发:加密模块 + 注入厂商授权公钥
uv run build_plugin demo        # 进程插件打包 → dist/demo.zip(= workers/demo/ 直接压缩)
uv run gen_plugin myplugin                      # 生成 inline 插件骨架
uv run gen_plugin myplugin --process            # 生成进程插件完整项目(workers/myplugin/)
uv run gen_models config/workers/myplugin src/plugins/myplugin        # inline 插件模型
uv run gen_models workers/myplugin/config/workers/myplugin workers/myplugin/workers/myplugin   # 进程插件模型

build --only <step> 可选步骤:mbank / prepare / obfuscate / pack / clean / license_guard / vue,可逗号分隔或重复传多个。

build 的两个开关默认都关(不加参数即内部调试产物:明文模块、不带授权,横幅与构建报告里会回显状态):

  • --encrypt:打开加密与混淆 —— .mbank 加密存字节码并写 .key 密钥文件、做 PyArmor 混淆
  • --license:打开授权 —— 注入厂商授权公钥(缺公钥则构建失败)、跑授权私钥泄漏守卫

项目根目录定位

脚本需要在项目根目录下读写 config/、src/plugins/、workers/ 等路径。 本包安装位置不固定(site-packages),因此根目录按以下顺序解析:

  1. 环境变量 CHONGMING_ROOT(显式指定项目根)
  2. 当前工作目录向上查找第一个含 pyproject.toml 的目录(即项目根)

开发

uv pip install -e utils/cli     # 本地可编辑安装