refactor: 对配置处理器和配置结构进行重构

This commit is contained in:
2026-04-20 01:44:43 +08:00
parent a8cd774123
commit d1a1fa193f
36 changed files with 1097 additions and 917 deletions

View File

@@ -1,32 +1,31 @@
# [调试] 将更改保存到文件
persist_to_file = 1
# [调试] 覆写时间, 设为 -1 以禁用
daystamp_override = -1
timestamp_override = -1
# [调试] 一键通过
quick_pass = true
# [调试] 自动化测试模式(仅用于测试完整性)
auto_pass = true
# 对于每个项目的默认新记忆原子数量
scheduled_num = 100
# UTC 时间戳修正 仅用于 UNIX 日时间戳的生成修正, 单位为秒
timezone_offset = +28800 # 中国标准时间 (UTC+8)
[interface]
[interface.memorizor]
autovoice = true # 自动语音播放, 仅限于 recognition 组件
auto_pass = false
scheduled_num = 420
timezone_offset = 28800
[algorithm]
# default = "SM-2" # 主要算法; 可选项: SM-2, SM-15M, FSRS, FAST-0
default = 'FAST-0'
default = "FAST-0"
[puzzles] # 谜题默认配置
[paths]
data = "./data"
cache = "./data/cache"
config = "./data/config"
global = "./data/global"
repo = "./data/repo"
[services]
audio = "playsound"
tts = "edgetts"
llm = "openai"
sync = "webdav"
[sync]
[interface.memorizor]
autovoice = true
[puzzles.mcq]
max_riddles_num = 2
@@ -34,30 +33,16 @@ max_riddles_num = 2
[puzzles.cloze]
min_denominator = 3
[paths] # 相对于配置文件的 ".." (即工作目录) 而言 或绝对路径
data = "./data"
cache = "./data/cache"
config = "./data/config"
global = "./data/global"
repo = "./data/repo"
[services] # 定义服务到提供者的映射
audio = "playsound" # 可选项: playsound(通用), termux(仅用于支持 Android Termux), mpg123(TODO)
tts = "edgetts" # 可选项: edgetts
llm = "openai" # 可选项: openai
sync = "webdav" # 可选项: 留空, webdav
[providers.tts.edgetts]
voice = "zh-CN-XiaoxiaoNeural"
[providers.tts.edgetts] # EdgeTTS 设置
voice = "zh-CN-XiaoxiaoNeural" # 可选项: zh-CN-YunjianNeural (男声), zh-CN-XiaoxiaoNeural (女声)
[providers.llm.openai] # 与 OpenAI 相容的语言模型接口服务设置
[providers.llm.openai]
url = ""
key = ""
[providers.sync.webdav] # WebDAV 同步设置
[providers.sync.webdav]
url = ""
username = ""
password = ""
remote_path = "/heurams/"
verify_ssl = true
[sync]

7
data/config/global.toml Normal file
View File

@@ -0,0 +1,7 @@
enable_built_in_interface = true
[paths]
data = "./data"
cache = "./data/cache"
config = "./data/config"
repo = "./data/repo"

View File

@@ -0,0 +1,6 @@
persist_to_file = true
quick_pass = true
auto_pass = false
scheduled_num = 420
algorithm = "NSP-0"
_algorithm_candidate = [ "SM-2", "SM-15M", "FSRS", "NSP-0", "None",]

View File

@@ -0,0 +1 @@
min_denominator = 3

View File

@@ -0,0 +1 @@
max_riddles_num = 2

View File

@@ -0,0 +1 @@
autovoice = true

View File

@@ -0,0 +1 @@
autovoice = true

View File

@@ -0,0 +1,24 @@
voice = "zh-CN-XiaoxiaoNeural"
[_voice_candidate]
zh-CN-XiaoxiaoNeural = "晓晓: 中文温柔女声"
zh-CN-XiaoyiNeural = "晓伊: 中文甜美女声"
zh-CN-XiaochenNeural = "晓辰: 中文知性女声"
zh-CN-XiaohanNeural = "晓涵: 中文优雅女声"
zh-CN-XiaomengNeural = "晓梦: 中文梦幻女声"
zh-CN-XiaomoNeural = "晓墨: 中文文艺女声"
zh-CN-XiaoqiuNeural = "晓秋: 中文成熟女声"
zh-CN-XiaoruiNeural = "晓睿: 中文智慧女声"
zh-CN-XiaoshuangNeural = "晓双: 中文活泼女声"
zh-CN-XiaoxuanNeural = "晓萱: 中文清新女声"
zh-CN-XiaoyanNeural = "晓颜: 中文柔美女声"
zh-CN-XiaoyouNeural = "晓悠: 中文悠扬女声"
zh-CN-XiaozhenNeural = "晓甄: 中文端庄女声"
zh-CN-YunxiNeural = "云希: 中文清朗男声"
zh-CN-YunyangNeural = "云扬: 中文阳光男声"
zh-CN-YunjianNeural = "云健: 中文稳重男声"
zh-CN-YunfengNeural = "云枫: 中文磁性男声"
zh-CN-YunhaoNeural = "云皓: 中文豪迈男声"
zh-CN-YunxiaNeural = "云夏: 中文热情男声"
zh-CN-YunyeNeural = "云野: 中文野性男声"
zh-CN-YunzeNeural = "云泽: 中文深沉男声"

View File

@@ -0,0 +1,8 @@
provider = "playsound"
[_provider_candidate]
playsound = "python 跨平台音频系统"
termux = "Android Termux 音频系统"
mpg123 = "通用音频系统, 依赖系统 mpg123"
pulseaudio = "高级音频路由系统"
none = "不使用音频"

View File

@@ -0,0 +1,5 @@
provider = "openai"
[_provider_candidate]
openai = "OpenAI 风格 API, 同时支持与其相容的模型服务 (如 deepseek)"
none = "不使用语言大模型"

View File

@@ -0,0 +1,6 @@
provider = "webdav"
[_provider_candidate]
webdav = "WebDAV 兼容网络文件系统 (包括 webdavs)"
official = "官方同步服务器"
none = "不使用同步服务器"

View File

@@ -0,0 +1,3 @@
daystamp_override = -1
timestamp_override = -1
timezone_offset = 28800

View File

@@ -0,0 +1,6 @@
provider = "edgetts"
[_provider_candidate]
edgetts = "微软神经网络语音合成, 依赖微软网络服务"
espeak = "低保真度本地语音合成"
none = "不使用文本转语音"

File diff suppressed because it is too large Load Diff