2026-01-11 17:50:27 +08:00

30 lines
1.1 KiB
JavaScript

// ai.js
import { COMMANDS } from './commands.js';
export async function translateToCommand(userInput) {
const availableKeys = COMMANDS.map(c => c.key).join(', ');
const systemPrompt = `你是一个助手。将输入映射到以下关键词之一:${availableKeys}。只输出关键词,不要其他字。无法匹配则输出 UNKNOWN。`;
return new Promise((resolve) => {
// 1. 监听结果
const handler = (event) => {
const response = event.detail;
window.removeEventListener("AI_RESULT", handler);
if (response.success) {
const content = response.data.choices[0].message.content.trim();
console.log("📥 AI 识别结果:", content);
resolve(content === "UNKNOWN" ? null : content);
} else {
console.error("AI 失败:", response.error);
resolve(null);
}
};
window.addEventListener("AI_RESULT", handler);
// 2. 触发请求
window.dispatchEvent(new CustomEvent("DO_AI_REQUEST", {
detail: { userInput, systemPrompt }
}));
});
}