For AI agents: the complete documentation index is available at https://renmori.mewbaka.cn/llms.txt, the full documentation bundle is available at https://renmori.mewbaka.cn/llms-full.txt, and this page is available as Markdown at https://renmori.mewbaka.cn/cli/overview.md.
  • 简体中文
  • CLI 概览

    renmori 是 RenMori 的命令行工具,作用于 Ren'Py 启动器生成的发行版构建,在构建期完成资产封包、脚本变换、加载器写入与结果校验。它不读取也不修改游戏源码工程,不依赖 Ren'Py SDK,除首次下载闭源插件外不访问网络。

    一次典型的发布流程只涉及两条命令:

    renmori protect ./dist/MyGame-1.0-pc -o ./dist/MyGame-1.0-pc-protected
    renmori verify  ./dist/MyGame-1.0-pc-protected

    工具的职责边界

    阶段由谁完成说明
    编写剧本与资源开发者,Ren'Py SDKRenMori 不参与
    生成发行版构建Ren'Py 启动器 Build DistributionsRenMori 的输入
    封包、加密、脚本变换、写入加载器renmori protect输出受保护的发行版构建
    校验受保护构建renmori verify可作为 CI 门禁
    运行时解密随游戏分发的加载器扩展与原生核心在玩家机器上、引擎内部完成
    上传与分发开发者,SteamPipe、itch.io 等参阅 发布到 Steam

    安装

    renmori 以 PyPI 包 renmori 发布,需要 Python 3.9 及以上版本。依赖 cryptography 会随安装自动获取,该依赖仅供构建期工具使用,受保护的游戏在运行时不依赖任何 pip 包。

    pip install renmori
    renmori --version

    作为独立命令行工具安装时,也可以使用 uv 或 pipx,二者会为 renmori 创建隔离环境:

    uv tool install renmori
    pipx install renmori

    读取 renmori.toml 配置文件需要 Python 3.11 及以上版本的标准库 tomllib;在 3.9 或 3.10 上使用配置文件时,需要额外安装 tomli:

    pip install tomli

    如需修改源码或参与开发,可从仓库以可编辑模式安装:

    git clone https://github.com/MewBaka/RenMori.git
    cd RenMori
    python -m venv .venv && source .venv/bin/activate   # Windows: .venv\Scripts\activate
    pip install -e .

    调用方式

    安装后可通过两种等价方式调用:

    renmori <command> [options]
    python -m renmori <command> [options]

    当系统中存在多个 Python 环境、renmori 不在 PATH 中时,第二种方式可明确指定使用哪一个解释器。

    命令一览

    命令作用参考
    renmori protect <构建目录 | 构建.zip>保护一个发行版构建:封包并加密全部资产,变换已编译脚本,删除明文原件,写入加载器扩展与构建清单protect
    renmori verify <受保护目录>依据构建清单重新校验受保护构建:容器哈希、必需文件、明文残留verify
    renmori --version打印工具名称与版本号后退出—
    renmori -h、renmori <command> -h打印帮助信息后退出—

    通用选项

    以下选项对 protect 与 verify 均有效,须写在子命令之后,例如 renmori protect ./build --quiet。

    选项默认值作用
    --lang {auto,en,zh}auto设置面向用户的输出语言。auto 依次读取 RENMORI_LANG、LC_ALL、LC_MESSAGES、LANG、LANGUAGE 与系统区域设置,以 zh 开头时使用中文,否则使用英文;在 Windows 上还会读取系统界面语言
    --no-color关闭禁用 ANSI 颜色。stderr 不是终端或设置了 NO_COLOR 环境变量时,颜色会自动禁用
    --quiet关闭不输出带样式的进度信息,仅在 stdout 输出最后一行 JSON;错误信息以 error: <message> 的纯文本形式写入 stderr。同时视为非交互模式,跳过全部确认提示
    Tip

    CLI 的输出语言目前支持中文与英文。输出语言只影响 stderr 上的进度信息,stdout 上的 JSON 键名与取值始终为英文,因此在任意区域设置下解析结果都保持一致,详见 输出、构建清单与退出码。

    环境变量

    环境变量适用命令作用
    RENMORI_LANG全部固定输出语言,取值 en 或 zh,优先级高于区域设置变量
    NO_COLOR全部设置后禁用 ANSI 颜色
    RENMORI_PLUGINprotect闭源插件可执行文件的路径,等同于 --plugin,设置后不再自动下载
    RENMORI_NO_DOWNLOADprotect设置为任意非空值后不自动下载插件;插件缺失时完整保护直接失败,--strength auto 回退到基线
    RENMORI_PLUGIN_BASE_URLprotect从该地址获取插件与 SHA256SUMS,用于内网镜像
    RENMORI_PLUGIN_TAGprotect指定拉取插件的 Release 标签,同时决定本地缓存目录
    XDG_CACHE_HOME、LOCALAPPDATAprotect决定插件缓存的根目录,参阅 保护强度与闭源插件
    配置文件 [keys] 中指定的变量protect基线保护的容器密钥与脚本密钥来源,参阅 配置文件

    处理流程概览

    Ren'Py 启动器 Build Distributions
            │  发行版构建目录,或 *-pc.zip 等发行归档
            ▼
    renmori protect
      1. 解析输入(目录,或解压 .zip 并定位含 game/ 的构建根目录)
      2. 合并配置(命令行 > renmori.toml > 默认值)
      3. 确定保护强度,按需获取并校验闭源插件
      4. 预检:输出或备份目录冲突、待封包文件数量
      5. 打印摘要并确认(仅交互式终端)
      6. 复制或备份 → 封包加密 → 变换脚本 → 删除明文 → 写入加载器扩展 → 写入构建清单
            │  受保护的发行版构建
            ▼
    renmori verify  →  校验通过后上传或打包分发

    相关页面

    © 2026 笨猫工作室 MewBaka Studio. All Rights Reserved.