Windpicker-owo
e068663ef9
Revert "【迁移】工具系统再完善:工具缓存、ttl支持、自动记录、长期保存、自动清理缓存、将记录与执行分离、api记录查询、时间聊天工具筛选查询..."
...
This reverts commit 80ab0c687c .
2025-11-19 22:48:24 +08:00
Windpicker-owo
adfacd883c
【迁移】工具系统再完善:工具缓存、ttl支持、自动记录、长期保存、自动清理缓存、将记录与执行分离、api记录查询、时间聊天工具筛选查询...
2025-11-19 22:48:23 +08:00
Furina-1013-create
7cc9d37a4e
chore(deps): 导入 json 模块
2025-11-19 22:48:19 +08:00
minecraft1024a
36021284da
refactor(config): 整合搜索服务配置并移除废弃选项
...
将原先独立的 Exa 和 Tavily 搜索引擎配置项合并到 `web_search` 配置块中,以实现更统一的管理。同时,移除了已废弃的 `Telemetry` 和部分 `Experimental` 功能配置,简化了整体配置文件结构。
主要变更:
- `ExaConfig` 和 `TavilyConfig` 被移除,其 API 密钥设置已迁移至 `WebSearchConfig`。
- 删除了 `TelemetryConfig` 及其在主配置中的引用。
- 简化了 `planner` 的自定义提示词逻辑,现在仅通过内容是否为空来判断是否启用。
- 更新了配置文件模板,以反映上述结构调整并移除过时的注释和配置项。
2025-11-19 22:48:12 +08:00
Windpicker-owo
2e79f538f2
修复双引号问题
2025-11-19 22:48:07 +08:00
minecraft1024a
dd9aecea14
feat(maizone): 新增QQ空间互通组功能,根据聊天上下文生成说说
...
引入了全新的“QQ空间互通组”功能。用户可以配置多个群聊为一个互通组。
在通过指令发布说说时,系统会自动获取这些群聊的近期聊天记录作为上下文,从而生成与当前讨论话题更相关的说说内容。
- 在 `config.toml` 中新增了 `[maizone_intercom]` 配置项用于定义互通组。
- 重构并增强了动态(说说)的拉取逻辑,提高了对不同数据格式的兼容性和解析的稳定性。
- 对项目中的多个文件进行了代码清理,移除了未使用的导入,使代码更加整洁。
2025-11-19 22:48:02 +08:00
tt-P607
6532c30d5d
fix(chat): 修复关键词非列表形式时导致的解析错误
...
在处理记忆关键词时,旧代码使用 `ast.literal_eval` 来解析存储为字符串的关键词列表。当关键词字段为空或格式不正确时,这会引发 `ValueError` 或 `SyntaxError`。
本次修改将解析方式更换为 `json.loads`,并增加了 `try-except` 块来处理可能的 `json.JSONDecodeError`。同时,在添加记忆时,使用 `json.dumps` 来确保关键词列表被正确地序列化为 JSON 字符串,从而保证了数据存储和读取的健壮性和一致性。
2025-11-19 22:47:38 +08:00
雅诺狐
ab3a36bfa7
全面更换orjson
2025-11-19 22:47:10 +08:00
tt-P607
88da5e24ca
feat(config): 优化视频分析并引入可配置的提示词
...
将视频分析的提示词从硬编码字符串修改为从全局配置中读取,提高了灵活性和可维护性。同时,在生成回复时注入了新的引导语,使AI能以第一人称分享观后感,优化了用户体验。
2025-11-19 22:46:39 +08:00
Furina-1013-create
613ef82328
这个不会改视频识别的入来优化了一下视频识别的prompt,狐狐大佬补药鞭挞我呜呜呜~
...
同步改进bot配置文件模板(这回没有忘记改版本号了)
2025-11-19 22:46:37 +08:00
Furina-1013-create
372226434f
炸飞了一点石山,将主动思考的id配置修改为分群聊/私聊的两个id配置然后增加了区分平台的功能
...
顺手改了一个注释的位置,它在的位置错了
应该在主动思考上面而不是下面的
2025-11-19 22:46:36 +08:00
tt-P607
3241ab70df
修改了提示词,现在bot不会认为自己看的是视频分析,而是自己看的了
2025-11-19 22:46:35 +08:00
Windpicker-owo
3bf38bb1dc
消息处理的细节
2025-11-19 22:46:33 +08:00
tt-P607
be9a926bcc
refactor(chat): 统一事件触发器中的stream_id来源
...
将`cycle_processor`中事件触发的`stream_id`来源从`self.chat_stream.stream_id`更改为`self.context.stream_id`,以保持代码库中的一致性。
在`default_generator.py`中初始化了`llm_response`变量,以避免潜在的引用前赋值错误。
2025-11-19 22:46:33 +08:00
Windpicker-owo
f65049d1de
修复post_llm,以及event使用说明
2025-11-19 22:46:32 +08:00
雅诺狐
82f7ae5d73
更新版本号
2025-11-19 22:46:29 +08:00
雅诺狐
c92e2a4230
feat(video): 添加按时间间隔的帧提取模式并重构配置读取逻辑
...
- 新增 time_interval 帧提取模式,支持按指定时间间隔提取视频帧
- 重构 VideoAnalyzer 初始化代码,使用 getattr 统一获取配置参数
- 简化配置读取逻辑,移除冗余的 try-catch 结构
- 优化 _extract_frames_worker 函数参数,支持新的提取模式配置
2025-11-19 22:46:28 +08:00
雅诺狐
56efa7a462
Delete video_worker.py
2025-11-19 22:46:27 +08:00
雅诺狐
8735bfbc88
feat: 添加视频处理多线程优化和消息切片重组功能
...
- 新增视频帧提取的线程池支持,提升大视频文件处理性能
- 集成消息切片重组器,支持长消息的自动重组处理
- 优化视频帧提取算法,使用numpy进行数值计算优化
- 重构权限管理插件,修复属性访问和方法签名问题
- 清理未使用的导入和代码,提升代码质量
- 默认启用插件管理功能
2025-11-19 22:46:27 +08:00
Windpicker-owo
5d1390d546
event重构暂时完成,待测试
2025-11-19 22:46:26 +08:00
tt-P607
abd2f3c35d
feat(log): 优化唤醒和休眠日志的输出频率
...
对唤醒度和休眠检查的日志记录进行节流,以减少在消息密集时产生的日志数量。
- 在 `WakeUpManager` 中,唤醒度变化的日志现在每30秒最多输出一次 INFO 级别的日志,其余时间的日志降为 DEBUG 级别。
- 在 `ScheduleManager` 中,休眠期间被唤醒的日志也增加了类似的节流逻辑,以避免日志刷屏。
2025-11-19 22:46:21 +08:00
tt-P607
89bee8db90
feat(video): 新增按时间间隔抽帧模式
...
增加了按时间间隔提取视频帧的新模式,与原有的固定总帧数模式并存。用户现在可以通过配置文件选择最适合其需求的抽帧方式。
- 新增 `frame_extraction_mode` 配置项,可选值为 "fixed_number" (固定总帧数) 或 "time_interval" (按时间间隔)。
- 新增 `frame_interval_seconds` 配置项,用于指定时间间隔模式下的抽帧秒数。
- `max_frames` 配置项现在仅在 "fixed_number" 模式下生效。
- 更新了 `VideoAnalyzer` 类以支持两种抽帧逻辑,并从配置中读取新参数。
- 相应地更新了配置文件模板 `bot_config_template.toml`。
2025-11-19 22:46:19 +08:00
雅诺狐
34252ea4a0
refactor: 清理代码质量和移除未使用文件
...
- 移除未使用的导入语句和变量
- 修复代码风格问题(空格、格式化等)
- 删除备份文件和测试文件
- 改进异常处理链式调用
- 添加权限系统数据库模型和配置
- 更新版本号至6.4.4
- 优化SQL查询使用正确的布尔表达式
2025-11-19 22:46:18 +08:00
tt-P607
badd0c3364
feat(config): 增加可配置的唤醒愤怒提示词
...
将唤醒后愤怒状态下的固定提示词修改为可在配置文件中自定义的选项,提高了灵活性。
默认值保持原有的提示词内容。
2025-11-19 22:46:16 +08:00
tt-P607
303d51f437
fix(chat): 修复睡眠模式下无法通过艾特唤醒的问题
...
在之前的实现中,当机器人处于睡眠模式时,获取消息的逻辑会过滤掉所有命令消息(`filter_command=True`),这其中也包括了艾特(@)机器人的消息。这导致了用户无法通过艾特来唤醒睡眠中的机器人。
本次修复通过引入一个 `filter_command_flag` 标志来解决此问题。当机器人处于睡眠状态时(`is_sleeping` 为 `True`),该标志会设置为 `False`,从而在获取消息时不过滤命令消息,确保艾特消息能够被正确接收和处理,进而触发唤醒逻辑。
此外,还对 `schedule_manager` 中的睡眠日志记录逻辑进行了优化,增加了时间间隔来避免在睡眠期间频繁打印日志,减少不必要的日志刷屏。
2025-11-19 22:46:13 +08:00
tt-P607
ff5e8b63a2
feat(chat): 在PROACTIVE模式下允许do_nothing动作
...
在PROACTIVE模式下,`do_nothing` 是一个有效的规划动作,表示主动聊天轮次中不需要执行额外操作。此更改将其添加到有效动作的判断逻辑中,以避免被错误地记录为无效动作。
2025-11-19 22:46:11 +08:00
雅诺狐
e39c34f366
fix: 修复视频分析并发处理和数据库存储问题
...
🔧 修复视频分析模块的关键并发和存储问题
**主要修复:**
1. **并发竞争条件修复**
- 解决相同视频hash同时处理导致重复分析的问题
- 重构并发控制机制,使用per-video独立锁和事件
- 消除30秒超时后多个请求同时执行的竞争条件
2. **数据库存储优化**
- 移除Videos表path字段的复杂唯一性检查逻辑
- 简化为基于hash的纯唯一标识存储
- 修复path字段重复导致的IntegrityError
3. **代码简化和清理**
- 删除重编码视频检测功能(复杂且用处有限)
- 移除不必要的特征匹配和计数更新逻辑
- 简化存储路径生成,统一使用hash前缀
Fixes: 视频并发处理竞争条件、数据库存储冲突、聊天循环变量错误
2025-11-19 22:46:11 +08:00
雅诺狐
3360b22dca
Refactor anti-injection system and remove command skip list
...
Removed the command skip list feature and related code from the anti-injection system, including configuration options, plugin command collection, and management commands. Refactored anti-injector logic to operate directly on message dictionaries and simplified whitelist and message content extraction. Updated response handling to perform anti-injection checks before reply generation, and removed skip list refresh logic from the plugin manager.
2025-11-19 22:46:06 +08:00
tt-P607
0de80c207c
refactor(prompt): 优化prompt,增强回复多样性
...
统一并加强了关于避免重复回复的指令,将原有描述更新为“不要复读你前面发过的内容,意思相近也不行”,以提升生成回复的多样性。(其实是不知道干什么就随便来混个提交了(叉掉),不不不不能叫混,算是一个小小小小小小问题吧😋 )
2025-11-19 22:46:06 +08:00
minecraft1024a
283c69e89b
refactor: 移除未使用的导入和优化代码风格
...
本次提交主要包含以下代码重构和风格优化:
- 从多个文件中移除了未被使用的导入,例如 `Dict`, `Any`, `List`, `os`, `threading` 等,以保持代码的整洁性。
- 统一了测试脚本中的输出格式,移除了不必要的 f-string,使代码更加简洁。
- 清理了部分冗余的类型提示,提升了代码的可读性。
2025-11-19 22:46:05 +08:00
minecraft1024a
0a9d0f5405
feat(memory): 增加瞬时记忆系统的独立开关
...
在配置文件中为基于LLM的瞬时记忆和基于向量的瞬时记忆增加了独立的启用开关。这允许用户根据需要更灵活地控制每种记忆类型。
同时,将记忆系统初始化日志的级别从DEBUG提升到INFO,使其在默认配置下可见,便于问题排查。
2025-11-19 22:46:04 +08:00
minecraft1024a
98bdd64e11
feat(memory): 实现瞬时记忆系统的延迟加载和按需初始化
...
引入了对LLM和向量瞬时记忆系统的延迟初始化机制。现在,只有在实际需要存储或检索记忆时,才会触发相应记忆系统的初始化过程。
此项改动优化了应用的启动性能,避免了不必要的资源预加载。同时,新增了独立的配置开关,允许用户根据需求分别启用或禁用LLM和向量记忆模块,提供了更灵活的配置选项。
2025-11-19 22:46:03 +08:00
Furina-1013-create
b53bed4e06
移除多余的测试文件
2025-11-19 22:46:02 +08:00
minecraft1024a
1a5cb9e851
refactor(chat): 优化跨群聊上下文构建与代码格式
...
对 `default_generator.py` 进行了多项重构和优化:
- 将跨群聊上下文的构建逻辑移入独立的 `_build_cross_context_block` 方法,并在主流程中异步并行执行,提高了代码的模块化和执行效率。
- 全面清理了代码中的多余空行和不一致的间距,提升了代码的可读性和一致性。
- 调整了 `NoReplyAction` 和 `ReplyAction` 的 `mode_enable` 配置,使其行为更符合预期。
2025-11-19 22:46:01 +08:00
minecraft1024a
268bbc3e2d
feat(chat): 引入跨群聊上下文共享功能
...
该功能允许在不同但相关的群聊之间共享对话上下文,从而提供更连贯和情境感知的回复。
主要实现方式:
- 在配置文件中引入 `cross_context` 部分,允许用户定义“共享组”,将多个群聊ID(原始ID)归入一组。
- 新增 `_build_cross_context_block` 方法,用于构建并注入到Prompt中。
- 支持两种上下文获取模式:
- `normal` 模式:获取共享组内其他群聊的最新消息。
- `s4u` 模式:获取当前发言用户在共享组内其他群聊的近期发言记录。
- 更新了Prompt模板以包含新的 `cross_context_block`。
- 提供了相应的配置模板和版本号更新。
2025-11-19 22:46:00 +08:00
Furina-1013-create
6af2716e0e
修复Action组件可用性和实现消息驱动思考循环
...
Action组件修复:
- 在core_actions插件中正确注册reply动作
ps:这个优先还是使用之前系统原有的reply,新增这个仅作为回退使用
- 更新_manifest.json、config.toml和plugin.py
- 解决no_reply和reply动作不可用问题(关于这个我觉得是之前的那个在focus模式下设置了提及/@ 必回然后移除动作的先后顺序这一块有问题)
大C发力了,今天有一点感冒所以停止思考这一块()
2025-11-19 22:45:56 +08:00
Furina-1013-create
7dca70b057
异步记忆系统优化 & Action组件修复
...
主要改进:
1. 异步记忆系统优化 - 解决记忆操作阻塞主程序问题
- 新增异步记忆队列管理器 (async_memory_optimizer.py)
- 新增异步瞬时记忆包装器 (async_instant_memory_wrapper.py)
- 优化主程序记忆构建任务为后台非阻塞执行
- 优化消息处理器记忆调用,增加超时保护和回退机制
2. Action组件修复 - 解决'未找到Action组件: no_reply'问题
- 修复no_reply动作激活类型配置错误
- 新增reply回退动作 (reply.py)
- 增强planner.py动作选择回退机制
- 增强cycle_processor.py动作创建回退机制
2025-11-19 22:45:51 +08:00
雅诺狐
1b9c86abef
Refactor web search plugin and clean up code
...
Refactored the web search plugin by removing the old Bing search implementation and reorganizing the plugin structure. Introduced modular search engine classes under 'web_search_tool/engines' and utility tools under 'web_search_tool/tools' and 'web_search_tool/utils'. Updated references and initialization logic to support multiple search engines and improved maintainability. Also performed minor code cleanups and replaced 'except ...: pass' with 'except ...: ...' for brevity.
2025-11-19 22:45:42 +08:00
minecraft1024a
2d1f23af88
refactor(schedule): 优化休眠状态判断逻辑
...
将原先仅检查日程表首尾项的休眠判断方式,重构为通过关键词匹配所有日程项。
这样可以更灵活地在一天中的任何时段安排休眠,而不仅限于一天的开始或结束。
- 引入 `sleep_keywords` 列表,用于识别表示休眠的活动。
- 遍历当天的所有日程,检查活动名称是否包含休眠关键词。
- 如果关键词匹配,则进一步检查当前时间是否处于该活动的时间范围内。
- 保留了对唤醒状态的检查,确保在被唤醒时不会错误地判断为休眠。
同时,对 `hfc_context.py` 中的 `last_read_time` 初始值进行了微调,以改善相关逻辑的初始行为。
2025-11-19 22:45:25 +08:00
minecraft1024a
2dd61547b2
fix(planner): fix case of message ID prefix from 'M' to 'm
2025-11-19 22:45:24 +08:00
minecraft1024a
2f1a9fa966
refactor(cleanup): 移除未使用的导入项与冗余代码
...
清理了整个代码库中所有无用的模块导入、重复定义以及冗余变量引用,具体包括:
- bot.py 去掉了 random、typing 的未使用 import
- antipromptinjector 模块统一移除未引用的 DetectionResult、Dict、List 等
- chat_loop 中删除了未调用的 Timer、mai_thinking_manager、events_manager 等引用
- qzone_service 删除多余 f-string 大括号,避免日志警告格式问题
- 其他模块同步剔除各自范围内的冗余 import(asyncio、datetime 等共 20+ 处)
保持功能不变,仅作代码整洁度优化,无破坏性变更。(并添加了一个现在暂时还没加进去的必应搜索源文件)
2025-11-19 22:45:22 +08:00
minecraft1024a
f53993e34a
feat(proactive_thinking): 重构主动思考为由Planner直接决策
...
重构了主动思考的触发和决策流程。原有的通过生成特定prompt来启动思考循环的方式被移除,改为直接调用Planner的`PROACTIVE`模式。
- **Planner增强**:
- 新增`PROACTIVE`聊天模式,用于处理主动思考场景。
- 为`PROACTIVE`模式设计了专用的prompt模板,整合了长期记忆、当前状态等信息。
- 引入`do_nothing`动作,允许Planner在分析后决定保持沉默。
- 增加从海马体(长期记忆)获取上下文的功能,为决策提供更丰富的背景。
- **ProactiveThinker简化**:
- 移除了原有的prompt生成和调用`observe`的逻辑。
- 现在直接调用`action_planner.plan(mode=ChatMode.PROACTIVE)`来获取决策。
- 根据Planner返回的动作(如`do_nothing`或具体行动),决定是保持沉默还是执行计划。
- **CycleProcessor & Tracker调整**:
- `CycleProcessor`新增`execute_plan`方法,用于执行一个已经由Planner预先制定好的计划。
- `CycleTracker`能够区分并标记由主动思考发起的循环(例如,cycle_id为 "1.p"),以便于追踪和分析。
2025-11-19 22:45:16 +08:00
minecraft1024a
ddf023ff11
fix(chat): 兼容 target_message_id 为 int 或缺少前缀 M 的情况
...
在 FOCUS 模式下,对 `target_message_id` 进行处理,以确保其为字符串格式并以 "M" 为前缀。这修复了当传入的 ID 为整数或缺少前缀时可能导致消息查找失败的问题。
2025-11-19 22:45:16 +08:00
minecraft1024a
2c98f64cdd
feat(sleep): 引入休眠阶段消息唤醒机制与愤怒情绪模式
...
- 扩展日程休眠逻辑,支持在睡眠时段通过@/私聊唤醒
- 新增 WakeUpManager 持续追踪唤醒阈值并触发愤怒状态
- MoodManager 中追加“被吵醒”情绪标识与愤怒提示模板
- HeartFChat 主循环集成唤醒处理管线,兼容原逻辑
- 配置中心开放阈值、衰减、持续时间等可调参数
此举允许机器人即便在“睡觉”时也能被重要消息强行“闹醒”,并以生气口吻做出回应,提升拟人化交互体验。
2025-11-19 22:45:15 +08:00
minecraft1024a
aa960e02dd
style(chat): 统一 chat_loop 模块 logger 命名并添加业务注释
...
将各子模块 logger 由 hfc.* 缩减为统一 "hfc"
涉及的子模块:
- cycle_tracker / energy_manager / hfc_utils / proactive_thinker / response_handler
2025-11-19 22:45:13 +08:00
minecraft1024a
1e71105e62
fix(chat): 处理回复时优先使用target_message避免消息丢失
...
在循环处理器中,当ActionPlanner返回了明确要回复的目标消息时使用target_message,否则回退到原始message_data;
修正FOCUS模式下观察消息时调用observe的实参缺失问题,确保逐条处理recent_messages。
2025-11-19 22:45:13 +08:00
Furina-1013-create
1238ee3089
为拆分heartFC_chat后的几个文件 添加亿点注释
2025-11-19 22:45:12 +08:00
minecraft1024a
86830d49a9
refactor(chat): 重构HeartFChatting为模块化架构
...
将原本超长的heartFC_chat.py拆分为6个功能内聚的子模块:
- hfc_context:上下文数据容器
- cycle_tracker:循环状态记录
- energy_manager:能量值独立管理
- proactive_thinker:主动思考逻辑抽离
- cycle_processor:单次循环处理器
- response_handler / normal_mode_handler:响应策略
删除冗余常量、错误样板及旧逻辑;大幅减少类体积;降低耦合度,提升可维护性。
2025-11-19 22:45:12 +08:00
minecraft1024a
cf63e66b9f
FEAT:现在AI可以根据日程表决定睡不睡觉了
2025-11-19 22:45:10 +08:00
minecraft1024a
eaa38554eb
fix(antipromptinjector): 使用异步函数刷新插件命令(我性压抑了,我要艹死所有开发者)
2025-11-19 22:45:07 +08:00