完成大量美化

This commit is contained in:
2026-05-01 15:44:14 +08:00
parent 6b65b24b0f
commit f0e7e75ffb
36 changed files with 4393 additions and 1506 deletions

91
test_worldbook_direct.py Normal file
View File

@@ -0,0 +1,91 @@
"""
直接测试世界书文件读取不依赖backend模块
"""
import json
from pathlib import Path
# 项目根目录
PROJECT_ROOT = Path(r'D:\progarm\python\llm_workflow_engine')
DATA_PATH = PROJECT_ROOT / 'data'
WORLDBOOKS_PATH = DATA_PATH / 'worldbooks'
print("=" * 60)
print("世界书文件直接读取测试")
print("=" * 60)
print(f"\n1. 路径信息:")
print(f" 世界书目录: {WORLDBOOKS_PATH}")
print(f" 目录存在: {WORLDBOOKS_PATH.exists()}")
# 列出所有JSON文件
json_files = list(WORLDBOOKS_PATH.glob("*.json"))
print(f"\n2. JSON文件列表:")
print(f" 文件数量: {len(json_files)}")
for f in json_files:
print(f" - {f.name} ({f.stat().st_size} bytes)")
if json_files:
# 尝试读取第一个文件
first_file = json_files[0]
print(f"\n3. 尝试读取文件: {first_file.name}")
try:
with open(first_file, 'r', encoding='utf-8') as f:
data = json.load(f)
print(f" ✓ 文件读取成功")
print(f" 文件格式: JSON")
print(f" 顶层键: {list(data.keys())}")
# 检查是否是内部格式
if 'entries' in data:
entries = data['entries']
if isinstance(entries, list):
print(f" 格式类型: 内部格式 (Internal)")
print(f" 条目数量: {len(entries)}")
print(f" 世界书名称: {data.get('name', '未设置')}")
print(f" 描述: {data.get('description', '')}")
if entries:
print(f"\n 第一条目预览:")
first_entry = entries[0]
print(f" UID: {first_entry.get('uid', 'N/A')}")
print(f" 内容长度: {len(first_entry.get('content', ''))}")
print(f" 键: {first_entry.get('key', [])}")
elif isinstance(entries, dict):
print(f" 格式类型: SillyTavern格式")
print(f" 条目数量: {len(entries)}")
else:
print(f" ⚠️ 未知格式,缺少 'entries'")
except json.JSONDecodeError as e:
print(f" ❌ JSON解析失败: {e}")
except Exception as e:
print(f" ❌ 读取失败: {e}")
import traceback
traceback.print_exc()
# 如果有多个文件,也检查第二个
if len(json_files) > 1:
second_file = json_files[1]
print(f"\n4. 尝试读取第二个文件: {second_file.name}")
try:
with open(second_file, 'r', encoding='utf-8') as f:
data = json.load(f)
print(f" ✓ 文件读取成功")
if 'entries' in data:
entries = data['entries']
if isinstance(entries, list):
print(f" 格式类型: 内部格式 (Internal)")
print(f" 条目数量: {len(entries)}")
elif isinstance(entries, dict):
print(f" 格式类型: SillyTavern格式")
print(f" 条目数量: {len(entries)}")
except Exception as e:
print(f" ❌ 读取失败: {e}")
print("\n" + "=" * 60)
print("测试完成")
print("=" * 60)