refactor history archi

This commit is contained in:
bridge
2026-01-12 00:36:10 +08:00
parent 287f9d2ae4
commit 2caa5586be
7 changed files with 13 additions and 7 deletions

View File

@@ -106,6 +106,7 @@ You can also join the QQ group for discussion: 1071821688. Verification answer i
- ✅ Flexible custom LLM interface
- ✅ Support macOS
- [ ] Support multi-language localization
- [ ] Game settings panel at startup
### 🗺️ World System
- ✅ Basic tile mechanics
@@ -204,8 +205,7 @@ You can also join the QQ group for discussion: 1071821688. Verification answer i
### 🏛️ World Lore
- ✅ Inject basic world knowledge
- [ ] Dynamic worldview generation
- [ ] Dynamic generation of techniques, equipment, sects, and maps based on user input history
- ✅ User input history, dynamic generation of techniques, equipment, sects, and region info
### Specials
- ✅ Fortuitous encounters
@@ -221,7 +221,6 @@ You can also join the QQ group for discussion: 1071821688. Verification answer i
- [ ] World Secrets & World Laws (Flexible customization)
- [ ] Gu Refining
- [ ] World-ending Crisis
- [ ] Become a Legend of Later Ages
### 🔭 Long-term
- [ ] Novelization/imagery/video for history and events

View File

@@ -216,8 +216,7 @@
### 🏛️ 世界背景系统
- ✅ 注入基础世界知识
- [ ] 动态世界观生成
- [ ] 基于用户输入历史的动态功法、装备、宗门、地图生成
- ✅ 用户输入历史,动态生成功法、装备、宗门、区域信息
### 特殊
- ✅ 奇遇

View File

@@ -35,6 +35,7 @@ class HistoryManager:
"city_regions": self._read_csv("city_region.csv"),
"normal_regions": self._read_csv("normal_region.csv"),
"cultivate_regions": self._read_csv("cultivate_region.csv"),
"sect_regions": self._read_csv("sect_region.csv"),
"techniques": self._read_csv("technique.csv"),
"weapons": self._read_csv("weapon.csv"),
"auxiliarys": self._read_csv("auxiliary.csv"),
@@ -78,6 +79,7 @@ class HistoryManager:
self._update_regions(result.get("city_regions_change", {}))
self._update_regions(result.get("normal_regions_change", {}))
self._update_regions(result.get("cultivate_regions_change", {}))
self._update_regions(result.get("sect_regions_change", {}))
# 3.2 功法变更
self._update_techniques(result.get("techniques_change", {}))

View File

@@ -16,6 +16,9 @@
修炼区域信息:
{cultivate_regions}
宗门区域信息:
{sect_regions}
功法信息:
{techniques}
@@ -39,6 +42,7 @@
}},
"normal_regions_change": {{}} // dict, 结构同上
"cultivate_regions_change": {{}} // dict, 结构同上
"sect_regions_change": {{}} // dict, 结构同上
"techniques_change": {{}} // dict, 结构同上
"weapons_change": {{}} // dict, 结构同上
"auxiliarys_change": {{}} // dict, 结构同上

View File

@@ -31,7 +31,7 @@ def target_avatar(base_world):
def gift_action(dummy_avatar, base_world):
"""初始化 Gift 动作"""
# 模拟 _call_llm_feedback避免 step 中调用 asyncio.get_running_loop()
with patch.object(Gift, '_call_llm_feedback') as mock_llm:
with patch.object(Gift, '_call_llm_feedback', new_callable=MagicMock) as mock_llm:
# 返回一个 mock task确保 task.done() 初始为 False
# 但在这里我们主要是为了让 step 不报错
mock_llm.return_value = {}

View File

@@ -5,5 +5,7 @@ export { systemApi } from './modules/system';
export { llmApi } from './modules/llm';
export { eventApi } from './modules/event';
export type { InitStatusDTO } from '../types/api';
// 保持向后兼容的聚合对象 (Optional, for transition)
// 但这次我们直接重构,不再保留大对象,鼓励按需引用

View File

@@ -55,7 +55,7 @@ const tips = [
'丹药有生效的时间限制',
'由于大模型需要思考,游戏启动可能耗时较久',
'模拟世界对大模型token消耗较大请注意',
'设定开局历史,世界也会随之而改变',
'开局时设定历史,整个修仙世界也会随之而改变',
]
const currentTip = ref(tips[Math.floor(Math.random() * tips.length)])