Commit Graph

81 Commits

Author SHA1 Message Date
whatevertogo
ea8731b693 Remove bundled legacy plugin fixture 2026-03-13 15:04:54 +08:00
whatevertogo
91b5ed400e Improve legacy plugin compat and add mrfzccl fixture 2026-03-13 15:01:42 +08:00
whatevertogo
2123ed472e Merge branch 'refact1/refactsome' of https://github.com/united-pooh/astrbot-sdk into refact1/refactsome 2026-03-13 14:23:48 +08:00
whatevertogo
0d851ac7ac feat: 删除补全清单文档,整合旧插件装载与配置模型相关信息 2026-03-13 14:23:44 +08:00
Li-shi-ling
fc0743a4e8 feat(db): 支持批量读写与 watch 变更事件
feat(db): 支持批量读写与 watch 变更事件
2026-03-13 12:38:53 +08:00
Lishiling
19064ef8eb fix:conftest和helpers添加注释 2026-03-13 11:46:33 +08:00
Lishiling
945bc3bc34 add:数据库添加批量操作支持,附测试代码 2026-03-13 11:02:31 +08:00
whatevertogo
da2c252b55 Expand new and legacy sample plugin coverage 2026-03-13 07:40:42 +08:00
whatevertogo
0064716f73 Fix runtime init and stream capability semantics 2026-03-13 07:28:59 +08:00
whatevertogo
d031814bc5 feat(plugin): 添加新的 V4 示例插件及集成测试,更新文档以反映插件结构变化 2026-03-13 06:53:31 +08:00
whatevertogo
3ba9b24522 feat: 更新文档和测试,增强旧版插件兼容性及能力装饰器的命名约束 2026-03-13 06:45:49 +08:00
whatevertogo
b0f13a00a6 feat: 添加旧版插件兼容测试及相关配置文件 2026-03-13 06:41:27 +08:00
whatevertogo
74411c8a76 feat(architecture): 更新设计原则,增强插件模块隔离和运行时导出策略 2026-03-13 06:37:08 +08:00
whatevertogo
3d5c8f7ff7 feat(protocol): 优化协议模块导出,确保根目录专注于原生 v4 模型,遗留适配器从子模块显式导入 2026-03-13 06:34:57 +08:00
whatevertogo
a93f267d8a feat(loader): enhance plugin import handling and legacy compatibility
- Updated `import_string` to evict conflicting cached top-level plugin packages, ensuring proper isolation of plugins with the same package names.
- Preserved the order of legacy handler declarations in `_iter_discoverable_names` to maintain expected behavior for legacy plugins.
- Added tests to verify the isolation of top-level packages and the preservation of handler declaration order.
- Improved module cleanup in tests to prevent conflicts between plugins.
2026-03-13 06:32:26 +08:00
whatevertogo
4b6e20468b feat: 更新文档和代码,优化运行时模块的导出,确保高级原语的稳定性和兼容性 2026-03-13 06:23:00 +08:00
whatevertogo
9c5ecf0a13 feat: Enhance plugin capability support and legacy compatibility
- Introduced LoadedCapability class to manage plugin capabilities.
- Updated load_plugin function to discover and load capabilities alongside handlers.
- Enhanced Peer class to handle remote provided capabilities during initialization.
- Added tests for capability registration and invocation in legacy plugins.
- Improved MessageChain and message component handling in legacy plugins.
- Added comprehensive tests for legacy plugin integration and compatibility.
- Updated protocol messages to include provided capabilities in initialization.
- Enhanced top-level module imports to include capability-related functions.
2026-03-13 06:16:57 +08:00
whatevertogo
d7aa75aff0 fix: 优化配置值规范化逻辑,确保类型检查更为严谨 2026-03-13 05:48:58 +08:00
whatevertogo
72d600679f feat: 更新遗留 API,支持标量 JSON 值和兼容性文档,增强消息组件和事件过滤器功能 2026-03-13 05:44:01 +08:00
whatevertogo
96ea836edc feat: Enhance legacy API with message chain support and new context handling
- Updated `LegacyContext.send_message` to handle rich message chains using `send_chain`.
- Introduced `LegacyStar` class for backward compatibility with legacy plugins.
- Added `register` decorator for legacy plugin metadata.
- Enhanced `MessageChain` class with `to_payload` and `is_plain_text_only` methods.
- Updated `AstrMessageEvent.send` method to utilize `send_chain` for rich messages.
- Implemented `send_chain` method in `PlatformClient` for sending complex message structures.
- Added capability routing for `platform.send_chain`.
- Introduced tests for new functionality, ensuring compatibility with legacy plugins and message handling.
2026-03-13 05:34:14 +08:00
whatevertogo
ae73a18f60 docs: 更新 CLAUDE 和 AGENTS 文档,添加旧 Star 文档以描述遗留行为,确保兼容性和功能完整性 2026-03-13 05:12:52 +08:00
whatevertogo
a533a30985 Remove deprecated documentation files related to code interpreter, built-in commands, context compression, custom rules, function calling, old knowledge base, knowledge base, MCP, plugins, proactive agent, skills, subagent, unified webhook, web search, and web UI management. Update references to the latest features and functionalities in AstrBot. 2026-03-13 05:07:31 +08:00
whatevertogo
1706e89d14 Merge branch 'refact1/refactsome' of https://github.com/united-pooh/astrbot-sdk into refact1/refactsome 2026-03-13 05:06:53 +08:00
whatevertogo
f4f7f69e29 docs: 加入旧文档方便开发 2026-03-13 05:06:36 +08:00
whatevertogo
136d8f915d Add new documentation for various features and functionalities in AstrBot
- Introduced a new guide for the Docker-based code interpreter, including setup instructions and usage examples.
- Added a section on built-in commands available in AstrBot.
- Documented the automatic context compression feature to manage conversation history efficiently.
- Explained the custom rules functionality for flexible message handling based on source.
- Provided details on function calling capabilities for external tool integration.
- Updated the knowledge base documentation to reflect the new system and its configuration.
- Added instructions for using the MCP (Model Context Protocol) for enhanced tool interaction.
- Documented the new proactive agent capabilities for scheduling tasks and sending multimedia messages.
- Introduced the concept of subagents for task delegation within AstrBot.
- Explained the unified webhook mode for simplified configuration across multiple platforms.
- Added a guide for the web search functionality to enhance information retrieval.
- Updated the management panel documentation for better user guidance on configuration and plugin management.
2026-03-13 05:04:48 +08:00
whatevertogo
9d05934d53 feat: 添加稳定错误码常量,重构能力描述符以使用协议模式,更新相关测试用例 2026-03-13 04:46:00 +08:00
whatevertogo
a106354e20 feat: 更新文档和代码,移除过时注释,增强兼容性和错误处理,添加新测试用例 2026-03-13 04:39:12 +08:00
whatevertogo
cc5dc9266c feat: 重构处理器分发和插件加载模块,增强兼容性和错误处理,更新文档 2026-03-13 04:37:13 +08:00
whatevertogo
7d0802fb9e feat: 更新运行时模块,增强 Peer 和 HandlerDispatcher 功能,优化插件加载和请求处理逻辑,添加新测试用例 2026-03-13 04:28:07 +08:00
whatevertogo
8ebf5489b6 feat: 更新协议模块,增强 v4 协议适配器和消息解析功能,添加新测试用例 2026-03-13 04:15:43 +08:00
whatevertogo
2e990f81e0 feat: 移除多个模块中的 TODO 注释,优化代码可读性 2026-03-13 04:15:02 +08:00
whatevertogo
ae5d6dc692 feat: 增强 v4 客户端功能,添加内存获取和错误处理,更新文档和测试用例 2026-03-13 04:02:07 +08:00
whatevertogo
7cab1cd432 feat: 更新 CLAUDE 和 AGENTS 文档,添加 v4 迁移对比文档,增强兼容性说明 2026-03-13 03:48:54 +08:00
whatevertogo
298ccf7437 feat: 更新调度触发器以支持别名,优化 Peer 类的关闭逻辑,增强插件发现功能 2026-03-13 03:48:43 +08:00
whatevertogo
4627276187 feat: 更新文档和测试,确保 LegacyContext 共享和兼容性 2026-03-13 03:42:16 +08:00
whatevertogo
ffafd74881 docs: 增强 api 模块兼容层文档,提示插件作者迁移
- 添加 warning 块明确标注为 v3 兼容层
- 提示插件制作者迁移至新版导入路径
- 添加迁移示例代码对比旧版/新版导入方式
- 说明兼容层将在未来版本移除
2026-03-13 03:31:00 +08:00
whatevertogo
cdf72b75a4 feat: 实现 v4 API 兼容层,支持旧版插件导入路径
新增模块:
- api/basic/: AstrBotConfig, BaseConversationManager, Conversation
- api/event/: AstrMessageEvent, AstrBotMessage, EventType, MessageType,
  MessageSession, EventResult 等核心事件类型
