features.toml:能力、感知出口与调试¶
真实文件是 config/features.toml,可在「月璃设置」编辑。
完整字段范围见功能模板。
功能开关与模型候选分别配置;启用前应满足相关依赖,保存后重启生效。
语音合成¶
[tts] 默认关闭,关闭时保持文字回复。
开启需要三项同时成立:tts 任务有候选、厂商连接正确、voice 有值。
voice 填服务接受的音色 ID,不能使用自定义显示名代替。
format 支持 mp3、wav、opus,speed 调整语速。
兼容接口使用对应语音模型;专用语音协议还需厂商 App ID 和访问凭据。
cluster 仅在专用语音客户端下生效,默认 volcano_tts。
保存成功后发一条短消息,确认得到音频和播放结果,文字成功不等于语音成功。
屏幕视觉与聊天图片¶
[vision] enabled 默认关闭,控制桌面截图交给视觉模型。
开启后按用户的屏幕提问采集,托盘还可显式启用持续屏幕采样。
仅配置视觉模型不会自动开始截图;无头服务器没有桌面外壳提供的截图输入。
capture_mode = "window" 只截前台窗口,
改成 screen 会截主屏,可能包含其他窗口内容。
fullscreen_silent 控制疑似全屏时保持静默,不是删除已经获得的历史描述。
修改采集形态后重启应用,再用已知窗口核对实际描述。
chat_image_enabled 是 QQ 聊天图片描述的独立开关,初始配置为开启。
仅需识别聊天图片时,可单独启用该项,无需开放桌面截图。
两个开关都依赖 vision 任务候选,候选必须声明 visual = true。
模型接口实际接受图片,也要通过真实图片调用确认。
已获得的情境可以出现在哪里¶
[perception] surfaces 管前台程序、停留时间、屏幕描述进入哪些会话。
它与「是否截图」独立:
默认只给桌面出口;空列表表示不在任何出口提供该情境。
加入 direct 后,也只对 owner.qq 对应的用户本人私聊开放。
私聊白名单中的其他联系人不会因此获得屏幕情境。
group 不属于合法出口,配置加载时会被拒绝。
关闭截图不等于停止前台程序信息采集;
仅收紧出口也不等于停止采集或撤回已经发送的消息。
需要停止全部桌面输入采集时,应关闭桌宠并退出外壳。
群聊人物事实另受 bot.toml 的 private_facts_in_group 控制。
向量混合召回¶
[vector] enabled 初始配置为开启,不需要额外安装依赖。
还要配置 embedding 候选、正维度,并确认同一任务的所有候选维度一致。
向量模型的本地维度声明不能改变远端输出,见模型配置。
启用后应检查启动自检中的向量缺口和索引状态,开关值不能单独作为验收依据。
更换模型时保留旧数据并核对重建要求,不直接复用不匹配的向量。
记忆反馈纠错¶
[memory_feedback] 总开关初始配置为开启,它允许纠错链路写入事实取代关系;关闭后整条链路零写入。
它观察已进入提示词的事实与后续用户反馈,不会把所有聊天都当作修正指令。
window_hours 从事实进入提示词起算;check_interval_minutes 决定检查节奏。
batch_size 限制每轮数量,缩短间隔与扩大批次都会增加处理量。
auto_apply_threshold 是自动取代的置信度门槛,降低会放宽自动应用。
prefilter_enabled 先筛纠正信号,关闭会增加模型判定调用。
max_feedback_messages 限制单个观察项读取的用户消息数量。
标记、召回硬过滤、画像刷新、情节重建与重建期屏蔽相互配合。 仅保留标记却关闭硬过滤,不代表旧事实已经从召回中排除。 关闭画像或情节更新可能使派生内容保留旧信息。 一致性协调另有间隔和批量参数;修改后重启,并核对事实及派生内容的实际状态。
表情库管理在 bot.toml¶
表情包相关配置归 bot.toml 的 [emoji] 与 [emoji.cleanup],
不在 features 文件里新增同名段。模板见 bot.toml。
collect_enabled 管从聊天自动收录,关闭后不会因此禁止已有表情发送。
max_file_size_mb 限制收录文件大小,0 表示不按大小限制。
max_count 限制可发送条目容量,0 表示不限。
auto_evict 开启后按少用、久未使用的顺序淘汰超限条目;关闭只报告超限。
content_filtration 开启后,入库前调用视觉审查;
视觉模型不可用时会拒绝入库并告警,不是跳过审核继续收录。
当前还需开启至少一个视觉入口,才会装配供审查使用的视觉连接。
仅需审查聊天表情时,可开启 chat_image_enabled,无需同时开放桌面截图。
[emoji.cleanup] 处理没有数据库记录的磁盘孤儿文件。
默认每 6 小时检查、孤儿保留 30 天;保留设为 0 会在下次检查时清理。
容量淘汰和孤儿清理分别控制;保留磁盘现场时,应分别核对两项设置。
自动收录异常时,应在管理面板「表情包库」检查条目与标签,并区分收录配置与连接故障。
日志、调试与代理¶
[log] 默认 INFO,终端和文件等级可分别覆盖。
临时排查时可只调某一端为 DEBUG,避免同时放大全部输出。
level_style 改等级列样式,color_scope 改着色范围,不改变日志严重程度。
to_file 默认开启,写到数据目录下 logs/app_*.log.jsonl。
轮转大小、文件数量、保留天数共同决定日志留存。
失败请求快照与逐任务调用记录默认开启,分别在 logs/llm_request/、logs/prompt/。
密钥会隐去,但正文仍可能包含聊天和提示词;分享前检查内容。
事件数量和小时数控制事件账本留存,不等同于模型调用记录数量。
[advanced] https_proxy 是全局 HTTP(S) 代理,留空直连;不是浏览器访问面板的代理。
开发者命令通道由可选 [developer] enabled = true 显式开启。
模板未生成该段时默认关闭;普通日志排查不必开启命令通道。
保存并重启后,检查日志落点和保留策略确实改变。
更多边界见开发手册:可观测性。