base_parts_ai 1.0.41 → 1.0.42
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/lib/claude_utils.js +0 -1
- package/lib/setapi.js +27 -16
- package/lib/setkey.js +7 -5
- package/package.json +2 -4
- package/test_home/.claude/jcc.json +2 -2
- package/test_home/.claude/settings.json +6 -7
package/lib/claude_utils.js
CHANGED
|
@@ -9,7 +9,6 @@ var fs = require('fs');
|
|
|
9
9
|
var path = require('path');
|
|
10
10
|
var http = require('http');
|
|
11
11
|
var { execSync } = require('child_process');
|
|
12
|
-
var { select } = require('@inquirer/prompts');
|
|
13
12
|
|
|
14
13
|
// ============================================================
|
|
15
14
|
// AI 渠道列表(运行时由 fetchConfig 从服务端拉取填充)
|
package/lib/setapi.js
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* 若渠道无缓存 Key,则提示用户输入并保存到 ~/.claude/jcc.json
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
// inquirer
|
|
11
|
-
var
|
|
10
|
+
// inquirer@8 使用传统 prompt API
|
|
11
|
+
var inquirer = require('inquirer');
|
|
12
12
|
var utils = require('./claude_utils');
|
|
13
13
|
var { execSync } = require('child_process');
|
|
14
14
|
|
|
@@ -28,11 +28,14 @@ module.exports = async function (cmd, buildCfg) {
|
|
|
28
28
|
});
|
|
29
29
|
|
|
30
30
|
// 弹出渠道选择列表,默认选中当前渠道
|
|
31
|
-
var
|
|
31
|
+
var answers = await inquirer.prompt([{
|
|
32
|
+
type: 'list',
|
|
33
|
+
name: 'channelId',
|
|
32
34
|
message: '请选择 AI 渠道:',
|
|
33
35
|
choices: choices,
|
|
34
36
|
default: settings.__jid || undefined,
|
|
35
|
-
});
|
|
37
|
+
}]);
|
|
38
|
+
var channelId = answers.channelId;
|
|
36
39
|
|
|
37
40
|
// 找到选中的渠道配置
|
|
38
41
|
var selected = utils.API_CHANNELS.find(function (c) { return c.id === channelId; });
|
|
@@ -77,25 +80,29 @@ module.exports = async function (cmd, buildCfg) {
|
|
|
77
80
|
if (selected.useSettingsFile) {
|
|
78
81
|
// 手动输入 ANTHROPIC_BASE_URL,默认值取自当前 settings.env
|
|
79
82
|
var defaultBaseUrl = settings.env.ANTHROPIC_BASE_URL || '';
|
|
80
|
-
var
|
|
83
|
+
var baseUrlAnswer = await inquirer.prompt([{
|
|
84
|
+
type: 'input',
|
|
85
|
+
name: 'value',
|
|
81
86
|
message: '请输入 ANTHROPIC_BASE_URL:',
|
|
82
87
|
default: defaultBaseUrl,
|
|
83
88
|
validate: function (v) {
|
|
84
89
|
return v.trim().length > 0 ? true : 'ANTHROPIC_BASE_URL 不能为空';
|
|
85
90
|
},
|
|
86
|
-
});
|
|
87
|
-
settings.env.ANTHROPIC_BASE_URL =
|
|
91
|
+
}]);
|
|
92
|
+
settings.env.ANTHROPIC_BASE_URL = baseUrlAnswer.value.trim();
|
|
88
93
|
|
|
89
94
|
// 手动输入 ANTHROPIC_AUTH_TOKEN,默认值取自当前 settings.env
|
|
90
95
|
var defaultToken = settings.env.ANTHROPIC_AUTH_TOKEN || '';
|
|
91
|
-
var
|
|
96
|
+
var tokenAnswer = await inquirer.prompt([{
|
|
97
|
+
type: 'input',
|
|
98
|
+
name: 'value',
|
|
92
99
|
message: '请输入 ANTHROPIC_AUTH_TOKEN:',
|
|
93
100
|
default: defaultToken,
|
|
94
101
|
validate: function (v) {
|
|
95
102
|
return v.trim().length > 0 ? true : 'ANTHROPIC_AUTH_TOKEN 不能为空';
|
|
96
103
|
},
|
|
97
|
-
});
|
|
98
|
-
settings.env.ANTHROPIC_AUTH_TOKEN =
|
|
104
|
+
}]);
|
|
105
|
+
settings.env.ANTHROPIC_AUTH_TOKEN = tokenAnswer.value.trim();
|
|
99
106
|
|
|
100
107
|
// 写入 settings.json(useSettingsFile 模式不缓存 Key 到 jcc.json)
|
|
101
108
|
console.log('✅ 已切换到渠道: ' + selected.name);
|
|
@@ -104,14 +111,16 @@ module.exports = async function (cmd, buildCfg) {
|
|
|
104
111
|
} else {
|
|
105
112
|
// 查询该渠道是否有缓存的 Key,作为输入框默认值(方便用户确认或修改)
|
|
106
113
|
var savedKey = (jccJson.keys && jccJson.keys[selected.id]) || '';
|
|
107
|
-
var
|
|
114
|
+
var keyAnswer = await inquirer.prompt([{
|
|
115
|
+
type: 'input',
|
|
116
|
+
name: 'value',
|
|
108
117
|
message: '请输入 ANTHROPIC_AUTH_TOKEN:',
|
|
109
118
|
default: savedKey,
|
|
110
119
|
validate: function (v) {
|
|
111
120
|
return v.trim().length > 0 ? true : 'Key 不能为空';
|
|
112
121
|
},
|
|
113
|
-
});
|
|
114
|
-
newKey =
|
|
122
|
+
}]);
|
|
123
|
+
var newKey = keyAnswer.value.trim();
|
|
115
124
|
settings.env.ANTHROPIC_AUTH_TOKEN = newKey;
|
|
116
125
|
|
|
117
126
|
// 缓存到 jcc.json
|
|
@@ -136,11 +145,13 @@ module.exports = async function (cmd, buildCfg) {
|
|
|
136
145
|
var ctxChoices = ctxKeys.map(function (k) {
|
|
137
146
|
return { name: k + ' (Claude ' + ccVersionList[k] + ')', value: k };
|
|
138
147
|
});
|
|
139
|
-
var
|
|
148
|
+
var ctxAnswer = await inquirer.prompt([{
|
|
149
|
+
type: 'list',
|
|
150
|
+
name: 'selectedCtx',
|
|
140
151
|
message: '请选择上下文大小:',
|
|
141
152
|
choices: ctxChoices,
|
|
142
|
-
});
|
|
143
|
-
requiredVer = ccVersionList[selectedCtx];
|
|
153
|
+
}]);
|
|
154
|
+
requiredVer = ccVersionList[ctxAnswer.selectedCtx];
|
|
144
155
|
}
|
|
145
156
|
|
|
146
157
|
// 检测当前 Claude 版本是否与渠道要求一致,不一致则通过 npm registry 安装
|
package/lib/setkey.js
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* 当前渠道通过 settings.__jid 字段识别
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
// inquirer
|
|
11
|
-
var
|
|
10
|
+
// inquirer@8 使用传统 prompt API
|
|
11
|
+
var inquirer = require('inquirer');
|
|
12
12
|
var utils = require('./claude_utils');
|
|
13
13
|
|
|
14
14
|
module.exports = async function (cmd, buildCfg) {
|
|
@@ -19,13 +19,15 @@ module.exports = async function (cmd, buildCfg) {
|
|
|
19
19
|
utils.printCurrentInfo(settings);
|
|
20
20
|
|
|
21
21
|
// 提示用户输入新 Key
|
|
22
|
-
var
|
|
22
|
+
var keyAnswer = await inquirer.prompt([{
|
|
23
|
+
type: 'input',
|
|
24
|
+
name: 'value',
|
|
23
25
|
message: '请输入新的 ANTHROPIC_AUTH_TOKEN:',
|
|
24
26
|
validate: function (v) {
|
|
25
27
|
return v.trim().length > 0 ? true : 'Key 不能为空';
|
|
26
28
|
},
|
|
27
|
-
});
|
|
28
|
-
newKey =
|
|
29
|
+
}]);
|
|
30
|
+
var newKey = keyAnswer.value.trim();
|
|
29
31
|
|
|
30
32
|
// 写入 settings.json
|
|
31
33
|
settings.env.ANTHROPIC_AUTH_TOKEN = newKey;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "base_parts_ai",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.42",
|
|
4
4
|
"description": "jaskle base_parts_ai",
|
|
5
5
|
"main": "./main.js",
|
|
6
6
|
"registry": true,
|
|
@@ -19,8 +19,6 @@
|
|
|
19
19
|
"license": "ISC",
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"commander": "^14.0.3",
|
|
22
|
-
"inquirer": "^
|
|
23
|
-
},
|
|
24
|
-
"devDependencies": {
|
|
22
|
+
"inquirer": "^8.2.7"
|
|
25
23
|
}
|
|
26
24
|
}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"env": {
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "cc_haiku",
|
|
3
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-5-turbo",
|
|
4
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-5",
|
|
5
|
+
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.7",
|
|
7
6
|
"API_TIMEOUT_MS": "100000",
|
|
8
7
|
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
|
|
9
8
|
"DISABLE_AUTOUPDATER": "1",
|
|
10
9
|
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0",
|
|
11
|
-
"
|
|
12
|
-
"
|
|
10
|
+
"ANTHROPIC_AUTH_TOKEN": "sk-second-channel-xxxx",
|
|
11
|
+
"ANTHROPIC_BASE_URL": "http://116.62.243.108:6030"
|
|
13
12
|
},
|
|
14
|
-
"__jid": "
|
|
13
|
+
"__jid": "jai_low_cost",
|
|
15
14
|
"hooks": {
|
|
16
15
|
"SessionStart": [
|
|
17
16
|
{
|