## 现状 `VoiceAnalyzer::fingerprints_` 是 `std::map<std::string, VoiceFingerprint>`,进程重启后全部丢失,需从对话轮次重新计算。 ## 当前取舍 - 算法是确定性启发式(不用 LLM),重新计算成本极低(10 句即可生成) - 持久化反而引入"存储指纹 vs 实际对话不同步"的一致性问题 - `update()` 每次覆盖旧指纹,持久化没有增量价值 - 定位是即时分析工具,不是长期存储 ## 升级触发条件 如果需要跨 session 保留指纹历史趋势、或者在大型世界中减少重复计算开销,可以添加 JSON 文件持久化(路径:`worlds/{world_id}/voice_fingerprints/{agent_id}.json`)。
Activity
docs(voice_analyzer): document fingerprint non-persistence decision
fix: 6 non-frontend issues — embedding, BashTool cache, exception log…