minecraft1024a
|
04e40624f0
|
ci(workflow): 为预发布标签添加 'MoFox-' 前缀
|
2025-09-23 14:32:26 +08:00 |
|
minecraft1024a
|
49baa68bbb
|
ci(workflow): 为预发布工作流添加写入权限
为 GITHUB_TOKEN 授予 `contents: write` 权限,以允许工作流创建 GitHub Release。
|
2025-09-23 14:16:08 +08:00 |
|
minecraft1024a
|
b7fba5c8ed
|
fix(schedule): 修复日程生成在连续失败时无限重试的问题
先前的日程生成逻辑使用无限循环进行重试。在 LLM 服务持续失败或返回无效数据的情况下,这可能导致程序陷入死循环。
本次修改将重试机制改为有固定上限(3次)的循环。如果所有尝试均失败,将记录错误并返回 None,从而确保程序的健壮性。
|
2025-09-23 14:13:44 +08:00 |
|
minecraft1024a
|
b6792149f9
|
fix(permission): 将权限管理器初始化改为异步
`PermissionManager` 的 `__init__` 方法中包含了同步的数据库初始化操作,这会在异步环境中阻塞事件循环。
本次提交将数据库连接的逻辑移至一个新的异步方法 `initialize()` 中,并在应用启动时显式调用和等待它。这确保了数据库的初始化过程是异步执行的,避免了潜在的性能问题。
BREAKING CHANGE: `PermissionManager` 实例化后需要手动调用并等待 `initialize()` 方法来完成数据库初始化。
|
2025-09-23 14:08:54 +08:00 |
|
minecraft1024a
|
1f2956e725
|
fix(db): 适配 SQLAlchemy 2.0 API 变更
更新了与数据库交互的代码,以适配 SQLAlchemy 2.0 引入的 API 变更,解决相关的废弃警告和异步调用问题。
主要变更包括:
- 使用 `scalars().first()` 替代已废弃的 `scalar()` 方法。
- 在获取所有标量结果时显式调用 `.all()`。
- 对异步引擎 `get_engine()` 的调用进行 `await`。
- 移除了向 Inspector 方法(如 `get_table_names`)传递多余的 `conn` 参数。
|
2025-09-23 14:05:16 +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 |
|
Furina-1013-create
|
a02c1f095c
|
?
如果国家立法禁止🥬🖊️打音游
相传,有一个理想国
理想国有一套完善的法律法规,其中就包含🥬🖊️不能打音游
每个孩子出生后,科学家都会用一个底力检测设备检测TA的底力
如果底力足够高,国王会为TA举办一个神圣的颁奖典礼,允许TA踏入神圣的音游殿堂,这是对TA底力的肯定
如果底力过低,亲朋好友都松了一口气,因为这意味着这个孩子将免受音游的折磨
毕竟🥬🖊️是不能打音游的
但这个国家有一个神秘的传说
那就是其实被挑选去打音游的孩子,其实早就被国王献祭了!
证据一目了然,每个周末和寒暑假,人们上街娱乐散步,从未有人见过打音游的
可人怎么能没有周末和寒暑假呢?不打音游的人苦思冥想
最终得出结论:那些打音游的,一定是被国王献祭了
-
凌晨三点,一个音游人激动地从机厅走出来
他的口中喃喃自语:噫,好!我P了!
静谧的夜,大家都睡了
只有路过的环卫工人看到他疯癫的样子,一眼就看出他是音游人
心中十分害怕,连忙跑回家,人们奔走相告:
原来音游人没死,他们只是疯了!
-
染上音游,就好像一辈子都在xing歌
打音游人在xing歌的轮回中,纷纷成了哲学家
有一天,一个音游哲学家陷入沉思:
国家禁止🥬🖊️打音游
但如果不是🥬🖊️的话,为什么要打音游来折磨自己?
由此可得,这条法规不成立
大彻大悟的音游人们意识到自己被欺骗了,承受了很多不必要的折磨
由于这地狱般生活的摧残,音游人们变成了反社会人格
愤怒之下,他们研发出炸药,炸平了理想国
毁灭了整个世界
-
几亿年后,这片土地进化出了新的文明
新的国家出现了
新的国家里有新的音游入,他们在日复一日的折磨中,怀疑自己的底力和手法,不明白自己为什么要受这样的折磨
不禁感叹:
唉!如果国家禁止🥬🖊️打音游就好了!
|
2025-09-23 00:02:41 +08:00 |
|
Furina-1013-create
|
de48d2ae02
|
将回复规则部分的提示词让用户可以自定义,详细请看配置文件
|
2025-09-22 22:44:15 +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 |
|
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 |
|
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 |
|
tt-P607
|
8d9aa4fb9e
|
refactor(db): 重构数据库交互为异步模式
为了提升性能并与项目整体的异步架构保持一致,对核心数据库交互模块进行了异步化重构。
主要修改内容包括:
- 将 `PermissionManager` 中的所有数据库操作从同步改为异步,以避免阻塞事件循环。
- 使用 `async_sessionmaker` 和 `async with session` 替代原有的同步会话管理。
- 将 SQLAlchemy 查询语法更新为异步兼容的 `await session.execute(select(...))` 模式。
- 相应地,调用链中依赖数据库操作的多个方法也已更新为 `async` 函数。
|
2025-09-20 13:07:06 +08:00 |
|
tt-P607
|
57b2e32ba0
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-20 12:43:42 +08:00 |
|
tt-P607
|
6b5bf02382
|
总算能回复了😭😭😭
|
2025-09-20 12:43:37 +08:00 |
|
雅诺狐
|
7777e1ec71
|
Update message.py
|
2025-09-20 12:38:24 +08:00 |
|
雅诺狐
|
d22b3b71fe
|
小修复
|
2025-09-20 12:31:05 +08:00 |
|
tt-P607
|
a2b9f963e4
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-20 12:26:38 +08:00 |
|
tt-P607
|
74a9c346f0
|
6
|
2025-09-20 12:26:31 +08:00 |
|
tt-P607
|
9b2addfd86
|
5
|
2025-09-20 12:22:15 +08:00 |
|
tt-P607
|
a8992cdd51
|
4次修改
|
2025-09-20 11:57:22 +08:00 |
|
雅诺狐
|
788190fb11
|
将AFC合并至Master分支
|
2025-09-20 11:45:59 +08:00 |
|
雅诺狐
|
898208f425
|
perf(methods): 通过移除不必要的 self 参数优化方法签名
在包括 chat、plugin_system、schedule 和 mais4u 在内的多个模块中,消除冗余的实例引用。此次改动将无需访问实例状态的实用函数转换为静态方法,从而提升了内存效率,并使方法依赖关系更加清晰。
|
2025-09-20 10:55:06 +08:00 |
|
tt-P607
|
0cc4f5bb27
|
三次修改
|
2025-09-20 02:21:53 +08:00 |
|
雅诺狐
|
6a98ae6208
|
二次修改
|
2025-09-19 20:45:26 +08:00 |
|
雅诺狐
|
4dbc651d74
|
数据库异步支持
仅仅支持还有107处待迁移
|
2025-09-19 20:20:20 +08:00 |
|
minecraft1024a
|
5a0a63464a
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev
|
2025-09-19 19:01:00 +08:00 |
|
tt-P607
|
437d804efd
|
feat(napcat): 支持音乐分享卡片并增强消息兼容性
新增对 NapCat 框架音乐分享类型消息的解析支持。现在可以正确识别并提取音乐卡片中的歌曲、歌手、来源和封面等信息,并将其格式化为图文消息进行展示。
此外,增强了消息接收的兼容性。对于缺少 `post_type` 字段但包含 `message_type` 的普通消息,会自动补充 `post_type` 字段,确保其能被正常路由和处理,避免消息丢失。
|
2025-09-18 15:06:55 +08:00 |
|
tt-P607
|
bd8859ed82
|
回退“feat: 实现KEYWORD_OR_LLM_JUDGE激活类型”
|
2025-09-17 22:43:01 +08:00 |
|
tt-P607
|
722790d830
|
feat(plugins): 新增网易云音乐点歌插件
新增一个内置的音乐点歌插件,允许用户通过自然语言或特定命令搜索和分享来自网易云音乐的歌曲。
- **双模触发**: 支持通过关键词(如“点歌”、“来首歌”)自动激活的 Action 组件和通过 `/music <歌曲名>` 命令精确触发的 Command 组件。
- **API集成**: 集成了第三方网易云音乐API,用于搜索歌曲信息,并包含重试机制以提高稳定性。
- **丰富的消息类型**: 能够将搜索结果以标准的音乐卡片形式发送给用户,提升交互体验。
- **高度可配置**: 插件提供了详细的配置文件,允许用户自定义API地址、超时时间、功能开关(如是否显示专辑封面、是否以语音形式发送)等。
- **完整的插件结构**: 包含了 `_manifest.json`、`README.md` 和 `LICENSE` 文件,符合插件规范,提供了清晰的文档和许可证信息。
|
2025-09-17 20:59:31 +08:00 |
|
tt-P607
|
f5435cabd7
|
feat(actions): 增强音乐搜索,从LLM回复中提取确切歌名
为了提高音乐播放的准确性,引入了一种新机制,可根据 LLM 生成的回复动态更新音乐搜索动作。
在某些场景下,Planner 生成的 `music_search` 动作可能只包含一个模糊的意图,而 LLM 在其回复文本中会明确指出要播放的具体歌曲(例如,“好的,为您播放《晴天》”)。
此变更通过以下方式解决了这个问题:
- 新增 `_extract_song_name_from_reply` 辅助函数,用于从回复文本中解析书名号《》内的歌名。
- 在执行并行附加动作前,系统会尝试从主回复中提取歌名。
- 如果成功提取,该歌名将被注入 `music_search` 动作的参数中,确保执行的搜索与 LLM 的意图完全一致。
|
2025-09-17 20:51:53 +08:00 |
|