yuangs 1.3.62 → 1.3.64
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.
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
@@ -8,6 +41,8 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
8
41
|
const ora_1 = __importDefault(require("ora"));
|
|
9
42
|
const readline_1 = __importDefault(require("readline"));
|
|
10
43
|
const client_1 = require("../ai/client");
|
|
44
|
+
const marked = __importStar(require("marked"));
|
|
45
|
+
const marked_terminal_1 = __importDefault(require("marked-terminal"));
|
|
11
46
|
async function handleAIChat(initialQuestion, model) {
|
|
12
47
|
if (initialQuestion) {
|
|
13
48
|
await askOnceStream(initialQuestion, model);
|
|
@@ -82,6 +117,15 @@ async function handleAIChat(initialQuestion, model) {
|
|
|
82
117
|
rl.close();
|
|
83
118
|
}
|
|
84
119
|
}
|
|
120
|
+
// 配置 marked 使用 TerminalRenderer
|
|
121
|
+
marked.setOptions({
|
|
122
|
+
renderer: new marked_terminal_1.default({
|
|
123
|
+
// 自定义终端渲染选项
|
|
124
|
+
tab: 2,
|
|
125
|
+
width: process.stdout.columns || 80,
|
|
126
|
+
showSectionPrefix: false,
|
|
127
|
+
})
|
|
128
|
+
});
|
|
85
129
|
async function askOnceStream(question, model) {
|
|
86
130
|
const startTime = Date.now();
|
|
87
131
|
const messages = [...(0, client_1.getConversationHistory)()];
|
|
@@ -89,14 +133,35 @@ async function askOnceStream(question, model) {
|
|
|
89
133
|
const spinner = (0, ora_1.default)(chalk_1.default.cyan('AI 正在思考...')).start();
|
|
90
134
|
let fullResponse = '';
|
|
91
135
|
try {
|
|
136
|
+
// 显示流式输出(打字机效果)
|
|
137
|
+
let isFirstOutput = true;
|
|
92
138
|
await (0, client_1.callAI_Stream)(messages, model, (chunk) => {
|
|
93
139
|
if (spinner.isSpinning) {
|
|
94
140
|
spinner.stop();
|
|
95
|
-
|
|
141
|
+
if (isFirstOutput) {
|
|
142
|
+
process.stdout.write(chalk_1.default.bold.blue('🤖 AI:'));
|
|
143
|
+
isFirstOutput = false;
|
|
144
|
+
}
|
|
96
145
|
}
|
|
97
146
|
fullResponse += chunk;
|
|
147
|
+
// 实现流式输出
|
|
98
148
|
process.stdout.write(chunk);
|
|
99
149
|
});
|
|
150
|
+
// 计算流式输出占用的行数
|
|
151
|
+
const lines = fullResponse.split('\n');
|
|
152
|
+
const lineCount = lines.length;
|
|
153
|
+
// 移动光标到输出开始的位置并清除内容
|
|
154
|
+
// \x1b[A 是向上移动一行
|
|
155
|
+
// \x1b[K 是清除从光标到行尾的内容
|
|
156
|
+
for (let i = 0; i < lineCount; i++) {
|
|
157
|
+
process.stdout.write('\x1b[A\x1b[K'); // Move up one line and clear it
|
|
158
|
+
}
|
|
159
|
+
// 额外清除 "🤖 AI:" 这一行
|
|
160
|
+
process.stdout.write('\x1b[A\x1b[K');
|
|
161
|
+
// 输出格式化的 AI 响应
|
|
162
|
+
process.stdout.write(chalk_1.default.bold.blue('🤖 AI:'));
|
|
163
|
+
const formattedResponse = marked.parse(fullResponse, { async: false });
|
|
164
|
+
process.stdout.write(formattedResponse);
|
|
100
165
|
(0, client_1.addToConversationHistory)('user', question);
|
|
101
166
|
(0, client_1.addToConversationHistory)('assistant', fullResponse);
|
|
102
167
|
const elapsed = (Date.now() - startTime) / 1000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleAIChat.js","sourceRoot":"","sources":["../../src/commands/handleAIChat.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handleAIChat.js","sourceRoot":"","sources":["../../src/commands/handleAIChat.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,oCA2EC;AAlFD,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,MAAM,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;YAAE,OAAO;IACrC,CAAC;IAED,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"}
|