Commit Graph

42 Commits

Author SHA1 Message Date
minecraft1024a
0917318cbd feat(plugin): 引入Prompt组件系统以实现动态Prompt注入
引入了一个新的插件组件类型 `BasePrompt`,允许插件动态地向核心Prompt模板中注入额外的上下文信息。该系统旨在提高Prompt的可扩展性和可定制性,使得开发者可以在不修改核心代码的情况下,通过插件来丰富和调整模型的行为。

主要变更包括:
- **`BasePrompt` 基类**: 定义了Prompt组件的标准接口,包括 `execute` 方法用于生成注入内容,以及 `injection_point` 属性用于指定目标Prompt。
- **`PromptComponentManager`**: 一个新的管理器,负责注册、分类和执行所有 `BasePrompt` 组件。它会在构建核心Prompt时,自动查找并执行相关组件,将其输出拼接到主Prompt内容之前。
- **核心Prompt逻辑更新**: `src.chat.utils.prompt.Prompt` 类现在会调用 `PromptComponentManager` 来获取并注入组件内容。
- **插件系统集成**: `ComponentRegistry` 和 `PluginManager` 已更新,以支持 `BasePrompt` 组件的注册、管理和统计。
- **示例插件更新**: `hello_world_plugin` 中增加了一个 `WeatherPrompt` 示例,演示了如何创建和注册一个新的Prompt组件。
- **代码重构**: 将 `PromptParameters` 类从 `prompt.py` 移动到独立的 `prompt_params.py` 文件中,以改善模块化和解决循环依赖问题。
2025-11-19 23:23:28 +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
Windpicker-owo
481252d660 refactor(chat): 异步化聊天系统并重构兴趣值计算机制
将同步调用改为异步调用以提升性能,重构兴趣值计算流程以支持更灵活的组件化架构。主要改进包括:

- 异步化ChatManager相关方法,避免阻塞主线程
- 重构兴趣值计算系统,从插件内部计算改为通过兴趣管理器统一处理
- 新增should_act字段支持更细粒度的动作决策
- 优化初始化逻辑,避免构造函数中的异步操作
- 扩展插件系统支持兴趣计算器组件注册
- 更新数据库模型以支持新的兴趣值相关字段

这些改进提升了系统的响应性能和可扩展性,同时保持了API的向后兼容性。
2025-11-19 23:15:31 +08:00
John Richard
b2d91aac3d 更改部分类型注解 2025-11-19 23:13:56 +08:00
John Richard
a79253c714 re-style: 格式化代码 2025-11-19 23:13:20 +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
雅诺狐
a2873a71ef Add PlusCommand enhanced command system
Introduces the PlusCommand system for simplified command development, including new base classes, argument parsing utilities, and registration logic. Updates the plugin system, component registry, and bot message handling to support PlusCommand components alongside traditional commands. Adds documentation and configuration for command prefixes, and provides a developer guide for the new system.
2025-11-19 22:48:49 +08:00
UnCLAS-Prommer
1e5db5d7e1 正确使用lpmm构建prompt 2025-08-03 19:52:31 +08:00
SengokuCola
c17b138c08 fix:ruff 2025-07-23 02:25:43 +08:00
UnCLAS-Prommer
8d20134cbb 合并BaseEventPlugin到BasePlugin,重写了components_registry,修正了统计输出 2025-07-19 19:16:42 +08:00
UnCLAS-Prommer
696325cb57 继承插件总基类,注释更新 2025-07-17 00:28:14 +08:00
UnCLAS-Prommer
30b35357d4 plugins sys 修改,复用plugin_base(原base_plugin) 2025-07-16 18:02:42 +08:00
UnCLAS-Prommer
b303a95f61 部分类型注解修复,优化import顺序,删除无用API文件 2025-07-12 00:34:49 +08:00
UnCLAS-Prommer
ab61b1bb22 插件系统info修复,见changes.md 2025-07-10 16:46:37 +08:00
UnCLAS-Prommer
023e524b3b 忘了展示统计 2025-07-08 10:43:28 +08:00
UnCLAS-Prommer
36974197a8 暴露全部api,解决循环import问题 2025-07-08 00:18:24 +08:00
UnCLAS-Prommer
bed9c2bf6b plugin_manager 重新拆分,增加扩展 2025-07-08 00:18:23 +08:00
github-actions[bot]
81156bf403 🤖 自动格式化代码 [skip ci] 2025-07-03 14:01:23 +00:00
SengokuCola
3e51c4fdf3 Update base_plugin.py 2025-07-03 21:58:04 +08:00
SengokuCola
0f46de7934 Merge branch 'dev' of https://github.com/MaiM-with-u/MaiBot into dev 2025-07-03 21:27:16 +08:00
SengokuCola
011032c876 Update base_plugin.py 2025-07-03 21:26:16 +08:00
github-actions[bot]
0a2001294a 🤖 自动格式化代码 [skip ci] 2025-07-03 13:18:41 +00:00
SengokuCola
77473b5817 fix:移除多余项目,修改插件配置文件位置 2025-07-03 21:18:15 +08:00
github-actions[bot]
16df1661b1 🤖 自动格式化代码 [skip ci] 2025-06-20 03:57:03 +00:00
SengokuCola
02088e18c2 fix:自动更新插件配置文件版本 2025-06-20 11:56:48 +08:00
github-actions[bot]
23c2fb3515 🤖 自动格式化代码 [skip ci] 2025-06-19 16:02:35 +00:00
SengokuCola
79bcb5b783 fix:更新插件属性 2025-06-20 00:02:19 +08:00
墨梓柒
50657e653e Merge branch 'dev' of https://github.com/MaiM-with-u/MaiBot into dev 2025-06-19 23:15:53 +08:00
墨梓柒
05dbc46f7f fix: 将所有插件的manifest版本从3更改为1 2025-06-19 23:15:35 +08:00
github-actions[bot]
86922f1995 🤖 自动格式化代码 [skip ci] 2025-06-19 15:13:28 +00: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
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
986e88d48c fix:修复插件无法被关闭,新增新log浏览器 2025-06-16 19:34:29 +08:00
SengokuCola
2fce679aa4 feat:插件依赖管理(如管 2025-06-15 23:53:23 +08:00
春河晴
7b4e7b94f8 use structlog instead of loguru 2025-06-11 15:17:08 +09:00
github-actions[bot]
0cb595218e 🤖 自动格式化代码 [skip ci] 2025-06-10 16:20:05 +00:00
SengokuCola
22aae4d1cd fix:修复禁言插件和豆包画图插件 2025-06-11 00:18:48 +08:00
SengokuCola
de0bdd3766 feat:继续重构插件api 2025-06-10 19:16:58 +08:00
春河晴
b0c553703f ruff 2025-06-10 16:43:45 +09:00
SengokuCola
4d32b3052f feat:重构插件api 2025-06-10 15:28:36 +08:00