mirror of
https://github.com/Wx-2025/ST-Amily2-Chat-Optimisation.git
synced 2026-06-06 11:35:50 +00:00
Update api.js
This commit is contained in:
62
core/api.js
62
core/api.js
@@ -1,11 +1,52 @@
|
|||||||
|
|
||||||
import { extension_settings, getContext } from "/scripts/extensions.js";
|
import { extension_settings, getContext } from "/scripts/extensions.js";
|
||||||
import { characters } from "/script.js";
|
import { characters } from "/script.js";
|
||||||
import { world_names } from "/scripts/world-info.js";
|
import { world_names } from "/scripts/world-info.js";
|
||||||
import { extensionName } from "../utils/settings.js";
|
import { extensionName } from "../utils/settings.js";
|
||||||
import { getCombinedWorldbookContent, findLatestSummaryLore, DEDICATED_LOREBOOK_NAME, getChatIdentifier } from "./lore.js";
|
import {
|
||||||
|
getCombinedWorldbookContent,
|
||||||
|
findLatestSummaryLore,
|
||||||
|
DEDICATED_LOREBOOK_NAME,
|
||||||
|
getChatIdentifier,
|
||||||
|
} from "./lore.js";
|
||||||
|
|
||||||
|
|
||||||
|
const UPDATE_CHECK_URL =
|
||||||
|
"https://raw.githubusercontent.com/Wx-2025/ST-Amily2-Chat-Optimisation/refs/heads/main/amily2_update_info.json";
|
||||||
|
|
||||||
|
|
||||||
|
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;
|
let isFetchingModels = false;
|
||||||
|
|
||||||
export async function fetchSupportedModels() {
|
export async function fetchSupportedModels() {
|
||||||
@@ -127,9 +168,8 @@ export async function fetchSupportedModels() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export async function checkAndFixWithAPI(latestMessage, previousMessages) {
|
export async function checkAndFixWithAPI(latestMessage, previousMessages) {
|
||||||
if (window.AMILY2_SYSTEM_PARALYZED === true) {
|
if (window.AMILY2_SYSTEM_PARALYZED === true) {
|
||||||
console.error("[Amily2-制裁] 系统完整性已受损,所有外交活动被无限期中止。");
|
console.error("[Amily2-制裁] 系统完整性已受损,所有外交活动被无限期中止。");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -201,10 +241,14 @@ export async function checkAndFixWithAPI(latestMessage, previousMessages) {
|
|||||||
|
|
||||||
console.groupCollapsed("Amily2号-统一情报卷宗");
|
console.groupCollapsed("Amily2号-统一情报卷宗");
|
||||||
let userCommand = "请根据以下信息,执行你的多任务指令:\n\n";
|
let userCommand = "请根据以下信息,执行你的多任务指令:\n\n";
|
||||||
const lastUserMessage = (previousMessages.length > 0 && previousMessages[previousMessages.length - 1].is_user)
|
const lastUserMessage =
|
||||||
|
previousMessages.length > 0 &&
|
||||||
|
previousMessages[previousMessages.length - 1].is_user
|
||||||
? previousMessages[previousMessages.length - 1]
|
? previousMessages[previousMessages.length - 1]
|
||||||
: null;
|
: null;
|
||||||
const historyMessages = lastUserMessage ? previousMessages.slice(0, -1) : previousMessages;
|
const historyMessages = lastUserMessage
|
||||||
|
? previousMessages.slice(0, -1)
|
||||||
|
: previousMessages;
|
||||||
|
|
||||||
const history = historyMessages
|
const history = historyMessages
|
||||||
.map((m) => `${m.is_user ? "陛下" : "姐姐Amily"}: ${m.mes}`)
|
.map((m) => `${m.is_user ? "陛下" : "姐姐Amily"}: ${m.mes}`)
|
||||||
@@ -225,9 +269,9 @@ const lastUserMessage = (previousMessages.length > 0 && previousMessages[previou
|
|||||||
|
|
||||||
let currentInteractionContent = "";
|
let currentInteractionContent = "";
|
||||||
if (lastUserMessage) {
|
if (lastUserMessage) {
|
||||||
currentInteractionContent = `陛下: ${lastUserMessage.mes}\n姐姐Amily: ${textToOptimize}`;
|
currentInteractionContent = `陛下: ${lastUserMessage.mes}\n姐姐Amily: ${textToOptimize}`;
|
||||||
} else {
|
} else {
|
||||||
currentInteractionContent = textToOptimize;
|
currentInteractionContent = textToOptimize;
|
||||||
}
|
}
|
||||||
userCommand += `[待处理的原文]:\n${currentInteractionContent}`;
|
userCommand += `[待处理的原文]:\n${currentInteractionContent}`;
|
||||||
let finalSystemPrompt = settings.systemPrompt;
|
let finalSystemPrompt = settings.systemPrompt;
|
||||||
@@ -244,7 +288,7 @@ const lastUserMessage = (previousMessages.length > 0 && previousMessages[previou
|
|||||||
console.log("【总结】已附加总结提示词");
|
console.log("【总结】已附加总结提示词");
|
||||||
finalSystemPrompt += `\n\n[总结附加指令]:\n${settings.summarizationPrompt}`;
|
finalSystemPrompt += `\n\n[总结附加指令]:\n${settings.summarizationPrompt}`;
|
||||||
}
|
}
|
||||||
console.groupEnd();
|
console.groupEnd();
|
||||||
|
|
||||||
const messages = [
|
const messages = [
|
||||||
{ role: "system", content: finalSystemPrompt },
|
{ role: "system", content: finalSystemPrompt },
|
||||||
|
|||||||
Reference in New Issue
Block a user