Skip to content

打包与分发

盒子提供了环境配置等能力,脚本分发只需分发源码即可,无需打包运行环境。盒子支持三种安装方式,覆盖不同场景。

方式适合场景用户怎么用
本地安装内部脚本,不想公开代码在盒子中选择本地安装,指定脚本zip文件
仓库安装脚本托管在Github仓库在盒子中输入仓库地址,自动拉取
脚本社区脚本已发布至盒子社区在盒子的脚本市场中直接浏览并一键安装

本地分发

将脚本目录打包为 ZIP 文件,必须包含 bm-scripts-box-rc.toml

推荐的结构——配置文件放在 ZIP 根目录:

plaintext
file-sorter.zip
├── bm-scripts-box-rc.toml
├── main.py
├── pyproject.toml
├── icon/
│   └── logo.png
└── ...

也支持的结构——配置文件可以放在子目录中:

plaintext
file-sorter.zip
└── file-sorter/
    ├── bm-scripts-box-rc.toml
    ├── main.py
    └── ...

不要将环境依赖打包到ZIP


Github仓库分发

将脚本代码和 TOML 文件提交到 GitHub 仓库,用户在盒子中输入仓库 HTTP 地址即可自动拉取并安装、如果直连 GitHub 失败,盒子会自动尝试代理镜像克隆仓库。


发布到社区

希望让更多人用上你的脚本,可以发布到脚本社区。发布后用户能直接在盒子市场中搜索、安装、更新,不需要你手动分发 ZIP 包。

详见 发布脚本到社区


智能覆盖安装

如果脚本 ID 已存在于数据库中,重新安装时不会创建新记录,而是更新现有记录:

  • 图标、入口文件等被新版本替换
  • 运行时环境重新部署,依赖变化时做增量更新
  • 已绑定的快捷键保持不变

这意味着你可以直接向用户提供新版 ZIP 包,用户安装后自动覆盖旧版本,不需要手动卸载再安装。

因为是按 id 识别身份,所以 info.id(UUID)一旦定下就不要再改,否则会被当成全新脚本。


常见问题

Q:ZIP 包里配置文件没放根目录会怎样? A:也能装(盒子递归扫描),但不推荐——多一层目录,结构不清晰。

Q:重新安装会丢失用户配置吗? A:不会。快捷键、右键菜单开关等用户配置保持不变。

Q:安装失败会留下残留吗? A:不会。任何步骤出错,盒子自动回滚已创建的目录、菜单和数据库记录。

Q:安装失败怎么办? A:对照 常见问题 的安装排查表。


相关文档

文档版本 0.3.0 · MIT License