tt-P607
ff35586f84
feat(reminder): 增强提醒功能,可将“我”识别为目标用户
...
通过向LLM提示词中传递消息发送者昵称,系统现在能够正确解析包含第一人称代词(如“我”)的提醒任务。这解决了之前无法为用户设置“提醒我”这类个人提醒的问题,使其交互更加自然。
此外,还优化了`@user`插件中生成提醒内容的提示词,明确指示LLM不要在回复中包含`@`或用户名,以避免系统自动@后出现重复的用户名,提升了提醒消息的质量。
2025-11-19 22:59:43 +08:00
tt-P607
20ce6612d1
feat(emoji): 引入表情发送历史以避免重复发送
...
为了提升表情发送的自然性和多样性,本次更新引入了发送历史记录机制,并优化了选择逻辑。
- 新增一个长度为4的双端队列,用于存储最近发送过的表情哈希,以避免在短期内重复。
- 修改LLM提示,要求其返回一个包含3个最匹配情感的有序列表,以提供更多候选表情。
- 重构选择逻辑:在LLM推荐或随机选择时,会优先选取未在最近历史中出现过的表情。
- 仅当所有候选表情都已在近期发送过时,才会退回至在完整表情库中进行选择。
2025-11-19 22:59:40 +08:00
tt-P607
e568a7e439
fix(chat): 修复空消息引用并调整动作处理逻辑
...
- 在 `DefaultReplyer` 中增加了对 `reply_message` 的空值检查,以避免在无回复上下文时引发错误。
- 在 `ActionPlanner` 中将 'do_nothing' 添加到非目标动作列表中,以正确处理此新增的无操作指令。
- 将 `EmojiAction` 使用的 LLM 模型从 'utils_small' 更新为 'planner',以适应模型配置的变更。
2025-11-19 22:59:39 +08:00
tt-P607
eb80bd91a1
feat(reminder): 增强定时提醒系统,实现智能用户识别与上下文感知回复
...
对定时提醒功能进行了重大重构和增强,使其更加智能和人性化。
主要更新包括:
- **智能用户识别**: 引入LLM从提醒内容中提取需要@的目标用户,取代了原有的简单正则表达式匹配,能够更准确地理解自然语言指令,如“提醒阿范喝水”。
- **专用提醒回复**: 当提醒任务不包含特定目标用户时(如“提醒我喝水”),系统不再简单回退,而是会调用一个专用的LLM流程,生成一条符合Bot性格的、温暖贴心的提醒消息。
- **上下文传递**: 创建提醒时会保存完整的原始消息,并在触发提醒时将其传递给处理流程。这使得LLM在执行@操作或生成回复时能拥有完整上下文,避免了记忆割裂感。
- **@用户匹配优化**: 增强了`at_user`动作的底层用户匹配逻辑,采用“精确匹配 -> 包含匹配 -> 模糊匹配”的多层策略,显著提高了在群聊中查找目标用户的准确率和鲁棒性。
- **提示词优化**: 全面优化了提醒流程中涉及的LLM提示词,无论是用户提取还是最终的@消息生成,都更具情景感,使Bot的回复更加自然流畅。
2025-11-19 22:59:38 +08:00
tt-P607
47ee2ba693
feat(planner): 重构动作规划器以支持组合动作和概率性表情
...
重写了 Planner 的主 Prompt,引导 LLM 将回复(reply)视为主动作,将表情(emoji)等视为辅助动作,从而更好地生成组合动作,使响应更生动。
- 移除了旧的“100%概率动作强制添加”逻辑,并替换为新的“概率性表情”机制。现在,当生成回复时,会根据配置的概率(emoji_chance)自动附加一个 emoji 动作。
- 改进了 emoji 动作的情感匹配逻辑,从精确匹配改为模糊匹配,提高了根据 LLM 输出找到合适表情的成功率。
- 修复了随机类型动作在激活概率计算时的一个边界条件问题。
2025-11-19 22:59:38 +08:00
tt-P607
227ef1af52
feat(actions): 支持同时进行回复与其他动作
...
重构了动作执行流程,以支持更丰富的多动作组合,例如在发送文本回复的同时发送一个表情。
主要变更:
- **执行流程**: 在 `CycleProcessor` 中,将动作分为“回复”和“其他”两类。系统会先串行执行回复动作,再并行执行所有其他动作,确保了核心回复的优先性。
- **规划逻辑**: 在 `Planner` 中优化了提示词,并增加后处理步骤,以鼓励并确保在回复时触发补充性动作(如100%概率的emoji)。
- **emoji动作**: 重构了表情选择逻辑,现在会评估所有可用的表情,而不仅仅是随机抽样,提高了选择的准确性。
- **修复**: 修复了 `ActionModifier` 中随机激活概率为100%的动作可能不触发的bug。
2025-11-19 22:59:33 +08:00
tt-P607
85bfbeb57b
总之就是成了! 😋 😋 😋 主动思考终于成了
2025-11-19 22:59:32 +08:00
Windpicker-owo
f297eed9bb
ada现在支持接收贴表情消息
2025-11-19 22:59:14 +08:00
Windpicker-owo
14cfc867ab
修正at插件from_plugin=False
2025-11-19 22:59:13 +08:00
Windpicker-owo
ea7d3b364f
plugin_name改为permission_group
2025-11-19 22:59:12 +08:00
Windpicker-owo
89e22e2641
at现在可以触发post_llm
2025-11-19 22:59:08 +08:00
minecraft1024a
57599d6d7e
1
2025-11-19 22:59:07 +08:00
minecraft1024a
7fd5dc9a4a
feat(planner): 优化主动对话决策并记录动作历史
...
在主动对话规划器中引入最近的动作历史作为决策依据,以避免重复或不合时宜的主动行为。同时,在主动回复后,将该行为作为动作信息存储到数据库中,以便于未来的决策和分析。
- 在 `ActionPlanner` 中,获取并向prompt中添加最近5条动作历史记录
- 在 `ProactiveThinker` 中,当主动回复成功后,调用 `store_action_info` 记录动作
- 移除了 `@user` 插件中已废弃的 `planner_type` 属性
2025-11-19 22:59:07 +08:00
minecraft1024a
eeca3a3dad
refactor(web_search): 统一搜索引擎的API密钥配置路径
...
将Exa和Tavily搜索引擎的API密钥配置路径从独立的顶级配置(如`exa.api_keys`)更改为`web_search`下的统一路径(`web_search.exa_api_keys`和`web_search.tavily_api_keys`)。
这使得配置结构更加清晰和一致,便于管理所有与网络搜索相关的凭据。
2025-11-19 22:59:05 +08:00
雅诺狐
fdf7c44d89
feat(sleep): 为睡眠系统添加随机时间偏移功能
...
- 新增每日睡眠和起床时间随机偏移量配置选项
- 实现缓存机制确保同一天内使用相同的偏移量
- 重构睡眠时间检查逻辑以支持动态时间偏移
- 更新相关配置类和插件清单格式
2025-11-19 22:59:03 +08:00
Windpicker-owo
02fdf3dfbf
修复主动思考回复奇怪格式的问题,修改napcat插件遗留配置项
2025-11-19 22:59:02 +08:00
tt-P607
e830923795
feat(at_user_plugin): 使用回复器生成智能艾特消息
...
艾特用户动作现在通过回复器生成智能回复内容,而不是直接发送固定消息。
这样可以使艾特消息更具上下文感知能力和智能化,提升用户体验。
增加了错误处理机制,确保在回复生成失败或聊天流不存在时能正确处理。
2025-11-19 22:59:02 +08:00
Furina-1013-create
0d3a43a274
增加一个关于数据库在前面没有正确识别用户身份的时候的最小回退并改进ada插件的关于消息处理时可能会错误地把@消息识别为[视频]的情况
2025-11-19 22:59:00 +08:00
tt-P607
fc534571f2
refactor(napcat): 将enable_plugin改为动态属性以支持配置文件控制
...
- 移除硬编码的enable_plugin布尔值
- 添加enable_plugin属性方法,支持通过配置文件动态控制插件启用状态
- 默认状态改为禁用,提高系统安全性
- 支持运行时通过_is_enabled属性缓存配置状态
2025-11-19 22:58:58 +08:00
tt-P607
9e0ac11574
refactor(napcat): 改进连接管理和日志级别优化
...
- 添加MaiBot连接重试机制,支持非阻塞启动和自动重连
- 优化日志输出级别,减少非关键信息的INFO日志
- 增强消息发送的连接状态检查和故障恢复
- 改进调试模式下的原始消息记录逻辑
2025-11-19 22:58:58 +08:00
Windpicker-owo
d2a8d7e637
napcat插件配置迁移基本完成
2025-11-19 22:58:57 +08:00
Windpicker-owo
086a7322b3
fix:修复插件组件无法正确获取插件配置的问题
2025-11-19 22:58:56 +08:00
minecraft1024a
a30652b0bc
feat(planner): 实现大小脑规划器分离以优化决策流程
...
将规划器(Planner)拆分为“大脑”和“小脑”两个部分,以实现更精细化的决策控制。
- **大脑(BIG_BRAIN)**: 负责宏观决策,如是否回复、是否需要@人等高层级意图。
- **小脑(SMALL_BRAIN)**: 负责具体的功能性动作执行。
此重构引入了 `PlannerType` 枚举,并更新了动作(Action)定义,允许将动作明确分配给大脑或小脑,从而提升了AI回复的逻辑性和条理性。同时,新增了 `no_action` 类型,用于在规划阶段明确表示“无动作”,提高了处理流程的清晰度。
2025-11-19 22:58:55 +08:00
minecraft1024a
667be49a95
refactor(chat): 重构主动思考模块以提升回复质量和逻辑清晰度(哪个大聪明把我联网搜索烦了)
...
将主动思考流程拆分为两个主要阶段:规划和内容生成。
在规划阶段(`ActionPlanner`),模型现在会结合最新的聊天上下文来决定是否发起主动对话,并确定一个合适的主题。这使得决策更加贴近当前对话氛围。
在内容生成阶段(`ProactiveThinker`),系统会围绕规划好的主题,主动搜集相关实时信息(如日程、网络资讯),并结合角色设定、心情和聊天历史,构建一个更丰富、更具上下文情境的提示词,从而生成更自然、更有趣的主动回复。
主要变更:
- `ActionPlanner` 在主动模式下增加对近期聊天记录的分析,决策更精准。
- `ProactiveThinker` 新增 `_generate_proactive_content_and_send` 方法,负责整合多源信息(日程、搜索、上下文)生成最终回复。
- 简化了 `ProactiveThinker` 的主逻辑,使其专注于执行 `proactive_reply` 动作,而非处理多种动作类型。
- 优化了相关提示词,使其更专注于生成高质量的主动对话内容。
2025-11-19 22:58:53 +08:00
Windpicker-owo
03d1f7c57c
继续尝试迁移,但是组件获取插件配置存在问题
2025-11-19 22:58:34 +08:00
Windpicker-owo
f5fa235823
迁移napcat插件至built_in
2025-11-19 22:58:32 +08:00
minecraft1024a
d66e04baff
chore: format code and remove redundant blank lines
...
This commit applies automated code formatting across the project. The changes primarily involve removing unnecessary blank lines and ensuring consistent code style, improving readability and maintainability without altering functionality.
2025-11-19 22:57:44 +08:00
minecraft1024a
c6e9d572a5
feat(cross_context): 实现按互通组名称获取聊天记录
...
新增 `get_chat_history_by_group_name` API,允许插件按名称获取指定互通组的聊天记录。此功能增强了插件的上下文感知能力,使其能够利用跨群聊的对话历史。
主要变更:
- 在 `cross_context_api.py` 中添加了 `get_chat_history_by_group_name` 函数。
- Maizone 插件现在利用此 API 来获取跨群聊的上下文,以生成更相关的说说内容。
- 调整了配置文件模板,以反映新的互通组配置方式。
2025-11-19 22:57:41 +08:00
tt-P607
a5b5cdddb1
fix(qzone): 修复子评论回复逻辑
...
移除手动构造的@提醒内容,改为通过传递 `parent_tid` 参数来正确指定父评论。
这利用了平台原生的回复机制,可以更可靠地实现回复和提醒功能。
2025-11-19 22:57:39 +08:00
Windpicker-owo
51aad4f952
迁移:1f91967(remove:移除willing系统,移除reply2,移除能量值,移除reply_to改为message)
2025-11-19 22:57:24 +08:00
tt-P607
109631e6a1
emmm,总之大概也许这一版比较稳定,用就对了 😋
2025-11-19 22:57:19 +08:00
tt-P607
2abec18610
fix(qzone): 修复评论回复逻辑以确保正确触发@提醒
...
- 修改 topicId 格式使用标准评论格式而非针对特定评论
- 在回复内容中明确标示回复对象 "@用户名:"
- 优化 paramstr 参数确保触发@提醒机制
- 添加详细注释说明修复目的
2025-11-19 22:57:17 +08:00
Windpicker-owo
8b82f4f5aa
迁移:a247be0(ref:彻底合并normal和focus,完全基于planner决定target message)
2025-11-19 22:57:07 +08:00
Windpicker-owo
d86cfa90ad
迁移:3804124,9e9e796
...
(feat:将no_reply内置、fix:优化reply,填补缺失值)
2025-11-19 22:56:51 +08:00
tt-P607
3db6ce86ca
fix(maizone): 修复回复评论时的主题ID和父评论ID
...
根据企鹅空间的最新接口变更,修复了回复评论时 `topicId` 的构造方式,并为子回复添加了 `parent_tid` 参数,以确保能够正确地回复到指定的父评论。
2025-11-19 22:56:11 +08:00
tt-P607
2f1dcee7cb
refactor(maizone): 优化回复跟踪服务和实现子回复
...
对 `maizone_refactored` 插件进行多项重构和功能改进:
1. **依赖注入 `ReplyTrackerService`**:
- 在 `plugin.py` 中创建 `ReplyTrackerService` 的单例,并将其注入到 `QZoneService` 中。
- 这确保了整个插件共享同一个回复记录实例,避免了之前在 `QZoneService` 内部创建实例导致的状态不一致问题。
2. **增强 `ReplyTrackerService` 的健壮性**:
- 增加了对 `replied_comments.json` 文件加载时的数据验证和错误处理,包括处理空文件和JSON解析错误。
- 实现了损坏文件的自动备份机制。
- 采用原子化写入操作(先写临时文件再重命名),防止在保存过程中因意外中断导致数据文件损坏。
- 改进了日志记录,提供了更清晰的加载、保存和清理过程信息。
3. **实现真正的子回复(盖楼)功能**:
- 修改了 `QZoneService` 中 `_reply` 方法的请求参数,特别是 `topicId` 和 `paramstr`,并添加了 `parent_tid`,以实现对特定评论的直接回复,而不是简单地在说说下发表新评论。
4. **优化评论处理逻辑**:
- 移除了在处理新评论前对已记录回复进行验证的步骤,简化了逻辑,直接检查评论是否已被回复。
2025-11-19 22:56:10 +08:00
Windpicker-owo
6cf59deef3
迁移:69a855d(feat:保存关键词到message数据库)
2025-11-19 22:56:10 +08:00
Windpicker-owo
276c08224e
迁移:685c759 (feat:将no_reply功能移动到主循环中)
2025-11-19 22:56:09 +08:00
minecraft1024a
dfbe30f7e6
chore: 调整日志级别和更新默认配置
...
- 将事件注册成功的日志级别从INFO调整为DEBUG,以减少不必要的日志输出。
- 修正`maizone_refactored`插件中图片目录路径的表示方法,使用`.as_posix()`确保跨平台兼容性。
- 将备用Cookie获取服务的默认主机地址从一个具体的IP(`172.20.130.55`)更改为`127.0.0.1`,这更符合本地开发的通用配置。
2025-11-19 22:56:02 +08:00
Windpicker-owo
fe472dff60
修复代码格式和文件名大小写问题
2025-11-19 22:55:55 +08:00
雅诺狐
2297fa5069
更新 send_feed_command.py
2025-11-19 22:54:31 +08:00
tt-P607
cb999daed2
feat(maizone): 新增按时段禁用自动说说功能
...
将原有的活动黑名单机制替换为更灵活的按小时禁用功能。
现在可以配置一个时间段(例如凌晨2点到6点),在此期间插件将不会根据日程活动自动发送说说,以避免在休息时间造成打扰。
原有的 `activity_blacklist` 配置项已被移除。
2025-11-19 22:54:26 +08:00
minecraft1024a
6d1d42b5b6
chore(plugin): 更新 set_typing_status 插件元数据
2025-11-19 22:54:11 +08:00
minecraft1024a
2c5dd9bba0
docs: 简化 README 中的安装说明
...
将详细的安装和配置步骤移至官方文档,并在 README 中提供直接链接。这使得 README 更加简洁,并引导用户访问最新的、更全面的部署指南。
2025-11-19 22:54:10 +08:00
minecraft1024a
01e06ae95b
ruff ci
2025-11-19 22:51:31 +08:00
minecraft1024a
a645e766ca
refactor(cache): 重构工具缓存机制并优化LLM请求重试逻辑
...
将工具缓存的实现从`ToolExecutor`的装饰器模式重构为直接集成。缓存逻辑被移出`cache_manager.py`并整合进`ToolExecutor.execute_tool_call`方法中,简化了代码结构并使其更易于维护。
主要变更:
- 从`cache_manager.py`中移除了`wrap_tool_executor`函数。
- 在`tool_use.py`中,`execute_tool_call`现在包含完整的缓存检查和设置逻辑。
- 调整了`llm_models/utils_model.py`中的LLM请求逻辑,为模型生成的空回复或截断响应增加了内部重试机制,增强了稳定性。
- 清理了项目中未使用的导入和过时的文档文件,以保持代码库的整洁。
2025-11-19 22:49:46 +08:00
tt-P607
c831dfaee5
feat(maizone): 引入持久化回复跟踪以避免重复回复
...
引入 `ReplyTrackerService` 来持久化跟踪已回复的评论,确保即使在程序重启后也不会对同一评论进行重复回复。
主要变更:
- 新增 `ReplyTrackerService`,用于记录和管理对特定说说下评论的回复状态。
- 在 `QZoneService` 中重构评论回复逻辑,利用 `ReplyTrackerService` 来判断评论是否已被回复。
- 增加逻辑以验证和清理无效的回复记录,例如当用户手动删除了机器人的回复后,程序能够识别并清除相应的记录,从而可以重新进行回复。
- 将 `ReplyTrackerService` 注册为全局服务,以便在插件内部共享。
2025-11-19 22:49:43 +08:00
tt-P607
6eb2391329
refactor(maizone): 优化说说评论回复逻辑
...
重构了处理和回复评论的算法,以提高准确性和代码清晰度。
主要变更:
- 在获取说说列表时引入 `is_monitoring_own_feeds` 参数,以区分处理自己和好友的说说,避免跳过对自己说说的评论检查。
- 优化了评论回复逻辑,通过将评论区分为用户评论和自己的回复,更精确地识别未回复的评论,防止了之前可能出现的重复回复或漏回复的问题。
2025-11-19 22:49:43 +08:00
雅诺狐
71c6b0ef1e
Refactor plugin system and update permission checks
...
Removed the permission_example plugin and its files. Refactored plugin hot reload and manager logic for more robust reloading, deep reload, and cache clearing, including improved debounce and plugin name resolution. Updated MaiZone plugin and actions to use the new permission API for feed read/send actions, and registered new permission nodes. Enhanced plugin management commands with PlusCommand, improved help, and added hot reload and cache management commands.
2025-11-19 22:49:23 +08:00
雅诺狐
395cd14e52
Refactor permission checks and decorators usage
...
Refactored permission checks in built-in plugins to use the new @require_permission decorator, improving code clarity and consistency. Enhanced permission_decorators to better extract ChatStream and support PlusCommand. Updated PermissionCommand to use permission decorators for all subcommands, improved user mention parsing, and improved feedback messages. Registered a new permission node for sending feeds in MaiZone plugin and updated command registration to use PlusCommand info.
2025-11-19 22:49:16 +08:00