Commit Graph

29 Commits

Author SHA1 Message Date
minecraft1024a
cca07bd16e refactor: 将项目名称从 MaiBot 重命名为 MoFox-Bot
本次更新在整个代码库范围内将项目名称 "MaiBot" 及其相关变体(如 "maibot")统一重命名为 "MoFox-Bot"。

主要变更包括:
- 修改配置文件、模板和日志输出中的项目名称。
- 更新文档、注释和用户可见的字符串,以反映新的品牌名称。
- 调整插件元数据和描述。
2025-11-19 23:21:44 +08:00
sunbiz1024
950b086063 ruff 2025-11-19 23:19:53 +08:00
minecraft1024a
cd84373828 style: 统一代码风格并进行现代化改进
对整个代码库进行了一次全面的风格统一和现代化改进。主要变更包括:

- 将 `hasattr` 等内置函数中的字符串参数从单引号 `'` 统一为双引号 `"`。
- 采用现代类型注解,例如将 `Optional[T]` 替换为 `T | None`,`List[T]` 替换为 `list[T]` 等。
- 移除不再需要的 Python 2 兼容性声明 `# -*- coding: utf-8 -*-`。
- 清理了多余的空行、注释和未使用的导入。
- 统一了文件末尾的换行符。
- 优化了部分日志输出和字符串格式化 (`f"{e!s}"`)。

这些改动旨在提升代码的可读性、一致性和可维护性,使其更符合现代 Python 编码规范。
2025-11-19 23:18:16 +08:00
minecraft1024a
9175207e79 refactor(plugin_system): 引入 PluginMetadata 替代 manifest.json
将插件元数据定义从外部 `_manifest.json` 文件迁移到插件 `__init__.py` 文件中的 `__plugin_meta__` 变量。此举简化了插件加载流程,减少了文件I/O,并使元数据与插件代码更紧密地耦合。

主要变更:
- 引入 `PluginMetadata` 数据类来标准化插件元数据。
- 插件基类 `PluginBase` 现在直接接收 `PluginMetadata` 对象,不再负责解析 JSON 文件。
- 插件管理器 `PluginManager` 调整加载逻辑,从插件模块的 `__plugin_meta__` 属性获取元数据。
- 删除了 `manifest_utils.py` 及其相关的验证和版本比较逻辑,简化了依赖关系。
- 更新了所有内置插件,以采用新的元数据定义方式,并删除了它们各自的 `_manifest.json` 文件。

BREAKING CHANGE: 插件加载机制已改变。所有插件必须在其 `__init__.py` 中定义一个 `__plugin_meta__` 变量,该变量是 `PluginMetadata` 类的实例,并移除旧的 `_manifest.json` 文件。
2025-11-19 23:17:29 +08:00
John Richard
a79253c714 re-style: 格式化代码 2025-11-19 23:13:20 +08:00
雅诺狐
93542cadef perf(methods): 通过移除不必要的 self 参数优化方法签名
在包括 chat、plugin_system、schedule 和 mais4u 在内的多个模块中,消除冗余的实例引用。此次改动将无需访问实例状态的实用函数转换为静态方法,从而提升了内存效率,并使方法依赖关系更加清晰。
2025-11-19 23:05:00 +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
雅诺狐
23ee3767ef 初始化 2025-11-19 22:34:56 +08:00
UnCLAS-Prommer
e15183a422 管理插件,但是只有一半 2025-07-23 15:53:59 +08:00
UnCLAS-Prommer
f890722c3d Merge branch 'dev' into plugin 2025-07-13 01:28:48 +08:00
SengokuCola
b74376387a feat;现在只需要activation_type字段 2025-07-12 23:34:52 +08:00
UnCLAS-Prommer
ab61b1bb22 插件系统info修复,见changes.md 2025-07-10 16:46:37 +08:00
UnCLAS-Prommer
fe1f696f80 跟新dev的修改 2025-07-08 23:35:38 +08:00
github-actions[bot]
f1ad595d71 🤖 自动格式化代码 [skip ci] 2025-07-08 15:20:49 +00:00
A0000Xz
ca175d206d 应该修好了TTS 2025-07-08 23:15:44 +08:00
UnCLAS-Prommer
36974197a8 暴露全部api,解决循环import问题 2025-07-08 00:18:24 +08:00
SengokuCola
2446285804 update:更新插件版本号 2025-07-01 15:58:02 +08:00
SengokuCola
79bcb5b783 fix:更新插件属性 2025-06-20 00:02:19 +08:00
墨梓柒
05dbc46f7f fix: 将所有插件的manifest版本从3更改为1 2025-06-19 23:15:35 +08:00
墨梓柒
1fab6dc710 feat: 添加新的插件和清单管理工具
- 引入了“hello_world_plugin”和“take_picture_plugin”及其各自的清单文件。
- 实现了“manifest_tool.py”,用于创建、验证和管理插件清单。
- 添加了“test_version_compatibility.py”,用于测试版本规范化、比较和兼容性检查。
- 增强了“manifest_utils.py”,增加了版本比较和验证功能。
2025-06-19 23:13:06 +08:00
SengokuCola
ab28b94e33 refc:重构插件api,补全文档,合并expressor和replyer,分离reply和sender,新log浏览器 2025-06-19 20:20:34 +08:00
github-actions[bot]
ee005456ea 🤖 自动格式化代码 [skip ci] 2025-06-16 14:10:49 +00:00
SengokuCola
cf79136ec4 fix:尝试修复豆包画图插件,添加插件toml配置文件参数,移除追踪 2025-06-16 21:58:58 +08:00
SengokuCola
47810e4ab2 fix:规范化描述定义 2025-06-15 22:34:07 +08:00
github-actions[bot]
14337b8171 🤖 自动格式化代码 [skip ci] 2025-06-14 03:01:05 +00:00
tcmofashi
cb560ecd73 fix: 恢复vtb_plugin 2025-06-14 11:00:47 +08:00
github-actions[bot]
bc145bc379 🤖 自动格式化代码 [skip ci] 2025-06-14 02:16:34 +00:00
A0000Xz
efd65d6b80 重新适配了TTS 2025-06-13 23:55:03 +08:00
A0000Xz
68eb82128f Create config.toml 2025-06-13 23:54:30 +08:00