yuangs 1.3.63 → 1.3.65
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/cli.js
CHANGED
|
File without changes
|
|
@@ -45,10 +45,11 @@ const marked = __importStar(require("marked"));
|
|
|
45
45
|
const marked_terminal_1 = __importDefault(require("marked-terminal"));
|
|
46
46
|
async function handleAIChat(initialQuestion, model) {
|
|
47
47
|
if (initialQuestion) {
|
|
48
|
+
// 如果有初始问题,直接回答并退出,不进入交互模式
|
|
48
49
|
await askOnceStream(initialQuestion, model);
|
|
49
|
-
|
|
50
|
-
return;
|
|
50
|
+
return;
|
|
51
51
|
}
|
|
52
|
+
// 如果没有初始问题,进入交互模式
|
|
52
53
|
console.log(chalk_1.default.bold.cyan('\n🤖 进入 AI 交互模式 (输入 exit 退出)\n'));
|
|
53
54
|
const rl = readline_1.default.createInterface({
|
|
54
55
|
input: process.stdin,
|
|
@@ -133,18 +134,32 @@ async function askOnceStream(question, model) {
|
|
|
133
134
|
const spinner = (0, ora_1.default)(chalk_1.default.cyan('AI 正在思考...')).start();
|
|
134
135
|
let fullResponse = '';
|
|
135
136
|
try {
|
|
137
|
+
// 显示流式输出(打字机效果)
|
|
138
|
+
let isFirstOutput = true;
|
|
136
139
|
await (0, client_1.callAI_Stream)(messages, model, (chunk) => {
|
|
137
140
|
if (spinner.isSpinning) {
|
|
138
141
|
spinner.stop();
|
|
139
|
-
|
|
140
|
-
|
|
142
|
+
if (isFirstOutput) {
|
|
143
|
+
process.stdout.write(chalk_1.default.bold.blue('🤖 AI:'));
|
|
144
|
+
isFirstOutput = false;
|
|
145
|
+
}
|
|
141
146
|
}
|
|
142
147
|
fullResponse += chunk;
|
|
143
|
-
//
|
|
144
|
-
|
|
145
|
-
// 但为了避免覆盖用户输入,我们只在内部缓存
|
|
148
|
+
// 实现流式输出
|
|
149
|
+
process.stdout.write(chunk);
|
|
146
150
|
});
|
|
147
|
-
//
|
|
151
|
+
// 计算流式输出占用的行数
|
|
152
|
+
const lines = fullResponse.split('\n');
|
|
153
|
+
const lineCount = lines.length;
|
|
154
|
+
// 移动光标到输出开始的位置并清除内容
|
|
155
|
+
// \x1b[A 是向上移动一行
|
|
156
|
+
// \x1b[K 是清除从光标到行尾的内容
|
|
157
|
+
for (let i = 0; i < lineCount; i++) {
|
|
158
|
+
process.stdout.write('\x1b[A\x1b[K'); // Move up one line and clear it
|
|
159
|
+
}
|
|
160
|
+
// 额外清除 "🤖 AI:" 这一行
|
|
161
|
+
process.stdout.write('\x1b[A\x1b[K');
|
|
162
|
+
// 输出格式化的 AI 响应
|
|
148
163
|
process.stdout.write(chalk_1.default.bold.blue('🤖 AI:'));
|
|
149
164
|
const formattedResponse = marked.parse(fullResponse, { async: false });
|
|
150
165
|
process.stdout.write(formattedResponse);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleAIChat.js","sourceRoot":"","sources":["../../src/commands/handleAIChat.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,
|
|
1
|
+
{"version":3,"file":"handleAIChat.js","sourceRoot":"","sources":["../../src/commands/handleAIChat.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,oCA6EC;AApFD,kDAA0B;AAC1B,8CAAsB;AACtB,wDAAgC;AAChC,yCAAyH;AACzH,+CAAiC;AACjC,sEAA+C;AAExC,KAAK,UAAU,YAAY,CAAC,eAA8B,EAAE,KAAc;IAC7E,IAAI,eAAe,EAAE,CAAC;QAClB,0BAA0B;QAC1B,MAAM,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO;IACX,CAAC;IAED,kBAAkB;IAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAE/D,MAAM,EAAE,GAAG,kBAAQ,CAAC,eAAe,CAAC;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,GAAG,GAAG,CAAC,KAAa,EAAmB,EAAE;QAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC1B,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,IAAI,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAE7B,cAAc;YACd,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClC,MAAM;YACV,CAAC;YAED,kBAAkB;YAClB,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACvB,IAAA,iCAAwB,GAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;gBACzC,SAAS;YACb,CAAC;YAED,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,IAAA,+BAAsB,GAAE,CAAC;gBACzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;wBACpB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC7E,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;oBACtC,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,SAAS;YACb,CAAC;YAED,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,oBAAoB;YACpB,IAAI,CAAC;gBACD,2DAA2D;gBAC3D,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;oBAAS,CAAC;gBACP,sBAAsB;gBACtB,EAAE,CAAC,MAAM,EAAE,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,WAAoB,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACzF,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;YAAS,CAAC;QACP,EAAE,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;AACL,CAAC;AAED,gCAAgC;AAChC,MAAM,CAAC,UAAU,CAAC;IAChB,QAAQ,EAAE,IAAI,yBAAgB,CAAC;QAC7B,YAAY;QACZ,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;QACnC,iBAAiB,EAAE,KAAK;KACzB,CAAC;CACH,CAAC,CAAC;AAEH,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,KAAc;IACzD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAA,+BAAsB,GAAE,CAAC,CAAC;IAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEnD,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACtD,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,IAAI,CAAC;QACD,gBAAgB;QAChB,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,MAAM,IAAA,sBAAa,EAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YAC3C,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,aAAa,EAAE,CAAC;oBAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAChD,aAAa,GAAG,KAAK,CAAC;gBAC1B,CAAC;YACL,CAAC;YACD,YAAY,IAAI,KAAK,CAAC;YACtB,SAAS;YACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,cAAc;QACd,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;QAE/B,oBAAoB;QACpB,iBAAiB;QACjB,sBAAsB;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,gCAAgC;QAC1E,CAAC;QAED,oBAAoB;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAErC,eAAe;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChD,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAExC,IAAA,iCAAwB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAA,iCAAwB,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAEpD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,SAAS,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACzH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC;QACD,oCAAoC;QACpC,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC"}
|