配置选项
本文详细介绍 HeurAMS 的所有配置选项, 包括算法参数、界面设置、服务集成等.
配置文件位置
默认配置
- 位置:
src/heurams/default/config/config.toml - 作用:内置默认值, 不应修改
用户配置
- 位置:
工作目录/config/config.toml - 作用:用户自定义设置, 优先级高于默认配置
- 生成:首次运行时自动创建, 或手动创建
配置优先级
- 运行时参数(命令行)
- 用户配置文件
- 默认配置文件
配置结构总览
toml
# 调试选项
persist_to_file = 1
daystamp_override = -1
quick_pass = 1
# 学习设置
scheduled_num = 8
timezone_offset = +28800
# 路径设置
[paths]
nucleon_dir = "./data/nucleon"
electron_dir = "./data/electron"
# 服务配置
[services]
audio = "playsound"
tts = "edgetts"
# 算法配置
[algorithm.sm2]
initial_interval = 1
# 谜题配置
[puzzles.mcq]
max_riddles_num = 2调试选项
persist_to_file
- 类型:整数 (0/1)
- 默认:1
- 说明:是否将更改保存到文件. 0=仅内存, 1=保存到磁盘.
daystamp_override / timestamp_override
- 类型:整数
- 默认:-1
- 说明:覆盖当前日期/时间戳, 用于测试. 设为-1禁用.
quick_pass
- 类型:整数 (0/1)
- 默认:1
- 说明:是否启用一键通过模式(调试用).
学习设置
scheduled_num
- 类型:整数
- 默认:8
- 说明:每天计划的新学习项目数量.
timezone_offset
- 类型:整数
- 默认:+28800 (UTC+8, 中国标准时间)
- 说明:时区偏移秒数, 用于日期计算.
路径配置 ([paths])
所有路径相对于工作目录, 或使用绝对路径.
nucleon_dir
- 默认:
"./data/nucleon" - 说明:存储记忆内容 (Nucleon) 的目录.
electron_dir
- 默认:
"./data/electron" - 说明:存储算法状态 (Electron) 的目录.
orbital_dir
- 默认:
"./data/orbital" - 说明:存储策略配置 (Orbital) 的目录.
cache_dir
- 默认:
"./data/cache" - 说明:缓存文件(音频、临时数据)目录.
template_dir
- 默认:
"./data/template" - 说明:内容模板目录.
服务配置 ([services])
定义使用哪个提供者实现特定服务.
audio
- 可选值:
"playsound","termux","mpg123"(计划中) - 默认:
"playsound" - 说明:音频播放服务提供者.
tts
- 可选值:
"edgetts","pyttsx3"(计划中) - 说明:文本转语音服务提供者.
llm
- 可选值:
"openai","litellm"(计划中) - 说明:大语言模型服务提供者.
算法配置
SM-2 算法 ([algorithm.sm2])
toml
[algorithm.sm2]
initial_interval = 1 # 初始间隔(天)
easy_bonus = 1.3 # "简单"评估的间隔乘数
hard_factor = 1.2 # "困难"评估的间隔除数
max_interval = 36500 # 最大间隔(天)
min_efactor = 1.3 # 最小易度因子
max_efactor = 2.5 # 最大易度因子FSRS 算法 ([algorithm.fsrs])
toml
[algorithm.fsrs]
# FSRS 参数(需通过训练获得)
weights = [0.4, 0.6, 0.9, 0.2, 0.5, 0.7, 0.3]谜题配置 ([puzzles])
选择题 ([puzzles.mcq])
toml
[puzzles.mcq]
max_riddles_num = 2 # 最大干扰项数量
shuffle_options = true # 是否随机排序选项
show_explanation = true # 是否显示解析填空题 ([puzzles.cloze])
toml
[puzzles.cloze]
min_denominator = 3 # 最小分母(影响空格数量)
hint_level = 1 # 提示级别 (0=无,1=首字母,2=长度)
case_sensitive = false # 是否区分大小写识别题 ([puzzles.recognition])
toml
[puzzles.recognition]
time_limit = 30 # 时间限制(秒)
require_confirmation = true # 是否需要确认提供者配置
OpenAI LLM ([providers.llm.openai])
toml
[providers.llm.openai]
url = "" # API 端点, 留空使用默认
key = "" # API 密钥
model = "gpt-3.5-turbo" # 模型名称
temperature = 0.7 # 温度参数
max_tokens = 1000 # 最大生成令牌数Edge TTS ([providers.tts.edgetts])
toml
[providers.tts.edgetts]
voice = "zh-CN-XiaoxiaoNeural" # 语音名称
rate = "+0%" # 语速调整
pitch = "+0Hz" # 音调调整
volume = "+0%" # 音量调整Playsound 音频 ([providers.audio.playsound])
toml
[providers.audio.playsound]
blocking = false # 是否阻塞播放界面配置 ([interface])
toml
[interface]
theme = "dark" # 主题: dark, light, auto
language = "zh_CN" # 界面语言
animation_speed = 1.0 # 动画速度
show_progress_bar = true # 显示进度条
confirm_exit = true # 退出前确认高级配置
宏系统 ([macros])
toml
[macros]
enable = true # 启用宏系统
cache_size = 100 # 宏缓存大小
preload_common = true # 预加载常用宏缓存策略 ([cache])
toml
[cache]
tts_max_size = 100 # TTS 缓存最大文件数(个)
tts_max_age = 30 # TTS 缓存最大保存时间(天)
audio_max_size = 50 # 音频缓存最大文件数(个)
cleanup_interval = 7 # 自动清理间隔(天)环境变量覆盖
部分配置可通过环境变量覆盖:
HEURAMS_CONFIG_PATH:指定配置文件路径HEURAMS_DATA_DIR:指定数据目录HEURAMS_LOG_LEVEL:日志级别 (DEBUG, INFO, WARNING, ERROR)HEURAMS_TTS_VOICE:TTS 语音
bash
export HEURAMS_DATA_DIR="/path/to/my/data"
python -m heurams.interface配置示例
最小配置
toml
# config/config.toml
scheduled_num = 10
timezone_offset = +28800完整配置
toml
# config/config.toml
persist_to_file = 1
daystamp_override = -1
quick_pass = 0
scheduled_num = 15
timezone_offset = +28800
[paths]
nucleon_dir = "./data/nucleon"
electron_dir = "./data/electron"
orbital_dir = "./data/orbital"
cache_dir = "./data/cache"
template_dir = "./data/template"
[services]
audio = "playsound"
tts = "edgetts"
llm = "openai"
[algorithm.sm2]
initial_interval = 1
easy_bonus = 1.3
hard_factor = 1.2
max_interval = 36500
min_efactor = 1.3
max_efactor = 2.5
[puzzles.mcq]
max_riddles_num = 3
shuffle_options = true
[providers.llm.openai]
key = "sk-..." # 实际密钥
model = "gpt-4"
temperature = 0.7配置验证
检查配置
bash
python -m heurams.tools.validate_config重置配置
删除 config/config.toml 文件, 重启应用将恢复默认配置.
故障排除
配置不生效
- 检查文件位置是否正确
- 检查 TOML 语法是否正确
- 查看日志文件中的配置加载信息
- 重启应用
路径问题
确保路径存在且有读写权限. 可使用绝对路径避免相对路径歧义.
服务连接失败
检查提供者配置, 特别是 API 密钥和端点 URL.