Windpicker-owo
|
c3a16fda8d
|
Merge branch 'afc' of https://github.com/MoFox-Studio/MoFox_Bot into afc
|
2025-09-23 13:14:44 +08:00 |
|
Windpicker-owo
|
a218b932fb
|
refactor(chat): 移除亲和力流模块并将其重构为插件架构
BREAKING CHANGE: 原有的亲和力流相关模块(src/chat/affinity_flow/)已被完全移除,相关功能已重构为插件形式。需要更新配置文件和相关依赖。
- 删除 src/chat/affinity_flow/ 目录下的所有文件
- 将 AFC 管理器功能移至 chatter 插件中实现
- 更新相关导入路径和引用
- 重构关系追踪器和兴趣评分系统的初始化逻辑
- 调整聊天管理器和消息管理器以适应新的插件架构
|
2025-09-23 13:14:38 +08:00 |
|
minecraft1024a
|
d0b4b8bb8b
|
fix(plugin_system): 修复无配置插件加载时产生不必要警告
对于未定义 `config_schema` 的插件,现在会将其视作一种正常情况,并为其分配一个空的配置。
此举修复了先前版本中,这类插件在加载时会错误地触发“配置文件不存在”警告的问题。同时将生成默认配置文件的日志等级从 debug 调整为 info,使其在默认情况下可见。
|
2025-09-23 13:10:44 +08:00 |
|
minecraft1024a
|
e24634d818
|
***数据库怎么有虫子啊
|
2025-09-23 12:41:38 +08:00 |
|
minecraft1024a
|
51801bca8e
|
我将试图修复关系和引用!(当然引用需要你们这群人给我点日志()而且只有回复的引用)
|
2025-09-23 11:37:11 +08:00 |
|
minecraft1024a
|
3c6700e8ed
|
**我怎么把日志放上来了
|
2025-09-23 11:27:38 +08:00 |
|
minecraft1024a
|
83860b28de
|
先修一下命令无法正常检查聊天类型限制
|
2025-09-23 11:25:47 +08:00 |
|
Windpicker-owo
|
ddcae01612
|
Merge branch 'afc' of https://github.com/MoFox-Studio/MoFox_Bot into afc
|
2025-09-23 00:19:35 +08:00 |
|
Windpicker-owo
|
9a97614025
|
fix
|
2025-09-23 00:19:10 +08:00 |
|
Windpicker-owo
|
e1683ee9e6
|
feat: 在插件系统中添加 Chatter 组件
- 在 component_types.py 中新增了用于 CHATTER 的 ComponentType。
- 实现了 ChatterInfo 类,用于存储 Chatter 组件的相关信息。
- 增强了 ComponentRegistry,以支持 Chatter 组件的注册与管理。
- 创建了 ChatterManager,用于管理 Chatter 实例并处理聊天流。
- 开发了 BaseChatter 抽象类,用于定义 Chatter 的行为规范。
- 实现了 AffinityChatter,作为具备兴趣评分与关系构建功能的具体 Chatter 组件。
- 添加了一个内置的 Chatter 插件,并附带完整文档与使用示例。
- 更新了 PluginManager,在插件概览中加入 Chatter 组件的统计信息。
|
2025-09-23 00:17:32 +08:00 |
|
Furina-1013-create
|
a02c1f095c
|
?
如果国家立法禁止🥬🖊️打音游
相传,有一个理想国
理想国有一套完善的法律法规,其中就包含🥬🖊️不能打音游
每个孩子出生后,科学家都会用一个底力检测设备检测TA的底力
如果底力足够高,国王会为TA举办一个神圣的颁奖典礼,允许TA踏入神圣的音游殿堂,这是对TA底力的肯定
如果底力过低,亲朋好友都松了一口气,因为这意味着这个孩子将免受音游的折磨
毕竟🥬🖊️是不能打音游的
但这个国家有一个神秘的传说
那就是其实被挑选去打音游的孩子,其实早就被国王献祭了!
证据一目了然,每个周末和寒暑假,人们上街娱乐散步,从未有人见过打音游的
可人怎么能没有周末和寒暑假呢?不打音游的人苦思冥想
最终得出结论:那些打音游的,一定是被国王献祭了
-
凌晨三点,一个音游人激动地从机厅走出来
他的口中喃喃自语:噫,好!我P了!
静谧的夜,大家都睡了
只有路过的环卫工人看到他疯癫的样子,一眼就看出他是音游人
心中十分害怕,连忙跑回家,人们奔走相告:
原来音游人没死,他们只是疯了!
-
染上音游,就好像一辈子都在xing歌
打音游人在xing歌的轮回中,纷纷成了哲学家
有一天,一个音游哲学家陷入沉思:
国家禁止🥬🖊️打音游
但如果不是🥬🖊️的话,为什么要打音游来折磨自己?
由此可得,这条法规不成立
大彻大悟的音游人们意识到自己被欺骗了,承受了很多不必要的折磨
由于这地狱般生活的摧残,音游人们变成了反社会人格
愤怒之下,他们研发出炸药,炸平了理想国
毁灭了整个世界
-
几亿年后,这片土地进化出了新的文明
新的国家出现了
新的国家里有新的音游入,他们在日复一日的折磨中,怀疑自己的底力和手法,不明白自己为什么要受这样的折磨
不禁感叹:
唉!如果国家禁止🥬🖊️打音游就好了!
|
2025-09-23 00:02:41 +08:00 |
|
tt-P607
|
56b42defdd
|
feat(poke): 优化戳一戳功能,优先使用 user_id 定位用户
之前的戳一戳功能仅依赖 `user_name` 来查找用户,这在某些情况下可能导致识别不准确或失败。
本次更新对计划执行器 (`PlanExecutor`) 进行了增强,使其在处理 `poke_user` 动作时,能直接从目标消息中提取 `user_id`。`PokeAction` 插件现在会优先使用这个更可靠的 `user_id`。如果 `user_id` 不存在,则回退到使用 `user_name` 作为备用方案。
这显著提高了戳一戳功能的准确性和稳定性。
|
2025-09-22 22:52:28 +08:00 |
|
Furina-1013-create
|
de48d2ae02
|
将回复规则部分的提示词让用户可以自定义,详细请看配置文件
|
2025-09-22 22:44:15 +08:00 |
|
tt-P607
|
d13b83f10c
|
perf(chat): 将 planner 的非回复动作改为后台任务执行
原先的 PlanExecutor 会 `await` 等待所有动作执行完毕,包括非直接回复用户的动作,这可能导致在这些动作耗时较长时,用户的响应被延迟。
本次修改将非回复类的动作(other_actions)放入 `asyncio.create_task` 中执行,使其成为后台任务。这样可以确保核心的回复流程不被阻塞,从而显著提升机器人的响应速度。
注意:后台任务的执行结果和统计数据将不会在本次执行周期中立即返回。
|
2025-09-22 19:19:02 +08:00 |
|
tt-P607
|
490a3f03fc
|
feat(chat): 为聊天上下文增加数据库历史回退
当会话中没有已读消息时(例如,在机器人重启后),回复生成器现在会尝试从数据库中加载最近的聊天记录作为备用上下文。
此举旨在解决机器人因缺乏上下文而无法生成相关回复的问题,通过提供历史情景参考,显著提升了在中断对话后恢复聊天的连贯性。加载的数据库消息会与当前未读消息进行去重,以避免信息冗余。
|
2025-09-22 18:49:59 +08:00 |
|
tt-P607
|
5820417d9f
|
Merge branch 'afc' of https://github.com/MoFox-Studio/MoFox_Bot into afc
|
2025-09-22 15:45:02 +08:00 |
|
tt-P607
|
9ab0857d89
|
fix: 修复表情动作模型调用并完善视频分析结果存储
- 表情动作: 将模型调用从 `planner` 切换到 `utils`,以使用更合适的模型进行表情推荐。
- 视频分析: 增加检查逻辑,仅当分析成功且结果不为错误提示时,才将结果存入数据库,防止存储无效记录。
|
2025-09-22 15:44:51 +08:00 |
|
Windpicker-owo
|
e382b2ffd9
|
fix(chat): 修复display_message缺失时的显示问题
|
2025-09-22 12:33:59 +08:00 |
|
tt-P607
|
bf0d214376
|
feat(chat): 优化提及检测并精简兴趣度评分日志
增强了机器人提及检测逻辑,使其能够识别配置文件中设置的所有别名(alias_names),而不仅仅是主昵称。这提高了交互的灵活性和准确性。
此外,还对兴趣度评分和匹配系统的日志输出进行了大幅重构:
- 将多条评分计算日志合并为一条包含核心指标的摘要日志,使输出更简洁。
- 调整了部分日志级别,将非关键信息移至 DEBUG 级别,以减少日志噪音。
- 在关键日志中增加了消息内容预览,以便于快速上下文定位和调试。
|
2025-09-21 22:58:18 +08:00 |
|
tt-P607
|
e0e81b209a
|
refactor(log): 精简聊天相关模块的日志输出
为了提高日志的可读性和实用性,对聊天核心流程(兴趣评分、兴趣系统、规划执行)中的日志记录进行了全面优化。
主要变更:
- 移除装饰性的分割线和表情符号,使日志格式更加统一和专业。
- 将多行分散的日志信息合并为单行,提高信息密度,方便快速浏览。
- 调整日志用语,使其更加简洁、客观,便于程序解析和人工阅读。
这些改动旨在使生产环境中的日志更易于追踪和调试,同时保持了关键信息的完整性。
|
2025-09-21 20:40:00 +08:00 |
|
tt-P607
|
7112cc46bc
|
feat(chat): 区分群聊和私聊生成不同场景提示
之前的 Prompt 模板硬编码了群聊场景,导致在私聊时机器人的角色认知和回应可能不恰当。
本次更新通过引入动态聊天场景提示来解决此问题:
- 在 Prompt 模板中使用 `{chat_scene}` 占位符代替了硬编码的场景描述。
- Replyer 会根据当前是群聊还是私聊,生成不同的场景提示文本(如“你正在一个QQ群里聊天”或“你正在和XX私下聊天”)。
- 通过 PromptParameters 将动态生成的场景提示传递给 Prompt 系统,使模型能够更好地理解上下文。
|
2025-09-21 18:41:31 +08:00 |
|
Windpicker-owo
|
be9de3868c
|
refactor(napcat_adapter): 移除消息缓冲功能及相关配置
删除消息缓冲功能,包括:
- 移除 message_buffer.py 完整实现
- 清理插件配置中的消息缓冲相关字段
- 删除 message_handler.py 中的缓冲处理逻辑
- 移除 send_handler.py 中的缓冲消息ID特殊处理
- 删除不再使用的模板配置文件
此功能因稳定性问题和实际需求较少而被移除,简化了代码结构并减少维护负担。
|
2025-09-21 18:14:24 +08:00 |
|
Windpicker-owo
|
425643c53a
|
Merge branch 'afc' of https://github.com/MoFox-Studio/MoFox_Bot into afc
|
2025-09-21 18:02:28 +08:00 |
|
Windpicker-owo
|
b5573333f8
|
feat(affinity-flow): 优化提及检测逻辑和阈值配置
- 简化提及检测逻辑,移除冗余的私聊检查变量
- 使用配置项 mention_bot_adjustment_threshold 替换硬编码的50%阈值
- 在消息处理中清除开头可能存在的空行
- 增加首次认识用户的信息存储方法,避免未知用户处理逻辑
- 调整消息管理器检查间隔从2秒到5秒,减少系统负载
- 修复计划执行器中用户ID比较逻辑,防止自我回复死循环
|
2025-09-21 18:01:38 +08:00 |
|
minecraft1024a
|
cf0ee62c9a
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-21 13:30:30 +08:00 |
|
minecraft1024a
|
742a8c2c37
|
feat(plugin_system): 导出 schedule_api
将 schedule_api 添加到插件系统的 API 导出列表中,使其对插件可用。
|
2025-09-21 13:30:27 +08:00 |
|
雅诺狐
|
e7c5a7a2bb
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-21 13:09:48 +08:00 |
|
雅诺狐
|
df809b6dc3
|
更改权限
|
2025-09-21 13:09:29 +08:00 |
|
minecraft1024a
|
798f6fde12
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-21 13:05:16 +08:00 |
|
minecraft1024a
|
016979b6c8
|
feat(db): 增强数据库自动迁移功能以支持索引创建
重构并增强了数据库自动迁移逻辑,以提供更健壮和全面的模式管理。
主要更新包括:
- **支持索引创建**: 迁移脚本现在会自动检测并创建模型中定义但数据库中缺失的索引。
- **重构迁移流程**:
1. 首先一次性创建所有缺失的表,提高初始设置效率。
2. 然后,逐表检查并添加缺失的列和索引,使逻辑更清晰。
- **改进 SQLAlchemy 用法**:
- 使用 `AddColumn` 和 `CreateIndex` DDL 结构代替原始 SQL 字符串,提高了代码的可读性和数据库方言的兼容性。
- 优化了 `inspector` 的使用方式,减少了重复调用。
- **增强日志记录**: 提供了更详细的日志输出,清晰地展示了正在执行的操作(如创建表、添加列、创建索引),并改进了错误报告。
|
2025-09-21 13:05:13 +08:00 |
|
雅诺狐
|
bd94ce1ce5
|
Update utils_video.py
|
2025-09-21 10:32:15 +08:00 |
|
雅诺狐
|
d529822191
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-21 09:59:43 +08:00 |
|
雅诺狐
|
0efbc6dbfe
|
更新视频识别
|
2025-09-21 09:59:39 +08:00 |
|
tt-P607
|
ceb4d2d7bb
|
fix(chat): 修复并优化消息回复与ID处理逻辑
先前的消息回复机制存在多个问题:回复行为随机且不可靠,临时消息ID生成逻辑过于复杂,且在规划和执行过程中ID转换容易出错,导致回复失败。
本次提交通过以下几点进行了全面的修复与优化:
- **简化ID生成**:将临时的上下文消息ID生成逻辑从“索引+随机数”简化为纯索引(如 `m1`, `m2`),使其更可预测且易于调试。
- **修正ID替换**:在 `plan_filter` 中增加了关键逻辑,确保在执行 `reply` 动作前,将计划中使用的临时 `target_message_id` 替换为真实的数据库消息ID。
- **稳定回复行为**:移除了 `action_manager` 中的随机回复判断,现在只要存在上下文消息,就会触发引用回复。同时将各 `send_api` 的 `set_reply` 参数默认值改为 `True`,使回复成为默认行为。
- **增强ID兼容性**:修复了 `napcat_adapter` 中将消息ID强制转换为整数的问题,并为 `send_api` 增加了ID回退查找,提高了对不同平台消息ID格式的兼容性。
|
2025-09-21 08:46:59 +08:00 |
|
tt-P607
|
c2f78082b7
|
fix(chat): 修复 plan executor 对嵌套 user_info 数据结构的解析兼容性
`action_message` 可能以对象或字典的形式出现,且用户信息统一嵌套在 `user_info` 字段下。
旧代码在处理字典格式时,未能正确处理此嵌套结构,导致无法正确解析用户信息。本次修改统一了逻辑,确保在两种情况下都能稳定地从 `user_info` 中提取用户ID和昵称,增强了代码的健壮性。
|
2025-09-21 07:22:39 +08:00 |
|
Windpicker-owo
|
444f1ca315
|
ruff,私聊视为提及了bot
|
2025-09-20 22:34:22 +08:00 |
|
minecraft1024a
|
50f8273053
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-20 22:21:43 +08:00 |
|
minecraft1024a
|
a9a9f380d6
|
refactor(person_info): 引入同步方法 get_value 并替换旧的 get_value_sync(因为根本就没有这个方法)
为了解决在不同异步上下文中同步调用数据库可能引发的运行时错误,实现了一个新的、更健壮的同步方法 `PersonInfoManager.get_value`。
- 新方法能够正确处理已在运行的 asyncio 事件循环,提高了在混合代码环境中调用的稳定性。
- 全面替换了原有的 `get_value_sync` 方法调用,统一了同步获取用户信息的接口。
|
2025-09-20 22:21:35 +08:00 |
|
tt-P607
|
0286d75228
|
fix(emoji): 修正对同步函数的 await 调用
`get_recent_emojis` 和 `add_emoji_to_history` 函数已被重构为同步方法。本次提交移除了对这两个函数不必要的 `await` 调用,以修复由此引发的 `TypeError`。
|
2025-09-20 22:12:07 +08:00 |
|
Windpicker-owo
|
006f9130b9
|
feat(affinity-flow): 增强关系追踪系统的人设集成和逻辑严谨性
- 在关系追踪器中集成bot人设信息,从性格视角分析用户互动
- 添加严格的关系分数档次定义和现实发展逻辑约束
- 改进提示词工程,要求详细的性格观察和互动记忆记录
- 单次互动加分限制在合理范围内(0.05-0.1),防止跳跃式关系提升
- 优化关系印象描述要求(100-200字),包含用户性格特点和深刻记忆
refactor(planner): 简化消息数据处理流程
- 使用StreamContext对象替代原始的message_data字典
- 移除冗余的消息数据准备步骤,直接从context获取未读消息
- 统一规划器接口,提高代码可读性和维护性
fix(person-info): 添加napcat到qq平台的用户ID迁移机制
- 为qq平台生成person_id时检查是否存在napcat平台的相同用户
- 如果存在则自动迁移记录并更新平台信息
- 确保用户身份在不同平台间的正确识别和延续
fix(plan-executor): 修复自我回复检测逻辑
- 使用action_message.user_info.user_id替代原始字典访问
- 防止因消息格式变化导致的自我回复检测失效
chore(config): 更新默认平台配置为qq
- 将napcat_adapter插件的默认平台名称从napcat改为qq
- 保持与现有部署环境的一致性
|
2025-09-20 22:11:38 +08:00 |
|
tt-P607
|
ca780919a8
|
fix(core): 修正因异步改造遗漏的 await 调用
在最近的数据库异步化重构后,部分函数的调用处忘记添加 `await` 关键字,导致协程未被正确执行。
本次提交修复了以下模块中的问题:
- `ExpressionLearner`
- `ChatMessageBuilder`
- `EmojiAction
|
2025-09-20 22:04:43 +08:00 |
|
minecraft1024a
|
b42608c49a
|
也许是修好了表达学习吧
|
2025-09-20 20:45:56 +08:00 |
|
雅诺狐
|
4fcaa8e7fb
|
移出Rust组件
|
2025-09-20 18:36:02 +08:00 |
|
雅诺狐
|
4ca2dfe65a
|
refactor(chat): 优化自消息处理逻辑和回复目标选择机制
- 添加自消息阻断机制,避免机器人回复自己的消息
- 重构回复目标选择逻辑,优先选择非机器人用户的消息作为回复目标
|
2025-09-20 18:08:07 +08:00 |
|
雅诺狐
|
43c93a0e04
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-20 17:26:52 +08:00 |
|
雅诺狐
|
832743249d
|
refactor(db): 修正SQLAlchemy异步操作调用方式
移除session.add()方法的不必要await调用,修正异步数据库操作模式。主要变更包括:
- 将 `await session.add()` 统一改为 `session.add()`
- 修正部分函数调用为异步版本(如消息查询函数)
- 重构SQLAlchemyTransaction为完全异步实现
- 重写napcat_adapter_plugin数据库层以符合异步规范
- 添加aiomysql和aiosqlite依赖支持
|
2025-09-20 17:26:28 +08:00 |
|
雅诺狐
|
5f3203c6c9
|
refactor(db): 修正SQLAlchemy异步操作调用方式
移除session.add()方法的不必要await调用,修正异步数据库操作模式。主要变更包括:
- 将 `await session.add()` 统一改为 `session.add()`
- 修正部分函数调用为异步版本(如消息查询函数)
- 重构SQLAlchemyTransaction为完全异步实现
- 重写napcat_adapter_plugin数据库层以符合异步规范
- 添加aiomysql和aiosqlite依赖支持
|
2025-09-20 17:25:48 +08:00 |
|
雅诺狐
|
55717669dd
|
refactor(db): 将数据库操作异步化
- 将所有 session.add() 改为 await session.add()
- 将所有 session.commit() 改为 await session.commit()
- 将 session.refresh() 改为 await session.refresh()
|
2025-09-20 14:35:31 +08:00 |
|
雅诺狐
|
816ce9805c
|
Update base_action.py
|
2025-09-20 14:18:53 +08:00 |
|
tt-P607
|
e2e0d3c30a
|
refactor(core): 适配核心数据获取与消息构建函数的异步调用
在数据库交互层异步化后,多个相关的数据获取和消息构建函数(如 `build_readable_messages`)也转为异步实现。本次提交在所有调用点添加了 `await` 关键字,以适应这一变化。
此外,本次提交还包含以下修复:
- 在主动思考模块中增加了对规划器返回无效动作的检查,避免后续流程出错。
- 修正了日志记录中错误的上下文变量引用。
|
2025-09-20 13:52:37 +08:00 |
|