50 lines
1.3 KiB
Python
50 lines
1.3 KiB
Python
"""
|
||
系统设置模型
|
||
|
||
包含全局配置,如思考标签前后缀等。
|
||
"""
|
||
from typing import Optional
|
||
from pydantic import BaseModel, Field
|
||
from datetime import datetime
|
||
|
||
|
||
class SystemSettings(BaseModel):
|
||
"""
|
||
系统全局设置
|
||
|
||
持久化存储到 data/system_settings.json
|
||
"""
|
||
|
||
# ==================== 思考标签配置 ====================
|
||
thinkingTagPrefix: str = Field(
|
||
"<thinking>",
|
||
description="思考标签前缀(默认:<thinking>)"
|
||
)
|
||
thinkingTagSuffix: str = Field(
|
||
"</thinking>",
|
||
description="思考标签后缀(默认:</thinking>)"
|
||
)
|
||
|
||
# ==================== 当前选中的预设 ====================
|
||
currentPresetName: Optional[str] = Field(
|
||
None,
|
||
description="当前选中的预设名称(用于确定全局正则的作用域)"
|
||
)
|
||
|
||
# ==================== 元数据 ====================
|
||
updatedAt: int = Field(
|
||
default_factory=lambda: int(datetime.now().timestamp()),
|
||
description="最后更新时间戳"
|
||
)
|
||
version: int = Field(1, description="版本号")
|
||
|
||
|
||
# ==================== 默认设置 ====================
|
||
|
||
DEFAULT_SYSTEM_SETTINGS = SystemSettings()
|
||
|
||
|
||
if __name__ == '__main__':
|
||
import json
|
||
print(json.dumps(DEFAULT_SYSTEM_SETTINGS.dict(), indent=2, ensure_ascii=False))
|