diff --git a/core/api.js b/core/api.js index 1e1337d..c37fc64 100644 --- a/core/api.js +++ b/core/api.js @@ -1,326 +1 @@ -import { extension_settings, getContext } from "/scripts/extensions.js"; -import { characters } from "/script.js"; -import { world_names } from "/scripts/world-info.js"; -import { extensionName } from "../utils/settings.js"; -import { extractContentByTag, replaceContentByTag, extractFullTagBlock } from '../utils/tagProcessor.js'; -import { - getCombinedWorldbookContent, - findLatestSummaryLore, - DEDICATED_LOREBOOK_NAME, - getChatIdentifier, -} from "./lore.js"; -import { checkAndFixWithAPI as summarizerCheckAndFix } from './summarizer.js'; - -// 导入 Google 适配器和轮询管理器 -import { - isGoogleEndpoint, - convertToGoogleRequest, - parseGoogleResponse, - buildGoogleApiUrl -} from '../core/utils/googleAdapter.js'; - -import { - intelligentPoll, - createGooglePollingTask, - progressTracker -} from '../core/utils/pollingManager.js'; - - -let ChatCompletionService = undefined; -try { - const module = await import('/scripts/custom-request.js'); - ChatCompletionService = module.ChatCompletionService; - console.log('[Amily2号-外交部] 已成功召唤“皇家信使”(ChatCompletionService)。'); -} catch (e) { - console.warn("[Amily2号-外交部] 未能召唤“皇家信使”,部分高级功能(如Claw代理)将受限。请考虑更新SillyTavern版本。", e); -} - -const UPDATE_CHECK_URL = - "https://raw.githubusercontent.com/Wx-2025/ST-Amily2-Chat-Optimisation/refs/heads/main/amily2_update_info.json"; - -const MESSAGE_BOARD_URL = - "https://raw.githubusercontent.com/Wx-2025/ST-Amily2-Chat-Optimisation/refs/heads/main/amily2_message_board.json"; - -export async function fetchMessageBoardContent() { - if (!MESSAGE_BOARD_URL) { - console.log('[Amily2号-内务府] 任务取消:陛下尚未配置留言板URL。'); - return null; - } - try { - const response = await fetch(MESSAGE_BOARD_URL, { cache: 'no-store' }); - if (!response.ok) { - throw new Error(`服务器响应异常: ${response.status}`); - } - const data = await response.json(); - return data; - } catch (error) { - console.error('[Amily2号-内务府] 获取留言板内容失败:', error); - return null; - } -} - -export async function checkForUpdates() { - if (!UPDATE_CHECK_URL || UPDATE_CHECK_URL.includes('YourUsername')) { - console.log('[Amily2号-外交部] 任务取消:陛下尚未配置情报来源URL。'); - return null; - } - - - try { - console.log('[Amily2号-外交部] 已派遣使者前往云端获取最新情报...'); - const response = await fetch(UPDATE_CHECK_URL, { - method: 'GET', - cache: 'no-store', - mode: 'cors' - }); - - - - if (!response.ok) { - throw new Error(`远方服务器响应异常,状态: ${response.status}`); - } - - const data = await response.json(); - console.log('[Amily2号-外交部] 情报已成功获取并解析。'); - return data; - - } catch (error) { - console.error('[Amily2号-外交部] 紧急军情:外交任务失败!', error); - return null; - } -} - -let isFetchingModels = false; -export async function fetchSupportedModels() { - const settings = extension_settings[extensionName]; - if (settings && settings.forceProxyForCustomApi) { - console.log('[Amily2号-使节团] 已启用“皇家密道”模式,跳过模型列表获取。请手动输入模型ID并保存。'); - toastr.info("已启用手动模式,请直接输入模型ID。", "模式切换"); - - const $selector = $("#amily2_model"); - $selector.empty().append($('