前言:因为vibecoding的能力,公司决定以新小程序形式疯狂做新产品,所有环节都ai了,只有部署没有,让我苦恼,所以做了这个项目,让ai替我承受全部压力
小程序多端发版时,常见做法是:每个平台一套脚本、一堆零散的 JSON/CLI 参数,本地能跑,CI 里又要再抄一遍;AppID、私钥、Token 写死在仓库里也不安心。
MPC Plus 想解决的是:把「读配置 → 解析多平台 / 多环境 → 执行上传」收成一条清晰链路 ,尤其适合 uni-app / Taro 等多端模版 :构建产物分目录,上传逻辑却可以在 一个文件里统一描述。
和其它上传工具不太一样的点
| 常见做法 | MPC Plus |
|---|---|
| 各平台各写脚本,参数散落在命令行 | 一个 mpc.config.ts,结构、平台、环境一眼能看 |
| 敏感信息容易进仓库 | 配置里用 process.env ,凭据放 .env.* 或 CI 密钥,对隐私更友好 |
| 一次只传一个端 | platforms 下多平台 × 多 env ,可筛选,也可 一次跑完全部 |
| CI 和本地两套逻辑 | 同一套配置:CI 只注入环境变量 ,本地用 .env.prod 等文件 |
核心思路:配置是 TypeScript,可读、可类型检查;运行时按 --env 加载对应 .env,再解析出每个平台、每个环境的上传目标。
已支持平台
- 微信
- 抖音
- 支付宝
- 小红书
配置示例
ts
import { defineConfig } from "@mpc-plus/cli";
export default defineConfig({
project: {
root: "./dist/build/mp-weixin",
},
release: {
version: "1.0.0",
description: "Release v1.0.0",
},
platforms: {
wechat: [
{
env: "dev",
appid: process.env.WX_APPID ?? "",
privateKeyPath: process.env.WECHAT_PRIVATE_KEY_PATH ?? "./private.key",
},
{
env: "prod",
appid: process.env.WX_APPID ?? "",
privateKeyPath: process.env.WECHAT_PRIVATE_KEY_PATH ?? "./private.key",
},
],
// douyin / alipay / xhs ... 同一文件里继续加
},
});
本地 .env.prod 或 CI 里配置 WX_APPID、WECHAT_PRIVATE_KEY_PATH 等即可,不必把密钥写进配置文件本身。
使用方式
bash
npm install -D @mpc-plus/cli
# 指定平台 + 环境
npm exec -- mpc upload --platform wechat --env prod
# 省略 --platform / --env:按配置依次上传所有平台与环境
npm exec -- mpc upload
模版项目里常见流程:build 各端产物 → 一条 mpc upload,比维护 N 份平台脚本省心不少。
开源项目,欢迎试用、提 Issue / PR。如果你也在做多端小程序模版或 CI 发版,欢迎交流。