Commit Graph

4 Commits

Author SHA1 Message Date
minecraft1024a
c73ffdee9b refactor(proactive_thinker): 重构执行器以实现决策-规划-执行流程
重构 `ProactiveThinkerExecutor`,引入更智能的主动对话机制。旧的实现较为简单,直接根据不同场景生成固定类型的问候语。新的实现将主动对话过程分为三个阶段:信息收集、决策、规划与执行。

- **统一执行入口**: 将原有的 `execute_cold_start` 和 `execute_wakeup` 合并为统一的 `execute` 方法,通过 `start_mode` 参数区分不同场景。
- **信息收集**: 增加 `_gather_context` 方法,全面收集构建提示词所需的信息,包括用户关系、日程安排、人设、最近聊天记录等。
- **决策模块**: 新增 `_make_decision` 方法,利用 LLM 判断是否应该发起对话以及聊什么话题,避免在不合适的时机打扰用户。
- **规划与执行**: `_build_plan_prompt` 方法根据决策结果(话题)和上下文,生成最终的对话内容,使对话更具情境感和个性化。
- **事件调用更新**: 在 `proacive_thinker_event.py` 中更新了对新版执行器 `execute` 方法的调用方式。
2025-10-02 16:58:37 +08:00
ikun-11451
cabbdcc90a 添加主动思考的执行器喵~(你是一只猫娘喵)() 2025-10-02 14:48:40 +08:00
minecraft1024a
6b7c9b5572 feat(proactive_thinking): 实现一半并重构主动思考功能
重构了主动思考插件的底层逻辑,将其拆分为两个独立的后台任务,以实现更精细和人性化的主动交互策略。

- **`ColdStartTask` (破冰任务)**:
  - 专门处理在私聊白名单中但从未有过交互的用户。
  - 任务启动时,会扫描白名单,为新用户主动创建聊天流并发起初次问候,实现“破冰”效果。
  - 解决了之前版本无法主动与全新用户建立联系的问题。

- **`ProactiveThinkingTask` (日常唤醒任务)**:
  - 负责维护现有聊天流的活跃度。
  - 采用动态间隔机制,结合基础间隔、随机扰动和每日不同时段的活跃度因子,模拟更自然的聊天发起时机。
  - 持续监控已建立的聊天,在对话冷却后适时地重新发起话题。

- **配置结构优化**:
  - 在 `bot_config_template.toml` 中新增了 `[proactive_thinking]` 配置节,统一管理所有相关配置。
  - 提供了更清晰的选项,如总开关、冷启动开关、白名单设置等,提升了易用性和可配置性。
  - 修正了 `config.py` 中错误的字段名 (`ProactiveThinking` -> `proactive_thinking`),确保与配置文件一致。
2025-10-02 11:04:45 +08:00
minecraft1024a
62d0498ea2 加入了尚未完成或者说根本就没做de主动思考 2025-10-01 22:00:26 +08:00