— ✦ —
天气上下文注入模块。通过 Open-Meteo 免费 API 获取实时天气,融入每轮 LLM 上下文。
- 天气感知注入:新增
weather独立模块,通过 Open-Meteo 免费 API 获取指定城市实时天气并注入到每轮对话上下文。 - 文件缓存:天气数据写入
state/weather_cache.json,通过_should_refresh()统一决策(TTL + location 变更 + 缓存损坏)减少 API 调用。 - 双模式输出:直接注入(emoji 前缀行)和 translate 转译(自然融入叙事时间行)两种模式均支持。
- fail-open 设计:API 失败回退旧缓存,无缓存时静默跳过——任何异常不阻断注入链。
- Debug 诊断:compact 和 detailed 模式均显示天气注入状态,detailed 模式额外展示缓存/API 状态。
- WMO 码映射 + Beaufort 风力转换:纯函数驱动,完整测试覆盖。
- 文档全面同步:CLAUDE.md、AGENTS.md、README、DESIGN、CONFIG_REFERENCE 等架构文档注入顺序和模块表已更新至最新状态。
首个正式发布。从模块化引擎到注入规则转译,hermes-persona 已为生产环境做好准备。
- 模块化总控开关:全部注入模块可独立开关,包括动态规则的子通道(时段 / 轮数 / 关键词)独立控制,旧版配置键位向后兼容。
- 时间感知注入:自动识别时段(清晨 / 上午 / 午间 / 下午 / 傍晚 / 晚间 / 深夜等),注入对应行为指引。
- 静态规则注入:用户自定义行为守则,支持每轮必注的首轮独注两条通道。
- 动态规则系统:时段规则自动匹配、轮数阶段自适应、关键词触发式场景切换——全部由用户自定义规则。
- 多维度表达向量:用户可自定任意维度的关键词评分系统,每轮自动追踪对话走向并评分衰减,引导 LLM 据此自然调节表达风格。
- 固定信号检测:消息长度感知(短消息 → 简洁回应)、回复间隔检测(久别 → 欢迎回归)、每日轮数累积(跨会话、跨日自动归零,可设深度互动阈值)。
- 随机表达变化:用户自定触发概率与变体条目——可用于定义角色特有的肢体语言、口癖、比喻风格、口头禅等。
- 注入规则转译:将内部规则自动转译为自然语言人格自述——拼接模板化(时间 + 轮数 + 状态 + 方差 + 规则),LLM 看到的是流畅的人格自述而非指令清单。
- 来源过滤:cron / API / webhook 等非对话来源仅注入时间,不参与轮数计数、不触发动态规则。
- Debug 详细模式:注入全貌可视化——时段、轮数阶段、表达向量分数、固定信号触发状态、随机变化命中一览。通过
transform_llm_outputhook 追加到 LLM 回复末尾,无需 LLM 自觉配合。 - i18n 国际化:双语文案支持,可通过 locale 文件扩展更多语言。
- 安全护栏:危险操作阻止 + 敏感操作需确认,带审计日志。
- 项目看板注入:首轮可注入外部看板状态,帮助 LLM 感知项目上下文。
- 随机变化条目支持「内容直放」——条目为自包含完整句,引擎只做去前缀 pass-through,不锁死句式。作者迭代内容无需改代码。
- 轮数阶段改用每日累积轮数(跨会话),替代会话内轮数——更准确反映当天互动深度。
- 目录结构扁平化,JSON 配置、关键词词表、本地化文案、运行时状态统一归入插件目录。
- 配置与代码分离:死代码移除,规则管理权完全交还配置层。
- 星期显示格式修正。
- 状态文件默认路径 fallback 修正——空字符串不覆盖默认值。
- 状态文件从旧路径平滑迁移至新路径。
- 固定信号 debug 误报修复(前缀兼容)。
- 插件代码部署路径统一同步。