uwonbot 1.1.4 → 1.1.6
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/bin/uwonbot.js +1 -1
- package/package.json +2 -2
- package/src/chat.js +34 -1
package/bin/uwonbot.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "uwonbot",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.6",
|
|
4
4
|
"description": "Uwonbot AI Assistant CLI — Your AI controls your computer",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"commander": "^12.1.0",
|
|
28
28
|
"conf": "^13.0.1",
|
|
29
29
|
"inquirer": "^12.0.0",
|
|
30
|
-
"mic": "^2.
|
|
30
|
+
"mic": "^2.1.2",
|
|
31
31
|
"node-fetch": "^3.3.2",
|
|
32
32
|
"open": "^10.1.0",
|
|
33
33
|
"ora": "^8.1.0",
|
package/src/chat.js
CHANGED
|
@@ -10,6 +10,8 @@ import { showMiniBar } from './banner.js';
|
|
|
10
10
|
import { printOrb, animateOrb } from './terminalOrb.js';
|
|
11
11
|
import VoiceInput from './voiceInput.js';
|
|
12
12
|
import {
|
|
13
|
+
fetchAssistants,
|
|
14
|
+
setIdToken,
|
|
13
15
|
hasRegisteredDevices,
|
|
14
16
|
createCLISession,
|
|
15
17
|
checkCLISession,
|
|
@@ -119,6 +121,36 @@ export async function startChat(assistantName, assistant, initialCommand, option
|
|
|
119
121
|
return;
|
|
120
122
|
}
|
|
121
123
|
|
|
124
|
+
if (!assistant && assistantName) {
|
|
125
|
+
const idToken = config.get('idToken');
|
|
126
|
+
if (idToken) setIdToken(idToken);
|
|
127
|
+
|
|
128
|
+
const spinner = ora({ text: chalk.gray('비서 로딩 중...'), spinner: 'dots', color: 'cyan' }).start();
|
|
129
|
+
try {
|
|
130
|
+
const all = await fetchAssistants(uid);
|
|
131
|
+
const found = all.find(a => a.name.toLowerCase() === assistantName.toLowerCase());
|
|
132
|
+
if (found) {
|
|
133
|
+
assistant = found;
|
|
134
|
+
spinner.stop();
|
|
135
|
+
} else {
|
|
136
|
+
spinner.stop();
|
|
137
|
+
console.log(chalk.yellow(`\n ⚠ "${assistantName}" 비서를 찾을 수 없습니다.`));
|
|
138
|
+
if (all.length > 0) {
|
|
139
|
+
console.log(chalk.gray(' 등록된 비서: ' + all.map(a => a.name).join(', ')));
|
|
140
|
+
} else {
|
|
141
|
+
console.log(chalk.gray(' 등록된 비서가 없습니다. 웹에서 생성해주세요:'));
|
|
142
|
+
console.log(chalk.cyan(' https://chartapp-653e1.web.app/assistant/create'));
|
|
143
|
+
}
|
|
144
|
+
console.log('');
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
} catch (err) {
|
|
148
|
+
spinner.stop();
|
|
149
|
+
console.log(chalk.red(`\n ⚠ 비서 목록 로드 실패: ${err.message}\n`));
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
122
154
|
if (!assistant) {
|
|
123
155
|
console.log(chalk.yellow('\n No assistant selected.\n'));
|
|
124
156
|
return;
|
|
@@ -143,7 +175,8 @@ export async function startChat(assistantName, assistant, initialCommand, option
|
|
|
143
175
|
: assistant.brain === 'gemini' ? '#8b5cf6'
|
|
144
176
|
: '#2563eb';
|
|
145
177
|
|
|
146
|
-
const
|
|
178
|
+
const colorsArr = assistant.colors;
|
|
179
|
+
const orbColorHex = (Array.isArray(colorsArr) && colorsArr[0]) || assistant.orbColor || brainColor;
|
|
147
180
|
const orbRgb = hexToRgb(orbColorHex);
|
|
148
181
|
|
|
149
182
|
console.clear();
|