已实现“设置里手动填写上下文保存长度(默认 10 万,最大 20 万)”:

新增设置项:Source/WulaFallenEmpire/WulaFallenEmpireSettings.cs 增加 maxContextTokens 并持久化。
设置界面:Source/WulaFallenEmpire/WulaFallenEmpireMod.cs 增加输入框(Widgets.TextFieldNumeric,范围 1000..200000)。
生效点:Source/WulaFallenEmpire/EventSystem/AI/UI/Dialog_AIConversation.cs 压缩历史时不再用常量 MaxHistoryTokens,改为读取 WulaFallenEmpireMod.settings.maxContextTokens。
文本:1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_Keyed.xml 添加 Wula_AISettings_MaxContextTokens / Wula_AISettings_MaxContextTokensDesc。
已编译输出:1.6/1.6/Assemblies/WulaFallenEmpire.dll
This commit is contained in:
2025-12-14 13:25:23 +08:00
parent 002f407482
commit 89a48decf3
5 changed files with 20 additions and 3 deletions

View File

@@ -10,6 +10,7 @@ namespace WulaFallenEmpire
public class WulaFallenEmpireMod : Mod
{
public static WulaFallenEmpireSettings settings;
private string _maxContextTokensBuffer;
public WulaFallenEmpireMod(ModContentPack content) : base(content)
{
@@ -38,6 +39,12 @@ namespace WulaFallenEmpire
listingStandard.Label("Wula_AISettings_Model".Translate());
settings.model = listingStandard.TextEntry(settings.model);
listingStandard.GapLine();
listingStandard.Label("Wula_AISettings_MaxContextTokens".Translate());
listingStandard.Label("Wula_AISettings_MaxContextTokensDesc".Translate());
Rect tokensRect = listingStandard.GetRect(Text.LineHeight);
Widgets.TextFieldNumeric(tokensRect, ref settings.maxContextTokens, ref _maxContextTokensBuffer, 1000, 200000);
listingStandard.End();
base.DoSettingsWindowContents(inRect);
}