Commit Graph

36 Commits

Author SHA1 Message Date
DrSmoothl
a61b124c93 feat: enhance global config handling and component resolution in plugin runtime 2026-03-24 12:14:59 +08:00
DrSmoothl
1f02171a63 Refactor plugin loader and runner to support enhanced manifest structure
- Updated the PluginMeta class to utilize a strongly typed PluginManifest, improving type safety and clarity.
- Refactored dependency extraction logic to streamline the handling of plugin dependencies.
- Modified the PluginLoader to accommodate new manifest versioning and validation processes.
- Enhanced the PluginRunner to work with a dictionary for external available plugins, allowing for version mapping.
- Updated built-in plugins' manifest files to version 2, adding URLs and SDK versioning for better integration and documentation.
- Improved error handling and logging for plugin loading and dependency resolution processes.
2026-03-24 12:14:59 +08:00
DrSmoothl
0c508995dd feat: enhance session ID calculation and plugin management
- Updated `calculate_session_id` method in `SessionUtils` to include optional `account_id` and `scope` parameters for more granular session ID generation.
- Added new environment variables in `plugin_runtime` for external plugin dependencies and global configuration snapshots.
- Introduced methods in `RuntimeComponentManagerProtocol` for loading and reloading plugins globally, accommodating external dependencies.
- Enhanced `PluginRunnerSupervisor` to manage external available plugin IDs during plugin reloads.
- Implemented dependency extraction and management in `PluginRuntimeManager` to handle cross-supervisor dependencies.
- Added tests for session ID calculation and message registration in `ChatManager` to ensure correct behavior with new parameters.
2026-03-24 12:14:58 +08:00
DrSmoothl
d13767ee21 feat: Enhance plugin configuration management and SDK integration
- Add support for configuration reload scopes in the plugin runtime.
- Implement validation for SDK plugins to ensure required lifecycle methods are overridden.
- Update the configuration update handling to include scope information.
- Introduce tests for expression auto-check task and NapCat adapter SDK integration.
- Refactor configuration management to support callbacks with variable arguments.
- Improve plugin loading and error handling for configuration updates.
- Ensure that plugins can manage their own configuration updates effectively.
2026-03-24 12:14:58 +08:00
DrSmoothl
d07915eea0 Refactor message sending architecture and implement legacy driver support
- Removed UniversalMessageSender from group_generator.py and private_generator.py.
- Updated PlatformIOManager to manage legacy send drivers and ensure send pipeline readiness.
- Enhanced LegacyPlatformDriver to utilize prepared messages for sending.
- Refactored send_service to unify message sending logic and integrate with Platform IO.
- Added regression tests for Platform IO legacy driver and send service functionality.
2026-03-24 12:14:41 +08:00
DrSmoothl
e26b27c287 refactor: update message gateway handling and remove adapter references
- Changed the message sending method to return DeliveryBatch instead of DeliveryReceipt in integration.py.
- Removed AdapterDeclarationPayload and related references from envelope.py, replacing them with MessageGatewayStateUpdatePayload and MessageGatewayStateUpdateResultPayload.
- Updated runner_main.py to remove adapter-related logic and methods, focusing on message gateway functionality.
- Added tests for message gateway runtime state synchronization and action bridge functionality in test files.
2026-03-24 12:14:41 +08:00
DrSmoothl
89df7ccf6b feat: 添加 NapCat 适配器的入站消息编解码功能,增强插件配置更新逻辑和数据库交互测试 2026-03-24 12:14:28 +08:00
DrSmoothl
780cd4f767 refactor: 更新插件和 RPC 服务器逻辑,增强握手状态管理与配置校验 2026-03-24 12:14:28 +08:00
DrSmoothl
85f060621d feat: Add NapCat adapter plugin and enhance message handling
- Introduced a built-in NapCat adapter plugin for MVP message forwarding.
- Implemented core functionalities for connecting to NapCat/OneBot v11 WebSocket service.
- Added message serialization capabilities for WebUI chat routes.
- Enhanced the RegisterPluginPayload to include optional adapter declarations.
- Implemented methods for handling external messages and adapter declarations in the PluginRunner.
- Improved the send_service to inherit platform IO route metadata for outgoing messages.
2026-03-24 12:13:17 +08:00
DrSmoothl
e4850c469f feat: Enhance plugin loading and management
- Added module_name parameter to PluginMeta for better module tracking.
- Improved documentation for PluginMeta and PluginLoader methods.
- Introduced methods for managing loaded plugins: set_loaded_plugin, remove_loaded_plugin, and purge_plugin_modules.
- Enhanced dependency resolution in PluginLoader with resolve_dependencies method.
- Implemented candidate discovery and loading in PluginLoader.
- Added support for plugin reloading with _reload_plugin_by_id in PluginRunner.
- Improved error handling and logging throughout the RPCClient and PluginRunner.
- Added support for handling hook invocations in PluginRunner.
- Refactored plugin registration and unregistration processes for clarity and efficiency.
2026-03-24 12:13:17 +08:00
DrSmoothl
a5a6d2cb26 fix: 修复错误的插件重载机制,改为插件级区分
test: 补充新版本插件系统重载机制的测试
2026-03-16 13:27:10 +08:00
DrSmoothl
00c2158f76 feat: 更新 handle_config_reload 方法文档,明确配置热重载的行为和通知机制 2026-03-16 07:49:25 +08:00
UnCLAS-Prommer
cab502e727 修复拼写;将str换为路径使其更清晰 2026-03-15 23:48:15 +08:00
DrSmoothl
2c330e3902 重构事件总线和插件运行时,优化消息处理逻辑,新增 IPC 传输字典转换功能,改进组件管理协议 2026-03-14 01:39:59 +08:00
DrSmoothl
43c5b34623 炸 service 层 2026-03-14 00:13:35 +08:00
DrSmoothl
2f3519411a feat: 添加 Host 应用版本号支持,优化插件加载和热重载逻辑,检测重复插件 ID 2026-03-13 17:35:35 +08:00
DrSmoothl
8da1b6d93f feat: 实现插件能力令牌的多版本支持,优化插件热重载逻辑 2026-03-13 16:54:01 +08:00
DrSmoothl
324432ff92 feat: 添加对 key_field/key_value 参数的兼容处理,自动转换为 filters 2026-03-13 16:37:46 +08:00
DrSmoothl
29f4d05a87 feat: 添加组件启停目标解析功能,支持全局唯一短名,避免跨 Supervisor 误操作 2026-03-13 16:15:20 +08:00
DrSmoothl
d92aa800a3 feat: 实现插件配置更新通知机制,支持热重载与文件变化监听 2026-03-13 15:47:49 +08:00
DrSmoothl
44a9e9ecd7 feat: 实现插件注册的分阶段接入与切换机制,优化 RPC 连接管理 2026-03-13 15:21:40 +08:00
DrSmoothl
a576313b22 Ruff Format 2026-03-13 11:45:26 +08:00
DrSmoothl
8ac0aff479 插件系统代码风格修复 2026-03-13 11:07:19 +08:00
DrSmoothl
bcb7963d37 feat: 增强命令调用逻辑,支持通过 plugin.invoke_command 返回原始结构,并优化消息统计功能 2026-03-13 10:49:20 +08:00
DrSmoothl
0d9eff7001 feat: 更新命令查找逻辑,支持返回匹配的命名捕获组,并优化旧连接请求处理 2026-03-13 10:37:07 +08:00
DrSmoothl
8f7f31a164 feat: 优化插件调用逻辑,重构命令匹配和事件处理,增强插件管理能力 2026-03-13 00:47:09 +08:00
DrSmoothl
e445c483b0 feat: 优化非阻塞 hook 超时处理,添加全局安全阀支持;为插件 Supervisor 添加自定义 IPC socket 后缀以避免冲突 2026-03-13 00:20:03 +08:00
DrSmoothl
f3270d4d41 feat: 添加插件运行时配置类,增强会话令牌管理和插件目录支持 2026-03-13 00:11:00 +08:00
DrSmoothl
6bac2b9331 feat: 增强插件管理和日志处理,兼容旧版参数,优化 UDS 路径处理 2026-03-12 23:34:07 +08:00
DrSmoothl
688b53ee24 feat: 增强插件管理和连接稳定性,添加会话令牌重置和组件清理功能 2026-03-12 22:51:14 +08:00
DrSmoothl
b17948a495 feat: 添加 Runner 日志桥,支持将 Runner 进程日志通过 IPC 批量发送到主进程 2026-03-12 21:45:58 +08:00
DrSmoothl
d0b56abdab feat: 增强插件能力检查,支持 generation 校验并添加清理功能 2026-03-12 21:22:23 +08:00
DrSmoothl
69219e36f7 Refactor protocol and transport modules to use type hints for improved clarity and consistency
- Updated Codec class to use abstract methods for encoding and decoding envelopes.
- Changed Envelope class to use Dict and Optional for payload and error fields.
- Refined error handling in RPCError class with Optional type hints for details.
- Enhanced manifest validation logic with type hints for better type safety.
- Improved plugin loading mechanism with consistent type annotations.
- Updated RPCClient to utilize Optional for codec and connection attributes.
- Refactored transport classes to use Optional for server attributes and socket paths.
2026-03-11 00:07:13 +08:00
DrSmoothl
3bbd812bc1 feat: 新增消息转发和混合发送能力,扩展数据库操作能力 2026-03-07 20:17:17 +08:00
DrSmoothl
ce8d8dfd0a 重构整个插件系统,尝试恢复可启动性,新增插件系统maibot-plugin-sdk依赖 2026-03-07 19:40:51 +08:00
DrSmoothl
baae2df154 feat: 集成新版本插件运行时,支持事件桥接与命令处理 2026-03-06 16:37:56 +08:00