openclawsetup 2.3.0 → 2.4.0
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/bin/cli.mjs +32 -36
- package/package.json +1 -1
package/bin/cli.mjs
CHANGED
|
@@ -1128,50 +1128,26 @@ async function showInteractiveMenu(existing) {
|
|
|
1128
1128
|
showDashboardAccessInfo();
|
|
1129
1129
|
|
|
1130
1130
|
console.log(colors.cyan('\n请选择操作:'));
|
|
1131
|
-
console.log(` ${colors.yellow('1')}.
|
|
1132
|
-
console.log(` ${colors.yellow('2')}.
|
|
1133
|
-
console.log(` ${colors.yellow('3')}.
|
|
1134
|
-
console.log(` ${colors.yellow('4')}.
|
|
1135
|
-
console.log(` ${colors.yellow('5')}.
|
|
1136
|
-
console.log(` ${colors.yellow('6')}.
|
|
1137
|
-
console.log(` ${colors.yellow('7')}. 重新安装 - 完全重新安装`);
|
|
1138
|
-
console.log(` ${colors.yellow('8')}. 卸载 - 完全卸载 OpenClaw`);
|
|
1131
|
+
console.log(` ${colors.yellow('1')}. 检查修复 - 诊断并自动修复问题`);
|
|
1132
|
+
console.log(` ${colors.yellow('2')}. 检查更新 - 有更新则自动更新`);
|
|
1133
|
+
console.log(` ${colors.yellow('3')}. 配置模型 - 配置 AI 模型`);
|
|
1134
|
+
console.log(` ${colors.yellow('4')}. 配置 Chat - 配置聊天渠道`);
|
|
1135
|
+
console.log(` ${colors.yellow('5')}. 重新安装 - 完全重新安装`);
|
|
1136
|
+
console.log(` ${colors.yellow('6')}. 卸载 - 完全卸载 OpenClaw`);
|
|
1139
1137
|
console.log(` ${colors.yellow('0')}. 退出`);
|
|
1140
1138
|
|
|
1141
|
-
const choice = await askQuestion('\n请输入选项 (0-
|
|
1139
|
+
const choice = await askQuestion('\n请输入选项 (0-6): ');
|
|
1142
1140
|
|
|
1143
1141
|
switch (choice.trim()) {
|
|
1144
1142
|
case '1':
|
|
1145
|
-
await runHealthCheck(cliName, false);
|
|
1146
|
-
await waitForEnter('\n按回车返回菜单...');
|
|
1147
|
-
break;
|
|
1148
|
-
case '2':
|
|
1149
1143
|
await runHealthCheck(cliName, true);
|
|
1150
1144
|
await waitForEnter('\n按回车返回菜单...');
|
|
1151
1145
|
break;
|
|
1152
|
-
case '
|
|
1146
|
+
case '2':
|
|
1153
1147
|
await updateOpenClaw(cliName);
|
|
1154
1148
|
await waitForEnter('\n按回车返回菜单...');
|
|
1155
1149
|
break;
|
|
1156
|
-
case '
|
|
1157
|
-
console.log(colors.cyan('\n重启 Gateway...'));
|
|
1158
|
-
const restartResult = safeExec(`${cliName} gateway restart`);
|
|
1159
|
-
if (restartResult.ok) {
|
|
1160
|
-
log.success('Gateway 已重启');
|
|
1161
|
-
} else {
|
|
1162
|
-
log.error('重启失败: ' + (restartResult.error || ''));
|
|
1163
|
-
}
|
|
1164
|
-
await waitForEnter('\n按回车返回菜单...');
|
|
1165
|
-
break;
|
|
1166
|
-
case '5':
|
|
1167
|
-
console.log(colors.cyan('\n显示最近日志(按 Ctrl+C 退出)...\n'));
|
|
1168
|
-
spawnSync(cliName, ['gateway', 'logs', '--tail', '50'], {
|
|
1169
|
-
stdio: 'inherit',
|
|
1170
|
-
shell: true,
|
|
1171
|
-
});
|
|
1172
|
-
await waitForEnter('\n按回车返回菜单...');
|
|
1173
|
-
break;
|
|
1174
|
-
case '6':
|
|
1150
|
+
case '3':
|
|
1175
1151
|
console.log(colors.cyan('\n启动模型配置...'));
|
|
1176
1152
|
spawnSync('npx', ['openclawapi@latest'], {
|
|
1177
1153
|
stdio: 'inherit',
|
|
@@ -1179,7 +1155,27 @@ async function showInteractiveMenu(existing) {
|
|
|
1179
1155
|
});
|
|
1180
1156
|
await waitForEnter('\n按回车返回菜单...');
|
|
1181
1157
|
break;
|
|
1182
|
-
case '
|
|
1158
|
+
case '4':
|
|
1159
|
+
console.log(colors.cyan('\n选择聊天渠道:'));
|
|
1160
|
+
console.log(` ${colors.yellow('a')}. Discord - npx openclawdc`);
|
|
1161
|
+
console.log(` ${colors.yellow('b')}. 飞书 - npx openclaw-chat-cn@latest feishu`);
|
|
1162
|
+
console.log(` ${colors.yellow('c')}. Telegram - 通过 openclaw onboard 配置`);
|
|
1163
|
+
console.log(` ${colors.yellow('0')}. 返回`);
|
|
1164
|
+
const chatChoice = await askQuestion('\n请选择 (a/b/c/0): ');
|
|
1165
|
+
switch (chatChoice.trim().toLowerCase()) {
|
|
1166
|
+
case 'a':
|
|
1167
|
+
spawnSync('npx', ['openclawdc@latest'], { stdio: 'inherit', shell: true });
|
|
1168
|
+
break;
|
|
1169
|
+
case 'b':
|
|
1170
|
+
spawnSync('npx', ['openclaw-chat-cn@latest', 'feishu'], { stdio: 'inherit', shell: true });
|
|
1171
|
+
break;
|
|
1172
|
+
case 'c':
|
|
1173
|
+
spawnSync(cliName, ['onboard'], { stdio: 'inherit', shell: true });
|
|
1174
|
+
break;
|
|
1175
|
+
}
|
|
1176
|
+
await waitForEnter('\n按回车返回菜单...');
|
|
1177
|
+
break;
|
|
1178
|
+
case '5':
|
|
1183
1179
|
console.log(colors.yellow('\n即将重新安装 OpenClaw...'));
|
|
1184
1180
|
const confirmReinstall = await askQuestion('确认重新安装?(y/N): ');
|
|
1185
1181
|
if (confirmReinstall.toLowerCase() === 'y') {
|
|
@@ -1189,7 +1185,7 @@ async function showInteractiveMenu(existing) {
|
|
|
1189
1185
|
showCompletionInfo(newCliName);
|
|
1190
1186
|
}
|
|
1191
1187
|
break;
|
|
1192
|
-
case '
|
|
1188
|
+
case '6':
|
|
1193
1189
|
console.log(colors.red('\n⚠ 警告:卸载将删除所有配置!'));
|
|
1194
1190
|
const confirmUninstall = await askQuestion('确认卸载?(y/N): ');
|
|
1195
1191
|
if (confirmUninstall.toLowerCase() === 'y') {
|
|
@@ -1203,7 +1199,7 @@ async function showInteractiveMenu(existing) {
|
|
|
1203
1199
|
console.log(colors.gray('\n再见!'));
|
|
1204
1200
|
process.exit(0);
|
|
1205
1201
|
default:
|
|
1206
|
-
log.warn('无效选项,请输入 0-
|
|
1202
|
+
log.warn('无效选项,请输入 0-6');
|
|
1207
1203
|
}
|
|
1208
1204
|
}
|
|
1209
1205
|
}
|