Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
512 commits
Select commit Hold shift + click to select a range
18c95e5
feat(plugin): add plugin ID validation and data directory resolution
whatevertogo Mar 20, 2026
e67c3df
fix(cli): exit cleanly on init abort
Mar 20, 2026
ebdc772
feat(memory): enhance namespace handling and add tests for memory client
whatevertogo Mar 20, 2026
5122715
Merge commit '926f230327d0b3f6a8b8bbf513c9c2409a3c738c' into feat/sdk…
whatevertogo Mar 20, 2026
743a3aa
Merge pull request #43 from united-pooh/sdk/whatevertogo
whatevertogo Mar 20, 2026
33ba128
Merge commit '743a3aae2fac496e1cbf2b6ac1fac8db408d6f85' into feat/sdk…
whatevertogo Mar 20, 2026
033195b
feat(agent): add tool status message handling and improve SDK command…
whatevertogo Mar 20, 2026
9f989e0
Merge pull request #46 from united-pooh/fix/elegant-exit
united-pooh Mar 20, 2026
1b5ad14
Merge origin/dev and fix runtime review regressions
catDforD Mar 20, 2026
312b6b6
Merge pull request #44 from united-pooh/fix-24-sdk-integration-review
letr007 Mar 20, 2026
ee5e99b
Refactor SDK structure for backward compatibility
whatevertogo Mar 20, 2026
145d17b
Merge remote-tracking branch 'origin/dev' into sdk/whatevertogo
whatevertogo Mar 20, 2026
abfe725
增强异步下载功能,更新组件导入方式,并添加相关测试用例
whatevertogo Mar 20, 2026
51c86fe
添加任务重入锁以支持会话等待器的嵌套清理,并更新相关测试用例以验证后续消息的序列化处理
whatevertogo Mar 20, 2026
0558777
Merge pull request #48 from united-pooh/sdk/whatevertogo
whatevertogo Mar 20, 2026
ae7296f
Merge commit '0558777fe3eb4d0d53728664a50488d4c51d2714' into feat/sdk…
whatevertogo Mar 20, 2026
24dee2c
添加 .astrbot_sdk_testing 到 .gitignore 文件
whatevertogo Mar 20, 2026
763bd20
Add unit tests for provider management and tool capabilities
whatevertogo Mar 20, 2026
92da73c
添加多个模块和测试用例,增强SDK功能并支持单元测试
whatevertogo Mar 20, 2026
47f3079
Merge pull request #49 from united-pooh/sdk/whatevertogo
whatevertogo Mar 20, 2026
9adcdad
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 20, 2026
a4de737
fix(bridge): add missing capability registrations for db/memory/http/…
whatevertogo Mar 20, 2026
4dbf5d2
feat(kb): enhance knowledge base capabilities with document managemen…
whatevertogo Mar 20, 2026
4856d18
添加知识库文档管理功能,包括文档上传、列表、获取、删除和刷新能力,更新相关的能力路由和协议模式
whatevertogo Mar 20, 2026
d1ba9aa
Merge pull request #50 from united-pooh/sdk/whatevertogo
whatevertogo Mar 20, 2026
631e025
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 20, 2026
cd78ddd
feat(conversation): add ability to unset conversation persona and upd…
whatevertogo Mar 20, 2026
259a2f4
添加对话管理和元数据管理功能,包括清空对话人格和保存插件配置的能力
whatevertogo Mar 20, 2026
7524a69
feat(conversation): add test for unsetting conversation persona and v…
whatevertogo Mar 20, 2026
9525e4b
feat(plugin): add save_plugin_config method and related tests for plu…
whatevertogo Mar 20, 2026
22a1171
优化插件配置保存方法的代码格式
whatevertogo Mar 20, 2026
6de481e
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 20, 2026
ea3e595
feat(sdk): enhance handler metadata with descriptions, priority, kind…
whatevertogo Mar 20, 2026
76c21c7
添加描述、优先级和其他元数据到处理程序元数据和描述符中,优化相关功能
whatevertogo Mar 20, 2026
e071e45
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 20, 2026
890cc59
feat(sdk): enhance SDK integration with local extras handling and mes…
whatevertogo Mar 21, 2026
ef7a045
添加对 MessageEvent 的额外字段支持,优化事件处理器的参数注入,增强 SDK 本地临时数据的管理能力
whatevertogo Mar 21, 2026
ac4c54b
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 21, 2026
560b7f3
增强插件日志记录功能,添加控制台输出格式化和路径标签支持,新增单元测试以验证日志格式
whatevertogo Mar 21, 2026
b827bc5
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 21, 2026
cd89710
feat: Enhance command and tool management in dashboard
whatevertogo Mar 21, 2026
eb8ea03
优化插件日志记录和能力代理模块,增强异常处理,确保优先级参数为整数
whatevertogo Mar 21, 2026
f009ad2
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 21, 2026
9a84f9e
feat: 增强LLM能力,添加聊天提供者协议和异常处理,更新单元测试以验证提供者有效性
whatevertogo Mar 21, 2026
7d942c2
feat: Implement SDK skill management capabilities
whatevertogo Mar 21, 2026
a5fbe1d
添加技能注册功能,包含技能注册、注销和列出能力的实现,增强插件能力管理
whatevertogo Mar 21, 2026
761cb30
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 21, 2026
2d4caa8
Merge branch 'master' into feat/sdk-integration
whatevertogo Mar 21, 2026
2d16990
删除CLAUDE.md文档,移除过时的已知问题描述
whatevertogo Mar 21, 2026
ce22534
Merge branch 'feat/sdk-integration' of https://github.com/whatevertog…
whatevertogo Mar 21, 2026
5945ed0
删除 AGENTS.md 文档,移除过时的架构约束和开发命令说明
whatevertogo Mar 21, 2026
d660ef7
更新测试用例,修复插件发现失败时的错误信息,确保使用正确的运行时字段
whatevertogo Mar 21, 2026
721f630
修复错误处理和权限检查,新增单元测试以验证功能
whatevertogo Mar 21, 2026
cd2e721
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 21, 2026
d60a4c0
format
whatevertogo Mar 21, 2026
ee7d88e
增强命名空间管理,优化数据库操作,添加 HTTP 路由验证,新增并发隔离测试,完善命令模型解析单元测试
whatevertogo Mar 22, 2026
54e3d12
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 22, 2026
7ae2779
增强 HTTP 路由功能,添加 HTTP 方法注销逻辑的单元测试
whatevertogo Mar 22, 2026
9de38a3
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 22, 2026
2736a0d
格式化日志输出,优化批量插入时无内容提供的调试信息
whatevertogo Mar 22, 2026
9b29954
fix: add uv dependency for plugin environment groups
united-pooh Mar 22, 2026
d2acd15
删除代码审查文档 CODE_REVIEW_ISSUES.md
whatevertogo Mar 22, 2026
1719a16
添加消息历史管理功能,包括消息记录的增删查改,完善相关能力混合类和测试用例
whatevertogo Mar 22, 2026
a0ed5b9
实现 SDK 消息历史管理功能,包括记录的增删查改操作
whatevertogo Mar 22, 2026
6a928bc
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 22, 2026
e30210a
Add unit tests for MCP contract and capabilities in SDK
whatevertogo Mar 22, 2026
7725be1
feat(mcp): Implement local and global MCP server management capabilities
whatevertogo Mar 22, 2026
34509e1
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 22, 2026
d2864f7
Merge pull request #13 from whatevertogo/fix/dependency-fix
whatevertogo Mar 22, 2026
88e24ef
docs : update SDK docs for latest runtime and message history changes
catDforD Mar 22, 2026
fc33b66
fix(runtime): tighten message history and route validation
catDforD Mar 22, 2026
335c2b4
Merge pull request #63 from united-pooh/fix-runtime-validation-bugs
catDforD Mar 22, 2026
ff44fe6
Remove outdated API documentation and add Local MCP Backend Contract …
whatevertogo Mar 22, 2026
710e64d
Merge branch 'dev' of https://github.com/united-pooh/astrbot-sdk into…
whatevertogo Mar 22, 2026
95d201b
feat(decorator): add new decorators for HTTP API, config validation, …
whatevertogo Mar 22, 2026
ab73184
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 22, 2026
75f0b07
Merge remote-tracking branch 'upstream/master' into feat/sdk-integration
whatevertogo Mar 22, 2026
3e4a4d2
feat(worker): add metadata inspection for plugin instances and update…
whatevertogo Mar 22, 2026
2eb412a
feat(sync): enhance _sync_skills_to_sandbox to handle missing or empt…
whatevertogo Mar 22, 2026
999e45e
feat(runtime): add metadata plugin instance handling and update depen…
whatevertogo Mar 22, 2026
311df9a
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 22, 2026
d38becd
Update astrbot-sdk/.github/workflows/lint.yml
whatevertogo Mar 22, 2026
6209a45
Update astrbot-sdk/docs/08_testing_guide.md
whatevertogo Mar 22, 2026
6c6a5f4
Update astrbot-sdk/docs/api/types.md
whatevertogo Mar 22, 2026
13050cd
feat(tests): add validation tests for schema configuration
whatevertogo Mar 22, 2026
97b1bd2
feat(decorator): add validation for expected types in validate_config…
whatevertogo Mar 22, 2026
405c854
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 22, 2026
62a7313
Merge branch 'feat/sdk-integration' of https://github.com/whatevertog…
whatevertogo Mar 22, 2026
6b13f3d
format
whatevertogo Mar 22, 2026
7ca6a11
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 22, 2026
f054b50
fix: update error messages for duplicate and unknown flags in command…
whatevertogo Mar 22, 2026
2aceda2
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 22, 2026
825eb0c
fix: update error messages for duplicate and unknown options in comma…
whatevertogo Mar 22, 2026
ccb1c6e
fix: improve error messages for command model parsing and add option …
whatevertogo Mar 22, 2026
bbbb39d
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 22, 2026
8c06004
feat(cli): generate agent project skills on init
catDforD Mar 23, 2026
9b20363
fix(cli): exclude agent skills from builds
catDforD Mar 23, 2026
81dad1b
fix(lint): make repo-wide ruff checks pass
catDforD Mar 23, 2026
8bb09e2
Merge pull request #64 from united-pooh/fix-54-plugin-skill
catDforD Mar 23, 2026
c0e2df6
feat(tests): add package markers for test helpers in various directories
whatevertogo Mar 23, 2026
b110a34
Merge branch 'dev' of https://github.com/united-pooh/astrbot-sdk into…
whatevertogo Mar 23, 2026
3594f16
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 23, 2026
4a6b6d2
merge: resolve PR 6810 conflicts with upstream/master
whatevertogo Mar 23, 2026
9a73da1
feat(sdk): 完成 SDK 插件桥接的初步实现,包括能力桥接、事件转换和处理器注册
whatevertogo Mar 23, 2026
df1c075
Merge branch 'pr-6810-conflict-fix' into feat/sdk-integration
whatevertogo Mar 23, 2026
f7a623b
feat(tests): 精简测试代码,移除未使用的插件类,优化事件处理逻辑
whatevertogo Mar 23, 2026
d44552e
feat(sdk): 添加内存管理功能,包括列出键、检查键存在、清除命名空间和计数插件内存
whatevertogo Mar 23, 2026
16f7d70
feat(memory): add list_keys, exists, clear_namespace, and count metho…
whatevertogo Mar 23, 2026
a5f7a0b
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 23, 2026
a65dc63
feat(permission): 添加权限管理功能,支持检查用户权限、添加和移除管理员
whatevertogo Mar 23, 2026
710cbc7
feat(permission): implement permission client and manager; add permis…
whatevertogo Mar 23, 2026
7bcb9f6
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 23, 2026
42a7c9d
feat(platform): add platform support checks and enhance plugin compat…
whatevertogo Mar 23, 2026
d44fdc4
feat(platform): add list_platforms method and update platform handlin…
whatevertogo Mar 23, 2026
a95f4fb
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 23, 2026
b3a4368
feat(plugin): 添加新sdk通过github仓库拉去的能力
whatevertogo Mar 23, 2026
7f2afc0
feat(tests): 添加SDK工具插件的本地写入和注册测试
whatevertogo Mar 23, 2026
0a0ba81
feat(docs): 添加插件注册与能力注册数据流文档
whatevertogo Mar 23, 2026
122ddc6
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 23, 2026
29d8537
feat(docs): 删除装饰器改进提案文档
whatevertogo Mar 24, 2026
21416df
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 24, 2026
54ce143
feat(tests): 添加测试以验证调度器运行器忽略调度负载关键字参数
whatevertogo Mar 24, 2026
50aaf2d
feat(hooks): 添加 SDK 事件分发支持,包括 agent_begin 和 agent_done
whatevertogo Mar 24, 2026
7404fb2
feat(docs): 更新事件处理装饰器文档,添加 agent_begin 和 agent_done 事件说明
whatevertogo Mar 24, 2026
f8bbc65
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 24, 2026
59ded2d
feat(tests): 添加扩展的 SDK 桥接模块单元测试
whatevertogo Mar 24, 2026
3da993b
feat(tests): 添加多个测试用例以测试能力调度器和工作者的功能覆盖
whatevertogo Mar 24, 2026
50dfda0
feat(tests): 添加 SDK 桥接模块的额外会话和异常处理单元测试
whatevertogo Mar 24, 2026
a31fa7f
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 24, 2026
cefbe51
feat(tests): 添加 SDK 插件桥接模块的单元测试和状态管理功能
whatevertogo Mar 24, 2026
6b41d76
feat(tests): 添加多个测试用例以增强运行时组件的覆盖率
whatevertogo Mar 24, 2026
67458f0
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 24, 2026
2bc967b
feat(sdk): 规范化 SDK 消息类型并添加相关单元测试
whatevertogo Mar 24, 2026
3421a08
feat(tests): 添加单元测试以规范化遗留消息类型别名
whatevertogo Mar 24, 2026
48e4f7a
feat(message): 添加 normalize_message_type 函数以标准化消息类型
whatevertogo Mar 24, 2026
ebb49f8
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 24, 2026
a071fea
feat(sdk): 使用 normalize_message_type 规范化消息类型处理
whatevertogo Mar 24, 2026
2448937
feat(message): 添加 _plain_payload 和 _reply_payload_data 函数以简化消息负载构造
whatevertogo Mar 24, 2026
d562b72
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 24, 2026
970565f
Merge branch 'AstrBotDevs:master' into feat/sdk-integration
whatevertogo Mar 24, 2026
54f95e9
feat(sdk): 添加 _clear_plugin_skills 方法以清理插件技能并同步活动沙盒
whatevertogo Mar 24, 2026
de0df0e
Merge branch 'feat/sdk-integration' of https://github.com/whatevertog…
whatevertogo Mar 24, 2026
8eb693f
feat(sdk): 添加原生命令刷新功能并更新插件重载逻辑
whatevertogo Mar 24, 2026
6c5fd50
refactor(tests): 简化 test_permission_client_check_preserves_optional_s…
whatevertogo Mar 24, 2026
163f6e2
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 24, 2026
8bc89f7
docs: 全面更新文档,优化结构与内容
whatevertogo Mar 25, 2026
3956bf5
chore: 移除 .gitignore 中的 /astrBot/ 目录
whatevertogo Mar 25, 2026
ccf5114
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 25, 2026
dc537d9
Add unit tests for SDK core bridge capabilities and error handling
whatevertogo Mar 26, 2026
e24b77a
Refactor code structure for improved readability and maintainability
whatevertogo Mar 26, 2026
acc9fde
feat: 添加 Core Bridge 集成测试,覆盖 metadata 和 skills 方法
whatevertogo Mar 26, 2026
d397953
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 26, 2026
7fbe91f
feat: add dynamic registration probe plugin with capabilities for ski…
whatevertogo Mar 26, 2026
22dd2a6
Merge branch 'AstrBotDevs:master' into feat/sdk-integration
whatevertogo Mar 26, 2026
e2c7208
feat(cli): astr init 完成后自动在插件目录执行 git init
united-pooh Mar 26, 2026
8cbe60c
feat: 增加对 Peer 抽象层的详细说明,强调其模块化和多语言支持能力
whatevertogo Mar 26, 2026
e765a5b
format
whatevertogo Mar 26, 2026
4791efe
Merge sdk-remote/dev into feat/sdk-integration
whatevertogo Mar 26, 2026
5a6ca3d
feat: 添加 SDK 同步脚本和文档说明
whatevertogo Mar 26, 2026
e52e370
Squashed 'astrbot-sdk/' changes from 5003da58f..a72be5cd4
whatevertogo Mar 26, 2026
9a36b8b
Merge commit 'e52e3700d53827f9c807d50fef3c0dffc97cbb1c' into feat/sdk…
whatevertogo Mar 26, 2026
d8085d3
feat: 引入 uuid 模块以支持唯一标识符生成
whatevertogo Mar 26, 2026
1e45b0f
Squashed 'astrbot-sdk/' changes from a72be5cd4..79f0ef30f
whatevertogo Mar 26, 2026
6d7a3ab
Merge commit '1e45b0f88f573ef76a2f54a03ad77c322f598bcd' into feat/sdk…
whatevertogo Mar 26, 2026
ba3a5d9
Merge commit 'd64b8ca43d37020bc233cbf3c96ba551998fe62e' into feat/sdk…
whatevertogo Mar 26, 2026
d64b8ca
Squashed 'astrbot-sdk/' changes from 79f0ef30f..c33c9b9b4
whatevertogo Mar 26, 2026
cedb905
fix: 确保假消息历史管理器中的时间戳单调递增
whatevertogo Mar 26, 2026
e7e837d
Squashed 'astrbot-sdk/' changes from c33c9b9b4..8e85095c4
whatevertogo Mar 26, 2026
6389cc6
Merge commit 'e7e837db18f963971baa212539c791791e689786' into feat/sdk…
whatevertogo Mar 26, 2026
bcf285e
Merge commit 'e7e837db18f963971baa212539c791791e689786' into feat/sdk…
whatevertogo Mar 26, 2026
e452d54
Squashed 'astrbot-sdk/' changes from 8e85095c4..c33c9b9b4
whatevertogo Mar 26, 2026
6350ef1
Merge commit 'e452d54beadd1ea46f6df8bd7054a0a458836a9a' into feat/sdk…
whatevertogo Mar 26, 2026
8a6ba3e
增强权限检查,允许管理员在无事件上下文中添加或移除管理员
whatevertogo Mar 26, 2026
654acd8
添加 SDK 插件目录路径支持,并更新备份和导出测试
whatevertogo Mar 26, 2026
123659c
增强调度触发器支持,添加名称和时区属性,并更新相关测试用例
whatevertogo Mar 26, 2026
f25b889
Merge branch 'AstrBotDevs:master' into feat/sdk-integration
whatevertogo Mar 26, 2026
ff34b3f
Merge branch 'feat/sdk-integration' of https://github.com/whatevertog…
whatevertogo Mar 26, 2026
003ff82
feat: 添加对同步脚本的无等待选项支持,并优化退出提示
whatevertogo Mar 26, 2026
0ee2d25
Merge commit 'ea5e8ddb9fb2982b6ef3b371a3e039d9474cc531' into feat/sdk…
whatevertogo Mar 26, 2026
ea5e8dd
Squashed 'astrbot-sdk/' changes from c33c9b9b4..037ab6abb
whatevertogo Mar 26, 2026
6056d83
uv环境管理,hatchling构建
whatevertogo Mar 26, 2026
2d00cd8
Squashed 'astrbot-sdk/' changes from 037ab6abb..52d2e6ea3
whatevertogo Mar 26, 2026
ad9c78f
给依靠插件id命名逃避可能的插件冲突
whatevertogo Mar 26, 2026
69305c1
Squashed 'astrbot-sdk/' changes from 52d2e6ea3..68bbe6df6
whatevertogo Mar 26, 2026
87579db
让插件名字相同报错
whatevertogo Mar 26, 2026
2446b6c
Squashed 'astrbot-sdk/' changes from 68bbe6df6..67b101992
whatevertogo Mar 26, 2026
b80701d
Merge commit 'f629ad68f5b2083b77051d074650b826d905fa4d' into feat/sdk…
whatevertogo Mar 27, 2026
f629ad6
Squashed 'astrbot-sdk/' changes from 67b101992..956f52dd8
whatevertogo Mar 27, 2026
4ead072
修复动态注册探针能力名称,确保一致性和避免冲突
whatevertogo Mar 27, 2026
f16229f
Merge commit '0747e16f0a7c37f303d0af479111220509697886' into feat/sdk…
whatevertogo Mar 27, 2026
0747e16
Squashed 'astrbot-sdk/' changes from 956f52dd8..2f1402fd4
whatevertogo Mar 27, 2026
11469c6
增强 Telegram 适配器,添加媒体标题处理功能并引入单元测试
whatevertogo Mar 27, 2026
a484639
增强平台适配器注册逻辑,支持热重载和冲突检测;更新 Telegram 适配器以统一媒体标题处理
whatevertogo Mar 27, 2026
7b0fc9c
fix: merge upstream master for sdk compatibility
whatevertogo Mar 27, 2026
92ddc52
♻️ refactor(sdk-bridge): canonicalize event/result state and remove E…
whatevertogo Mar 28, 2026
20cf81c
feat: 添加 TODO 注释,计划将平台适配器纳入 SDK 的 capability 体系
whatevertogo Mar 28, 2026
96c0faa
feat: 添加 DemoPlugin 类及其命令处理方法,支持消息事件和参数类型检查
whatevertogo Mar 28, 2026
f2a4011
Merge commit '0ff1aff8463c6bf434053bf877500f61d35d62f6' into feat/sdk…
whatevertogo Mar 28, 2026
0ff1aff
Squashed 'astrbot-sdk/' changes from 2f1402fd4..62c890abe
whatevertogo Mar 28, 2026
3de1f40
Merge commit 'd994a5fe1e367a7077762350f8ad549a2b4e5d9f' into feat/sdk…
whatevertogo Mar 28, 2026
d994a5f
Squashed 'astrbot-sdk/' changes from 62c890abe..629bf307c
whatevertogo Mar 28, 2026
858d40e
feat: 增强 MessageChain 类,支持序列操作并添加多种方法;更新 AstrMessageEvent 以接受 Message…
whatevertogo Mar 28, 2026
3429cba
Merge commit '199af87ebc80eb93c9d7cb080fda960365b0bda7' into feat/sdk…
whatevertogo Mar 28, 2026
199af87
Squashed 'astrbot-sdk/' changes from 629bf307c..f23721f24
whatevertogo Mar 28, 2026
90d0756
feat: 增加 SDK 插件桥接功能,支持 llm_response 和 streaming_delta 事件的分发;优化日志记录和错误处理
whatevertogo Mar 28, 2026
10a318a
Merge commit '5ae183886ecf00ac9c18c1da6505764923c539e2' into feat/sdk…
whatevertogo Mar 28, 2026
5ae1838
Squashed 'astrbot-sdk/' changes from f23721f24..955470aee
whatevertogo Mar 28, 2026
595321b
feat: 增加权限检查,确保管理员命令仅对管理员可用;更新测试用例以验证权限逻辑
whatevertogo Mar 28, 2026
b2f9d80
feat: 增强 SDK 插件桥接功能,添加 HTTP 路由注册日志;实现公共 URL 生成逻辑
whatevertogo Mar 28, 2026
947dd59
feat(sdk_bridge): implement SdkRegistryManager, SdkRequestRuntime, an…
whatevertogo Mar 28, 2026
a61659b
chore: merge upstream master into feat/sdk-integration
whatevertogo Mar 28, 2026
11abaf5
feat: 添加 SDK HTTP 上传处理功能,支持文件上传并记录相关信息;增强 SDK 响应处理逻辑
whatevertogo Mar 28, 2026
05d752e
Merge commit '6436e4b0b753020ad65e25d368f77c216fd454e5' into feat/sdk…
whatevertogo Mar 28, 2026
6436e4b
Squashed 'astrbot-sdk/' changes from 955470aee..b817715b9
whatevertogo Mar 28, 2026
4e3b824
feat: 添加插件清单中的 repo 字段,支持插件迁移到 SDK 运行时
whatevertogo Mar 28, 2026
cd10fed
feat: 增强插件 README 和更新日志 API 支持,添加对 SDK 插件和远程 GitHub 仓库的处理
whatevertogo Mar 28, 2026
a3cc333
Merge commit 'e150325ca2e8e9e846aa3d6c1f89421da0d01b5c' into feat/sdk…
whatevertogo Mar 28, 2026
e150325
Squashed 'astrbot-sdk/' changes from b817715b9..378257db7
whatevertogo Mar 28, 2026
8ded2a4
feat: 添加后台重载调度和取消功能,增强插件生命周期管理
whatevertogo Mar 29, 2026
5fc2635
feat: 添加插件重载操作的锁定机制,确保插件重载操作的串行化
whatevertogo Mar 29, 2026
74f3b1f
Merge commit '35feedd2b198b24fc5e0e209abe431c58fd17ee8' into feat/sdk…
whatevertogo Mar 29, 2026
35feedd
Squashed 'astrbot-sdk/' changes from 378257db7..9724f6230
whatevertogo Mar 29, 2026
8898847
feat: 添加插件元数据中的仓库链接
whatevertogo Mar 29, 2026
76ea22c
feat: 添加 Bearer 认证检查到插件路由
whatevertogo Mar 29, 2026
73f5505
feat: 添加插件加载器的模块隔离测试,确保插件模块在不同命名空间下的独立性
whatevertogo Mar 29, 2026
7794a17
Merge commit '4e8009dbf49f641f2673703fbbb5052623313689' into feat/sdk…
whatevertogo Mar 29, 2026
4e8009d
Squashed 'astrbot-sdk/' changes from 9724f6230..56943300b
whatevertogo Mar 29, 2026
262ba81
Merge commit '34ad07375a0a111575cadcbeddd46664b6e36587' into feat/sdk…
whatevertogo Mar 29, 2026
34ad073
Squashed 'astrbot-sdk/' changes from 56943300b..0a9c86345
whatevertogo Mar 29, 2026
1c40755
fix: 修复导入顺序,优化代码可读性
whatevertogo Mar 29, 2026
5f2ad81
feat: 添加命令兼容性处理,支持新旧插件命令冲突检测与过滤
whatevertogo Mar 29, 2026
dcd4f69
feat: Enhance HTTP API registration with plugin namespace validation
whatevertogo Mar 29, 2026
d036b16
feat: SDK 硬化——装饰器参数校验、transport 帧级容错、overlay 线程安全、命令冲突索引优化、event API 现代化
whatevertogo Mar 29, 2026
8f1f099
refactor(sdk): 统一 SDK logger 入口,消除散落的 loguru 直接导入
whatevertogo Mar 29, 2026
0fe1155
fix: 更新 TODO 注释,明确插件和命令冲突的潜在问题
whatevertogo Mar 29, 2026
33eb42c
feat: support remote websocket workers in sdk runtime
whatevertogo Mar 29, 2026
24deea9
Squashed 'astrbot-sdk/' changes from 0a9c86345..8186cd3ee
whatevertogo Mar 29, 2026
b88c3ea
Merge commit '24deea9f165e2b90b85437cf24044108f9a22042' into feat/sdk…
whatevertogo Mar 29, 2026
77c3fe4
feat: 优化插件管理,增加锁机制以支持并发操作
whatevertogo Mar 29, 2026
375f2b5
feat: 增强插件启用/停用接口的错误处理,返回结构化错误信息
whatevertogo Mar 29, 2026
213bc3b
feat: 增强装饰器错误处理,提供详细的异常信息和上下文
whatevertogo Mar 29, 2026
c0f86eb
Merge commit '0bade43e075def7e70d2faade852413a1163e622' into feat/sdk…
whatevertogo Mar 29, 2026
0bade43
Squashed 'astrbot-sdk/' changes from 8186cd3ee..44b67256b
whatevertogo Mar 29, 2026
be76581
feat: 增强上下文异常处理,添加错误包装和详细日志记录
whatevertogo Mar 29, 2026
5f0ef38
feat: 添加客户端异常处理包装,增强错误上下文信息
whatevertogo Mar 29, 2026
9f52380
feat: 更新错误处理,确保 SkillClient 和 MCPManagerClient 的异常类型更准确
whatevertogo Mar 29, 2026
6297b9c
feat: 移除对核心异常类型的包装,保留原始异常语义
whatevertogo Mar 29, 2026
876c811
feat: 增强异常处理,确保在重建异常时捕获错误并返回合适的异常类型
whatevertogo Mar 29, 2026
a27635c
Squashed 'astrbot-sdk/' changes from 44b67256b..3cf8142fb
whatevertogo Mar 30, 2026
5df1b3c
Merge commit 'a27635cc7821e1b5475be06dab363301dc3329fb' into feat/sdk…
whatevertogo Mar 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,5 @@ GenieData/
.kilocode/
.worktrees/

