@wecom/wecom-openclaw-cli 1.0.10 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -34,7 +34,7 @@ npm install -g @wecom/wecom-openclaw-cli
34
34
  安装完成后,可以直接使用 `wecom-openclaw-cli` 命令:
35
35
 
36
36
  ```bash
37
- wecom-openclaw-cli --help
37
+ npx -y @wecom/wecom-openclaw-cli --help
38
38
  ```
39
39
 
40
40
  ## 命令
@@ -46,16 +46,22 @@ wecom-openclaw-cli --help
46
46
  > **提示**:如果插件已安装,`install` 会自动进入更新流程,无需手动调用 `update`。
47
47
 
48
48
  ```bash
49
- wecom-openclaw-cli install
49
+ npx -y @wecom/wecom-openclaw-cli install
50
50
 
51
51
  # 指定版本安装
52
- wecom-openclaw-cli install --version 1.2.0
52
+ npx -y @wecom/wecom-openclaw-cli install --version 1.2.0
53
53
 
54
54
  # 强制重新安装(清除已有插件和配置后全量重装)
55
- wecom-openclaw-cli install --force
55
+ npx -y @wecom/wecom-openclaw-cli install --force
56
56
 
57
57
  # 指定 npm 包名(适用于私有源或自定义包名场景)
58
- wecom-openclaw-cli install --package-name @my-scope/my-plugin
58
+ npx -y @wecom/wecom-openclaw-cli install --package-name @my-scope/my-plugin
59
+
60
+ # 跳过 channels 配置引导(有历史配置则自动恢复,无则跳过)
61
+ npx -y @wecom/wecom-openclaw-cli install --skip-config
62
+
63
+ # 强制重装并跳过配置引导
64
+ npx -y @wecom/wecom-openclaw-cli install --force --skip-config
59
65
  ```
60
66
 
61
67
  | 参数 | 说明 |
@@ -63,35 +69,33 @@ wecom-openclaw-cli install --package-name @my-scope/my-plugin
63
69
  | `--version <version>` | 安装指定版本的插件 |
64
70
  | `--package-name <packageName>` | 指定 npm 包名(默认 `@wecom/wecom-openclaw-plugin`) |
65
71
  | `--force` | 强制重新安装,清除已有插件目录和配置 |
72
+ | `--skip-config` | 跳过 channels 配置引导(有历史配置则自动恢复,无则跳过) |
66
73
 
67
74
  ### `update` — 更新插件
68
75
 
69
- 将已安装的企业微信插件更新到最新版本或指定版本。更新完成后会自动运行 `doctor` 诊断检查。
76
+ 将已安装的企业微信插件更新到最新版本。更新完成后会自动运行 `doctor` 诊断检查。
70
77
 
71
78
  ```bash
72
- wecom-openclaw-cli update
73
-
74
- # 更新到指定版本
75
- wecom-openclaw-cli update --version 1.3.0
79
+ # 更新默认插件(wecom-openclaw-plugin)
80
+ npx -y @wecom/wecom-openclaw-cli update
76
81
 
77
- # 指定 npm 包名
78
- wecom-openclaw-cli update --package-name @my-scope/my-plugin
82
+ # 指定插件名进行更新
83
+ npx -y @wecom/wecom-openclaw-cli update wecom-openclaw-plugin
79
84
  ```
80
85
 
81
86
  | 参数 | 说明 |
82
87
  |------|------|
83
- | `--version <version>` | 更新到指定版本的插件 |
84
- | `--package-name <packageName>` | 指定 npm 包名(默认 `@wecom/wecom-openclaw-plugin`) |
88
+ | `[pluginName]` | 可选,指定要更新的插件名(默认 `wecom-openclaw-plugin`) |
85
89
 
86
90
  ### `info` — 查看信息
87
91
 
88
92
  显示 CLI 版本、OpenClaw 版本、插件版本和环境信息。
89
93
 
90
94
  ```bash
91
- wecom-openclaw-cli info
95
+ npx -y @wecom/wecom-openclaw-cli info
92
96
 
93
97
  # 显示完整详情(含配置状态、冲突插件检测、npm 源连通性及脱敏后的配置内容)
94
- wecom-openclaw-cli info --all
98
+ npx -y @wecom/wecom-openclaw-cli info --all
95
99
  ```
96
100
 
97
101
  | 参数 | 说明 |
@@ -103,10 +107,10 @@ wecom-openclaw-cli info --all
103
107
  全面检查插件安装状态,包括:插件目录、依赖完整性、配置正确性、冲突插件检测和 channel 配置。
104
108
 
105
109
  ```bash
106
- wecom-openclaw-cli doctor
110
+ npx -y @wecom/wecom-openclaw-cli doctor
107
111
 
108
112
  # 自动修复检测到的问题
109
- wecom-openclaw-cli doctor --fix
113
+ npx -y @wecom/wecom-openclaw-cli doctor --fix
110
114
  ```
111
115
 
112
116
  | 参数 | 说明 |
@@ -118,9 +122,9 @@ wecom-openclaw-cli doctor --fix
118
122
  ### 版本查看
119
123
 
120
124
  ```bash
121
- wecom-openclaw-cli -V
125
+ npx -y @wecom/wecom-openclaw-cli -V
122
126
  # 或
123
- wecom-openclaw-cli --cli-version
127
+ npx -y @wecom/wecom-openclaw-cli --cli-version
124
128
  ```
125
129
 
126
130
  ## License
@@ -1 +1 @@
1
- {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA8GhF"}
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA+HhF"}
@@ -109,7 +109,21 @@ async function infoCommand(options = {}) {
109
109
  console.log(chalk.bold(`${registry} `) + chalk.red('❌ 不可达'));
110
110
  }
111
111
  }
