@pikecode/api-key-manager 1.0.7 → 1.0.8

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/commands/add.js +22 -11
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pikecode/api-key-manager",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "A CLI tool for managing and switching multiple API provider configurations",
5
5
  "main": "src/index.js",
6
6
  "bin": {
@@ -34,17 +34,18 @@ class ProviderAdder extends BaseCommand {
34
34
  }, '取消添加');
35
35
 
36
36
  try {
37
- // 首先选择是否使用预设配置
37
+ // 首先选择 IDE 类型或使用官方预设
38
38
  const typeAnswer = await this.prompt([
39
39
  {
40
40
  type: 'list',
41
41
  name: 'providerType',
42
- message: '选择供应商类型:',
42
+ message: '选择配置方式:',
43
43
  choices: [
44
- { name: '🔒 官方 Claude Code (OAuth)', value: 'official_oauth' },
45
- { name: '⚙️ 自定义配置', value: 'custom' }
44
+ { name: '🔒 官方 Claude Code (OAuth) - 推荐使用官方 token', value: 'official_oauth' },
45
+ { name: '🚀 Claude Code - 自定义配置 (API Key 或 Auth Token)', value: 'custom_claude' },
46
+ { name: '⚙️ Codex - OpenAI Codex (ChatGPT 登录或 API Key)', value: 'custom_codex' }
46
47
  ],
47
- default: 'custom'
48
+ default: 'custom_claude'
48
49
  }
49
50
  ]);
50
51
 
@@ -53,8 +54,12 @@ class ProviderAdder extends BaseCommand {
53
54
 
54
55
  if (typeAnswer.providerType === 'official_oauth') {
55
56
  return await this.addOfficialOAuthProvider();
57
+ } else if (typeAnswer.providerType === 'custom_codex') {
58
+ // 直接进入 Codex 配置流程,跳过 IDE 选择
59
+ return await this.addCustomProvider(true);
56
60
  } else {
57
- return await this.addCustomProvider();
61
+ // 进入通用自定义配置流程
62
+ return await this.addCustomProvider(false);
58
63
  }
59
64
  } catch (error) {
60
65
  // 移除 ESC 键监听
@@ -151,8 +156,9 @@ class ProviderAdder extends BaseCommand {
151
156
  }
152
157
  }
153
158
 
154
- async addCustomProvider() {
155
- console.log(UIHelper.createTitle('添加自定义供应商', UIHelper.icons.add));
159
+ async addCustomProvider(forceCodex = false) {
160
+ const ideLabel = forceCodex ? 'Codex' : '自定义';
161
+ console.log(UIHelper.createTitle(`添加${ideLabel}供应商`, UIHelper.icons.add));
156
162
  console.log();
157
163
  console.log(UIHelper.createTooltip('请填写供应商配置信息'));
158
164
  console.log();
@@ -163,7 +169,7 @@ class ProviderAdder extends BaseCommand {
163
169
  ['ESC', '取消添加']
164
170
  ]));
165
171
  console.log();
166
-
172
+
167
173
  // 设置 ESC 键监听
168
174
  const escListener = this.createESCListener(() => {
169
175
  Logger.info('取消添加供应商');
@@ -202,7 +208,9 @@ class ProviderAdder extends BaseCommand {
202
208
  { name: '🚀 Claude Code - Anthropic 官方代码编辑器', value: 'claude' },
203
209
  { name: '⚙️ Codex - 代码生成和编辑工具', value: 'codex' }
204
210
  ],
205
- default: 'claude'
211
+ default: forceCodex ? 'codex' : 'claude',
212
+ // 如果来自 Codex 快捷方式,跳过此选择(IDE 已确定为 Codex)
213
+ when: () => !forceCodex
206
214
  },
207
215
  {
208
216
  type: 'list',
@@ -370,9 +378,12 @@ class ProviderAdder extends BaseCommand {
370
378
  ? await this.promptModelConfiguration()
371
379
  : { primaryModel: null, smallFastModel: null };
372
380
 
381
+ // 如果是 Codex 快捷方式,确保 ideName 被设置为 'codex'
382
+ const finalIdeName = forceCodex ? 'codex' : answers.ideName;
383
+
373
384
  await this.configManager.addProvider(answers.name, {
374
385
  displayName: answers.displayName || answers.name,
375
- ideName: answers.ideName, // 'claude' 或 'codex'
386
+ ideName: finalIdeName, // 'claude' 或 'codex'
376
387
  baseUrl: answers.baseUrl,
377
388
  authToken: answers.authToken,
378
389
  authMode: answers.authMode,