.astrbot_sdk_testing/
dashboard/bun.lock
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ Runs on `http://localhost:3000` by default.
3. After finishing, use `ruff format .` and `ruff check .` to format and check the code.
4. When committing, ensure to use conventional commits messages, such as `feat: add new agent for data analysis` or `fix: resolve bug in provider manager`.
5. Use English for all new comments.
6. For path handling, use `pathlib.Path` instead of string paths, and use `astrbot.core.utils.path_utils` to get the AstrBot data and temp directory.
6. For path handling, use `pathlib.Path` instead of string paths, and use `astrbot.core.utils.astrbot_path` helpers to get the AstrBot data and temp directory.

## PR instructions

1. Title format: use conventional commit messages
2. Use English to write PR title and descriptions.
2. Use English to write PR title and descriptions.
11 changes: 11 additions & 0 deletions astrbot-sdk/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
AstrBot SDK repository notice
=============================

This repository does not currently publish a standalone open-source license text.

This file exists so the source repository and its `vendor/` subtree snapshot carry
the same notice instead of silently omitting licensing information.

Unless the maintainers publish different licensing terms, do not assume this
repository grants redistribution or modification rights beyond applicable law and
explicit permission from the maintainers.
14 changes: 14 additions & 0 deletions astrbot-sdk/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# AstrBot SDK Vendor Snapshot