- api/message/: MessageChain 及所有消息组件 (Plain, At, Image, File 等)
- api/platform/: PlatformMetadata 平台元数据类型
- api/provider/: LLMResponse 提供者响应实体
- api/star/star.py: StarMetadata 插件元数据类型

更新模块:
- api/__init__.py: 导出所有子模块
- api/components/: 扩展 Command 兼容性
- api/event/filter.py: 增强 filter 装饰器兼容性
- context.py, decorators.py, events.py: 顶层兼容入口

测试更新:
- test_api_event_filter.py: 验证 filter 兼容性
- test_api_modules.py: 验证新模块可导入
- test_handler_dispatcher.py: 验证处理器分发

文档更新:
- AGENTS.md/CLAUDE.md: 添加兼容层设计说明,避免重复造轮子

设计原则:
- 兼容层通过 thin re-export 方式暴露旧版 API
- 不复制独立运行时逻辑,保持架构清晰
- 新版推荐使用顶层模块导入路径
2026-03-13 03:17:03 +08:00
whatevertogo
54b6ca7b7d 修正重要说明中的标点,确保新实现兼容旧实现并遵循良好设计原则 2026-03-13 02:54:34 +08:00
whatevertogo
6f1373ed32 feat: 添加重要说明,确保新实现兼容旧实现并遵循良好设计原则 2026-03-13 02:51:31 +08:00
whatevertogo
9d83fccafd feat: 添加新旧架构对比文档,详细说明各模块的功能和结构变化 2026-03-13 02:44:53 +08:00
whatevertogo
ca2beb79a2 feat: 添加新旧对比文档,详细说明各模块结构变化及功能缺失 2026-03-13 02:44:42 +08:00
whatevertogo
3c158760f9 feat: 添加协议模块及消息定义,详细说明新版协议与旧版的差异 2026-03-13 02:37:13 +08:00
whatevertogo
bfe5b21f6b feat: 添加新版 API 模块文档,详细说明与旧版的差异及缺失内容 2026-03-13 02:33:42 +08:00
whatevertogo
921223d3e9 feat: 添加客户端模块文档,详细说明各模块功能及与旧版的对比 2026-03-13 02:32:04 +08:00
whatevertogo
97ac3ee76b feat: 添加对 astrbot_sdk 第一层模块的测试,确保模块可导入及公共 API 正确导出 2026-03-13 02:28:15 +08:00
whatevertogo
59715cffa1 feat: 添加 API 模块的兼容层文档,提供旧版接口的说明和迁移指南 2026-03-13 02:24:00 +08:00
whatevertogo
4694f250ba Refactor tests and add integration tests for runtime module
- Added integration tests for the runtime module covering subprocess lifecycle, concurrency, and real-world scenarios in `test_runtime_integration.py`.
- Updated existing test files to include a blank line after module docstrings for consistency.
- Enhanced `test_protocol_legacy_adapter.py` with additional assertions for message output.
- Modified `test_transport.py` to use concrete transport implementations for abstract method tests.
- Improved test cases for handling timeouts and remote handler tracking in `test_timeout_handling.py` and `test_peer_remote_handlers.py`.
2026-03-13 02:18:36 +08:00
whatevertogo
d330b595de fix: 修复 LegacyConversationManager 和 Peer 的异步处理逻辑,确保正确处理取消和初始化事件 2026-03-13 02:18:26 +08:00
whatevertogo
024b043567 Merge branch 'refact1/refactsome' of https://github.com/united-pooh/astrbot-sdk into refact1/refactsome 2026-03-13 01:45:30 +08:00
whatevertogo
4cb7cbdf96 Add comprehensive tests for HandlerDispatcher and Plugin loading utilities
- Implement tests for HandlerDispatcher in `tests_v4/test_handler_dispatcher.py`, covering initialization, invocation, cancellation, argument building, result consumption, error handling, and handler execution.
- Introduce tests for Plugin loading functionalities in `tests_v4/test_loader.py`, including plugin specification, discovery, environment management, and loading components and handlers.
2026-03-13 01:45:28 +08:00