112
- // 4.5 配置详情(脱敏处理)
112
+ // 4.5 openws WebSocket 服务连通性(TCP 端口检测)
113
+ console.log('');
114
+ console.log(chalk.bold.underline('服务连通性:'));
115
+ const openWsReachable = await new Promise((resolve) => {
116
+ const net = require('net');
117
+ const socket = new net.Socket();
118
+ socket.setTimeout(5000);
119
+ socket.once('connect', () => { socket.destroy(); resolve(true); });
120
+ socket.once('timeout', () => { socket.destroy(); resolve(false); });
121
+ socket.once('error', () => { resolve(false); });
122
+ socket.connect(443, 'openws.work.weixin.qq.com');
123
+ });
124
+ console.log(chalk.bold('openws.work.weixin.qq.com ') +
125
+ (openWsReachable ? chalk.green('✅ 网络正常') : chalk.red('❌ 网络不通')));
126
+ // 4.6 配置详情(脱敏处理)
113
127
  console.log('');
114
128
  console.log(chalk.bold.underline('配置详情:'));
115
129
  const sanitizedConfig = JSON.parse(JSON.stringify(config$1));
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sources":["../../src/commands/info.ts"],"sourcesContent":[null],"names":["pkg","getPlatformCommand","runCommandQuiet","getPluginPackageName","getPluginVersion","os","getConfigPath","fs","config","readConfig","PLUGIN_NAME","CONFLICT_PLUGINS","NPM_REGISTRIES","CHANNEL_NAME"],"mappings":"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"}
1
+ {"version":3,"file":"info.js","sources":["../../src/commands/info.ts"],"sourcesContent":[null],"names":["pkg","getPlatformCommand","runCommandQuiet","getPluginPackageName","getPluginVersion","os","getConfigPath","fs","config","readConfig","PLUGIN_NAME","CONFLICT_PLUGINS","NPM_REGISTRIES","CHANNEL_NAME"],"mappings":"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"}
@@ -1,9 +1,27 @@
1
1
  /**
2
2
  * install 命令
3
+ *
4
+ * 流程概览:
5
+ * ┌─ force 模式 ─────────────────────────────────────┐
6
+ * │ 1. 禁用冲突插件并清理 plugins 配置 │
7
+ * │ 2. 移除冲突插件目录和当前插件目录 │
8
+ * │ 3. 备份并移除 channels.wecom → 安装插件 → 处理配置还原 │
9
+ * └──────────────────────────────────────────────────┘
10
+ * ┌─ 已安装(更新模式)──────────────────────────────────┐
11
+ * │ 1. 备份并移除 channels.wecom │
12
+ * │ 2. 执行更新 │
13
+ * │ 3. 处理配置还原 │
14
+ * └──────────────────────────────────────────────────┘
15
+ * ┌─ 全新安装 ───────────────────────────────────────────┐
16
+ * │ 1. 校验版本号 / 检查 openclaw 版本 │
17
+ * │ 2. 禁用冲突插件并移除冲突目录 │
18
+ * │ 3. 备份并移除 channels.wecom → 安装插件 → 处理配置还原 │
19
+ * └──────────────────────────────────────────────────┘
3
20
  */
4
21
  export declare function installCommand(options: {
5
22
  version?: string;
6
23
  packageName?: string;
7
24
  force?: boolean;
25
+ skipConfig?: boolean;
8
26
  }): Promise<void>;
9
27
  //# sourceMappingURL=install.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAwDA;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkHxH"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AA+HA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2I9I"}
@@ -31,133 +31,223 @@ var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
31
31
  var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
32
32
 
33
33
  /**
34
- * 确保 channel 配置正确
34
+ * 备份并移除 channels.wecom 配置
35
+ * @returns 如果之前有完整配置(botId 和 secret 都有),返回备份;否则返回 null
35
36
  */