This directory is the minimized subtree payload consumed by the AstrBot main
repository.

- `src/astrbot_sdk/` keeps the runtime SDK package plus the minimal testing
helpers that AstrBot and SDK-generated templates still treat as part of the
vendored contract
- agent skill templates and embedded markdown reference files are excluded
- root project-note templates for `astr init` stay vendored because the CLI
still generates `AGENTS.md` / `CLAUDE.md` by default
- `pyproject.toml` keeps the src-layout package discovery but drops dev/test-only metadata
- `VENDORED.md` describes the vendoring contract
- tests, docs, CI files, and other source-repo-only content stay outside this directory
20 changes: 20 additions & 0 deletions astrbot-sdk/VENDORED.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Vendored Snapshot Notes

This directory is a minimized snapshot for the AstrBot main repository to import
via `git subtree`.

- The source of truth is this `astrbot-sdk` repository.
- `vendor/src/astrbot_sdk/` is synchronized from `src/astrbot_sdk/`.
- Vendored snapshots keep the runtime SDK plus the minimal testing helpers
(`testing.py`, `_testing_support.py`, `_internal/testing_support.py`) because
AstrBot and SDK-generated test templates still depend on them.
- Vendored snapshots exclude agent skill templates and markdown reference
assets that are not needed by the subtree consumer, but retain the default
`AGENTS.md` / `CLAUDE.md` project-note templates used by `astr init`.
- `vendor/pyproject.toml` keeps src-layout package discovery, but strips
test/dev-only sections so the subtree stays runtime-focused.
- Do not edit vendored files directly inside the AstrBot main repository.
- Tests and documentation remain only in the SDK source repository and are not
copied into the vendored snapshot.
- If the vendored copy needs changes, update the SDK source repository first and
regenerate the `vendor/` snapshot.
50 changes: 50 additions & 0 deletions astrbot-sdk/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "astrbot-sdk"
version = "0.1.0"
description = "AstrBot SDK with s5r runtime, worker protocol, and plugin tooling"
readme = "README.md"
requires-python = ">=3.12"
classifiers = [
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
dependencies = [
"aiohttp>=3.13.2",
"anthropic>=0.72.1",
"certifi>=2025.10.5",
"click>=8.3.0",
"docstring-parser>=0.17.0",
"google-genai>=1.50.0",
"loguru>=0.7.3",
"msgpack>=1.1.1",
"openai>=2.7.2",
"pydantic>=2.12.3",
"pyyaml>=6.0.3",
"uv>=0.9.17",
]

[project.scripts]
astr = "astrbot_sdk.cli:cli"

[tool.hatch.build.targets.wheel]
packages = ["src/astrbot_sdk"]
exclude = ["/src/astrbot_sdk/AGENTS.md"]

[tool.hatch.build.targets.sdist]
include = [
"/src",
"/README.md",
"/LICENSE",
]

# ============================================================
# Optional Dependencies
# ============================================================
222 changes: 222 additions & 0 deletions astrbot-sdk/src/astrbot_sdk/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,222 @@
"""AstrBot SDK 的顶层公共 API。

这里仅重新导出 astrbot-sdk 推荐直接导入的稳定入口。

新插件应直接使用此模块的导出:
from astrbot_sdk import Star, Context, MessageEvent
from astrbot_sdk.decorators import on_command, on_message

迁移期适配入口位于独立模块;此处只暴露 astrbot-sdk 原生主入口。
"""

from .clients.managers import (
ConversationCreateParams,
ConversationManagerClient,
ConversationRecord,
ConversationUpdateParams,
KnowledgeBaseCreateParams,
KnowledgeBaseDocumentRecord,
KnowledgeBaseDocumentUploadParams,
KnowledgeBaseManagerClient,
KnowledgeBaseRecord,
KnowledgeBaseRetrieveResult,
KnowledgeBaseRetrieveResultItem,
KnowledgeBaseUpdateParams,
MessageHistoryManagerClient,
MessageHistoryPage,
MessageHistoryRecord,
MessageHistorySender,
PersonaCreateParams,
PersonaManagerClient,
PersonaRecord,
PersonaUpdateParams,
)
from .clients.mcp import MCPManagerClient, MCPServerRecord, MCPServerScope, MCPSession
from .clients.metadata import PluginMetadata, StarMetadata
from .clients.permission import (
PermissionCheckResult,
PermissionClient,
PermissionManagerClient,
)
from .clients.platform import PlatformError, PlatformStats, PlatformStatus
from .clients.provider import (
ManagedProviderRecord,
ProviderChangeEvent,
ProviderManagerClient,
)
from .clients.session import SessionPluginManager, SessionServiceManager
from .commands import CommandGroup, command_group, print_cmd_tree
from .context import Context
from .conversation import (
ConversationClosed,
ConversationReplaced,
ConversationSession,
ConversationState,
)
from .decorators import (
acknowledge_global_mcp_risk,
admin_only,
background_task,
conversation_command,
cooldown,
group_only,
http_api,
mcp_server,
message_types,
on_command,
on_event,
on_message,
on_provider_change,
on_schedule,
platforms,
priority,
private_only,
provide_capability,
rate_limit,
register_skill,
require_admin,
require_permission,
validate_config,
)
from .errors import AstrBotError
from .events import MessageEvent
from .filters import (
CustomFilter,
MessageTypeFilter,
PlatformFilter,
all_of,
any_of,
custom_filter,
)
from .message.components import (
At,
AtAll,
BaseMessageComponent,
File,
Forward,
Image,
MediaHelper,
Plain,
Poke,
Record,
Reply,
UnknownComponent,
Video,
)
from .message.result import (
EventResultType,
MessageBuilder,
MessageChain,
MessageEventResult,
)
from .message.session import MessageSession
from .plugin_kv import PluginKVStoreMixin
from .schedule import ScheduleContext
from .session_waiter import SessionController, session_waiter
from .star import Star
from .star_tools import StarTools
from .types import GreedyStr

__all__ = [
"AstrBotError",
"At",
"AtAll",
"BaseMessageComponent",
"CommandGroup",
"ConversationClosed",
"ConversationCreateParams",
"ConversationManagerClient",
"ConversationReplaced",
"ConversationRecord",
"ConversationSession",
"ConversationState",
"ConversationUpdateParams",
"Context",
"CustomFilter",
"EventResultType",
"File",
"Forward",
"GreedyStr",
"Image",
"KnowledgeBaseCreateParams",
"KnowledgeBaseDocumentRecord",
"KnowledgeBaseDocumentUploadParams",
"KnowledgeBaseManagerClient",
"KnowledgeBaseRecord",
"KnowledgeBaseRetrieveResult",
"KnowledgeBaseRetrieveResultItem",
"KnowledgeBaseUpdateParams",
"ManagedProviderRecord",
"MCPManagerClient",
"MCPSession",
"MCPServerRecord",
"MCPServerScope",
"MediaHelper",
"MessageHistoryManagerClient",
"MessageHistoryPage",
"MessageHistoryRecord",
"MessageHistorySender",
"MessageEvent",
"MessageEventResult",
"MessageChain",
"MessageBuilder",
"MessageSession",
"MessageTypeFilter",
"Plain",
"PluginKVStoreMixin",
"PluginMetadata",
"PermissionCheckResult",
"PermissionClient",
"PermissionManagerClient",
"PlatformFilter",
"PlatformError",
"PlatformStats",
"PlatformStatus",
"Poke",
"PersonaCreateParams",
"PersonaManagerClient",
"PersonaRecord",
"PersonaUpdateParams",
"ProviderChangeEvent",
"ProviderManagerClient",
"Record",
"Reply",
"ScheduleContext",
"SessionPluginManager",
"SessionServiceManager",
"SessionController",
"Star",
"StarMetadata",
"StarTools",
"UnknownComponent",
"Video",
"acknowledge_global_mcp_risk",
"admin_only",
"all_of",
"any_of",
"background_task",
"cooldown",
"conversation_command",
"command_group",
"custom_filter",
"group_only",
"http_api",
"mcp_server",
"message_types",
"on_command",
"on_event",
"on_message",
"on_provider_change",
"on_schedule",
"platforms",
"print_cmd_tree",
"priority",
"provide_capability",
"private_only",
"rate_limit",
"require_admin",
"require_permission",
"register_skill",
"session_waiter",
"validate_config",
]
11 changes: 11 additions & 0 deletions astrbot-sdk/src/astrbot_sdk/__main__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
"""`python -m astrbot_sdk` 的 CLI 入口。"""

from .cli import cli


def main() -> None:
cli()


if __name__ == "__main__":
main()
17 changes: 17 additions & 0 deletions astrbot-sdk/src/astrbot_sdk/_command_model.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from ._internal.command_model import (
COMMAND_MODEL_DOCS_URL,
CommandModelParseResult,
ResolvedCommandModelParam,
format_command_model_help,
parse_command_model_remainder,
resolve_command_model_param,
)

__all__ = [
"COMMAND_MODEL_DOCS_URL",
"CommandModelParseResult",
"ResolvedCommandModelParam",
"format_command_model_help",
"parse_command_model_remainder",
"resolve_command_model_param",
]
7 changes: 7 additions & 0 deletions astrbot-sdk/src/astrbot_sdk/_internal/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"""Internal implementation modules for astrbot_sdk.
This package groups private helpers that are not part of the public SDK API.
Imports outside the SDK should avoid depending on these modules directly.
"""

__all__: list[str] = []
Loading
Loading