From a5fee322bf19fe1d33112d86296f03297278fedb Mon Sep 17 00:00:00 2001 From: xuhaihui Date: Tue, 7 Apr 2026 16:13:10 +0800 Subject: [PATCH] fix(im): pin weixin sidecar sdk install --- scripts/im/package-lock.json | 36 +++++++++++++++++++++++++++ scripts/im/package.json | 11 ++++++++ scripts/im/weixin_sidecar.mjs | 2 +- web/src/i18n/locales/en/settings.json | 2 +- web/src/i18n/locales/ja/settings.json | 2 +- web/src/i18n/locales/zh/settings.json | 2 +- 6 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 scripts/im/package-lock.json create mode 100644 scripts/im/package.json diff --git a/scripts/im/package-lock.json b/scripts/im/package-lock.json new file mode 100644 index 00000000..1656a3e0 --- /dev/null +++ b/scripts/im/package-lock.json @@ -0,0 +1,36 @@ +{ + "name": "cccc-weixin-sidecar", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "cccc-weixin-sidecar", + "dependencies": { + "weixin-agent-sdk": "0.4.0" + }, + "engines": { + "node": ">=22" + } + }, + "node_modules/qrcode-terminal": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz", + "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==", + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/weixin-agent-sdk": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/weixin-agent-sdk/-/weixin-agent-sdk-0.4.0.tgz", + "integrity": "sha512-r3dZEqy5ht/SdMyLnm666f8VYT8akPdgjwBcPtkrf09i4XE+aP38x03Ls1XvPf7L8Ej4pRp/eehG/6plmM8evg==", + "license": "MIT", + "dependencies": { + "qrcode-terminal": "0.12.0" + }, + "engines": { + "node": ">=22" + } + } + } +} diff --git a/scripts/im/package.json b/scripts/im/package.json new file mode 100644 index 00000000..31561feb --- /dev/null +++ b/scripts/im/package.json @@ -0,0 +1,11 @@ +{ + "name": "cccc-weixin-sidecar", + "private": true, + "type": "module", + "engines": { + "node": ">=22" + }, + "dependencies": { + "weixin-agent-sdk": "0.4.0" + } +} diff --git a/scripts/im/weixin_sidecar.mjs b/scripts/im/weixin_sidecar.mjs index b3c27fcb..7ab68a34 100644 --- a/scripts/im/weixin_sidecar.mjs +++ b/scripts/im/weixin_sidecar.mjs @@ -114,7 +114,7 @@ async function main() { }); emit("error", { message: - "failed to import weixin-agent-sdk; install it first, e.g. npm install weixin-agent-sdk", + "failed to import weixin-agent-sdk; install scripts/im dependencies first, e.g. cd scripts/im && npm install", }); process.exit(1); } diff --git a/web/src/i18n/locales/en/settings.json b/web/src/i18n/locales/en/settings.json index bb3fbd15..ca9b0698 100644 --- a/web/src/i18n/locales/en/settings.json +++ b/web/src/i18n/locales/en/settings.json @@ -569,7 +569,7 @@ "weixinAccountIdHint": "Optional; falls back to the first logged-in account managed by `weixin-agent-sdk`.", "weixinCommand": "Sidecar command (optional)", "weixinCommandHint": "Optional; overrides the default `node scripts/im/weixin_sidecar.mjs` launch command.", - "weixinPackageHint": "The host needs Node.js and the `weixin-agent-sdk` npm package. Complete WeChat login before first use.", + "weixinPackageHint": "The host needs Node.js. Run `cd scripts/im && npm install` first so the pinned `weixin-agent-sdk@0.4.0` dependency is installed before the first WeChat login.", "weixinLoginTitle": "Weixin Login", "weixinLoginStatus": "Login status", "weixinCurrentAccount": "Current account", diff --git a/web/src/i18n/locales/ja/settings.json b/web/src/i18n/locales/ja/settings.json index 23c096c3..294fb2f9 100644 --- a/web/src/i18n/locales/ja/settings.json +++ b/web/src/i18n/locales/ja/settings.json @@ -569,7 +569,7 @@ "weixinAccountIdHint": "任意です。空欄の場合は `weixin-agent-sdk` が管理する最初のログイン済みアカウントを使います。", "weixinCommand": "Sidecar コマンド(任意)", "weixinCommandHint": "任意です。既定の `node scripts/im/weixin_sidecar.mjs` 起動コマンドを上書きします。", - "weixinPackageHint": "ホスト側に Node.js と npm パッケージ `weixin-agent-sdk` が必要です。初回利用前に WeChat ログインを済ませてください。", + "weixinPackageHint": "ホスト側に Node.js が必要です。初回の WeChat ログイン前に、`scripts/im` で `npm install` を実行して固定済みの `weixin-agent-sdk@0.4.0` 依存関係を導入してください。", "weixinLoginTitle": "Weixin ログイン", "weixinLoginStatus": "ログイン状態", "weixinCurrentAccount": "現在のアカウント", diff --git a/web/src/i18n/locales/zh/settings.json b/web/src/i18n/locales/zh/settings.json index b95dc82b..b2885e27 100644 --- a/web/src/i18n/locales/zh/settings.json +++ b/web/src/i18n/locales/zh/settings.json @@ -569,7 +569,7 @@ "weixinAccountIdHint": "可选;为空时使用 `weixin-agent-sdk` 的默认首个已登录账号。", "weixinCommand": "Sidecar 命令(可选)", "weixinCommandHint": "可选;覆盖默认的 `node scripts/im/weixin_sidecar.mjs` 启动命令。", - "weixinPackageHint": "宿主机需要 Node.js 和 npm 包 `weixin-agent-sdk`。首次使用前先完成微信登录。", + "weixinPackageHint": "宿主机需要 Node.js,并先在 `scripts/im` 下执行 `npm install` 安装已固定的 `weixin-agent-sdk@0.4.0` 依赖。首次使用前先完成微信登录。", "weixinLoginTitle": "微信登录", "weixinLoginStatus": "登录状态", "weixinCurrentAccount": "当前账号",