@pikecode/api-key-manager 1.0.7 → 1.0.9
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 +4 -0
- package/package.json +1 -1
- package/src/commands/add.js +22 -11
package/README.md
CHANGED
package/package.json
CHANGED
package/src/commands/add.js
CHANGED
|
@@ -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: '
|
|
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: '
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
386
|
+
ideName: finalIdeName, // 'claude' 或 'codex'
|
|
376
387
|
baseUrl: answers.baseUrl,
|
|
377
388
|
authToken: answers.authToken,
|
|
378
389
|
authMode: answers.authMode,
|