xx-ai-cli 0.1.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/LICENSE +21 -0
- package/README.md +328 -0
- package/dist/commands/agent.d.ts +12 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +311 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/ask.d.ts +7 -0
- package/dist/commands/ask.d.ts.map +1 -0
- package/dist/commands/ask.js +52 -0
- package/dist/commands/ask.js.map +1 -0
- package/dist/commands/chat.d.ts +9 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/chat.js +129 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/cmd.d.ts +6 -0
- package/dist/commands/cmd.d.ts.map +1 -0
- package/dist/commands/cmd.js +52 -0
- package/dist/commands/cmd.js.map +1 -0
- package/dist/commands/code.d.ts +8 -0
- package/dist/commands/code.d.ts.map +1 -0
- package/dist/commands/code.js +75 -0
- package/dist/commands/code.js.map +1 -0
- package/dist/commands/file.d.ts +7 -0
- package/dist/commands/file.d.ts.map +1 -0
- package/dist/commands/file.js +66 -0
- package/dist/commands/file.js.map +1 -0
- package/dist/commands/history.d.ts +5 -0
- package/dist/commands/history.d.ts.map +1 -0
- package/dist/commands/history.js +159 -0
- package/dist/commands/history.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +144 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/install.d.ts +24 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +328 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/model.d.ts +6 -0
- package/dist/commands/model.d.ts.map +1 -0
- package/dist/commands/model.js +128 -0
- package/dist/commands/model.js.map +1 -0
- package/dist/commands/pkg.d.ts +12 -0
- package/dist/commands/pkg.d.ts.map +1 -0
- package/dist/commands/pkg.js +132 -0
- package/dist/commands/pkg.js.map +1 -0
- package/dist/commands/run.d.ts +9 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +185 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/core/agentTask.d.ts +20 -0
- package/dist/core/agentTask.d.ts.map +1 -0
- package/dist/core/agentTask.js +81 -0
- package/dist/core/agentTask.js.map +1 -0
- package/dist/core/config.d.ts +41 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +153 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/executor.d.ts +20 -0
- package/dist/core/executor.d.ts.map +1 -0
- package/dist/core/executor.js +68 -0
- package/dist/core/executor.js.map +1 -0
- package/dist/core/files.d.ts +24 -0
- package/dist/core/files.d.ts.map +1 -0
- package/dist/core/files.js +95 -0
- package/dist/core/files.js.map +1 -0
- package/dist/core/github.d.ts +32 -0
- package/dist/core/github.d.ts.map +1 -0
- package/dist/core/github.js +82 -0
- package/dist/core/github.js.map +1 -0
- package/dist/core/prompt.d.ts +9 -0
- package/dist/core/prompt.d.ts.map +1 -0
- package/dist/core/prompt.js +44 -0
- package/dist/core/prompt.js.map +1 -0
- package/dist/core/router.d.ts +16 -0
- package/dist/core/router.d.ts.map +1 -0
- package/dist/core/router.js +182 -0
- package/dist/core/router.js.map +1 -0
- package/dist/core/search.d.ts +14 -0
- package/dist/core/search.d.ts.map +1 -0
- package/dist/core/search.js +179 -0
- package/dist/core/search.js.map +1 -0
- package/dist/core/session.d.ts +38 -0
- package/dist/core/session.d.ts.map +1 -0
- package/dist/core/session.js +172 -0
- package/dist/core/session.js.map +1 -0
- package/dist/core/stream.d.ts +15 -0
- package/dist/core/stream.d.ts.map +1 -0
- package/dist/core/stream.js +102 -0
- package/dist/core/stream.js.map +1 -0
- package/dist/core/tools.d.ts +343 -0
- package/dist/core/tools.d.ts.map +1 -0
- package/dist/core/tools.js +293 -0
- package/dist/core/tools.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +372 -0
- package/dist/index.js.map +1 -0
- package/dist/ui/renderer.d.ts +17 -0
- package/dist/ui/renderer.d.ts.map +1 -0
- package/dist/ui/renderer.js +69 -0
- package/dist/ui/renderer.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { confirm } from '@inquirer/prompts';
|
|
3
|
+
import { loadAllSessions, loadSessionById, deleteSession, Session } from '../core/session.js';
|
|
4
|
+
import { config, PROVIDER_LABELS } from '../core/config.js';
|
|
5
|
+
import { chat } from '../core/stream.js';
|
|
6
|
+
import { theme } from '../ui/renderer.js';
|
|
7
|
+
// โโโ ๆ ผๅผๅๆถ้ด โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
8
|
+
function formatDate(iso) {
|
|
9
|
+
if (!iso)
|
|
10
|
+
return 'โ';
|
|
11
|
+
const d = new Date(iso);
|
|
12
|
+
const now = new Date();
|
|
13
|
+
const diffMs = now.getTime() - d.getTime();
|
|
14
|
+
const diffMin = Math.floor(diffMs / 60000);
|
|
15
|
+
const diffHr = Math.floor(diffMin / 60);
|
|
16
|
+
const diffDay = Math.floor(diffHr / 24);
|
|
17
|
+
if (diffMin < 1)
|
|
18
|
+
return 'ๅๅ';
|
|
19
|
+
if (diffMin < 60)
|
|
20
|
+
return `${diffMin} ๅ้ๅ`;
|
|
21
|
+
if (diffHr < 24)
|
|
22
|
+
return `${diffHr} ๅฐๆถๅ`;
|
|
23
|
+
if (diffDay < 7)
|
|
24
|
+
return `${diffDay} ๅคฉๅ`;
|
|
25
|
+
return d.toLocaleDateString('zh-CN');
|
|
26
|
+
}
|
|
27
|
+
// โโโ ๅๅบๅๅฒไผ่ฏ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
28
|
+
export function historyListCommand(limit = 20) {
|
|
29
|
+
const sessions = loadAllSessions().slice(0, limit);
|
|
30
|
+
if (sessions.length === 0) {
|
|
31
|
+
console.log('\n' + theme.dim('ๆๆ ๅๅฒไผ่ฏใๅผๅงๅฏน่ฏๅไผ่ชๅจไฟๅญใ'));
|
|
32
|
+
console.log(theme.dim('ไฝฟ็จ xxcli chat ๆ xx chat ๅผๅงๅฏน่ฏ\n'));
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
console.log('\n' + theme.bold(`๐ ๅๅฒไผ่ฏ๏ผๆ่ฟ ${sessions.length} ๆก๏ผ\n`));
|
|
36
|
+
sessions.forEach((s, i) => {
|
|
37
|
+
const idx = chalk.dim(`[${String(i + 1).padStart(2)}]`);
|
|
38
|
+
const modelLabel = PROVIDER_LABELS[s.model] ?? s.model;
|
|
39
|
+
const turns = Math.floor(s.messages.filter((m) => m.role === 'user').length);
|
|
40
|
+
const time = formatDate(s.updatedAt);
|
|
41
|
+
console.log(` ${idx} ${chalk.bold(s.title)}`);
|
|
42
|
+
console.log(` ${chalk.dim(modelLabel)} ยท ${chalk.dim(`${turns} ่ฝฎๅฏน่ฏ`)} ยท ${chalk.dim(time)} ยท ${chalk.dim('ID: ' + s.id)}`);
|
|
43
|
+
console.log();
|
|
44
|
+
});
|
|
45
|
+
console.log(theme.dim(' ไฝฟ็จ xxcli history show <ID> ๆฅ็่ฏฆๆ
'));
|
|
46
|
+
console.log(theme.dim(' ไฝฟ็จ xxcli history resume <ID> ็ปง็ปญๅฏน่ฏ'));
|
|
47
|
+
console.log(theme.dim(' ไฝฟ็จ xxcli history clear ๆธ
็ฉบๅ
จ้จๅๅฒ\n'));
|
|
48
|
+
}
|
|
49
|
+
// โโโ ๅฑ็คบๅๆกไผ่ฏ่ฏฆๆ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
50
|
+
export function historyShowCommand(id) {
|
|
51
|
+
const session = loadSessionById(id);
|
|
52
|
+
if (!session) {
|
|
53
|
+
console.log(theme.error(`ๆชๆพๅฐ ID ไธบ ${id} ็ไผ่ฏ`));
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const modelLabel = PROVIDER_LABELS[session.model] ?? session.model;
|
|
57
|
+
console.log('\n' + theme.divider());
|
|
58
|
+
console.log(` ${chalk.bold(session.title)}`);
|
|
59
|
+
console.log(` ${chalk.dim(modelLabel)} ยท ${formatDate(session.updatedAt)}`);
|
|
60
|
+
console.log(theme.divider() + '\n');
|
|
61
|
+
for (const msg of session.messages) {
|
|
62
|
+
if (msg.role === 'user') {
|
|
63
|
+
console.log(chalk.cyan.bold('ไฝ : ') + msg.content);
|
|
64
|
+
}
|
|
65
|
+
else if (msg.role === 'assistant') {
|
|
66
|
+
console.log(chalk.green.bold(`๐ค ${modelLabel}: `) + msg.content);
|
|
67
|
+
}
|
|
68
|
+
console.log();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// โโโ ็ปง็ปญๅๅฒไผ่ฏ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
72
|
+
export async function historyResumeCommand(id) {
|
|
73
|
+
const persisted = loadSessionById(id);
|
|
74
|
+
if (!persisted) {
|
|
75
|
+
console.log(theme.error(`ๆชๆพๅฐ ID ไธบ ${id} ็ไผ่ฏ`));
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const provider = persisted.model ?? config.get('defaultProvider');
|
|
79
|
+
const modelConfig = config.getProvider(provider);
|
|
80
|
+
if (!modelConfig) {
|
|
81
|
+
console.log(theme.error(`ๆจกๅ ${persisted.model} ๆช้
็ฝฎ API Key๏ผๆ ๆณ็ปง็ปญ`));
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const modelLabel = PROVIDER_LABELS[provider];
|
|
85
|
+
const session = Session.fromPersisted(persisted);
|
|
86
|
+
session.setModel(provider);
|
|
87
|
+
console.log('\n' + theme.divider());
|
|
88
|
+
console.log(chalk.bold(` โถ ็ปง็ปญไผ่ฏ: ${persisted.title}`));
|
|
89
|
+
console.log(theme.dim(` ๆจกๅ: ${modelLabel} ยท ๅทฒๆ ${persisted.messages.filter(m => m.role === 'user').length} ่ฝฎๅฏน่ฏ`));
|
|
90
|
+
console.log(theme.dim(' /exit ้ๅบ | /clear ๆธ
็ฉบๅฝๅไผ่ฏ'));
|
|
91
|
+
console.log(theme.divider() + '\n');
|
|
92
|
+
// ๅค็จ readline ไบคไบ๏ผๅ
่ๅฎ็ฐ้ฟๅ
ๅพช็ฏไพ่ต
|
|
93
|
+
const { createInterface } = await import('readline');
|
|
94
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
95
|
+
rl.on('close', () => {
|
|
96
|
+
session.persist();
|
|
97
|
+
console.log('\n' + theme.dim('๐ ไผ่ฏๅทฒไฟๅญ๏ผๅ่ง๏ผ'));
|
|
98
|
+
process.exit(0);
|
|
99
|
+
});
|
|
100
|
+
const ask = () => {
|
|
101
|
+
rl.question(chalk.cyan.bold('ไฝ : '), async (input) => {
|
|
102
|
+
const trimmed = input.trim();
|
|
103
|
+
if (!trimmed) {
|
|
104
|
+
ask();
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (trimmed === '/exit') {
|
|
108
|
+
rl.close();
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (trimmed === '/clear') {
|
|
112
|
+
session.clear();
|
|
113
|
+
console.log(theme.success('ๅฏน่ฏๅทฒๆธ
็ฉบ๏ผๅๅฒ่ฎฐๅฝไฟ็๏ผ\n'));
|
|
114
|
+
ask();
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
session.addUser(trimmed);
|
|
118
|
+
session.trim();
|
|
119
|
+
process.stdout.write(`\n${chalk.green.bold(`๐ค ${modelLabel}`)}: `);
|
|
120
|
+
try {
|
|
121
|
+
const { content } = await chat(modelConfig, session.getMessages(), {
|
|
122
|
+
stream: config.get('stream'),
|
|
123
|
+
onChunk: (c) => process.stdout.write(c),
|
|
124
|
+
});
|
|
125
|
+
console.log('\n');
|
|
126
|
+
session.addAssistant(content);
|
|
127
|
+
session.persist(); // ๆฏ่ฝฎๅฏน่ฏๅ่ชๅจไฟๅญ
|
|
128
|
+
}
|
|
129
|
+
catch (err) {
|
|
130
|
+
console.log('\n' + theme.error(`่ฏทๆฑๅคฑ่ดฅ: ${err.message}\n`));
|
|
131
|
+
}
|
|
132
|
+
ask();
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
ask();
|
|
136
|
+
}
|
|
137
|
+
// โโโ ๆธ
็ฉบๅๅฒ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
138
|
+
export async function historyClearCommand() {
|
|
139
|
+
const sessions = loadAllSessions();
|
|
140
|
+
if (sessions.length === 0) {
|
|
141
|
+
console.log(theme.dim('\nๆๆ ๅๅฒไผ่ฏ\n'));
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const ok = await confirm({
|
|
145
|
+
message: `็กฎ่ฎคๅ ้คๅ
จ้จ ${sessions.length} ๆกๅๅฒไผ่ฏ๏ผๆญคๆไฝไธๅฏๆค้`,
|
|
146
|
+
default: false,
|
|
147
|
+
});
|
|
148
|
+
if (!ok) {
|
|
149
|
+
console.log(theme.dim('ๅทฒๅๆถ'));
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
let deleted = 0;
|
|
153
|
+
for (const s of sessions) {
|
|
154
|
+
if (deleteSession(s.id))
|
|
155
|
+
deleted++;
|
|
156
|
+
}
|
|
157
|
+
console.log(theme.success(`โ ๅทฒๆธ
็ฉบ ${deleted} ๆกๅๅฒไผ่ฏ`));
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAkBA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAgJjD"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { select, input, confirm, checkbox } from '@inquirer/prompts';
|
|
3
|
+
import { config, MODEL_DEFAULTS, PROVIDER_LABELS } from '../core/config.js';
|
|
4
|
+
import { theme } from '../ui/renderer.js';
|
|
5
|
+
const ALL_PROVIDERS = Object.keys(MODEL_DEFAULTS);
|
|
6
|
+
const PROVIDER_URLS = {
|
|
7
|
+
deepseek: 'https://platform.deepseek.com',
|
|
8
|
+
qwen: 'https://dashscope.console.aliyun.com',
|
|
9
|
+
glm: 'https://open.bigmodel.cn',
|
|
10
|
+
doubao: 'https://console.volcengine.com/ark',
|
|
11
|
+
moonshot: 'https://platform.moonshot.cn',
|
|
12
|
+
minimax: 'https://www.minimaxi.com/user-center/basic-information/interface-key',
|
|
13
|
+
hunyuan: 'https://console.cloud.tencent.com/hunyuan/api-key',
|
|
14
|
+
ernie: 'https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application',
|
|
15
|
+
};
|
|
16
|
+
export async function initCommand() {
|
|
17
|
+
console.log('\n' + theme.divider());
|
|
18
|
+
console.log(chalk.bold.cyan(' ๐ XX-AI-CLI ๅๅงๅๅๅฏผ'));
|
|
19
|
+
console.log(theme.dim(' ่ฎฉๆไปฌๅธฎไฝ ๅฟซ้ๅฎๆ้
็ฝฎ๏ผๅช้ 1 ๅ้'));
|
|
20
|
+
console.log(theme.divider() + '\n');
|
|
21
|
+
// โโ ๆฃๆฅๆฏๅฆๅทฒๆ้
็ฝฎ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
22
|
+
const providers = config.get('providers');
|
|
23
|
+
const hasAnyKey = Object.values(providers).some((p) => p?.apiKey);
|
|
24
|
+
if (hasAnyKey) {
|
|
25
|
+
const overwrite = await confirm({
|
|
26
|
+
message: 'ๆฃๆตๅฐๅทฒๆ้
็ฝฎ๏ผๆฏๅฆ้ๆฐๅๅงๅ๏ผ',
|
|
27
|
+
default: false,
|
|
28
|
+
});
|
|
29
|
+
if (!overwrite) {
|
|
30
|
+
console.log(theme.info('\nไฟ็็ฐๆ้
็ฝฎ๏ผ้ๅบๅๅฏผใ'));
|
|
31
|
+
console.log(theme.dim('ไฝ ๅฏไปฅ้ๆถ่ฟ่ก xxcli config show ๆฅ็้
็ฝฎ'));
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// โโ Step 1: ้ๆฉ่ฆ้
็ฝฎ็ๆจกๅ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
36
|
+
console.log(chalk.bold('\n๐ Step 1/3 ้ๆฉไฝ ่ฆ้
็ฝฎ็ๆจกๅ\n'));
|
|
37
|
+
console.log(theme.dim('๏ผ่ณๅฐ้
็ฝฎไธไธช๏ผๅค้็จ็ฉบๆ ผ้ฎ๏ผ\n'));
|
|
38
|
+
const selectedProviders = await checkbox({
|
|
39
|
+
message: '้ๆฉๆจกๅ๏ผ็ฉบๆ ผ้ไธญ๏ผๅ่ฝฆ็กฎ่ฎค๏ผ',
|
|
40
|
+
choices: ALL_PROVIDERS.map((p) => ({
|
|
41
|
+
name: `${PROVIDER_LABELS[p].padEnd(22)} ${chalk.dim(PROVIDER_URLS[p])}`,
|
|
42
|
+
value: p,
|
|
43
|
+
checked: false, // ้ป่ฎคๅ
จไธ้ไธญ๏ผ็ฑ็จๆทไธปๅจ้ๆฉ
|
|
44
|
+
})),
|
|
45
|
+
validate: (choices) => choices.length > 0 || '่ณๅฐ้ๆฉไธไธชๆจกๅ',
|
|
46
|
+
});
|
|
47
|
+
// โโ Step 2: ้ไธช่พๅ
ฅ API Key โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
48
|
+
console.log(chalk.bold('\n๐ Step 2/3 ้
็ฝฎ API Key\n'));
|
|
49
|
+
const typedSelected = selectedProviders;
|
|
50
|
+
for (let i = 0; i < typedSelected.length; i++) {
|
|
51
|
+
const provider = typedSelected[i];
|
|
52
|
+
const label = PROVIDER_LABELS[provider];
|
|
53
|
+
const defaults = MODEL_DEFAULTS[provider];
|
|
54
|
+
const existingSaved = providers[provider];
|
|
55
|
+
// ๆฏไธชๆจกๅไน้ดๅ ๅ้๏ผๆธ
ๆฐๆ ๅบๅฝๅๅจ้
็ฝฎๅชไธช
|
|
56
|
+
console.log(theme.divider());
|
|
57
|
+
console.log(chalk.bold.cyan(` [${i + 1}/${typedSelected.length}] ้
็ฝฎ ${label}`));
|
|
58
|
+
console.log(theme.dim(` ๅฎๆน Key ่ทๅ๏ผ${PROVIDER_URLS[provider]}`));
|
|
59
|
+
console.log();
|
|
60
|
+
// โโ 2a. ่พๅ
ฅ API Key โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
61
|
+
const existingKey = existingSaved?.apiKey;
|
|
62
|
+
const keyPrompt = existingKey
|
|
63
|
+
? ` API Key๏ผๅ่ฝฆไฟ็็ฐๆ ${existingKey.slice(0, 6)}****๏ผ`
|
|
64
|
+
: ` API Key`;
|
|
65
|
+
const apiKeyInput = await input({
|
|
66
|
+
message: keyPrompt,
|
|
67
|
+
validate: (val) => (!val && !existingKey ? '่ฏท่พๅ
ฅๆๆ็ API Key' : true),
|
|
68
|
+
});
|
|
69
|
+
const finalKey = apiKeyInput.trim() || existingKey;
|
|
70
|
+
// โโ 2b. ๆฏๅฆไฝฟ็จไธๅฑ/ไปฃ็ๅฐๅ โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
71
|
+
const existingBaseURL = existingSaved?.baseURL;
|
|
72
|
+
const isCustomURL = existingBaseURL && existingBaseURL !== defaults.baseURL;
|
|
73
|
+
const useCustom = await confirm({
|
|
74
|
+
message: ` ๆฏๅฆไฝฟ็จไธๅฑๆไปฃ็ API ๅฐๅ๏ผ${isCustomURL ? chalk.dim(`๏ผๅฝๅ๏ผ${existingBaseURL}๏ผ`) : chalk.dim('๏ผๆฎ้ Key ้ๅฆ๏ผ')}`,
|
|
75
|
+
default: !!isCustomURL,
|
|
76
|
+
});
|
|
77
|
+
let finalBaseURL;
|
|
78
|
+
let finalModel;
|
|
79
|
+
if (useCustom) {
|
|
80
|
+
// โโ 2c. ่พๅ
ฅ่ชๅฎไน BaseURL โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
81
|
+
const baseURLInput = await input({
|
|
82
|
+
message: ` API ๅฐๅ๏ผBase URL๏ผ`,
|
|
83
|
+
default: isCustomURL ? existingBaseURL : undefined,
|
|
84
|
+
validate: (val) => {
|
|
85
|
+
if (!val)
|
|
86
|
+
return '่ฏท่พๅ
ฅๆๆ็ API ๅฐๅ';
|
|
87
|
+
if (!val.startsWith('http'))
|
|
88
|
+
return 'ๅฐๅ้ไปฅ http:// ๆ https:// ๅผๅคด';
|
|
89
|
+
return true;
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
finalBaseURL = baseURLInput.trim();
|
|
93
|
+
// โโ 2d. ่พๅ
ฅ่ชๅฎไนๆจกๅๅ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
94
|
+
const existingModel = existingSaved?.model ?? defaults.model;
|
|
95
|
+
const modelInput = await input({
|
|
96
|
+
message: ` ๆจกๅๅ็งฐ`,
|
|
97
|
+
default: existingModel,
|
|
98
|
+
validate: (val) => (!val ? '่ฏท่พๅ
ฅๆจกๅๅ็งฐ' : true),
|
|
99
|
+
});
|
|
100
|
+
finalModel = modelInput.trim() || existingModel;
|
|
101
|
+
console.log(theme.dim(`\n ๅฐไฝฟ็จ๏ผ${finalBaseURL} ๆจกๅ๏ผ${finalModel}`));
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
// ๆฎ้ Key๏ผๆขๅค้ป่ฎคๅฐๅๅๆจกๅๅ๏ผๆธ
้คไนๅๅฏ่ฝ่ฎพ็่ชๅฎไนๅผ๏ผ
|
|
105
|
+
finalBaseURL = defaults.baseURL;
|
|
106
|
+
finalModel = existingSaved?.model ?? defaults.model;
|
|
107
|
+
console.log(theme.dim(`\n ๅฐไฝฟ็จๅฎๆนๅฐๅ๏ผ${finalBaseURL} ๆจกๅ๏ผ${finalModel}`));
|
|
108
|
+
}
|
|
109
|
+
config.setProvider(provider, finalKey, finalModel, finalBaseURL);
|
|
110
|
+
console.log(theme.success(` โ ${label} ้
็ฝฎๆๅ\n`));
|
|
111
|
+
}
|
|
112
|
+
console.log(theme.divider() + '\n');
|
|
113
|
+
// โโ Step 3: ่ฎพ็ฝฎ้ป่ฎคๆจกๅ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
114
|
+
console.log(chalk.bold('โ๏ธ Step 3/3 ๅบ็ก่ฎพ็ฝฎ\n'));
|
|
115
|
+
const configuredProviders = selectedProviders;
|
|
116
|
+
const defaultProvider = await select({
|
|
117
|
+
message: '่ฎพ็ฝฎ้ป่ฎคๆจกๅ',
|
|
118
|
+
choices: configuredProviders.map((p) => ({
|
|
119
|
+
name: PROVIDER_LABELS[p],
|
|
120
|
+
value: p,
|
|
121
|
+
})),
|
|
122
|
+
});
|
|
123
|
+
config.setDefault(defaultProvider);
|
|
124
|
+
const streamEnabled = await confirm({
|
|
125
|
+
message: 'ๅฏ็จๆตๅผ่พๅบ๏ผๆจ่๏ผๅฎๆถๆพ็คบ AI ๅๅค๏ผ',
|
|
126
|
+
default: true,
|
|
127
|
+
});
|
|
128
|
+
config.set('stream', streamEnabled);
|
|
129
|
+
// โโ ๅฎๆ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
130
|
+
console.log('\n' + theme.divider());
|
|
131
|
+
console.log(chalk.bold.green(' ๐ ๅๅงๅๅฎๆ๏ผ'));
|
|
132
|
+
console.log(theme.divider());
|
|
133
|
+
console.log(`
|
|
134
|
+
ๅฟซ้ไธๆ๏ผ
|
|
135
|
+
${chalk.cyan('xx')} ่ฟๅ
ฅๆบ่ฝไบคไบๆจกๅผ
|
|
136
|
+
${chalk.cyan('xx "ๅธฎๆๅไธช้ฒๆๅฝๆฐ"')} ๅๆฌกๆ้ฎ๏ผ่ชๅจ่ฏๅซๆๅพ๏ผ
|
|
137
|
+
${chalk.cyan('xx chat')} ่ฟๅ
ฅๅค่ฝฎๅฏน่ฏ
|
|
138
|
+
${chalk.cyan('xx ask "ไปไนๆฏCAPๅฎ็"')} ๅฟซ้้ฎ็ญ
|
|
139
|
+
${chalk.dim('cat file.ts | xx "ๅธฎๆ่งฃ้่ฟๆฎตไปฃ็ "')} ็ฎก้่พๅ
ฅ
|
|
140
|
+
|
|
141
|
+
${theme.dim('ไฝฟ็จ xxcli config show ๆฅ็ๅฎๆด้
็ฝฎ')}
|
|
142
|
+
`);
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface ToolDef {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
/** GitHub owner/repo๏ผไพๅฆ "owner/openclaw" */
|
|
5
|
+
github?: string;
|
|
6
|
+
/** npm ๅ
จๅฑๅ
ๅ */
|
|
7
|
+
npm?: string;
|
|
8
|
+
/** brew ๅ
ๅ */
|
|
9
|
+
brew?: string;
|
|
10
|
+
/** ๅฎ่ฃ
ๅ้ช่ฏๅฝไปค */
|
|
11
|
+
checkCmd?: string;
|
|
12
|
+
/** ๅฎๆนๆๆกฃๅฐๅ */
|
|
13
|
+
docs?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const TOOL_REGISTRY: Record<string, ToolDef>;
|
|
16
|
+
export interface InstallOptions {
|
|
17
|
+
force?: boolean;
|
|
18
|
+
method?: 'npm' | 'brew' | 'github' | 'auto';
|
|
19
|
+
version?: string;
|
|
20
|
+
dryRun?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare function installCommand(toolName: string, options?: InstallOptions): Promise<void>;
|
|
23
|
+
export declare function listTools(): void;
|
|
24
|
+
//# sourceMappingURL=install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAQjD,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAGD,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAsCf;AAgSD,wBAAgB,SAAS,IAAI,IAAI,CAWhC"}
|