diff --git a/TODO.md b/TODO.md
index 9c9bfcb..21413e9 100644
--- a/TODO.md
+++ b/TODO.md
@@ -13,6 +13,10 @@
以下为待开发内容
+- **项目框架重构 (Project Refactoring)**:
+ - 现状:大量功能模块(如 `NccsApi.js`)存在手动组装参数、逻辑耦合度高、代码风格不统一("能跑就行"遗留债)等问题。
+ - 目标:系统性重构项目架构,统一使用 Builder 模式(如 `Options.builder`),解耦业务逻辑与配置管理,提升代码可维护性和优雅度。
+
## 未修复
以下为示例(预计三个版本后移除)
diff --git a/assets/amily-data-table/Memorisation-forms.html b/assets/amily-data-table/Memorisation-forms.html
index fd12371..f31dde7 100644
--- a/assets/amily-data-table/Memorisation-forms.html
+++ b/assets/amily-data-table/Memorisation-forms.html
@@ -333,13 +333,12 @@
-
+
-
-
+
+
diff --git a/core/api/NccsApi.js b/core/api/NccsApi.js
index c141585..0d75a70 100644
--- a/core/api/NccsApi.js
+++ b/core/api/NccsApi.js
@@ -38,13 +38,15 @@ if (window.Amily2Bus) {
export function getNccsApiSettings() {
return {
+ nccsEnabled: extension_settings[extensionName]?.nccsEnabled || false,
apiMode: extension_settings[extensionName]?.nccsApiMode || 'openai_test',
apiUrl: extension_settings[extensionName]?.nccsApiUrl?.trim() || '',
apiKey: extension_settings[extensionName]?.nccsApiKey?.trim() || '',
model: extension_settings[extensionName]?.nccsModel || '',
maxTokens: extension_settings[extensionName]?.nccsMaxTokens || 4000,
temperature: extension_settings[extensionName]?.nccsTemperature || 0.7,
- tavernProfile: extension_settings[extensionName]?.nccsTavernProfile || ''
+ tavernProfile: extension_settings[extensionName]?.nccsTavernProfile || '',
+ useFakeStream: extension_settings[extensionName]?.nccsFakeStreamEnabled || false
};
}
diff --git a/core/table-system/settings.js b/core/table-system/settings.js
index 6bcaf52..c332f71 100644
--- a/core/table-system/settings.js
+++ b/core/table-system/settings.js
@@ -155,4 +155,8 @@ export const tableSystemDefaultSettings = {
table_independent_rules_enabled: false,
table_tags_to_extract: '',
table_exclusion_rules: [],
+
+ // Nccs API 设置
+ nccsEnabled: false,
+ nccsFakeStreamEnabled: false,
};
diff --git a/manifest.json b/manifest.json
index 12c6edf..98f2757 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,15 +1,15 @@
{
- "name": "Amily2号聊天优化助手",
- "display_name": "Amily2号助手",
- "version": "1.8.3",
- "author": "Wx-2025",
- "description": "一个拥有独立UI的智能引擎,正文优化、自动总结、记忆表格、rag向量、隐藏楼层、剧情推进等多功能整合。",
- "minSillyTavernVersion": "1.10.0",
- "requires": [],
- "homePage": "https://github.com/Wx-2025/ST-Amily2-Chat-Optimisation.git",
- "loading_order": 9999,
- "js": "index.js",
- "styles": ["style.css"]
+ "name": "Amily2号聊天优化助手",
+ "display_name": "Amily2号助手",
+ "version": "1.8.3-a",
+ "author": "Wx-2025",
+ "description": "一个拥有独立UI的智能引擎,正文优化、自动总结、记忆表格、rag向量、隐藏楼层、剧情推进等多功能整合。",
+ "minSillyTavernVersion": "1.10.0",
+ "requires": [],
+ "homePage": "https://github.com/Wx-2025/ST-Amily2-Chat-Optimisation.git",
+ "loading_order": 9999,
+ "js": "index.js",
+ "styles": ["style.css"]
}
diff --git a/ui/table-bindings.js b/ui/table-bindings.js
index 8ac9e50..f18b803 100644
--- a/ui/table-bindings.js
+++ b/ui/table-bindings.js
@@ -1980,7 +1980,7 @@ function bindNccsApiEvents() {
const settings = extension_settings[extensionName];
if (settings.nccsEnabled === undefined) settings.nccsEnabled = false;
- if (settings.nccsFakeStreamEnabled === undefined) settings.nccsEnabled = false;
+ if (settings.nccsFakeStreamEnabled === undefined) settings.nccsFakeStreamEnabled = false;
if (settings.nccsApiMode === undefined) settings.nccsApiMode = 'openai_test';
if (settings.nccsApiUrl === undefined) settings.nccsApiUrl = 'https://api.openai.com/v1';
if (settings.nccsApiKey === undefined) settings.nccsApiKey = '';
@@ -2068,6 +2068,12 @@ function bindNccsApiEvents() {
log(`Nccs API ${enabledToggle.checked ? '已启用' : '已禁用'}`, 'info');
});
+ enabledFakeStreamToggle.addEventListener('change', () => {
+ settings.nccsFakeStreamEnabled = enabledFakeStreamToggle.checked;
+ saveSettingsDebounced();
+ log(`Nccs API FakeStream ${enabledFakeStreamToggle.checked ? 'Enabled' : 'Disabled'}`, 'info');
+ });
+
if (modeSelect) {
modeSelect.addEventListener('change', () => {
settings.nccsApiMode = modeSelect.value;