SuperAPI AI 工具集

proactive-chat

智能体与模型

查看项目

更新于 10-16 08:48

技能介绍

用途:为 companion/Mira 提供主动消息能力。技能读取触发文件目录,结合 emotion-journal 上下文生成具体、真实的主动消息,通过 Telegram 发送,并将触发文件移入 sent/ 归档。

触发机制:触发文件位于 ~/.openclaw/workspaces/companion/triggers/,命名格式为 YYYYMMDD_HHMMSS_{type}.json,内容含 type(morning/evening/discovery/weekly)、scheduledAt(ISO8601)以及可选的 context(由 cron 写入,如天气、日期特殊性)。

处理流程:扫描未处理触发文件;检查频率控制(同类型 24 小时内已发送则跳过并记录 skip 日志;用户最近回复含 busy 信号则最多跳过 2 次连续触发);调用 emotion-journal 读取最近 3 条情绪摘要、待跟进话题和用户状态标签;读取 USER.md 中的 quiet_hours 判断安静时段;按 type 与上下文生成消息;经 Telegram 发往 TG_ADMIN_CHAT_ID;成功后移动文件到 triggers/sent/;失败 30 秒后重试 1 次,仍失败记 error.log 且不再重试。

各类型规则:morning 风格轻盈、优先接续待跟进话题,否则用 web-search 的当日新闻/有趣事实配合 weather 构成开场,禁用空泛问候;evening 风格沉稳温暖,延续当天对话或提开放性问题;discovery 用 web-search 取近 48 小时内容(优先匹配 USER.md 兴趣),需含具体来源或核心摘要而非只发链接;weekly 更温暖,回顾本周情绪关键话题或提问下周感受。

频率状态写入 triggers/.rate-limit.json,按类型记录 lastSentAt 与 skipCount。日志写入 logs/proactive.log(含 rate_limit/quiet_hours/busy_signal 原因)和 logs/error.log。

语音集成:安装 minimax-tts 或 elevenlabs-tts 后,morning、evening、weekly 默认语音优先,discovery 文字优先。降级链为 TTS 未安装→合成失败→voice_messages.enabled 为 false→全部降级为文字 sendMessage;降级不影响投递,仅记入 logs/tts.log。

依赖:emotion-journal、web-search、weather(可选)、TTS 技能(可选),环境变量 TG_BOT_TOKEN_COMPANION、TG_ADMIN_CHAT_ID。限制:独占技能,仅 companion/Mira 使用;版本 1.0.0。