ccman 3.0.10 → 3.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/dist/index.js +193 -219
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2023,7 +2023,7 @@ var require_toml = __commonJS({
|
|
|
2023
2023
|
|
|
2024
2024
|
// src/index.ts
|
|
2025
2025
|
var import_commander = require("commander");
|
|
2026
|
-
var
|
|
2026
|
+
var import_chalk18 = __toESM(require("chalk"));
|
|
2027
2027
|
|
|
2028
2028
|
// src/utils/logo.ts
|
|
2029
2029
|
var import_chalk = __toESM(require("chalk"));
|
|
@@ -2044,13 +2044,13 @@ function printLogo() {
|
|
|
2044
2044
|
}
|
|
2045
2045
|
|
|
2046
2046
|
// src/commands/codex/add.ts
|
|
2047
|
-
var
|
|
2047
|
+
var import_chalk4 = __toESM(require("chalk"));
|
|
2048
2048
|
var import_inquirer2 = __toESM(require("inquirer"));
|
|
2049
2049
|
|
|
2050
2050
|
// ../core/package.json
|
|
2051
2051
|
var package_default = {
|
|
2052
2052
|
name: "@ccman/core",
|
|
2053
|
-
version: "3.0.
|
|
2053
|
+
version: "3.0.12",
|
|
2054
2054
|
type: "module",
|
|
2055
2055
|
description: "Core business logic for ccman",
|
|
2056
2056
|
main: "./dist/index.js",
|
|
@@ -2288,6 +2288,11 @@ var CC_PRESETS = [
|
|
|
2288
2288
|
baseUrl: "https://www.88code.org/api",
|
|
2289
2289
|
description: "88Code API \u670D\u52A1"
|
|
2290
2290
|
},
|
|
2291
|
+
{
|
|
2292
|
+
name: "KKYYXX",
|
|
2293
|
+
baseUrl: "https://api.kkyyxx.xyz",
|
|
2294
|
+
description: "KKYYXX API \u670D\u52A1"
|
|
2295
|
+
},
|
|
2291
2296
|
{
|
|
2292
2297
|
name: "BigModel",
|
|
2293
2298
|
baseUrl: "https://open.bigmodel.cn/api/anthropic",
|
|
@@ -2706,7 +2711,30 @@ var VERSION = package_default.version;
|
|
|
2706
2711
|
|
|
2707
2712
|
// src/interactive.ts
|
|
2708
2713
|
var import_inquirer = __toESM(require("inquirer"));
|
|
2714
|
+
var import_chalk3 = __toESM(require("chalk"));
|
|
2715
|
+
|
|
2716
|
+
// src/utils/format.ts
|
|
2709
2717
|
var import_chalk2 = __toESM(require("chalk"));
|
|
2718
|
+
function formatProviderTable(providers, currentId) {
|
|
2719
|
+
const lines = [];
|
|
2720
|
+
lines.push("");
|
|
2721
|
+
providers.forEach((p, index) => {
|
|
2722
|
+
const isCurrent = p.id === currentId;
|
|
2723
|
+
const marker = isCurrent ? import_chalk2.default.green("\u25CF") : import_chalk2.default.gray("\u25CB");
|
|
2724
|
+
const name = isCurrent ? import_chalk2.default.green.bold(p.name) : import_chalk2.default.white(p.name);
|
|
2725
|
+
const tag = isCurrent ? import_chalk2.default.green(" [\u5F53\u524D]") : "";
|
|
2726
|
+
lines.push(` ${marker} ${name}${tag}`);
|
|
2727
|
+
const url = isCurrent ? import_chalk2.default.green(p.baseUrl) : import_chalk2.default.gray(p.baseUrl);
|
|
2728
|
+
lines.push(` ${url}`);
|
|
2729
|
+
if (index < providers.length - 1) {
|
|
2730
|
+
lines.push("");
|
|
2731
|
+
}
|
|
2732
|
+
});
|
|
2733
|
+
lines.push("");
|
|
2734
|
+
return lines.join("\n");
|
|
2735
|
+
}
|
|
2736
|
+
|
|
2737
|
+
// src/interactive.ts
|
|
2710
2738
|
async function promptProviderForm(defaults) {
|
|
2711
2739
|
const answers = await import_inquirer.default.prompt([
|
|
2712
2740
|
{
|
|
@@ -2767,7 +2795,7 @@ async function startMainMenu() {
|
|
|
2767
2795
|
}
|
|
2768
2796
|
]);
|
|
2769
2797
|
if (choice === "exit") {
|
|
2770
|
-
console.log(
|
|
2798
|
+
console.log(import_chalk3.default.gray("\n\u{1F44B} \u518D\u89C1!\n"));
|
|
2771
2799
|
break;
|
|
2772
2800
|
}
|
|
2773
2801
|
if (choice === "claude") {
|
|
@@ -2835,7 +2863,7 @@ async function showToolMenu(tool) {
|
|
|
2835
2863
|
break;
|
|
2836
2864
|
}
|
|
2837
2865
|
} catch (error) {
|
|
2838
|
-
console.error(
|
|
2866
|
+
console.error(import_chalk3.default.red(`
|
|
2839
2867
|
\u274C ${error.message}
|
|
2840
2868
|
`));
|
|
2841
2869
|
}
|
|
@@ -2849,13 +2877,13 @@ async function showToolMenu(tool) {
|
|
|
2849
2877
|
}
|
|
2850
2878
|
}
|
|
2851
2879
|
async function showPresetsMenu() {
|
|
2852
|
-
console.log(
|
|
2880
|
+
console.log(import_chalk3.default.yellow("\n\u26A0\uFE0F \u9884\u7F6E\u670D\u52A1\u5546\u7BA1\u7406\u529F\u80FD\u5373\u5C06\u63A8\u51FA\n"));
|
|
2853
2881
|
}
|
|
2854
2882
|
async function handleAdd(tool) {
|
|
2855
2883
|
const manager = tool === "codex" ? createCodexManager() : createClaudeManager();
|
|
2856
2884
|
const toolName = tool === "claude" ? "Claude" : "Codex";
|
|
2857
2885
|
const presets = manager.listPresets();
|
|
2858
|
-
console.log(
|
|
2886
|
+
console.log(import_chalk3.default.bold(`
|
|
2859
2887
|
\u{1F4DD} \u6DFB\u52A0 ${toolName} \u670D\u52A1\u5546
|
|
2860
2888
|
`));
|
|
2861
2889
|
const { usePreset } = await import_inquirer.default.prompt([
|
|
@@ -2885,7 +2913,7 @@ async function handleAdd(tool) {
|
|
|
2885
2913
|
}
|
|
2886
2914
|
]);
|
|
2887
2915
|
const preset = presets.find((p) => p.name === presetName);
|
|
2888
|
-
console.log(
|
|
2916
|
+
console.log(import_chalk3.default.blue(`
|
|
2889
2917
|
\u4F7F\u7528\u9884\u8BBE: ${preset.name} - ${preset.description}
|
|
2890
2918
|
`));
|
|
2891
2919
|
const input = await promptProviderForm({
|
|
@@ -2930,10 +2958,10 @@ async function handleAdd(tool) {
|
|
|
2930
2958
|
}
|
|
2931
2959
|
const provider = manager.add({ name, baseUrl, apiKey });
|
|
2932
2960
|
console.log();
|
|
2933
|
-
console.log(
|
|
2961
|
+
console.log(import_chalk3.default.green("\u2705 \u6DFB\u52A0\u6210\u529F"));
|
|
2934
2962
|
console.log();
|
|
2935
|
-
console.log(` ${
|
|
2936
|
-
console.log(` ${
|
|
2963
|
+
console.log(` ${import_chalk3.default.bold(provider.name)} ${import_chalk3.default.blue(`[${toolName}]`)}`);
|
|
2964
|
+
console.log(` ${import_chalk3.default.gray(provider.baseUrl)}`);
|
|
2937
2965
|
console.log();
|
|
2938
2966
|
const { switchNow } = await import_inquirer.default.prompt([
|
|
2939
2967
|
{
|
|
@@ -2945,9 +2973,9 @@ async function handleAdd(tool) {
|
|
|
2945
2973
|
]);
|
|
2946
2974
|
if (switchNow) {
|
|
2947
2975
|
manager.switch(provider.id);
|
|
2948
|
-
console.log(
|
|
2976
|
+
console.log(import_chalk3.default.green("\u2705 \u5DF2\u5207\u6362\u5230\u65B0\u670D\u52A1\u5546\n"));
|
|
2949
2977
|
} else {
|
|
2950
|
-
console.log(
|
|
2978
|
+
console.log(import_chalk3.default.blue("\u{1F4A1} \u7A0D\u540E\u5207\u6362:") + import_chalk3.default.white(` ccman ${tool === "codex" ? "cx" : "cc"} use "${provider.name}"
|
|
2951
2979
|
`));
|
|
2952
2980
|
}
|
|
2953
2981
|
}
|
|
@@ -2956,7 +2984,7 @@ async function handleSwitch(tool) {
|
|
|
2956
2984
|
const providers = manager.list();
|
|
2957
2985
|
const current = manager.getCurrent();
|
|
2958
2986
|
if (providers.length === 0) {
|
|
2959
|
-
console.log(
|
|
2987
|
+
console.log(import_chalk3.default.yellow("\n\u26A0\uFE0F \u6682\u65E0\u670D\u52A1\u5546\n"));
|
|
2960
2988
|
return;
|
|
2961
2989
|
}
|
|
2962
2990
|
const { providerId } = await import_inquirer.default.prompt([
|
|
@@ -2965,14 +2993,14 @@ async function handleSwitch(tool) {
|
|
|
2965
2993
|
name: "providerId",
|
|
2966
2994
|
message: "\u9009\u62E9\u8981\u5207\u6362\u7684\u670D\u52A1\u5546:",
|
|
2967
2995
|
choices: providers.map((p) => ({
|
|
2968
|
-
name: `${p.name}${current?.id === p.id ?
|
|
2996
|
+
name: `${p.name}${current?.id === p.id ? import_chalk3.default.green(" (\u5F53\u524D)") : ""}`,
|
|
2969
2997
|
value: p.id
|
|
2970
2998
|
}))
|
|
2971
2999
|
}
|
|
2972
3000
|
]);
|
|
2973
3001
|
manager.switch(providerId);
|
|
2974
3002
|
const provider = providers.find((p) => p.id === providerId);
|
|
2975
|
-
console.log(
|
|
3003
|
+
console.log(import_chalk3.default.green(`
|
|
2976
3004
|
\u2705 \u5DF2\u5207\u6362\u5230: ${provider.name}
|
|
2977
3005
|
`));
|
|
2978
3006
|
}
|
|
@@ -2982,51 +3010,33 @@ async function handleList(tool) {
|
|
|
2982
3010
|
const current = manager.getCurrent();
|
|
2983
3011
|
const toolName = tool === "claude" ? "Claude" : "Codex";
|
|
2984
3012
|
if (providers.length === 0) {
|
|
2985
|
-
console.log(
|
|
3013
|
+
console.log(import_chalk3.default.yellow(`
|
|
2986
3014
|
\u26A0\uFE0F \u6682\u65E0 ${toolName} \u670D\u52A1\u5546
|
|
2987
3015
|
`));
|
|
2988
3016
|
return;
|
|
2989
3017
|
}
|
|
2990
|
-
console.log(
|
|
2991
|
-
\u{1F4CB} ${toolName} \u670D\u52A1\u5546
|
|
2992
|
-
|
|
2993
|
-
providers.forEach((p) => {
|
|
2994
|
-
const isCurrent = current?.id === p.id;
|
|
2995
|
-
const marker = isCurrent ? import_chalk2.default.green("\u25CF") : import_chalk2.default.gray("\u25CB");
|
|
2996
|
-
const nameStyle = isCurrent ? import_chalk2.default.green.bold : import_chalk2.default.white;
|
|
2997
|
-
console.log(`${marker} ${nameStyle(p.name)}`);
|
|
2998
|
-
console.log(` ${import_chalk2.default.gray(p.baseUrl)}`);
|
|
2999
|
-
if (p.lastUsedAt) {
|
|
3000
|
-
const date = new Date(p.lastUsedAt).toLocaleString("zh-CN");
|
|
3001
|
-
console.log(` ${import_chalk2.default.gray(`\u6700\u540E\u4F7F\u7528: ${date}`)}`);
|
|
3002
|
-
}
|
|
3003
|
-
console.log();
|
|
3004
|
-
});
|
|
3005
|
-
if (current) {
|
|
3006
|
-
console.log(import_chalk2.default.green(`\u2705 \u5F53\u524D\u4F7F\u7528: ${current.name}
|
|
3007
|
-
`));
|
|
3008
|
-
} else {
|
|
3009
|
-
console.log(import_chalk2.default.yellow("\u26A0\uFE0F \u672A\u9009\u62E9\u4EFB\u4F55\u670D\u52A1\u5546\n"));
|
|
3010
|
-
}
|
|
3018
|
+
console.log(import_chalk3.default.bold(`
|
|
3019
|
+
\u{1F4CB} ${toolName} \u670D\u52A1\u5546 (${providers.length} \u4E2A)`));
|
|
3020
|
+
console.log(formatProviderTable(providers, current?.id, toolName));
|
|
3011
3021
|
}
|
|
3012
3022
|
async function handleCurrent(tool) {
|
|
3013
3023
|
const manager = tool === "codex" ? createCodexManager() : createClaudeManager();
|
|
3014
3024
|
const current = manager.getCurrent();
|
|
3015
3025
|
const toolName = tool === "claude" ? "Claude" : "Codex";
|
|
3016
3026
|
if (!current) {
|
|
3017
|
-
console.log(
|
|
3027
|
+
console.log(import_chalk3.default.yellow(`
|
|
3018
3028
|
\u26A0\uFE0F \u672A\u9009\u62E9\u4EFB\u4F55 ${toolName} \u670D\u52A1\u5546
|
|
3019
3029
|
`));
|
|
3020
3030
|
return;
|
|
3021
3031
|
}
|
|
3022
|
-
console.log(
|
|
3032
|
+
console.log(import_chalk3.default.bold(`
|
|
3023
3033
|
\u{1F441}\uFE0F \u5F53\u524D ${toolName} \u670D\u52A1\u5546
|
|
3024
3034
|
`));
|
|
3025
|
-
console.log(` ${
|
|
3026
|
-
console.log(` ${
|
|
3035
|
+
console.log(` ${import_chalk3.default.green.bold(current.name)}`);
|
|
3036
|
+
console.log(` ${import_chalk3.default.gray(current.baseUrl)}`);
|
|
3027
3037
|
if (current.lastUsedAt) {
|
|
3028
3038
|
const date = new Date(current.lastUsedAt).toLocaleString("zh-CN");
|
|
3029
|
-
console.log(` ${
|
|
3039
|
+
console.log(` ${import_chalk3.default.gray(`\u6700\u540E\u4F7F\u7528: ${date}`)}`);
|
|
3030
3040
|
}
|
|
3031
3041
|
console.log();
|
|
3032
3042
|
}
|
|
@@ -3034,7 +3044,7 @@ async function handleEdit(tool) {
|
|
|
3034
3044
|
const manager = tool === "codex" ? createCodexManager() : createClaudeManager();
|
|
3035
3045
|
const providers = manager.list();
|
|
3036
3046
|
if (providers.length === 0) {
|
|
3037
|
-
console.log(
|
|
3047
|
+
console.log(import_chalk3.default.yellow("\n\u26A0\uFE0F \u6682\u65E0\u670D\u52A1\u5546\n"));
|
|
3038
3048
|
return;
|
|
3039
3049
|
}
|
|
3040
3050
|
const { providerId } = await import_inquirer.default.prompt([
|
|
@@ -3082,13 +3092,13 @@ async function handleEdit(tool) {
|
|
|
3082
3092
|
baseUrl: answers.baseUrl,
|
|
3083
3093
|
apiKey: answers.apiKey || void 0
|
|
3084
3094
|
});
|
|
3085
|
-
console.log(
|
|
3095
|
+
console.log(import_chalk3.default.green("\n\u2705 \u7F16\u8F91\u6210\u529F\n"));
|
|
3086
3096
|
}
|
|
3087
3097
|
async function handleClone(tool) {
|
|
3088
3098
|
const manager = tool === "codex" ? createCodexManager() : createClaudeManager();
|
|
3089
3099
|
const providers = manager.list();
|
|
3090
3100
|
if (providers.length === 0) {
|
|
3091
|
-
console.log(
|
|
3101
|
+
console.log(import_chalk3.default.yellow("\n\u26A0\uFE0F \u6682\u65E0\u670D\u52A1\u5546\n"));
|
|
3092
3102
|
return;
|
|
3093
3103
|
}
|
|
3094
3104
|
const { providerId } = await import_inquirer.default.prompt([
|
|
@@ -3124,16 +3134,16 @@ async function handleClone(tool) {
|
|
|
3124
3134
|
baseUrl: provider.baseUrl,
|
|
3125
3135
|
apiKey: answers.apiKey
|
|
3126
3136
|
});
|
|
3127
|
-
console.log(
|
|
3128
|
-
console.log(` ${
|
|
3129
|
-
console.log(` ${
|
|
3137
|
+
console.log(import_chalk3.default.green("\n\u2705 \u514B\u9686\u6210\u529F\n"));
|
|
3138
|
+
console.log(` ${import_chalk3.default.bold(newProvider.name)}`);
|
|
3139
|
+
console.log(` ${import_chalk3.default.gray(newProvider.baseUrl)}`);
|
|
3130
3140
|
console.log();
|
|
3131
3141
|
}
|
|
3132
3142
|
async function handleRemove(tool) {
|
|
3133
3143
|
const manager = tool === "codex" ? createCodexManager() : createClaudeManager();
|
|
3134
3144
|
const providers = manager.list();
|
|
3135
3145
|
if (providers.length === 0) {
|
|
3136
|
-
console.log(
|
|
3146
|
+
console.log(import_chalk3.default.yellow("\n\u26A0\uFE0F \u6682\u65E0\u670D\u52A1\u5546\n"));
|
|
3137
3147
|
return;
|
|
3138
3148
|
}
|
|
3139
3149
|
const { providerId } = await import_inquirer.default.prompt([
|
|
@@ -3158,11 +3168,11 @@ async function handleRemove(tool) {
|
|
|
3158
3168
|
]);
|
|
3159
3169
|
if (confirm) {
|
|
3160
3170
|
manager.remove(providerId);
|
|
3161
|
-
console.log(
|
|
3171
|
+
console.log(import_chalk3.default.green(`
|
|
3162
3172
|
\u2705 \u5DF2\u5220\u9664: ${provider.name}
|
|
3163
3173
|
`));
|
|
3164
3174
|
} else {
|
|
3165
|
-
console.log(
|
|
3175
|
+
console.log(import_chalk3.default.gray("\n\u274C \u5DF2\u53D6\u6D88\n"));
|
|
3166
3176
|
}
|
|
3167
3177
|
}
|
|
3168
3178
|
|
|
@@ -3171,7 +3181,7 @@ function addCommand(program2) {
|
|
|
3171
3181
|
program2.command("add").description("\u6DFB\u52A0\u65B0\u7684 Codex \u670D\u52A1\u5546(\u4EA4\u4E92\u5F0F)").action(async () => {
|
|
3172
3182
|
try {
|
|
3173
3183
|
const manager = createCodexManager();
|
|
3174
|
-
console.log(
|
|
3184
|
+
console.log(import_chalk4.default.bold("\n\u{1F4DD} \u6DFB\u52A0 Codex \u670D\u52A1\u5546\n"));
|
|
3175
3185
|
const { usePreset } = await import_inquirer2.default.prompt([
|
|
3176
3186
|
{
|
|
3177
3187
|
type: "list",
|
|
@@ -3199,7 +3209,7 @@ function addCommand(program2) {
|
|
|
3199
3209
|
}
|
|
3200
3210
|
]);
|
|
3201
3211
|
const preset = CODEX_PRESETS.find((p) => p.name === presetName);
|
|
3202
|
-
console.log(
|
|
3212
|
+
console.log(import_chalk4.default.blue(`
|
|
3203
3213
|
\u4F7F\u7528\u9884\u8BBE: ${preset.name} - ${preset.description}
|
|
3204
3214
|
`));
|
|
3205
3215
|
const input = await promptProviderForm({
|
|
@@ -3250,10 +3260,10 @@ function addCommand(program2) {
|
|
|
3250
3260
|
}
|
|
3251
3261
|
const provider = manager.add({ name, baseUrl, apiKey });
|
|
3252
3262
|
console.log();
|
|
3253
|
-
console.log(
|
|
3263
|
+
console.log(import_chalk4.default.green("\u2705 \u6DFB\u52A0\u6210\u529F"));
|
|
3254
3264
|
console.log();
|
|
3255
|
-
console.log(` ${
|
|
3256
|
-
console.log(` ${
|
|
3265
|
+
console.log(` ${import_chalk4.default.bold(provider.name)} ${import_chalk4.default.blue("[Codex]")}`);
|
|
3266
|
+
console.log(` ${import_chalk4.default.gray(provider.baseUrl)}`);
|
|
3257
3267
|
console.log();
|
|
3258
3268
|
const { switchNow } = await import_inquirer2.default.prompt([
|
|
3259
3269
|
{
|
|
@@ -3265,16 +3275,16 @@ function addCommand(program2) {
|
|
|
3265
3275
|
]);
|
|
3266
3276
|
if (switchNow) {
|
|
3267
3277
|
manager.switch(provider.id);
|
|
3268
|
-
console.log(
|
|
3278
|
+
console.log(import_chalk4.default.green("\u2705 \u5DF2\u5207\u6362\u5230\u65B0\u670D\u52A1\u5546"));
|
|
3269
3279
|
console.log();
|
|
3270
|
-
console.log(
|
|
3271
|
-
console.log(
|
|
3272
|
-
console.log(
|
|
3280
|
+
console.log(import_chalk4.default.gray("\u914D\u7F6E\u5DF2\u66F4\u65B0:"));
|
|
3281
|
+
console.log(import_chalk4.default.gray(` - ${getCodexConfigPath()}`));
|
|
3282
|
+
console.log(import_chalk4.default.gray(` - ${getCodexAuthPath()}`));
|
|
3273
3283
|
} else {
|
|
3274
|
-
console.log(
|
|
3284
|
+
console.log(import_chalk4.default.blue("\u{1F4A1} \u7A0D\u540E\u5207\u6362:") + import_chalk4.default.white(` ccman cx use "${provider.name}"`));
|
|
3275
3285
|
}
|
|
3276
3286
|
} catch (error) {
|
|
3277
|
-
console.error(
|
|
3287
|
+
console.error(import_chalk4.default.red(`
|
|
3278
3288
|
\u274C ${error.message}
|
|
3279
3289
|
`));
|
|
3280
3290
|
process.exit(1);
|
|
@@ -3283,7 +3293,7 @@ function addCommand(program2) {
|
|
|
3283
3293
|
}
|
|
3284
3294
|
|
|
3285
3295
|
// src/commands/codex/list.ts
|
|
3286
|
-
var
|
|
3296
|
+
var import_chalk5 = __toESM(require("chalk"));
|
|
3287
3297
|
function listCommand(program2) {
|
|
3288
3298
|
program2.command("list").alias("ls").description("\u5217\u51FA\u6240\u6709 Codex \u670D\u52A1\u5546").action(async () => {
|
|
3289
3299
|
try {
|
|
@@ -3291,33 +3301,15 @@ function listCommand(program2) {
|
|
|
3291
3301
|
const providers = manager.list();
|
|
3292
3302
|
const current = manager.getCurrent();
|
|
3293
3303
|
if (providers.length === 0) {
|
|
3294
|
-
console.log(
|
|
3295
|
-
console.log(
|
|
3304
|
+
console.log(import_chalk5.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Codex \u670D\u52A1\u5546\n"));
|
|
3305
|
+
console.log(import_chalk5.default.blue("\u{1F4A1} \u6DFB\u52A0\u670D\u52A1\u5546:") + import_chalk5.default.white(" ccman cx add\n"));
|
|
3296
3306
|
return;
|
|
3297
3307
|
}
|
|
3298
|
-
console.log(
|
|
3299
|
-
\u{1F4CB} Codex \u670D\u52A1\u5546
|
|
3300
|
-
|
|
3301
|
-
providers.forEach((p) => {
|
|
3302
|
-
const isCurrent = current?.id === p.id;
|
|
3303
|
-
const marker = isCurrent ? import_chalk4.default.green("\u25CF") : import_chalk4.default.gray("\u25CB");
|
|
3304
|
-
const nameStyle = isCurrent ? import_chalk4.default.green.bold : import_chalk4.default.white;
|
|
3305
|
-
console.log(`${marker} ${nameStyle(p.name)}`);
|
|
3306
|
-
console.log(` ${import_chalk4.default.gray(p.baseUrl)}`);
|
|
3307
|
-
if (p.lastUsedAt) {
|
|
3308
|
-
const date = new Date(p.lastUsedAt).toLocaleString("zh-CN");
|
|
3309
|
-
console.log(` ${import_chalk4.default.gray(`\u6700\u540E\u4F7F\u7528: ${date}`)}`);
|
|
3310
|
-
}
|
|
3311
|
-
console.log();
|
|
3312
|
-
});
|
|
3313
|
-
if (current) {
|
|
3314
|
-
console.log(import_chalk4.default.green(`\u2705 \u5F53\u524D\u4F7F\u7528: ${current.name}
|
|
3315
|
-
`));
|
|
3316
|
-
} else {
|
|
3317
|
-
console.log(import_chalk4.default.yellow("\u26A0\uFE0F \u672A\u9009\u62E9\u4EFB\u4F55\u670D\u52A1\u5546\n"));
|
|
3318
|
-
}
|
|
3308
|
+
console.log(import_chalk5.default.bold(`
|
|
3309
|
+
\u{1F4CB} Codex \u670D\u52A1\u5546 (${providers.length} \u4E2A)`));
|
|
3310
|
+
console.log(formatProviderTable(providers, current?.id, "Codex"));
|
|
3319
3311
|
} catch (error) {
|
|
3320
|
-
console.error(
|
|
3312
|
+
console.error(import_chalk5.default.red(`
|
|
3321
3313
|
\u274C ${error.message}
|
|
3322
3314
|
`));
|
|
3323
3315
|
process.exit(1);
|
|
@@ -3326,7 +3318,7 @@ function listCommand(program2) {
|
|
|
3326
3318
|
}
|
|
3327
3319
|
|
|
3328
3320
|
// src/commands/codex/use.ts
|
|
3329
|
-
var
|
|
3321
|
+
var import_chalk6 = __toESM(require("chalk"));
|
|
3330
3322
|
var import_inquirer3 = __toESM(require("inquirer"));
|
|
3331
3323
|
function useCommand(program2) {
|
|
3332
3324
|
program2.command("use [name]").description("\u5207\u6362 Codex \u670D\u52A1\u5546").action(async (name) => {
|
|
@@ -3334,8 +3326,8 @@ function useCommand(program2) {
|
|
|
3334
3326
|
const manager = createCodexManager();
|
|
3335
3327
|
const providers = manager.list();
|
|
3336
3328
|
if (providers.length === 0) {
|
|
3337
|
-
console.log(
|
|
3338
|
-
console.log(
|
|
3329
|
+
console.log(import_chalk6.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Codex \u670D\u52A1\u5546\n"));
|
|
3330
|
+
console.log(import_chalk6.default.blue("\u{1F4A1} \u6DFB\u52A0\u670D\u52A1\u5546:") + import_chalk6.default.white(" ccman cx add\n"));
|
|
3339
3331
|
return;
|
|
3340
3332
|
}
|
|
3341
3333
|
let targetId;
|
|
@@ -3362,23 +3354,23 @@ function useCommand(program2) {
|
|
|
3362
3354
|
manager.switch(targetId);
|
|
3363
3355
|
const provider = manager.get(targetId);
|
|
3364
3356
|
console.log();
|
|
3365
|
-
console.log(
|
|
3357
|
+
console.log(import_chalk6.default.green("\u2705 \u5207\u6362\u6210\u529F"));
|
|
3366
3358
|
console.log();
|
|
3367
|
-
console.log(` ${
|
|
3368
|
-
console.log(` ${
|
|
3359
|
+
console.log(` ${import_chalk6.default.bold(provider.name)} ${import_chalk6.default.blue("[Codex]")}`);
|
|
3360
|
+
console.log(` ${import_chalk6.default.gray(`URL: ${provider.baseUrl}`)}`);
|
|
3369
3361
|
console.log();
|
|
3370
|
-
console.log(
|
|
3371
|
-
console.log(
|
|
3372
|
-
console.log(
|
|
3362
|
+
console.log(import_chalk6.default.gray("\u914D\u7F6E\u5DF2\u66F4\u65B0:"));
|
|
3363
|
+
console.log(import_chalk6.default.gray(` - ${getCodexConfigPath()}`));
|
|
3364
|
+
console.log(import_chalk6.default.gray(` - ${getCodexAuthPath()}`));
|
|
3373
3365
|
console.log();
|
|
3374
3366
|
} catch (error) {
|
|
3375
3367
|
if (error instanceof ProviderNotFoundError) {
|
|
3376
|
-
console.error(
|
|
3368
|
+
console.error(import_chalk6.default.red(`
|
|
3377
3369
|
\u274C \u670D\u52A1\u5546\u4E0D\u5B58\u5728: ${error.message}
|
|
3378
3370
|
`));
|
|
3379
|
-
console.log(
|
|
3371
|
+
console.log(import_chalk6.default.blue("\u{1F4A1} \u67E5\u770B\u6240\u6709\u670D\u52A1\u5546:") + import_chalk6.default.white(" ccman cx list\n"));
|
|
3380
3372
|
} else {
|
|
3381
|
-
console.error(
|
|
3373
|
+
console.error(import_chalk6.default.red(`
|
|
3382
3374
|
\u274C ${error.message}
|
|
3383
3375
|
`));
|
|
3384
3376
|
}
|
|
@@ -3388,28 +3380,28 @@ function useCommand(program2) {
|
|
|
3388
3380
|
}
|
|
3389
3381
|
|
|
3390
3382
|
// src/commands/codex/current.ts
|
|
3391
|
-
var
|
|
3383
|
+
var import_chalk7 = __toESM(require("chalk"));
|
|
3392
3384
|
function currentCommand(program2) {
|
|
3393
3385
|
program2.command("current").description("\u663E\u793A\u5F53\u524D\u4F7F\u7528\u7684 Codex \u670D\u52A1\u5546").action(async () => {
|
|
3394
3386
|
try {
|
|
3395
3387
|
const manager = createCodexManager();
|
|
3396
3388
|
const current = manager.getCurrent();
|
|
3397
3389
|
if (!current) {
|
|
3398
|
-
console.log(
|
|
3399
|
-
console.log(
|
|
3390
|
+
console.log(import_chalk7.default.yellow("\n\u26A0\uFE0F \u672A\u9009\u62E9\u4EFB\u4F55 Codex \u670D\u52A1\u5546\n"));
|
|
3391
|
+
console.log(import_chalk7.default.blue("\u{1F4A1} \u9009\u62E9\u670D\u52A1\u5546:") + import_chalk7.default.white(" ccman cx use\n"));
|
|
3400
3392
|
return;
|
|
3401
3393
|
}
|
|
3402
|
-
console.log(
|
|
3403
|
-
console.log(` ${
|
|
3404
|
-
console.log(` ${
|
|
3405
|
-
console.log(` ${
|
|
3394
|
+
console.log(import_chalk7.default.bold("\n\u{1F4CD} \u5F53\u524D Codex \u670D\u52A1\u5546\n"));
|
|
3395
|
+
console.log(` ${import_chalk7.default.green.bold(current.name)}`);
|
|
3396
|
+
console.log(` ${import_chalk7.default.gray(`ID: ${current.id}`)}`);
|
|
3397
|
+
console.log(` ${import_chalk7.default.gray(`URL: ${current.baseUrl}`)}`);
|
|
3406
3398
|
if (current.lastUsedAt) {
|
|
3407
3399
|
const date = new Date(current.lastUsedAt).toLocaleString("zh-CN");
|
|
3408
|
-
console.log(` ${
|
|
3400
|
+
console.log(` ${import_chalk7.default.gray(`\u6700\u540E\u4F7F\u7528: ${date}`)}`);
|
|
3409
3401
|
}
|
|
3410
3402
|
console.log();
|
|
3411
3403
|
} catch (error) {
|
|
3412
|
-
console.error(
|
|
3404
|
+
console.error(import_chalk7.default.red(`
|
|
3413
3405
|
\u274C ${error.message}
|
|
3414
3406
|
`));
|
|
3415
3407
|
process.exit(1);
|
|
@@ -3418,7 +3410,7 @@ function currentCommand(program2) {
|
|
|
3418
3410
|
}
|
|
3419
3411
|
|
|
3420
3412
|
// src/commands/codex/remove.ts
|
|
3421
|
-
var
|
|
3413
|
+
var import_chalk8 = __toESM(require("chalk"));
|
|
3422
3414
|
var import_inquirer4 = __toESM(require("inquirer"));
|
|
3423
3415
|
function removeCommand(program2) {
|
|
3424
3416
|
program2.command("remove [name]").alias("rm").description("\u5220\u9664 Codex \u670D\u52A1\u5546").action(async (name) => {
|
|
@@ -3426,7 +3418,7 @@ function removeCommand(program2) {
|
|
|
3426
3418
|
const manager = createCodexManager();
|
|
3427
3419
|
const providers = manager.list();
|
|
3428
3420
|
if (providers.length === 0) {
|
|
3429
|
-
console.log(
|
|
3421
|
+
console.log(import_chalk8.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Codex \u670D\u52A1\u5546\n"));
|
|
3430
3422
|
return;
|
|
3431
3423
|
}
|
|
3432
3424
|
let targetId;
|
|
@@ -3463,21 +3455,21 @@ function removeCommand(program2) {
|
|
|
3463
3455
|
}
|
|
3464
3456
|
]);
|
|
3465
3457
|
if (!confirmed) {
|
|
3466
|
-
console.log(
|
|
3458
|
+
console.log(import_chalk8.default.gray("\n\u5DF2\u53D6\u6D88\n"));
|
|
3467
3459
|
return;
|
|
3468
3460
|
}
|
|
3469
3461
|
manager.remove(targetId);
|
|
3470
3462
|
console.log();
|
|
3471
|
-
console.log(
|
|
3463
|
+
console.log(import_chalk8.default.green(`\u2705 \u5DF2\u5220\u9664: ${targetName}`));
|
|
3472
3464
|
console.log();
|
|
3473
3465
|
} catch (error) {
|
|
3474
3466
|
if (error instanceof ProviderNotFoundError) {
|
|
3475
|
-
console.error(
|
|
3467
|
+
console.error(import_chalk8.default.red(`
|
|
3476
3468
|
\u274C \u670D\u52A1\u5546\u4E0D\u5B58\u5728
|
|
3477
3469
|
`));
|
|
3478
|
-
console.log(
|
|
3470
|
+
console.log(import_chalk8.default.blue("\u{1F4A1} \u67E5\u770B\u6240\u6709\u670D\u52A1\u5546:") + import_chalk8.default.white(" ccman cx list\n"));
|
|
3479
3471
|
} else {
|
|
3480
|
-
console.error(
|
|
3472
|
+
console.error(import_chalk8.default.red(`
|
|
3481
3473
|
\u274C ${error.message}
|
|
3482
3474
|
`));
|
|
3483
3475
|
}
|
|
@@ -3487,7 +3479,7 @@ function removeCommand(program2) {
|
|
|
3487
3479
|
}
|
|
3488
3480
|
|
|
3489
3481
|
// src/commands/codex/edit.ts
|
|
3490
|
-
var
|
|
3482
|
+
var import_chalk9 = __toESM(require("chalk"));
|
|
3491
3483
|
var import_inquirer5 = __toESM(require("inquirer"));
|
|
3492
3484
|
function editCommand(program2) {
|
|
3493
3485
|
program2.command("edit [name]").description("\u7F16\u8F91 Codex \u670D\u52A1\u5546").action(async (name) => {
|
|
@@ -3495,7 +3487,7 @@ function editCommand(program2) {
|
|
|
3495
3487
|
const manager = createCodexManager();
|
|
3496
3488
|
const providers = manager.list();
|
|
3497
3489
|
if (providers.length === 0) {
|
|
3498
|
-
console.log(
|
|
3490
|
+
console.log(import_chalk9.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Codex \u670D\u52A1\u5546\n"));
|
|
3499
3491
|
return;
|
|
3500
3492
|
}
|
|
3501
3493
|
let targetId;
|
|
@@ -3520,8 +3512,8 @@ function editCommand(program2) {
|
|
|
3520
3512
|
targetId = selectedId;
|
|
3521
3513
|
}
|
|
3522
3514
|
const provider = manager.get(targetId);
|
|
3523
|
-
console.log(
|
|
3524
|
-
console.log(
|
|
3515
|
+
console.log(import_chalk9.default.bold("\n\u270F\uFE0F \u7F16\u8F91\u670D\u52A1\u5546\n"));
|
|
3516
|
+
console.log(import_chalk9.default.gray("\u63D0\u793A: \u7559\u7A7A\u5219\u4FDD\u6301\u539F\u503C\n"));
|
|
3525
3517
|
const answers = await import_inquirer5.default.prompt([
|
|
3526
3518
|
{
|
|
3527
3519
|
type: "input",
|
|
@@ -3553,19 +3545,19 @@ function editCommand(program2) {
|
|
|
3553
3545
|
if (answers.baseUrl && answers.baseUrl !== provider.baseUrl) updates.baseUrl = answers.baseUrl;
|
|
3554
3546
|
if (answers.apiKey) updates.apiKey = answers.apiKey;
|
|
3555
3547
|
if (Object.keys(updates).length === 0) {
|
|
3556
|
-
console.log(
|
|
3548
|
+
console.log(import_chalk9.default.gray("\n\u672A\u505A\u4EFB\u4F55\u4FEE\u6539\n"));
|
|
3557
3549
|
return;
|
|
3558
3550
|
}
|
|
3559
3551
|
const updated = manager.edit(targetId, updates);
|
|
3560
3552
|
console.log();
|
|
3561
|
-
console.log(
|
|
3553
|
+
console.log(import_chalk9.default.green("\u2705 \u7F16\u8F91\u6210\u529F"));
|
|
3562
3554
|
console.log();
|
|
3563
|
-
console.log(` ${
|
|
3564
|
-
console.log(` ${
|
|
3565
|
-
console.log(` ${
|
|
3555
|
+
console.log(` ${import_chalk9.default.bold(updated.name)} ${import_chalk9.default.blue("[Codex]")}`);
|
|
3556
|
+
console.log(` ${import_chalk9.default.gray(`ID: ${updated.id}`)}`);
|
|
3557
|
+
console.log(` ${import_chalk9.default.gray(`URL: ${updated.baseUrl}`)}`);
|
|
3566
3558
|
console.log();
|
|
3567
3559
|
} catch (error) {
|
|
3568
|
-
console.error(
|
|
3560
|
+
console.error(import_chalk9.default.red(`
|
|
3569
3561
|
\u274C ${error.message}
|
|
3570
3562
|
`));
|
|
3571
3563
|
process.exit(1);
|
|
@@ -3574,7 +3566,7 @@ function editCommand(program2) {
|
|
|
3574
3566
|
}
|
|
3575
3567
|
|
|
3576
3568
|
// src/commands/codex/clone.ts
|
|
3577
|
-
var
|
|
3569
|
+
var import_chalk10 = __toESM(require("chalk"));
|
|
3578
3570
|
var import_inquirer6 = __toESM(require("inquirer"));
|
|
3579
3571
|
function cloneCommand(program2) {
|
|
3580
3572
|
program2.command("clone [source-name] [new-name]").description("\u514B\u9686 Codex \u670D\u52A1\u5546").action(async (sourceName, newName) => {
|
|
@@ -3582,7 +3574,7 @@ function cloneCommand(program2) {
|
|
|
3582
3574
|
const manager = createCodexManager();
|
|
3583
3575
|
const providers = manager.list();
|
|
3584
3576
|
if (providers.length === 0) {
|
|
3585
|
-
console.log(
|
|
3577
|
+
console.log(import_chalk10.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Codex \u670D\u52A1\u5546\n"));
|
|
3586
3578
|
return;
|
|
3587
3579
|
}
|
|
3588
3580
|
let sourceId;
|
|
@@ -3611,7 +3603,7 @@ function cloneCommand(program2) {
|
|
|
3611
3603
|
if (newName) {
|
|
3612
3604
|
cloned = manager.clone(sourceId, newName);
|
|
3613
3605
|
} else {
|
|
3614
|
-
console.log(
|
|
3606
|
+
console.log(import_chalk10.default.blue(`
|
|
3615
3607
|
\u514B\u9686\u81EA: ${source.name}
|
|
3616
3608
|
`));
|
|
3617
3609
|
const input = await promptProviderForm({
|
|
@@ -3622,14 +3614,14 @@ function cloneCommand(program2) {
|
|
|
3622
3614
|
cloned = manager.add(input);
|
|
3623
3615
|
}
|
|
3624
3616
|
console.log();
|
|
3625
|
-
console.log(
|
|
3617
|
+
console.log(import_chalk10.default.green("\u2705 \u514B\u9686\u6210\u529F"));
|
|
3626
3618
|
console.log();
|
|
3627
|
-
console.log(` ${
|
|
3628
|
-
console.log(` ${
|
|
3629
|
-
console.log(` ${
|
|
3619
|
+
console.log(` ${import_chalk10.default.bold(cloned.name)} ${import_chalk10.default.blue("[Codex]")}`);
|
|
3620
|
+
console.log(` ${import_chalk10.default.gray(`ID: ${cloned.id}`)}`);
|
|
3621
|
+
console.log(` ${import_chalk10.default.gray(`URL: ${cloned.baseUrl}`)}`);
|
|
3630
3622
|
console.log();
|
|
3631
3623
|
} catch (error) {
|
|
3632
|
-
console.error(
|
|
3624
|
+
console.error(import_chalk10.default.red(`
|
|
3633
3625
|
\u274C ${error.message}
|
|
3634
3626
|
`));
|
|
3635
3627
|
process.exit(1);
|
|
@@ -3649,13 +3641,13 @@ function createCodexCommands(program2) {
|
|
|
3649
3641
|
}
|
|
3650
3642
|
|
|
3651
3643
|
// src/commands/claude/add.ts
|
|
3652
|
-
var
|
|
3644
|
+
var import_chalk11 = __toESM(require("chalk"));
|
|
3653
3645
|
var import_inquirer7 = __toESM(require("inquirer"));
|
|
3654
3646
|
function addCommand2(program2) {
|
|
3655
3647
|
program2.command("add").description("\u6DFB\u52A0\u65B0\u7684 Claude Code \u670D\u52A1\u5546(\u4EA4\u4E92\u5F0F)").action(async () => {
|
|
3656
3648
|
try {
|
|
3657
3649
|
const manager = createClaudeManager();
|
|
3658
|
-
console.log(
|
|
3650
|
+
console.log(import_chalk11.default.bold("\n\u{1F4DD} \u6DFB\u52A0 Claude Code \u670D\u52A1\u5546\n"));
|
|
3659
3651
|
const { usePreset } = await import_inquirer7.default.prompt([
|
|
3660
3652
|
{
|
|
3661
3653
|
type: "list",
|
|
@@ -3683,7 +3675,7 @@ function addCommand2(program2) {
|
|
|
3683
3675
|
}
|
|
3684
3676
|
]);
|
|
3685
3677
|
const preset = CC_PRESETS.find((p) => p.name === presetName);
|
|
3686
|
-
console.log(
|
|
3678
|
+
console.log(import_chalk11.default.blue(`
|
|
3687
3679
|
\u4F7F\u7528\u9884\u8BBE: ${preset.name} - ${preset.description}
|
|
3688
3680
|
`));
|
|
3689
3681
|
const input = await promptProviderForm({
|
|
@@ -3734,10 +3726,10 @@ function addCommand2(program2) {
|
|
|
3734
3726
|
}
|
|
3735
3727
|
const provider = manager.add({ name, baseUrl, apiKey });
|
|
3736
3728
|
console.log();
|
|
3737
|
-
console.log(
|
|
3729
|
+
console.log(import_chalk11.default.green("\u2705 \u6DFB\u52A0\u6210\u529F"));
|
|
3738
3730
|
console.log();
|
|
3739
|
-
console.log(` ${
|
|
3740
|
-
console.log(` ${
|
|
3731
|
+
console.log(` ${import_chalk11.default.bold(provider.name)} ${import_chalk11.default.blue("[Claude Code]")}`);
|
|
3732
|
+
console.log(` ${import_chalk11.default.gray(provider.baseUrl)}`);
|
|
3741
3733
|
console.log();
|
|
3742
3734
|
const { switchNow } = await import_inquirer7.default.prompt([
|
|
3743
3735
|
{
|
|
@@ -3749,15 +3741,15 @@ function addCommand2(program2) {
|
|
|
3749
3741
|
]);
|
|
3750
3742
|
if (switchNow) {
|
|
3751
3743
|
manager.switch(provider.id);
|
|
3752
|
-
console.log(
|
|
3744
|
+
console.log(import_chalk11.default.green("\u2705 \u5DF2\u5207\u6362\u5230\u65B0\u670D\u52A1\u5546"));
|
|
3753
3745
|
console.log();
|
|
3754
|
-
console.log(
|
|
3755
|
-
console.log(
|
|
3746
|
+
console.log(import_chalk11.default.gray("\u914D\u7F6E\u5DF2\u66F4\u65B0:"));
|
|
3747
|
+
console.log(import_chalk11.default.gray(` - ${getClaudeConfigPath()}`));
|
|
3756
3748
|
} else {
|
|
3757
|
-
console.log(
|
|
3749
|
+
console.log(import_chalk11.default.blue("\u{1F4A1} \u7A0D\u540E\u5207\u6362:") + import_chalk11.default.white(` ccman cc use "${provider.name}"`));
|
|
3758
3750
|
}
|
|
3759
3751
|
} catch (error) {
|
|
3760
|
-
console.error(
|
|
3752
|
+
console.error(import_chalk11.default.red(`
|
|
3761
3753
|
\u274C ${error.message}
|
|
3762
3754
|
`));
|
|
3763
3755
|
process.exit(1);
|
|
@@ -3766,7 +3758,7 @@ function addCommand2(program2) {
|
|
|
3766
3758
|
}
|
|
3767
3759
|
|
|
3768
3760
|
// src/commands/claude/list.ts
|
|
3769
|
-
var
|
|
3761
|
+
var import_chalk12 = __toESM(require("chalk"));
|
|
3770
3762
|
function listCommand2(program2) {
|
|
3771
3763
|
program2.command("list").alias("ls").description("\u5217\u51FA\u6240\u6709 Claude Code \u670D\u52A1\u5546").action(async () => {
|
|
3772
3764
|
try {
|
|
@@ -3774,33 +3766,15 @@ function listCommand2(program2) {
|
|
|
3774
3766
|
const providers = manager.list();
|
|
3775
3767
|
const current = manager.getCurrent();
|
|
3776
3768
|
if (providers.length === 0) {
|
|
3777
|
-
console.log(
|
|
3778
|
-
console.log(
|
|
3769
|
+
console.log(import_chalk12.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Claude Code \u670D\u52A1\u5546\n"));
|
|
3770
|
+
console.log(import_chalk12.default.blue("\u{1F4A1} \u6DFB\u52A0\u670D\u52A1\u5546:") + import_chalk12.default.white(" ccman cc add\n"));
|
|
3779
3771
|
return;
|
|
3780
3772
|
}
|
|
3781
|
-
console.log(
|
|
3782
|
-
\u{1F4CB} Claude Code \u670D\u52A1\u5546
|
|
3783
|
-
|
|
3784
|
-
providers.forEach((p) => {
|
|
3785
|
-
const isCurrent = current?.id === p.id;
|
|
3786
|
-
const marker = isCurrent ? import_chalk11.default.green("\u25CF") : import_chalk11.default.gray("\u25CB");
|
|
3787
|
-
const nameStyle = isCurrent ? import_chalk11.default.green.bold : import_chalk11.default.white;
|
|
3788
|
-
console.log(`${marker} ${nameStyle(p.name)}`);
|
|
3789
|
-
console.log(` ${import_chalk11.default.gray(p.baseUrl)}`);
|
|
3790
|
-
if (p.lastUsedAt) {
|
|
3791
|
-
const date = new Date(p.lastUsedAt).toLocaleString("zh-CN");
|
|
3792
|
-
console.log(` ${import_chalk11.default.gray(`\u6700\u540E\u4F7F\u7528: ${date}`)}`);
|
|
3793
|
-
}
|
|
3794
|
-
console.log();
|
|
3795
|
-
});
|
|
3796
|
-
if (current) {
|
|
3797
|
-
console.log(import_chalk11.default.green(`\u2705 \u5F53\u524D\u4F7F\u7528: ${current.name}
|
|
3798
|
-
`));
|
|
3799
|
-
} else {
|
|
3800
|
-
console.log(import_chalk11.default.yellow("\u26A0\uFE0F \u672A\u9009\u62E9\u4EFB\u4F55\u670D\u52A1\u5546\n"));
|
|
3801
|
-
}
|
|
3773
|
+
console.log(import_chalk12.default.bold(`
|
|
3774
|
+
\u{1F4CB} Claude Code \u670D\u52A1\u5546 (${providers.length} \u4E2A)`));
|
|
3775
|
+
console.log(formatProviderTable(providers, current?.id, "Claude Code"));
|
|
3802
3776
|
} catch (error) {
|
|
3803
|
-
console.error(
|
|
3777
|
+
console.error(import_chalk12.default.red(`
|
|
3804
3778
|
\u274C ${error.message}
|
|
3805
3779
|
`));
|
|
3806
3780
|
process.exit(1);
|
|
@@ -3809,7 +3783,7 @@ function listCommand2(program2) {
|
|
|
3809
3783
|
}
|
|
3810
3784
|
|
|
3811
3785
|
// src/commands/claude/use.ts
|
|
3812
|
-
var
|
|
3786
|
+
var import_chalk13 = __toESM(require("chalk"));
|
|
3813
3787
|
var import_inquirer8 = __toESM(require("inquirer"));
|
|
3814
3788
|
function useCommand2(program2) {
|
|
3815
3789
|
program2.command("use [name]").description("\u5207\u6362 Claude Code \u670D\u52A1\u5546").action(async (name) => {
|
|
@@ -3817,8 +3791,8 @@ function useCommand2(program2) {
|
|
|
3817
3791
|
const manager = createClaudeManager();
|
|
3818
3792
|
const providers = manager.list();
|
|
3819
3793
|
if (providers.length === 0) {
|
|
3820
|
-
console.log(
|
|
3821
|
-
console.log(
|
|
3794
|
+
console.log(import_chalk13.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Claude Code \u670D\u52A1\u5546\n"));
|
|
3795
|
+
console.log(import_chalk13.default.blue("\u{1F4A1} \u6DFB\u52A0\u670D\u52A1\u5546:") + import_chalk13.default.white(" ccman cc add\n"));
|
|
3822
3796
|
return;
|
|
3823
3797
|
}
|
|
3824
3798
|
let targetId;
|
|
@@ -3845,22 +3819,22 @@ function useCommand2(program2) {
|
|
|
3845
3819
|
manager.switch(targetId);
|
|
3846
3820
|
const provider = manager.get(targetId);
|
|
3847
3821
|
console.log();
|
|
3848
|
-
console.log(
|
|
3822
|
+
console.log(import_chalk13.default.green("\u2705 \u5207\u6362\u6210\u529F"));
|
|
3849
3823
|
console.log();
|
|
3850
|
-
console.log(` ${
|
|
3851
|
-
console.log(` ${
|
|
3824
|
+
console.log(` ${import_chalk13.default.bold(provider.name)} ${import_chalk13.default.blue("[Claude Code]")}`);
|
|
3825
|
+
console.log(` ${import_chalk13.default.gray(`URL: ${provider.baseUrl}`)}`);
|
|
3852
3826
|
console.log();
|
|
3853
|
-
console.log(
|
|
3854
|
-
console.log(
|
|
3827
|
+
console.log(import_chalk13.default.gray("\u914D\u7F6E\u5DF2\u66F4\u65B0:"));
|
|
3828
|
+
console.log(import_chalk13.default.gray(` - ${getClaudeConfigPath()}`));
|
|
3855
3829
|
console.log();
|
|
3856
3830
|
} catch (error) {
|
|
3857
3831
|
if (error instanceof ProviderNotFoundError) {
|
|
3858
|
-
console.error(
|
|
3832
|
+
console.error(import_chalk13.default.red(`
|
|
3859
3833
|
\u274C \u670D\u52A1\u5546\u4E0D\u5B58\u5728: ${error.message}
|
|
3860
3834
|
`));
|
|
3861
|
-
console.log(
|
|
3835
|
+
console.log(import_chalk13.default.blue("\u{1F4A1} \u67E5\u770B\u6240\u6709\u670D\u52A1\u5546:") + import_chalk13.default.white(" ccman cc list\n"));
|
|
3862
3836
|
} else {
|
|
3863
|
-
console.error(
|
|
3837
|
+
console.error(import_chalk13.default.red(`
|
|
3864
3838
|
\u274C ${error.message}
|
|
3865
3839
|
`));
|
|
3866
3840
|
}
|
|
@@ -3870,28 +3844,28 @@ function useCommand2(program2) {
|
|
|
3870
3844
|
}
|
|
3871
3845
|
|
|
3872
3846
|
// src/commands/claude/current.ts
|
|
3873
|
-
var
|
|
3847
|
+
var import_chalk14 = __toESM(require("chalk"));
|
|
3874
3848
|
function currentCommand2(program2) {
|
|
3875
3849
|
program2.command("current").description("\u663E\u793A\u5F53\u524D\u4F7F\u7528\u7684 Claude Code \u670D\u52A1\u5546").action(async () => {
|
|
3876
3850
|
try {
|
|
3877
3851
|
const manager = createClaudeManager();
|
|
3878
3852
|
const current = manager.getCurrent();
|
|
3879
3853
|
if (!current) {
|
|
3880
|
-
console.log(
|
|
3881
|
-
console.log(
|
|
3854
|
+
console.log(import_chalk14.default.yellow("\n\u26A0\uFE0F \u672A\u9009\u62E9\u4EFB\u4F55 Claude Code \u670D\u52A1\u5546\n"));
|
|
3855
|
+
console.log(import_chalk14.default.blue("\u{1F4A1} \u9009\u62E9\u670D\u52A1\u5546:") + import_chalk14.default.white(" ccman cc use\n"));
|
|
3882
3856
|
return;
|
|
3883
3857
|
}
|
|
3884
|
-
console.log(
|
|
3885
|
-
console.log(` ${
|
|
3886
|
-
console.log(` ${
|
|
3887
|
-
console.log(` ${
|
|
3858
|
+
console.log(import_chalk14.default.bold("\n\u{1F4CD} \u5F53\u524D Claude Code \u670D\u52A1\u5546\n"));
|
|
3859
|
+
console.log(` ${import_chalk14.default.green.bold(current.name)}`);
|
|
3860
|
+
console.log(` ${import_chalk14.default.gray(`ID: ${current.id}`)}`);
|
|
3861
|
+
console.log(` ${import_chalk14.default.gray(`URL: ${current.baseUrl}`)}`);
|
|
3888
3862
|
if (current.lastUsedAt) {
|
|
3889
3863
|
const date = new Date(current.lastUsedAt).toLocaleString("zh-CN");
|
|
3890
|
-
console.log(` ${
|
|
3864
|
+
console.log(` ${import_chalk14.default.gray(`\u6700\u540E\u4F7F\u7528: ${date}`)}`);
|
|
3891
3865
|
}
|
|
3892
3866
|
console.log();
|
|
3893
3867
|
} catch (error) {
|
|
3894
|
-
console.error(
|
|
3868
|
+
console.error(import_chalk14.default.red(`
|
|
3895
3869
|
\u274C ${error.message}
|
|
3896
3870
|
`));
|
|
3897
3871
|
process.exit(1);
|
|
@@ -3900,7 +3874,7 @@ function currentCommand2(program2) {
|
|
|
3900
3874
|
}
|
|
3901
3875
|
|
|
3902
3876
|
// src/commands/claude/remove.ts
|
|
3903
|
-
var
|
|
3877
|
+
var import_chalk15 = __toESM(require("chalk"));
|
|
3904
3878
|
var import_inquirer9 = __toESM(require("inquirer"));
|
|
3905
3879
|
function removeCommand2(program2) {
|
|
3906
3880
|
program2.command("remove [name]").alias("rm").description("\u5220\u9664 Claude Code \u670D\u52A1\u5546").action(async (name) => {
|
|
@@ -3908,7 +3882,7 @@ function removeCommand2(program2) {
|
|
|
3908
3882
|
const manager = createClaudeManager();
|
|
3909
3883
|
const providers = manager.list();
|
|
3910
3884
|
if (providers.length === 0) {
|
|
3911
|
-
console.log(
|
|
3885
|
+
console.log(import_chalk15.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Claude Code \u670D\u52A1\u5546\n"));
|
|
3912
3886
|
return;
|
|
3913
3887
|
}
|
|
3914
3888
|
let targetId;
|
|
@@ -3945,21 +3919,21 @@ function removeCommand2(program2) {
|
|
|
3945
3919
|
}
|
|
3946
3920
|
]);
|
|
3947
3921
|
if (!confirmed) {
|
|
3948
|
-
console.log(
|
|
3922
|
+
console.log(import_chalk15.default.gray("\n\u5DF2\u53D6\u6D88\n"));
|
|
3949
3923
|
return;
|
|
3950
3924
|
}
|
|
3951
3925
|
manager.remove(targetId);
|
|
3952
3926
|
console.log();
|
|
3953
|
-
console.log(
|
|
3927
|
+
console.log(import_chalk15.default.green(`\u2705 \u5DF2\u5220\u9664: ${targetName}`));
|
|
3954
3928
|
console.log();
|
|
3955
3929
|
} catch (error) {
|
|
3956
3930
|
if (error instanceof ProviderNotFoundError) {
|
|
3957
|
-
console.error(
|
|
3931
|
+
console.error(import_chalk15.default.red(`
|
|
3958
3932
|
\u274C \u670D\u52A1\u5546\u4E0D\u5B58\u5728
|
|
3959
3933
|
`));
|
|
3960
|
-
console.log(
|
|
3934
|
+
console.log(import_chalk15.default.blue("\u{1F4A1} \u67E5\u770B\u6240\u6709\u670D\u52A1\u5546:") + import_chalk15.default.white(" ccman cc list\n"));
|
|
3961
3935
|
} else {
|
|
3962
|
-
console.error(
|
|
3936
|
+
console.error(import_chalk15.default.red(`
|
|
3963
3937
|
\u274C ${error.message}
|
|
3964
3938
|
`));
|
|
3965
3939
|
}
|
|
@@ -3969,7 +3943,7 @@ function removeCommand2(program2) {
|
|
|
3969
3943
|
}
|
|
3970
3944
|
|
|
3971
3945
|
// src/commands/claude/edit.ts
|
|
3972
|
-
var
|
|
3946
|
+
var import_chalk16 = __toESM(require("chalk"));
|
|
3973
3947
|
var import_inquirer10 = __toESM(require("inquirer"));
|
|
3974
3948
|
function editCommand2(program2) {
|
|
3975
3949
|
program2.command("edit [name]").description("\u7F16\u8F91 Claude Code \u670D\u52A1\u5546").action(async (name) => {
|
|
@@ -3977,7 +3951,7 @@ function editCommand2(program2) {
|
|
|
3977
3951
|
const manager = createClaudeManager();
|
|
3978
3952
|
const providers = manager.list();
|
|
3979
3953
|
if (providers.length === 0) {
|
|
3980
|
-
console.log(
|
|
3954
|
+
console.log(import_chalk16.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Claude Code \u670D\u52A1\u5546\n"));
|
|
3981
3955
|
return;
|
|
3982
3956
|
}
|
|
3983
3957
|
let targetId;
|
|
@@ -4002,8 +3976,8 @@ function editCommand2(program2) {
|
|
|
4002
3976
|
targetId = selectedId;
|
|
4003
3977
|
}
|
|
4004
3978
|
const provider = manager.get(targetId);
|
|
4005
|
-
console.log(
|
|
4006
|
-
console.log(
|
|
3979
|
+
console.log(import_chalk16.default.bold("\n\u270F\uFE0F \u7F16\u8F91\u670D\u52A1\u5546\n"));
|
|
3980
|
+
console.log(import_chalk16.default.gray("\u63D0\u793A: \u7559\u7A7A\u5219\u4FDD\u6301\u539F\u503C\n"));
|
|
4007
3981
|
const answers = await import_inquirer10.default.prompt([
|
|
4008
3982
|
{
|
|
4009
3983
|
type: "input",
|
|
@@ -4035,19 +4009,19 @@ function editCommand2(program2) {
|
|
|
4035
4009
|
if (answers.baseUrl && answers.baseUrl !== provider.baseUrl) updates.baseUrl = answers.baseUrl;
|
|
4036
4010
|
if (answers.apiKey) updates.apiKey = answers.apiKey;
|
|
4037
4011
|
if (Object.keys(updates).length === 0) {
|
|
4038
|
-
console.log(
|
|
4012
|
+
console.log(import_chalk16.default.gray("\n\u672A\u505A\u4EFB\u4F55\u4FEE\u6539\n"));
|
|
4039
4013
|
return;
|
|
4040
4014
|
}
|
|
4041
4015
|
const updated = manager.edit(targetId, updates);
|
|
4042
4016
|
console.log();
|
|
4043
|
-
console.log(
|
|
4017
|
+
console.log(import_chalk16.default.green("\u2705 \u7F16\u8F91\u6210\u529F"));
|
|
4044
4018
|
console.log();
|
|
4045
|
-
console.log(` ${
|
|
4046
|
-
console.log(` ${
|
|
4047
|
-
console.log(` ${
|
|
4019
|
+
console.log(` ${import_chalk16.default.bold(updated.name)} ${import_chalk16.default.blue("[Claude Code]")}`);
|
|
4020
|
+
console.log(` ${import_chalk16.default.gray(`ID: ${updated.id}`)}`);
|
|
4021
|
+
console.log(` ${import_chalk16.default.gray(`URL: ${updated.baseUrl}`)}`);
|
|
4048
4022
|
console.log();
|
|
4049
4023
|
} catch (error) {
|
|
4050
|
-
console.error(
|
|
4024
|
+
console.error(import_chalk16.default.red(`
|
|
4051
4025
|
\u274C ${error.message}
|
|
4052
4026
|
`));
|
|
4053
4027
|
process.exit(1);
|
|
@@ -4056,7 +4030,7 @@ function editCommand2(program2) {
|
|
|
4056
4030
|
}
|
|
4057
4031
|
|
|
4058
4032
|
// src/commands/claude/clone.ts
|
|
4059
|
-
var
|
|
4033
|
+
var import_chalk17 = __toESM(require("chalk"));
|
|
4060
4034
|
var import_inquirer11 = __toESM(require("inquirer"));
|
|
4061
4035
|
function cloneCommand2(program2) {
|
|
4062
4036
|
program2.command("clone [source-name] [new-name]").description("\u514B\u9686 Claude Code \u670D\u52A1\u5546").action(async (sourceName, newName) => {
|
|
@@ -4064,7 +4038,7 @@ function cloneCommand2(program2) {
|
|
|
4064
4038
|
const manager = createClaudeManager();
|
|
4065
4039
|
const providers = manager.list();
|
|
4066
4040
|
if (providers.length === 0) {
|
|
4067
|
-
console.log(
|
|
4041
|
+
console.log(import_chalk17.default.yellow("\n\u26A0\uFE0F \u6682\u65E0 Claude Code \u670D\u52A1\u5546\n"));
|
|
4068
4042
|
return;
|
|
4069
4043
|
}
|
|
4070
4044
|
let sourceId;
|
|
@@ -4093,7 +4067,7 @@ function cloneCommand2(program2) {
|
|
|
4093
4067
|
if (newName) {
|
|
4094
4068
|
cloned = manager.clone(sourceId, newName);
|
|
4095
4069
|
} else {
|
|
4096
|
-
console.log(
|
|
4070
|
+
console.log(import_chalk17.default.blue(`
|
|
4097
4071
|
\u514B\u9686\u81EA: ${source.name}
|
|
4098
4072
|
`));
|
|
4099
4073
|
const input = await promptProviderForm({
|
|
@@ -4104,14 +4078,14 @@ function cloneCommand2(program2) {
|
|
|
4104
4078
|
cloned = manager.add(input);
|
|
4105
4079
|
}
|
|
4106
4080
|
console.log();
|
|
4107
|
-
console.log(
|
|
4081
|
+
console.log(import_chalk17.default.green("\u2705 \u514B\u9686\u6210\u529F"));
|
|
4108
4082
|
console.log();
|
|
4109
|
-
console.log(` ${
|
|
4110
|
-
console.log(` ${
|
|
4111
|
-
console.log(` ${
|
|
4083
|
+
console.log(` ${import_chalk17.default.bold(cloned.name)} ${import_chalk17.default.blue("[Claude Code]")}`);
|
|
4084
|
+
console.log(` ${import_chalk17.default.gray(`ID: ${cloned.id}`)}`);
|
|
4085
|
+
console.log(` ${import_chalk17.default.gray(`URL: ${cloned.baseUrl}`)}`);
|
|
4112
4086
|
console.log();
|
|
4113
4087
|
} catch (error) {
|
|
4114
|
-
console.error(
|
|
4088
|
+
console.error(import_chalk17.default.red(`
|
|
4115
4089
|
\u274C ${error.message}
|
|
4116
4090
|
`));
|
|
4117
4091
|
process.exit(1);
|
|
@@ -4132,10 +4106,10 @@ function createClaudeCommands(program2) {
|
|
|
4132
4106
|
|
|
4133
4107
|
// src/index.ts
|
|
4134
4108
|
if (process.env.NODE_ENV === "development") {
|
|
4135
|
-
console.log(
|
|
4136
|
-
console.log(
|
|
4137
|
-
console.log(
|
|
4138
|
-
console.log(
|
|
4109
|
+
console.log(import_chalk18.default.gray("\n[\u5F00\u53D1\u6A21\u5F0F] \u914D\u7F6E\u76EE\u5F55:"));
|
|
4110
|
+
console.log(import_chalk18.default.gray(` ccman: ${getCcmanDir()}`));
|
|
4111
|
+
console.log(import_chalk18.default.gray(` codex: ${getCodexDir()}`));
|
|
4112
|
+
console.log(import_chalk18.default.gray(` claude: ${getClaudeDir()}`));
|
|
4139
4113
|
console.log();
|
|
4140
4114
|
}
|
|
4141
4115
|
var program = new import_commander.Command();
|