36
- async function ensureChannelConfig() {
37
+ async function backupAndRemoveChannelConfig() {
38
+ const config$1 = await config.readConfig();
39
+ let backup = null;
40
+ if (config$1.channels?.[constants.CHANNEL_NAME]) {
41
+ const channelConfig = config$1.channels[constants.CHANNEL_NAME];
42
+ // 只有 botId 和 secret 都有时才备份
43
+ if (channelConfig.botId && channelConfig.secret) {
44
+ backup = { ...channelConfig };
45
+ console.log(chalk.blue(`已备份 channels.${constants.CHANNEL_NAME} 配置。`));
46
+ }
47
+ // 无论是否备份成功,都删除 channels.wecom 配置
48
+ delete config$1.channels[constants.CHANNEL_NAME];
49
+ console.log(chalk.blue(`已移除 channels.${constants.CHANNEL_NAME} 配置。`));
50
+ await config.writeConfig(config$1);
51
+ }
52
+ return backup;
53
+ }
54
+ /**
55
+ * 安装后:处理 channels.wecom 配置还原或新建
56
+ * @param backup 之前备份的配置(可能为 null)
57
+ * @param skipConfig 是否跳过配置引导
58
+ */
59
+ async function handleChannelConfigAfterInstall(backup, skipConfig) {
60
+ const config$1 = await config.readConfig();
61
+ if (!config$1.channels)
62
+ config$1.channels = {};
63
+ if (backup) {
64
+ // 之前有完整配置
65
+ if (skipConfig) {
66
+ // --skip-config:默认恢复
67
+ config$1.channels[constants.CHANNEL_NAME] = backup;
68
+ console.log(chalk.green(`已自动恢复 channels.${constants.CHANNEL_NAME} 配置。`));
69
+ }
70
+ else {
71
+ // 未指定 --skip-config:引导用户选择是否恢复
72
+ const restore = await prompts.promptRestoreChannelConfig(backup.botId);
73
+ if (restore) {
74
+ config$1.channels[constants.CHANNEL_NAME] = backup;
75
+ console.log(chalk.green(`已恢复 channels.${constants.CHANNEL_NAME} 配置。`));
76
+ }
77
+ else {
78
+ // 用户不恢复,走新建引导
79
+ await configureNewChannel(config$1);
80
+ }
81
+ }
82
+ }
83
+ else {
84
+ // 之前没有完整配置
85
+ if (skipConfig) {
86
+ // --skip-config:不出引导,跳过
87
+ console.log(chalk.yellow(`跳过 channels.${constants.CHANNEL_NAME} 配置(无历史配置可恢复)。`));
88
+ }
89
+ else {
90
+ // 未指定 --skip-config:出引导配置
91
+ await configureNewChannel(config$1);
92
+ }
93
+ }
94
+ // 更新 plugins.allow
95
+ if (!config$1.plugins)
96
+ config$1.plugins = {};
97
+ if (!config$1.plugins.allow)
98
+ config$1.plugins.allow = [];
99
+ if (!config$1.plugins.allow.includes(constants.PLUGIN_NAME)) {
100
+ config$1.plugins.allow.push(constants.PLUGIN_NAME);
101
+ }
102
+ await config.writeConfig(config$1);
103
+ }
104
+ /**
105
+ * 引导用户配置新的 channel
106
+ */
107
+ async function configureNewChannel(config) {
37
108
  console.log(chalk.blue('正在配置 channels...'));
38
- const newConfig = await config.readConfig();
39
- if (!newConfig.channels)
40
- newConfig.channels = {};
41
- if (!newConfig.channels[constants.CHANNEL_NAME]) {
42
- newConfig.channels[constants.CHANNEL_NAME] = {
109
+ if (!config.channels)
110
+ config.channels = {};
111
+ if (!config.channels[constants.CHANNEL_NAME]) {
112
+ config.channels[constants.CHANNEL_NAME] = {
43
113
  enabled: true,
44
114
  botId: '',
45
115
  secret: '',
46
- dmPolicy: 'pairing',
116
+ dmPolicy: 'open',
47
117
  allowFrom: [],
48
118
  };
49
119
  }
50
120
  // 处理 botId
51
- if (newConfig.channels[constants.CHANNEL_NAME].botId) {
52
- const confirm = await prompts.promptConfirmBotId(newConfig.channels[constants.CHANNEL_NAME].botId);
121
+ if (config.channels[constants.CHANNEL_NAME].botId) {
122
+ const confirm = await prompts.promptConfirmBotId(config.channels[constants.CHANNEL_NAME].botId);
53
123
  if (!confirm) {
54
- newConfig.channels[constants.CHANNEL_NAME].botId = await prompts.promptBotId();
124
+ config.channels[constants.CHANNEL_NAME].botId = await prompts.promptBotId();
55
125
  // 如果 botId 变更,清除旧的 secret
56
- delete newConfig.channels[constants.CHANNEL_NAME].secret;
126
+ delete config.channels[constants.CHANNEL_NAME].secret;
57
127
  }
58
128
  }
59
129
  else {
60
- newConfig.channels[constants.CHANNEL_NAME].botId = await prompts.promptBotId();
130
+ config.channels[constants.CHANNEL_NAME].botId = await prompts.promptBotId();
61
131
  }
62
132
  // 处理 secret
63
- if (!newConfig.channels[constants.CHANNEL_NAME].secret) {
64
- newConfig.channels[constants.CHANNEL_NAME].secret = await prompts.promptSecret();
133
+ if (!config.channels[constants.CHANNEL_NAME].secret) {
134
+ config.channels[constants.CHANNEL_NAME].secret = await prompts.promptSecret();
65
135
  }
66
- // 更新 plugins.allow
67
- if (!newConfig.plugins)
68
- newConfig.plugins = {};
69
- if (!newConfig.plugins.allow)
70
- newConfig.plugins.allow = [];
71
- if (!newConfig.plugins.allow.includes(constants.PLUGIN_NAME)) {
72
- newConfig.plugins.allow.push(constants.PLUGIN_NAME);
73
- }
74
- await config.writeConfig(newConfig);
75
136
  }
76
137
  /**
77
138
  * install 命令
139
+ *
140
+ * 流程概览:
141
+ * ┌─ force 模式 ─────────────────────────────────────┐
142
+ * │ 1. 禁用冲突插件并清理 plugins 配置 │
143
+ * │ 2. 移除冲突插件目录和当前插件目录 │
144
+ * │ 3. 备份并移除 channels.wecom → 安装插件 → 处理配置还原 │
145
+ * └──────────────────────────────────────────────────┘
146
+ * ┌─ 已安装(更新模式)──────────────────────────────────┐
147
+ * │ 1. 备份并移除 channels.wecom │
148
+ * │ 2. 执行更新 │
149
+ * │ 3. 处理配置还原 │
150
+ * └──────────────────────────────────────────────────┘
151
+ * ┌─ 全新安装 ───────────────────────────────────────────┐
152
+ * │ 1. 校验版本号 / 检查 openclaw 版本 │
153
+ * │ 2. 禁用冲突插件并移除冲突目录 │
154
+ * │ 3. 备份并移除 channels.wecom → 安装插件 → 处理配置还原 │
155
+ * └──────────────────────────────────────────────────┘
78
156
  */
79
157
  async function installCommand(options) {
80
158
  console.log(chalk.blue('开始安装...'));
81
- // 0. force 模式:清理所有已有安装和配置,重新全量安装
159
+ // =============================================
160
+ // 分支一:force 模式 — 清理一切,重新安装
161
+ // =============================================
82
162
  if (options.force) {
83
163
  console.log(chalk.yellow('强制安装模式,正在清理已有安装...'));
84
- // 禁用冲突插件并清除 channels.wecom 配置(合并为一次读写)
164
+ // 步骤 1:禁用冲突插件并清理 plugins 配置
85
165
  console.log(chalk.blue('正在禁用冲突插件并清理配置...'));
86
166
  const currentConfig = await config.readConfig();
87
167
  const cleanedConfig = await plugin.disableConflictPlugins(currentConfig);
88
- // 移除插件本身的配置(包含 channels.wecom)
168
+ // 移除插件本身的 plugins 配置(保留 channels,由后面统一处理)
89
169
  plugin.removePluginConfig(cleanedConfig, constants.PLUGIN_NAME);
90
170
  await config.writeConfig(cleanedConfig);
91
- // 移除所有冲突目录
171
+ // 步骤 2:移除冲突插件目录和当前插件目录
92
172
  for (const conflictPath of constants.CONFLICT_PLUGIN_PATHS) {
93
173
  if (await fs__namespace.pathExists(conflictPath)) {
94
174
  console.log(chalk.blue(`正在移除冲突的插件目录: ${conflictPath}...`));
95
175
  await fs__namespace.remove(conflictPath);
96
176
  }
97
177
  }
98
- // 移除 wecom-openclaw-plugin 目录
99
178
  if (await fs__namespace.pathExists(constants.PLUGIN_PATH)) {
100
179
  console.log(chalk.blue(`正在移除插件目录: ${constants.PLUGIN_PATH}...`));
101
180
  await fs__namespace.remove(constants.PLUGIN_PATH);
102
181
  }
182
+ // 步骤 3:备份并移除 channels.wecom → 安装插件 → 处理配置还原
183
+ const channelBackup = await backupAndRemoveChannelConfig();
184
+ console.log(chalk.blue('正在安装官方 WeCom 插件...'));
185
+ if (!plugin.installPluginFromRegistry(options.version, options.packageName)) {
186
+ process.exit(1);
187
+ }
188
+ await handleChannelConfigAfterInstall(channelBackup, !!options.skipConfig);
189
+ // =============================================
190
+ // 分支二:已安装 — 走更新流程
191
+ // =============================================
103
192
  }
104
193
  else if (await fs__namespace.pathExists(constants.PLUGIN_PATH)) {
105
- // 1. 非 force 模式下检查已有安装,走更新流程
106
194
  console.log(chalk.yellow('插件已安装,开始更新流程...'));
107
- const newVersion = await update.updateCommand(options, true);
108
- // 更新后验证配置
109
- await ensureChannelConfig();
110
- if (newVersion) {
111
- console.log(chalk.green(`更新完成!新版本: ${newVersion}`));
112
- }
113
- else {
114
- console.log(chalk.green('更新完成!'));
115
- }
195
+ // 步骤 1:备份并移除 channels.wecom
196
+ const channelBackup = await backupAndRemoveChannelConfig();
197
+ // 步骤 2:执行更新
198
+ const newVersion = await update.updateCommand(undefined, true);
199
+ // 步骤 3:处理配置还原
200
+ await handleChannelConfigAfterInstall(channelBackup, !!options.skipConfig);
201
+ console.log(chalk.green(newVersion ? `更新完成!新版本: ${newVersion}` : '更新完成!'));
116
202
  return;
203
+ // =============================================
204
+ // 分支三:全新安装
205
+ // =============================================
117
206
  }
118
- // 2. 校验版本号参数
119
- if (options.version && !system.validateVersion(options.version)) {
120
- console.error(chalk.red('错误: 版本号格式不合法,只允许数字、点、连字符和字母。'));
121
- process.exit(1);
122
- }
123
- // 3. 检查 openclaw 版本
124
- try {
125
- const openclawCmd = system.getPlatformCommand('openclaw');
126
- const version = system.runCommandQuiet(`${openclawCmd} --version`);
127
- if (plugin.compareVersions(version, '2026.2.13') < 0) {
128
- console.error(chalk.red(`错误: OpenClaw 版本不匹配,需要 >= 2026.2.13,当前版本 ${version},请升级: openclaw update。`));
207
+ else {
208
+ // 步骤 1:校验版本号参数
209
+ if (options.version && !system.validateVersion(options.version)) {
210
+ console.error(chalk.red('错误: 版本号格式不合法,只允许数字、点、连字符和字母。'));
129
211
  process.exit(1);
130
212
  }
131
- }
132
- catch (error) {
133
- const isWin = process.platform === 'win32';
134
- console.error(chalk.red('错误: OpenClaw 未安装或未添加到 PATH 环境变量。 https://openclaw.ai/'));
135
- if (isWin) {
136
- console.error(chalk.yellow('提示: Windows 用户请确认已将 OpenClaw 安装目录添加到系统 PATH 中,安装后可能需要重启终端。'));
213
+ // 步骤 2:检查 openclaw 版本
214
+ try {
215
+ const openclawCmd = system.getPlatformCommand('openclaw');
216
+ const version = system.runCommandQuiet(`${openclawCmd} --version`);
217
+ if (plugin.compareVersions(version, '2026.2.13') < 0) {
218
+ console.error(chalk.red(`错误: OpenClaw 版本不匹配,需要 >= 2026.2.13,当前版本 ${version},请升级: openclaw update。`));
219
+ process.exit(1);
220
+ }
137
221
  }
138
- process.exit(1);
139
- }
140
- // 4. 禁用冲突插件(force 模式下已在前面执行过,跳过)
141
- if (!options.force) {
222
+ catch (error) {
223
+ const isWin = process.platform === 'win32';
224
+ console.error(chalk.red('错误: OpenClaw 未安装或未添加到 PATH 环境变量。 https://openclaw.ai/'));
225
+ if (isWin) {
226
+ console.error(chalk.yellow('提示: Windows 用户请确认已将 OpenClaw 安装目录添加到系统 PATH 中,安装后可能需要重启终端。'));
227
+ }
228
+ process.exit(1);
229
+ }
230
+ // 步骤 3:禁用冲突插件
142
231
  console.log(chalk.blue('正在禁用冲突插件...'));
143
232
  await plugin.disableConflictPlugins();
144
- // 5. 移除冲突目录
233
+ // 步骤 4:移除冲突目录
145
234
  for (const conflictPath of constants.CONFLICT_PLUGIN_PATHS) {
146
235
  if (await fs__namespace.pathExists(conflictPath)) {
147
236
  console.log(chalk.blue(`正在移除冲突的插件目录: ${conflictPath}...`));
148
237
  await fs__namespace.remove(conflictPath);
149
238
  }
150
239
  }
240
+ // 步骤 5:备份并移除 channels.wecom → 安装插件 → 处理配置还原
241
+ const channelBackup = await backupAndRemoveChannelConfig();
242
+ console.log(chalk.blue('正在安装官方 WeCom 插件...'));
243
+ if (!plugin.installPluginFromRegistry(options.version, options.packageName)) {
244
+ process.exit(1);
245
+ }
246
+ await handleChannelConfigAfterInstall(channelBackup, !!options.skipConfig);
151
247
  }
152
- // 6. 安装官方插件
153
- console.log(chalk.blue('正在安装官方 WeCom 插件...'));
154
- const installed = plugin.installPluginFromRegistry(options.version, options.packageName);
155
- if (!installed) {
156
- process.exit(1);
157
- }
158
- // 7. 配置 channels
159
- await ensureChannelConfig();
160
- // 8. 最终验证
248
+ // =============================================
249
+ // 公共步骤:验证安装结果 & 重启网关
250
+ // =============================================
161
251
  console.log(chalk.blue('正在验证安装...'));
162
252
  const finalConfig = await config.readConfig();
163
253
  const checks = [
@@ -165,7 +255,17 @@ async function installCommand(options) {
165
255
  await fs__namespace.pathExists(path__namespace.join(constants.PLUGIN_PATH, 'node_modules')),
166
256
  ];
167
257
  if (checks.every(Boolean)) {
168
- console.log(chalk.green('安装完成!你现在可以运行 "openclaw gateway run"。'));
258
+ console.log(chalk.green('安装完成!'));
259
+ // 重启网关
260
+ console.log(chalk.blue('正在重启网关...'));
261
+ try {
262
+ const openclawCmd = system.getPlatformCommand('openclaw');
263
+ system.runCommand(`${openclawCmd} gateway restart`);
264
+ console.log(chalk.green('网关重启成功!'));
265
+ }
266
+ catch (error) {
267
+ console.warn(chalk.yellow('网关重启失败,请手动执行: openclaw gateway restart'));
268
+ }
169
269
  }
170
270
  else {
171
271
  console.warn(chalk.yellow('安装已完成,但部分检查未通过。请运行 "doctor" 命令进行诊断。'));
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sources":["../../src/commands/install.ts"],"sourcesContent":[null],"names":["readConfig","CHANNEL_NAME","promptConfirmBotId","promptBotId","promptSecret","PLUGIN_NAME","writeConfig","disableConflictPlugins","removePluginConfig","CONFLICT_PLUGIN_PATHS","fs","PLUGIN_PATH","updateCommand","validateVersion","getPlatformCommand","runCommandQuiet","compareVersions","installPluginFromRegistry","path"],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sources":["../../src/commands/install.ts"],"sourcesContent":[null],"names":["config","readConfig","CHANNEL_NAME","writeConfig","promptRestoreChannelConfig","PLUGIN_NAME","promptConfirmBotId","promptBotId","promptSecret","disableConflictPlugins","removePluginConfig","CONFLICT_PLUGIN_PATHS","fs","PLUGIN_PATH","installPluginFromRegistry","updateCommand","validateVersion","getPlatformCommand","runCommandQuiet","compareVersions","path","runCommand"],"mappings":"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"}
@@ -1,8 +1,5 @@
1
1
  /**
2
2
  * update 命令
3
3
  */
4
- export declare function updateCommand(options: {
5
- version?: string;
6
- packageName?: string;
7
- }, silent?: boolean): Promise<string | undefined>;
4
+ export declare function updateCommand(pluginName?: string, silent?: boolean): Promise<string | undefined>;
8
5
  //# sourceMappingURL=update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EACnD,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAoC7B"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAsB,aAAa,CACjC,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8B7B"}
@@ -1,23 +1,17 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var system = require('../utils/system.js');
5
4
  var doctor = require('./doctor.js');
6
5
  var plugin = require('../utils/plugin.js');
7
6
 
8
7
  /**
9
8
  * update 命令
10
9
  */
11
- async function updateCommand(options, silent = false) {
10
+ async function updateCommand(pluginName, silent = false) {
12
11
  console.log(chalk.blue('开始更新流程...'));
13
- // 1. 校验版本号参数
14
- if (options.version && !system.validateVersion(options.version)) {
15
- console.error(chalk.red('错误: 版本号格式不合法,只允许数字、点、连字符和字母。'));
16
- process.exit(1);
17
- }
18
- // 2. 更新插件
12
+ // 1. 更新插件
19
13
  console.log(chalk.blue('正在更新插件...'));
20
- const installed = plugin.updatePluginFromRegistry(options.version, options.packageName);
14
+ const installed = plugin.updatePluginFromRegistry(pluginName);
21
15
  if (!installed) {
22
16
  process.exit(1);
23
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sources":["../../src/commands/update.ts"],"sourcesContent":[null],"names":["validateVersion","updatePluginFromRegistry","doctorCommand","getPluginVersion"],"mappings":";;;;;;;AAKA;;AAEG;AACI,eAAe,aAAa,CACjC,OAAmD,EACnD,SAAkB,KAAK,EAAA;IAEvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;AAGpC,IAAA,IAAI,OAAO,CAAC,OAAO,IAAI,CAACA,sBAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACxD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AACxD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;;IAGA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpC,IAAA,MAAM,SAAS,GAAGC,+BAAwB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC;IAChF,IAAI,CAAC,SAAS,EAAE;AACd,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;;IAGA,MAAMC,oBAAa,EAAE;;AAGrB,IAAA,MAAM,OAAO,GAAG,MAAMC,uBAAgB,EAAE;IACxC,IAAI,OAAO,EAAE;QACX,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA,UAAA,EAAa,OAAO,CAAA,CAAE,CAAC,CAAC;QAClD;IACF;SAAO;QACL,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,MAAM,CACV,sCAAsC,CACvC,CACF;QACH;IACF;AAEA,IAAA,OAAO,OAAO;AAChB;;;;"}
1
+ {"version":3,"file":"update.js","sources":["../../src/commands/update.ts"],"sourcesContent":[null],"names":["updatePluginFromRegistry","doctorCommand","getPluginVersion"],"mappings":";;;;;;AAIA;;AAEG;AACI,eAAe,aAAa,CACjC,UAAmB,EACnB,SAAkB,KAAK,EAAA;IAEvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;IAGpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpC,IAAA,MAAM,SAAS,GAAGA,+BAAwB,CAAC,UAAU,CAAC;IACtD,IAAI,CAAC,SAAS,EAAE;AACd,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;;IAGA,MAAMC,oBAAa,EAAE;;AAGrB,IAAA,MAAM,OAAO,GAAG,MAAMC,uBAAgB,EAAE;IACxC,IAAI,OAAO,EAAE;QACX,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA,UAAA,EAAa,OAAO,CAAA,CAAE,CAAC,CAAC;QAClD;IACF;SAAO;QACL,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,MAAM,CACV,sCAAsC,CACvC,CACF;QACH;IACF;AAEA,IAAA,OAAO,OAAO;AAChB;;;;"}
package/dist/index.js CHANGED
@@ -24,6 +24,7 @@ program
24
24
  .option('--version <version>', '安装指定版本的插件')
25
25
  .option('--package-name <packageName>', '指定 npm 包名(默认 @wecom/wecom-openclaw-plugin)')
26
26
  .option('--force', '强制重新安装,清除已有插件和配置')
27
+ .option('--skip-config', '跳过 channels 配置引导(有历史配置则自动恢复,无则跳过)')
27
28
  .action(async (options) => {
28
29
  await install.installCommand(options);
29
30
  });
@@ -45,12 +46,10 @@ program
45
46
  }
46
47
  });
47
48
  program
48
- .command('update')
49
+ .command('update [pluginName]')
49
50
  .description('更新企业微信官方插件')
50
- .option('--version <version>', '更新到指定版本的插件')
51
- .option('--package-name <packageName>', '指定 npm 包名(默认 @wecom/wecom-openclaw-plugin)')
52
- .action(async (options) => {
53
- await update.updateCommand(options);
51
+ .action(async (pluginName) => {
52
+ await update.updateCommand(pluginName);
54
53
  });
55
54
  program.parse(process.argv);
56
55
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["Command","pkg","installCommand","infoCommand","doctorCommand","updateCommand"],"mappings":";;;;;;;;;;AAOA;AACA,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,KAAI;AACvC,IAAA,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC;AAC7B,IAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,IAAIA,iBAAO,EAAE;AAE7B;KACG,IAAI,CAAC,oBAAoB;KACzB,WAAW,CAAC,sBAAsB;AAClC,KAAA,OAAO,CAACC,gBAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC;AAE5C;KACG,OAAO,CAAC,SAAS;KACjB,WAAW,CAAC,eAAe;AAC3B,KAAA,MAAM,CAAC,qBAAqB,EAAE,WAAW;AACzC,KAAA,MAAM,CAAC,8BAA8B,EAAE,4CAA4C;AACnF,KAAA,MAAM,CAAC,SAAS,EAAE,kBAAkB;AACpC,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAMC,sBAAc,CAAC,OAAO,CAAC;AAC/B,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,MAAM;KACd,WAAW,CAAC,QAAQ;AACpB,KAAA,MAAM,CAAC,OAAO,EAAE,eAAe;AAC/B,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAMC,gBAAW,CAAC,OAAO,CAAC;AAC5B,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,QAAQ;KAChB,WAAW,CAAC,QAAQ;AACpB,KAAA,MAAM,CAAC,OAAO,EAAE,UAAU;AAC1B,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAM,MAAM,GAAG,MAAMC,oBAAa,CAAC,OAAO,CAAC;IAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;AAC3B,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACF,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,QAAQ;KAChB,WAAW,CAAC,YAAY;AACxB,KAAA,MAAM,CAAC,qBAAqB,EAAE,YAAY;AAC1C,KAAA,MAAM,CAAC,8BAA8B,EAAE,4CAA4C;AACnF,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAMC,oBAAa,CAAC,OAAO,CAAC;AAC9B,CAAC,CAAC;AAEJ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["Command","pkg","installCommand","infoCommand","doctorCommand","updateCommand"],"mappings":";;;;;;;;;;AAOA;AACA,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,KAAI;AACvC,IAAA,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC;AAC7B,IAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,IAAIA,iBAAO,EAAE;AAE7B;KACG,IAAI,CAAC,oBAAoB;KACzB,WAAW,CAAC,sBAAsB;AAClC,KAAA,OAAO,CAACC,gBAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC;AAE5C;KACG,OAAO,CAAC,SAAS;KACjB,WAAW,CAAC,eAAe;AAC3B,KAAA,MAAM,CAAC,qBAAqB,EAAE,WAAW;AACzC,KAAA,MAAM,CAAC,8BAA8B,EAAE,4CAA4C;AACnF,KAAA,MAAM,CAAC,SAAS,EAAE,kBAAkB;AACpC,KAAA,MAAM,CAAC,eAAe,EAAE,mCAAmC;AAC3D,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAMC,sBAAc,CAAC,OAAO,CAAC;AAC/B,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,MAAM;KACd,WAAW,CAAC,QAAQ;AACpB,KAAA,MAAM,CAAC,OAAO,EAAE,eAAe;AAC/B,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAMC,gBAAW,CAAC,OAAO,CAAC;AAC5B,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,QAAQ;KAChB,WAAW,CAAC,QAAQ;AACpB,KAAA,MAAM,CAAC,OAAO,EAAE,UAAU;AAC1B,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAM,MAAM,GAAG,MAAMC,oBAAa,CAAC,OAAO,CAAC;IAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;AAC3B,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACF,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,qBAAqB;KAC7B,WAAW,CAAC,YAAY;AACxB,KAAA,MAAM,CAAC,OAAO,UAAU,KAAI;AAC3B,IAAA,MAAMC,oBAAa,CAAC,UAAU,CAAC;AACjC,CAAC,CAAC;AAEJ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;;"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var name = "@wecom/wecom-openclaw-cli";
6
- var version = "1.0.10";
6
+ var version = "1.0.12";
7
7
  var description = "CLI for managing WeCom official plugin for OpenClaw";
8
8
  var main = "dist/index.js";
9
9
  var type = "commonjs";
@@ -38,8 +38,8 @@ const CONFLICT_PLUGINS = ['wecom', 'openclaw-wecom', 'wecom-openclaw'];
38
38
  const CONFLICT_PLUGIN_PATHS = CONFLICT_PLUGINS.map(name => path__namespace.join(EXTENSIONS_DIR, name));
39
39
  /** npm 源列表(按优先级排序,第一个失败后依次尝试后续源) */
40
40
  const NPM_REGISTRIES = [
41
- 'http://mirrors.cloud.tencent.com/npm/',
42
41
  'https://registry.npmjs.org/',
42
+ 'http://mirrors.cloud.tencent.com/npm/',
43
43
  ];
44
44
 
45
45
  exports.CHANNEL_NAME = CHANNEL_NAME;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../src/utils/constants.ts"],"sourcesContent":[null],"names":["getExtensionsDir","path"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACO,MAAM,cAAc,GAAGA,uBAAgB;AAE9C;AACO,MAAM,WAAW,GAAG;AAE3B;AACO,MAAM,YAAY,GAAG;AAE5B;AACO,MAAM,WAAW,GAAGC,eAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW;AAEhE;AACO,MAAM,oBAAoB,GAAG;AAEpC;AACO,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB;AAE5E;MACa,qBAAqB,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAIA,eAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;AAEjG;AACO,MAAM,cAAc,GAAG;IAC5B,uCAAuC;IACvC,6BAA6B;;;;;;;;;;;;"}
1
+ {"version":3,"file":"constants.js","sources":["../../src/utils/constants.ts"],"sourcesContent":[null],"names":["getExtensionsDir","path"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACO,MAAM,cAAc,GAAGA,uBAAgB;AAE9C;AACO,MAAM,WAAW,GAAG;AAE3B;AACO,MAAM,YAAY,GAAG;AAE5B;AACO,MAAM,WAAW,GAAGC,eAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW;AAEhE;AACO,MAAM,oBAAoB,GAAG;AAEpC;AACO,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB;AAE5E;MACa,qBAAqB,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAIA,eAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;AAEjG;AACO,MAAM,cAAc,GAAG;IAC5B,6BAA6B;IAC7B,uCAAuC;;;;;;;;;;;;"}
@@ -10,9 +10,10 @@ export declare function compareVersions(v1: string, v2: string): number;
10
10
  export declare function installPluginFromRegistry(version?: string, packageName?: string): boolean;
11
11
  /**
12
12
  * 从多个 npm 源尝试更新插件(插件已安装时使用)
13
+ * @param pluginName 插件名(默认使用 PLUGIN_NAME)
13
14
  * @returns 是否更新成功
14
15
  */
15
- export declare function updatePluginFromRegistry(version?: string, packageName?: string): boolean;
16
+ export declare function updatePluginFromRegistry(pluginName?: string): boolean;
16
17
  /**
17
18
  * 获取已安装插件的版本号
18
19
  * @returns 版本号字符串,未安装或读取失败时返回 undefined
@@ -29,5 +30,7 @@ export declare function disableConflictPlugins(config?: any): Promise<any>;
29
30
  /**
30
31
  * 移除指定插件在 plugins 中的所有配置(entries / installs / allow)
31
32
  */
32
- export declare function removePluginConfig(config: any, pluginName: string): void;
33
+ export declare function removePluginConfig(config: any, pluginName: string, options?: {
34
+ keepChannelConfig?: boolean;
35
+ }): void;
33
36
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/utils/plugin.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAU9D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CA2BzF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CA0BxF;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAWpE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAWxE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAkCvE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CA+BxE"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/utils/plugin.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAU9D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CA2BzF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAuBrE;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAWpE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAWxE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAkCvE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAiCnH"}
@@ -84,19 +84,17 @@ function installPluginFromRegistry(version, packageName) {
84
84
  }
85
85
  /**
86
86
  * 从多个 npm 源尝试更新插件(插件已安装时使用)
87
+ * @param pluginName 插件名(默认使用 PLUGIN_NAME)
87
88
  * @returns 是否更新成功
88
89
  */
89
- function updatePluginFromRegistry(version, packageName) {
90
- const resolvedPackageName = packageName || constants.DEFAULT_PACKAGE_NAME;
91
- const packageIdentifier = version
92
- ? `${resolvedPackageName}@${version}`
93
- : resolvedPackageName;
90
+ function updatePluginFromRegistry(pluginName) {
91
+ const resolvedPluginName = pluginName || constants.PLUGIN_NAME;
94
92
  const openclawCmd = system.getPlatformCommand('openclaw');
95
93
  for (let i = 0; i < constants.NPM_REGISTRIES.length; i++) {
96
94
  const registry = constants.NPM_REGISTRIES[i];
97
95
  try {
98
- console.log(chalk.blue(`正在从 ${registry} 更新插件 ${packageIdentifier}...`));
99
- system.runCommandWithEnv(`${openclawCmd} plugins update ${packageIdentifier}`, { npm_config_registry: registry });
96
+ console.log(chalk.blue(`正在从 ${registry} 更新插件 ${resolvedPluginName}...`));
97
+ system.runCommandWithEnv(`${openclawCmd} plugins update ${resolvedPluginName}`, { npm_config_registry: registry });
100
98
  return true;
101
99
  }
102
100
  catch (error) {
@@ -180,7 +178,7 @@ async function disableConflictPlugins(config$1) {
180
178
  /**
181
179
  * 移除指定插件在 plugins 中的所有配置(entries / installs / allow)
182
180
  */
183
- function removePluginConfig(config, pluginName) {
181
+ function removePluginConfig(config, pluginName, options) {
184
182
  if (!config.plugins)
185
183
  return;
186
184
  // 从 entries 中移除
@@ -200,10 +198,9 @@ function removePluginConfig(config, pluginName) {
200
198
  if (Array.isArray(config.plugins.allow)) {
201
199
  config.plugins.allow = config.plugins.allow.filter((name) => name !== pluginName);
202
200
  }
203
- // 清除 channels 配置
201
+ // 清除 channels 配置(如果指定了 keepChannelConfig 则保留)
204
202
  if (config.channels?.[constants.CHANNEL_NAME]) {
205
- delete config.channels[constants.CHANNEL_NAME];
206
- console.log(chalk.blue(`已清除 channels.${constants.CHANNEL_NAME} 配置。`));
203
+ console.log(chalk.blue(`已保留 channels.${constants.CHANNEL_NAME} 配置。`));
207
204
  }
208
205
  }
209
206
 
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["../../src/utils/plugin.ts"],"sourcesContent":[null],"names":["DEFAULT_PACKAGE_NAME","getPlatformCommand","NPM_REGISTRIES","runCommandWithEnv","path","PLUGIN_PATH","fs","config","readConfig","CONFLICT_PLUGINS","writeConfig","CHANNEL_NAME"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sources":["../../src/utils/plugin.ts"],"sourcesContent":[null],"names":["DEFAULT_PACKAGE_NAME","getPlatformCommand","NPM_REGISTRIES","runCommandWithEnv","PLUGIN_NAME","path","PLUGIN_PATH","fs","config","readConfig","CONFLICT_PLUGINS","writeConfig","CHANNEL_NAME"],"mappings":"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"}
@@ -13,6 +13,10 @@ export declare function promptConfirmBotId(currentBotId: string): Promise<boolea
13
13
  * 单独提示输入 botId
14
14
  */
15
15
  export declare function promptBotId(): Promise<string>;
16
+ /**
17
+ * 确认是否还原之前的 channels.wecom 配置
18
+ */
19
+ export declare function promptRestoreChannelConfig(botId: string): Promise<boolean>;
16
20
  /**
17
21
  * 单独提示输入 secret
18
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBpF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAU/E;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAUnD;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAWpD"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBpF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAU/E;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAUnD;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhF;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAWpD"}
@@ -50,6 +50,20 @@ async function promptBotId() {
50
50
  ]);
51
51
  return answer.botId;
52
52
  }
53
+ /**
54
+ * 确认是否还原之前的 channels.wecom 配置
55
+ */
56
+ async function promptRestoreChannelConfig(botId) {
57
+ const answer = await inquirer.prompt([
58
+ {
59
+ type: 'confirm',
60
+ name: 'confirm',
61
+ message: `检测到之前的 channels.wecom 配置(Bot ID: ${botId}),是否还原?`,
62
+ default: true,
63
+ },
64
+ ]);
65
+ return answer.confirm;
66
+ }
53
67
  /**
54
68
  * 单独提示输入 secret
55
69
  */
@@ -69,5 +83,6 @@ async function promptSecret() {
69
83
  exports.promptBotId = promptBotId;
70
84
  exports.promptBotIdSecret = promptBotIdSecret;
71
85
  exports.promptConfirmBotId = promptConfirmBotId;
86
+ exports.promptRestoreChannelConfig = promptRestoreChannelConfig;
72
87
  exports.promptSecret = promptSecret;
73
88
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sources":["../../src/utils/prompts.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAEA;;AAEG;AACI,eAAe,iBAAiB,GAAA;IACrC,OAAO,QAAQ,CAAC,MAAM,CAAC;AACrB,QAAA;AACE,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,QAAQ,EAAE,CAAC,KAAa,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAC5D,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,QAAQ,EAAE,CAAC,KAAa,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAC5D,SAAA;AACF,KAAA,CAAC;AACJ;AAEA;;AAEG;AACI,eAAe,kBAAkB,CAAC,YAAoB,EAAA;AAC3D,IAAA,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;AACnC,QAAA;AACE,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAA,mBAAA,EAAsB,YAAY,CAAA,QAAA,CAAU;AACrD,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACF,KAAA,CAAC;IACF,OAAO,MAAM,CAAC,OAAO;AACvB;AAEA;;AAEG;AACI,eAAe,WAAW,GAAA;AAC/B,IAAA,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;AACnC,QAAA;AACE,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,QAAQ,EAAE,CAAC,KAAa,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAC5D,SAAA;AACF,KAAA,CAAC;IACF,OAAO,MAAM,CAAC,KAAK;AACrB;AAEA;;AAEG;AACI,eAAe,YAAY,GAAA;AAChC,IAAA,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;AACnC,QAAA;AACE,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,QAAQ,EAAE,CAAC,KAAa,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAC5D,SAAA;AACF,KAAA,CAAC;IACF,OAAO,MAAM,CAAC,MAAM;AACtB;;;;;;;"}
1
+ {"version":3,"file":"prompts.js","sources":["../../src/utils/prompts.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAEA;;AAEG;AACI,eAAe,iBAAiB,GAAA;IACrC,OAAO,QAAQ,CAAC,MAAM,CAAC;AACrB,QAAA;AACE,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,QAAQ,EAAE,CAAC,KAAa,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAC5D,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,QAAQ,EAAE,CAAC,KAAa,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAC5D,SAAA;AACF,KAAA,CAAC;AACJ;AAEA;;AAEG;AACI,eAAe,kBAAkB,CAAC,YAAoB,EAAA;AAC3D,IAAA,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;AACnC,QAAA;AACE,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAA,mBAAA,EAAsB,YAAY,CAAA,QAAA,CAAU;AACrD,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACF,KAAA,CAAC;IACF,OAAO,MAAM,CAAC,OAAO;AACvB;AAEA;;AAEG;AACI,eAAe,WAAW,GAAA;AAC/B,IAAA,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;AACnC,QAAA;AACE,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,QAAQ,EAAE,CAAC,KAAa,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAC5D,SAAA;AACF,KAAA,CAAC;IACF,OAAO,MAAM,CAAC,KAAK;AACrB;AAEA;;AAEG;AACI,eAAe,0BAA0B,CAAC,KAAa,EAAA;AAC5D,IAAA,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;AACnC,QAAA;AACE,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAA,iCAAA,EAAoC,KAAK,CAAA,OAAA,CAAS;AAC3D,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACF,KAAA,CAAC;IACF,OAAO,MAAM,CAAC,OAAO;AACvB;AAEA;;AAEG;AACI,eAAe,YAAY,GAAA;AAChC,IAAA,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;AACnC,QAAA;AACE,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,QAAQ,EAAE,CAAC,KAAa,MAAM,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AAC5D,SAAA;AACF,KAAA,CAAC;IACF,OAAO,MAAM,CAAC,MAAM;AACtB;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wecom/wecom-openclaw-cli",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "description": "CLI for managing WeCom official plugin for OpenClaw",
5
5
  "main": "dist/index.js",
6
6
  "type": "commonjs",