From 22423f4b700d90c3db88c21a70797d46394d013d Mon Sep 17 00:00:00 2001 From: RT15548 Date: Sun, 28 Dec 2025 22:35:55 +0800 Subject: [PATCH] Delete modules/script-assistant.js --- modules/script-assistant.js | 104 ------------------------------------ 1 file changed, 104 deletions(-) delete mode 100644 modules/script-assistant.js diff --git a/modules/script-assistant.js b/modules/script-assistant.js deleted file mode 100644 index 43dcefd..0000000 --- a/modules/script-assistant.js +++ /dev/null @@ -1,104 +0,0 @@ -import { extension_settings, getContext } from "../../../../extensions.js"; -import { saveSettingsDebounced, setExtensionPrompt, extension_prompt_types } from "../../../../../script.js"; -import { EXT_ID, extensionFolderPath } from "../core/constants.js"; -import { createModuleEvents, event_types } from "../core/event-manager.js"; - -const SCRIPT_MODULE_NAME = "xiaobaix-script"; -const events = createModuleEvents('scriptAssistant'); - -function initScriptAssistant() { - if (!extension_settings[EXT_ID].scriptAssistant) { - extension_settings[EXT_ID].scriptAssistant = { enabled: false }; - } - - if (window['registerModuleCleanup']) { - window['registerModuleCleanup']('scriptAssistant', cleanup); - } - - $('#xiaobaix_script_assistant').on('change', function() { - let globalEnabled = true; - try { if ('isXiaobaixEnabled' in window) globalEnabled = Boolean(window['isXiaobaixEnabled']); } catch {} - if (!globalEnabled) return; - - const enabled = $(this).prop('checked'); - extension_settings[EXT_ID].scriptAssistant.enabled = enabled; - saveSettingsDebounced(); - - if (enabled) { - if (typeof window['injectScriptDocs'] === 'function') window['injectScriptDocs'](); - } else { - if (typeof window['removeScriptDocs'] === 'function') window['removeScriptDocs'](); - cleanup(); - } - }); - - $('#xiaobaix_script_assistant').prop('checked', extension_settings[EXT_ID].scriptAssistant.enabled); - - setupEventListeners(); - - if (extension_settings[EXT_ID].scriptAssistant.enabled) { - setTimeout(() => { if (typeof window['injectScriptDocs'] === 'function') window['injectScriptDocs'](); }, 1000); - } -} - -function setupEventListeners() { - events.on(event_types.CHAT_CHANGED, () => setTimeout(checkAndInjectDocs, 500)); - events.on(event_types.MESSAGE_RECEIVED, checkAndInjectDocs); - events.on(event_types.USER_MESSAGE_RENDERED, checkAndInjectDocs); - events.on(event_types.SETTINGS_LOADED_AFTER, () => setTimeout(checkAndInjectDocs, 1000)); - events.on(event_types.APP_READY, () => setTimeout(checkAndInjectDocs, 1500)); -} - -function cleanup() { - events.cleanup(); - if (typeof window['removeScriptDocs'] === 'function') window['removeScriptDocs'](); -} - -function checkAndInjectDocs() { - const globalEnabled = window.isXiaobaixEnabled !== undefined ? window.isXiaobaixEnabled : extension_settings[EXT_ID].enabled; - if (globalEnabled && extension_settings[EXT_ID].scriptAssistant?.enabled) { - injectScriptDocs(); - } else { - removeScriptDocs(); - } -} - -async function injectScriptDocs() { - try { - let docsContent = ''; - - try { - const response = await fetch(`${extensionFolderPath}/docs/script-docs.md`); - if (response.ok) { - docsContent = await response.text(); - } - } catch (error) { - docsContent = "无法加载script-docs.md文件"; - } - - const formattedPrompt = ` -【小白X插件 - 写卡助手】 -你是小白X插件的内置助手,专门帮助用户创建STscript脚本和交互式界面的角色卡。 -以下是小白x功能和SillyTavern的官方STscript脚本文档,可结合小白X功能创作与SillyTavern深度交互的角色卡: -${docsContent} -`; - - setExtensionPrompt( - SCRIPT_MODULE_NAME, - formattedPrompt, - extension_prompt_types.IN_PROMPT, - 2, - false, - 0 - ); - } catch (error) {} -} - -function removeScriptDocs() { - setExtensionPrompt(SCRIPT_MODULE_NAME, '', extension_prompt_types.IN_PROMPT, 2, false, 0); -} - -window.injectScriptDocs = injectScriptDocs; -window.removeScriptDocs = removeScriptDocs; - -export { initScriptAssistant };