Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
388 commits
Select commit Hold shift + click to select a range
6d60e0f
feat: 添加 LLM 工具管理和会话级别状态管理能力
whatevertogo Mar 16, 2026
780580b
feat: 大幅增强 SDK 核心功能和文档
whatevertogo Mar 16, 2026
a6acc3d
Add comprehensive API documentation for types and utilities in AstrBo…
whatevertogo Mar 16, 2026
f8db7ef
feat: 添加高级方法和辅助函数文档,增强消息组件和事件处理功能
whatevertogo Mar 16, 2026
821c10d
feat: 增强过滤器类型和能力路由文档,添加 Provider 和会话管理功能
whatevertogo Mar 17, 2026
aa0d9ed
change location
whatevertogo Mar 17, 2026
39a15bf
delete no need thing
whatevertogo Mar 17, 2026
693b46a
delete again
whatevertogo Mar 17, 2026
c55c89a
feat: add Star plugin base class and StarTools utility class
whatevertogo Mar 17, 2026
6d00add
Merge branch 'dev' of https://github.com/united-pooh/astrbot-sdk into…
whatevertogo Mar 17, 2026
b0e4d03
delete: remove hello_plugin example and its related files
whatevertogo Mar 17, 2026
6449167
Remove obsolete test files for testing module, top-level modules, tra…
whatevertogo Mar 17, 2026
200559a
fix(runtime): avoid creating Star instance in on_error fallback
Li-shi-ling Mar 18, 2026
665c9c6
fix(runtime): avoid virtual dispatch in Star.on_error fallback
Li-shi-ling Mar 18, 2026
e76a588
refactor(runtime): unify command matching logic (#25)
Li-shi-ling Mar 18, 2026
c7d47ad
fix: simplify register_task completion handling (#27)
letr007 Mar 18, 2026
7dda607
chore: sync subtree from AstrBot
whatevertogo Mar 18, 2026
9662c19
chore: rebootstrap astrbot-sdk subtree
whatevertogo Mar 18, 2026
6c322b8
feat: replay non-sdk changes on clean sdk subtree baseline
whatevertogo Mar 18, 2026
c64fdc9
feat(sdk): add merged provider config capability support
letr007 Mar 17, 2026
407eb4c
feat(sdk): add merged provider config bridge and client
letr007 Mar 17, 2026
752dc6c
feat(sdk): add merged provider config capability support
letr007 Mar 17, 2026
689f966
fix(sdk): tighten bridge cast typing
letr007 Mar 17, 2026
f8a7e25
feat(sdk): add merged provider config bridge and client
letr007 Mar 17, 2026
7f9a8a9
test(sdk): cover merged provider config parity
letr007 Mar 17, 2026
3b09747
feat: 完善 memory 向量检索与索引统计 (#28)
united-pooh Mar 18, 2026
fdffc09
Merge pull request #26 from united-pooh/fix/fix-star-on-error-fallback
whatevertogo Mar 18, 2026
85342f1
feat(tests): 添加测试用例以验证 register_task 的行为并更新测试运行说明
whatevertogo Mar 18, 2026
81fd95e
Merge commit 'e45bade147ff44b43860ecff12067309e59c151a' into feat/sdk…
whatevertogo Mar 18, 2026
96d1df8
Merge commit 'e45bade147ff44b43860ecff12067309e59c151a' into feat/sdk…
whatevertogo Mar 18, 2026
f8438a7
Merge commit 'e45bade147ff44b43860ecff12067309e59c151a' into feat/sdk…
whatevertogo Mar 18, 2026
e45bade
Squashed 'astrbot-sdk/' changes from 7dda6077..85342f14
whatevertogo Mar 18, 2026
09beabe
feat(tests): 添加测试用例以验证平台和消息类型过滤器的冲突处理
whatevertogo Mar 18, 2026
28e2c52
docs: remove redundant testing instructions from AGENTS.md
whatevertogo Mar 18, 2026
323e3f4
docs: remove redundant testing instructions from AGENTS.md
whatevertogo Mar 18, 2026
d5a3796
docs: remove redundant testing instructions from AGENTS.md
whatevertogo Mar 18, 2026
0f40eae
Merge commit '5ac9401852ddb46f337da6bcc0f9b66eed265da9' into feat/sdk…
whatevertogo Mar 18, 2026
619672e
Merge commit '5ac9401852ddb46f337da6bcc0f9b66eed265da9' into feat/sdk…
whatevertogo Mar 18, 2026
f48e204
Merge commit '5ac9401852ddb46f337da6bcc0f9b66eed265da9' into feat/sdk…
whatevertogo Mar 18, 2026
5ac9401
Squashed 'astrbot-sdk/' changes from 85342f14..09beabeb
whatevertogo Mar 18, 2026
349df2f
feat: enhance SDK plugin configuration handling and logging
whatevertogo Mar 18, 2026
5e54bbb
feat: enhance SDK plugin configuration handling and logging
whatevertogo Mar 18, 2026
e12029f
feat: enhance SDK plugin configuration handling and logging
whatevertogo Mar 18, 2026
ff4fa5c
Merge sdk-remote/dev into astrbot-sdk subtree
whatevertogo Mar 18, 2026
c6237f5
Merge sdk-remote/dev into astrbot-sdk subtree
whatevertogo Mar 18, 2026
9641c88
feat: 增强装饰器功能,添加会话命令支持及相关权限和限流装饰器
whatevertogo Mar 18, 2026
bb361cf
feat: 增强装饰器功能,添加会话命令支持及相关权限和限流装饰器
whatevertogo Mar 18, 2026
e74123b
feat: 增强装饰器功能,添加会话命令支持及相关权限和限流装饰器
whatevertogo Mar 18, 2026
a32fa07
feat: 更新文档以反映SDK负载的JSON可序列化要求和延迟导入设计约束
whatevertogo Mar 18, 2026
0f1200e
feat: add conversation.get_current capability and related schemas
whatevertogo Mar 18, 2026
ed1b966
feat: add conversation.get_current capability and related schemas
whatevertogo Mar 18, 2026
b93c2c2
feat: add conversation.get_current capability and related schemas
whatevertogo Mar 18, 2026
24908a6
Refactor tool call handling in SdkPluginBridge
whatevertogo Mar 18, 2026
3a2d715
Refactor tool call handling in SdkPluginBridge
whatevertogo Mar 18, 2026
36443f1
Refactor tool call handling in SdkPluginBridge
whatevertogo Mar 18, 2026
96bd997
Merge sdk-remote dev into feat/sdk-integration
whatevertogo Mar 18, 2026
3204c9d
Merge sdk-remote dev into feat/sdk-integration
whatevertogo Mar 18, 2026
e4c504f
feat: add session and system capabilities for plugin management and e…
whatevertogo Mar 18, 2026
0a2a359
feat: add session and system capabilities for plugin management and e…
whatevertogo Mar 18, 2026
0ac74a1
Squashed 'astrbot-sdk/' changes from 09beabeb..3204c9db
whatevertogo Mar 18, 2026
8ecef14
chore: pull sdk subtree from dev (resolve delete/modify conflict)
whatevertogo Mar 18, 2026
c272661
chore: pull sdk subtree from dev (resolve delete/modify conflict)
whatevertogo Mar 18, 2026
5ce80ca
Implement feature X to enhance user experience and optimize performance
whatevertogo Mar 18, 2026
027c15b
Implement feature X to enhance user experience and optimize performance
whatevertogo Mar 18, 2026
931e98a
Split 'astrbot-sdk/' into commit '027c15b4be10be82c3baf5581430786e0d7…
whatevertogo Mar 19, 2026
9b08c16
chore(sdk): stop tracking uv.lock
whatevertogo Mar 19, 2026
659eabc
feat(sdk): add merged provider config capability support
letr007 Mar 17, 2026
6e417c6
feat(sdk): add merged provider config bridge and client
letr007 Mar 17, 2026
b0f8b2d
feat(tests): 添加测试用例以验证 register_task 的行为并更新测试运行说明
whatevertogo Mar 18, 2026
f494207
feat(tests): 添加测试用例以验证平台和消息类型过滤器的冲突处理
whatevertogo Mar 18, 2026
cb593a5
docs: remove redundant testing instructions from AGENTS.md
whatevertogo Mar 18, 2026
48a2024
feat: enhance SDK plugin configuration handling and logging
whatevertogo Mar 18, 2026
9b35bec
feat: 增强装饰器功能,添加会话命令支持及相关权限和限流装饰器
whatevertogo Mar 18, 2026
4769844
feat: add conversation.get_current capability and related schemas
whatevertogo Mar 18, 2026
5a46321
Refactor tool call handling in SdkPluginBridge
whatevertogo Mar 18, 2026
e961e36
feat: add session and system capabilities for plugin management and e…
whatevertogo Mar 18, 2026
d238285
fix(runtime): avoid creating Star instance in on_error fallback
Li-shi-ling Mar 18, 2026
5ead59c
fix(runtime): avoid virtual dispatch in Star.on_error fallback
Li-shi-ling Mar 18, 2026
461f727
Merge branch 'dev' of https://github.com/united-pooh/astrbot-sdk into…
whatevertogo Mar 19, 2026
d078e51
feat: refactor injected parameter handling and introduce is_framework…
whatevertogo Mar 19, 2026
9e07963
chore: pull sdk subtree from dev
whatevertogo Mar 19, 2026
761f9fd
Squashed 'astrbot-sdk/' changes from 027c15b4..d078e510
whatevertogo Mar 19, 2026
58fcbf9
refactor: reorganize imports and enhance type hints in sdk_bridge mod…
whatevertogo Mar 19, 2026
eca8f89
refactor: update import paths to use Path for better compatibility
whatevertogo Mar 19, 2026
090724a
refactor(injection): centralize legacy injected parameter filtering
Li-shi-ling Mar 19, 2026
43e8a36
fix(testing): use public session waiter probe in PluginHarness
letr007 Mar 19, 2026
d86534a
docs: add TODO for documentation content in _command_model.py
whatevertogo Mar 19, 2026
208bc59
Merge pull request #30 from united-pooh/refactor/unify-legacy-injecte…
letr007 Mar 19, 2026
fc9afd7
feat: add memory management capabilities to CoreCapabilityBridge and …
whatevertogo Mar 19, 2026
aa2a7c8
feat: enhance memory search functionality and improve metadata retrie…
whatevertogo Mar 19, 2026
90a7e1b
feat: add memory management attributes and typed provider method to C…
whatevertogo Mar 19, 2026
b9c9d1d
Implement feature X to enhance user experience and optimize performance
whatevertogo Mar 19, 2026
7d92157
Refactor memory utility functions and enhance memory capability mixin
whatevertogo Mar 19, 2026
61d2c71
Squashed 'astrbot-sdk/' changes from d078e510..208bc591
whatevertogo Mar 19, 2026
d39eab3
Merge commit '61d2c7194ebe4da4471ea400c0d55a3611e39013' into feat/sdk…
whatevertogo Mar 19, 2026
ee67cab
Initial plan
Copilot Mar 19, 2026
e21acba
docs: fix path, Python version, and client API table in PROJECT_ARCHI…
Copilot Mar 19, 2026
5751701
Merge pull request #38 from united-pooh/copilot/sub-pr-37
whatevertogo Mar 19, 2026
ad5e8d1
Merge pull request #37 from united-pooh/sdk/whatevertogo
whatevertogo Mar 19, 2026
43fa0d7
Merge commit 'd414630165def20b5f497bd5246bd27f7183eb2e' into feat/sdk…
whatevertogo Mar 19, 2026
d414630
Squashed 'astrbot-sdk/' changes from 208bc591..ad5e8d13
whatevertogo Mar 19, 2026
7559edf
docs: fix TODO comment formatting in _command_model.py
whatevertogo Mar 19, 2026
b5084c4
Merge branch 'sdk/whatevertogo' of https://github.com/united-pooh/ast…
whatevertogo Mar 19, 2026
5003da5
Merge pull request #40 from united-pooh/sdk/whatevertogo
whatevertogo Mar 19, 2026
fbd2579
集成SDK命令候选项,优化Telegram和Discord平台适配器的命令收集逻辑
whatevertogo Mar 19, 2026
a84f72e
删除AI女友插件的单元测试文件
whatevertogo Mar 19, 2026
ef9bfb0
更新文档,添加Telegram和Discord原生命令菜单的注册说明
whatevertogo Mar 19, 2026
061b557
Squashed 'astrbot-sdk/' changes from ad5e8d13..5003da58
whatevertogo Mar 19, 2026
e93dde5
Merge commit '061b557b342f43a7ce8fcc529dbd6416d7dfb9b6' into feat/sdk…
whatevertogo Mar 19, 2026
2eef673
fix(testing): use public session waiter probe in PluginHarness
Li-shi-ling Mar 20, 2026
2ef26c0
fix(testing): route session waiter followups through dispatcher (#33)
letr007 Mar 20, 2026
d07ee0c
fix(cli): route protocol stdout at command entry (#41)
Li-shi-ling Mar 20, 2026
dc40b9b
Merge pull request #42 from united-pooh/dev
whatevertogo Mar 20, 2026
6cfa2d8
添加内存后端支持,优化插件内存管理逻辑
whatevertogo Mar 20, 2026
e3c4a6b
feat(memory): enhance memory schemas and add namespace support
whatevertogo Mar 20, 2026
37a1d34
Merge branch 'sdk/whatevertogo' of https://github.com/united-pooh/ast…
whatevertogo Mar 20, 2026
973f18b
fix: guard session_waiter blocking usage
catDforD Mar 20, 2026
cd5c811
fix(runtime): preserve request-scoped system event overlays
catDforD Mar 20, 2026
848e8e4
test(runtime): lock peer initialization and transport failure semantics
catDforD Mar 20, 2026
3a0be51
test(loader): cover plugin reload and import isolation regressions
catDforD Mar 20, 2026
e7b14ff
refactor(supervisor): clarify plugin registry sync phases
catDforD Mar 20, 2026
eca92a5
test(clients): cover provider lifecycle regressions
catDforD Mar 20, 2026
86dd300
feat(cli): improve astr init defaults
Mar 20, 2026
926f230
Merge pull request #45 from united-pooh/feat/cli-approve
united-pooh Mar 20, 2026
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
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.
34 changes: 34 additions & 0 deletions astrbot-sdk/.github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Code Quality Control

on:
push:
branches: [ "main", "dev" ]
pull_request:
branches: [ "main", "dev" ]

jobs:
lint-and-format:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Install tools
run: |
pip install pyclean ruff

- name: 1. Clean python bytecode
run: pyclean .

- name: 2. Ruff format
run: ruff format --check .

- name: 3. Ruff check
run: ruff check .
env:
PYTHONIOENCODING: utf-8
59 changes: 59 additions & 0 deletions astrbot-sdk/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# OS files
.DS_Store

# Python bytecode and caches
__pycache__/
*.py[cod]
*.pyd
*.so
.pytest_cache/
pytest-cache-files-*/
.mypy_cache/
.ruff_cache/
.coverage
.coverage.*
htmlcov/

# Build artifacts
build/
dist/
site/
wheels/
*.egg-info/
.eggs/
pip-wheel-metadata/

#
fork-docs/
tmp/
openspec/
scripts/
cs/
test_plugin/astrbot_plugin_interface_coverage
astrbot_sdk/
!src/astrbot_sdk/
!src/astrbot_sdk/**
src/astrbot_sdk/**/__pycache__/
src/astrbot_sdk/**/*.py[cod]
COMMAND_MATCH_REFACTOR_REPORT.md

# Virtual environments
.venv/
venv/
env/
ENV/
plugins/.venv/

# Tool caches
.uv-cache/
.astrbot/
.codex-local/

# IDE files
.idea/
.vscode/
*.iml
uv.lock
/astrBot/
plugins/
.serena/
1 change: 1 addition & 0 deletions astrbot-sdk/.python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.12
57 changes: 57 additions & 0 deletions astrbot-sdk/AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Notes

## v4 架构约束

### 运行时层

- `Peer` 必须将 transport EOF/连接断开视为一级失败路径。如果 transport 意外关闭而 `Peer` 没有主动失败 `_pending_results` / `_pending_streams`,supervisor 端对 worker 的调用可能永远挂起。
- `Peer.initialize()` 需要在发起端也标记远程已初始化。仅在被动接收 `InitializeMessage` 时设置 `_remote_initialized` 会导致 `wait_until_remote_initialized()` 单边 API 死锁。
- `Peer.invoke_stream()` 默认隐藏 `completed` 事件。需要保留最终结果的调用者必须显式启用 `include_completed=True`。
- `CapabilityRouter.register(..., stream_handler=...)` 使用 `(request_id, payload, cancel_token)` 签名,不是 peer 级别的 `(message, token)`。

### 模块导出约束

- 保持 `astrbot_sdk.runtime` 根导出狭窄。`Peer` / `Transport` / `CapabilityRouter` / `HandlerDispatcher` 是合理的高级运行时原语,但 `LoadedPlugin`、`PluginEnvironmentManager`、`WorkerSession`、`run_supervisor` 等应留在子模块中。

### 测试与 Mock 注意事项

- 当检查 peer 是否完成远程初始化时,避免对可能接收 `MagicMock` peer 的代码使用 `getattr(mock, "remote_peer")` 探测。`MagicMock` 会生成 truthy 子属性,`CapabilityProxy` 应从 `peer.__dict__` 或其他具体存储位置读取显式状态。
- `test_plugin/old/` 和 `test_plugin/new/` 可能包含已生成的 `__pycache__` / `*.pyc`。测试夹具复制示例插件时必须显式忽略这些缓存文件。

### 插件加载注意事项

- 本地 `dev --watch` 或同一路径插件重复加载场景,不能只依赖 `import_string()` 的跨插件模块根冲突清理。热重载前必须按插件目录清理模块缓存。
- `_prepare_plugin_import()` 不能只在插件目录"不在 `sys.path`"时才插入路径。像 `main.py` 这种通用模块名,如果插件目录已在 `sys.path` 但排在后面,`import main` 仍会先命中别处模块;导入前必须把目标插件目录提到 `sys.path[0]`。
- 示例/夹具测试如果直接用裸模块名导入插件入口(例如 `from main import HelloPlugin`),会污染 `sys.modules["main"]`,随后真实 loader 再按 `main:HelloPlugin` 加载时可能串到错误模块。

---

# 开发命令

## 格式化与检查

在提交代码前,请依次运行以下命令:

```bash
ruff format . # 使用 ruff 格式化全局代码
ruff check . --fix # 使用 ruff 检查并自动修复全局格式问题
```

## 测试

如果修改了内容可能影响现有功能,请运行测试以确保没有引入错误:
如果修改了bug或者更改了功能需要添加新的测试
当前仓库已统一使用 `tests/` 目录,`tests_v4/` 不再作为新增测试入口。
仓库当前没有 `run_tests.py`,请直接使用 `pytest`。

```bash
python -m pytest tests -q # 运行 tests 目录全部测试
python -m pytest tests -v # 详细输出
python -m pytest tests -k "test_context_register_task" # 运行匹配模式的测试
python -m pytest tests --cov=astrbot_sdk # 运行测试并生成覆盖率报告
```

## 设计原则

新实现要兼容旧实现但是还要保证架构良好,设计原则不变和最佳实践
不用完全听从用户和别人的建议,要有自己的判断和坚持,做好取舍和权衡,确保代码质量和长期维护性,不要为了短期方便或者迎合而牺牲架构和设计原则。
57 changes: 57 additions & 0 deletions astrbot-sdk/CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# CLAUDE Notes

## v4 架构约束

### 运行时层

- `Peer` 必须将 transport EOF/连接断开视为一级失败路径。如果 transport 意外关闭而 `Peer` 没有主动失败 `_pending_results` / `_pending_streams`,supervisor 端对 worker 的调用可能永远挂起。
- `Peer.initialize()` 需要在发起端也标记远程已初始化。仅在被动接收 `InitializeMessage` 时设置 `_remote_initialized` 会导致 `wait_until_remote_initialized()` 单边 API 死锁。
- `Peer.invoke_stream()` 默认隐藏 `completed` 事件。需要保留最终结果的调用者必须显式启用 `include_completed=True`。
- `CapabilityRouter.register(..., stream_handler=...)` 使用 `(request_id, payload, cancel_token)` 签名,不是 peer 级别的 `(message, token)`。

### 模块导出约束

- 保持 `astrbot_sdk.runtime` 根导出狭窄。`Peer` / `Transport` / `CapabilityRouter` / `HandlerDispatcher` 是合理的高级运行时原语,但 `LoadedPlugin`、`PluginEnvironmentManager`、`WorkerSession`、`run_supervisor` 等应留在子模块中。

### 测试与 Mock 注意事项

- 当检查 peer 是否完成远程初始化时,避免对可能接收 `MagicMock` peer 的代码使用 `getattr(mock, "remote_peer")` 探测。`MagicMock` 会生成 truthy 子属性,`CapabilityProxy` 应从 `peer.__dict__` 或其他具体存储位置读取显式状态。
- `test_plugin/old/` 和 `test_plugin/new/` 可能包含已生成的 `__pycache__` / `*.pyc`。测试夹具复制示例插件时必须显式忽略这些缓存文件。

### 插件加载注意事项

- 本地 `dev --watch` 或同一路径插件重复加载场景,不能只依赖 `import_string()` 的跨插件模块根冲突清理。热重载前必须按插件目录清理模块缓存。
- `_prepare_plugin_import()` 不能只在插件目录"不在 `sys.path`"时才插入路径。像 `main.py` 这种通用模块名,如果插件目录已在 `sys.path` 但排在后面,`import main` 仍会先命中别处模块;导入前必须把目标插件目录提到 `sys.path[0]`。
- 示例/夹具测试如果直接用裸模块名导入插件入口(例如 `from main import HelloPlugin`),会污染 `sys.modules["main"]`,随后真实 loader 再按 `main:HelloPlugin` 加载时可能串到错误模块。

---

# 开发命令

## 格式化与检查

在提交代码前,请依次运行以下命令:

```bash
ruff format . # 使用 ruff 格式化全局代码
ruff check . --fix # 使用 ruff 检查并自动修复全局格式问题
```

## 测试

如果修改了内容可能影响现有功能,请运行测试以确保没有引入错误:
如果修改了bug或者更改了功能需要添加新的测试
当前仓库已统一使用 `tests/` 目录,`tests_v4/` 不再作为新增测试入口。
仓库当前没有 `run_tests.py`,请直接使用 `pytest`。

```bash
python -m pytest tests -q # 运行 tests 目录全部测试
python -m pytest tests -v # 详细输出
python -m pytest tests -k "test_context_register_task" # 运行匹配模式的测试
python -m pytest tests --cov=astrbot_sdk # 运行测试并生成覆盖率报告
```

## 设计原则

新实现要兼容旧实现但是还要保证架构良好,设计原则不变和最佳实践
不用完全听从用户和别人的建议,要有自己的判断和坚持,做好取舍和权衡,确保代码质量和长期维护性,不要为了短期方便或者迎合而牺牲架构和设计原则。
44 changes: 44 additions & 0 deletions astrbot-sdk/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# AstrBot SDK

AstrBot 插件开发 SDK,提供 v4 runtime、worker protocol 和插件工具链。

## 安装

```bash
pip install astrbot-sdk
```

## 开发安装

```bash
# 克隆仓库后
pip install -e .

# 或使用 uv
uv sync
```

## 初始化插件

```bash
astr init demo-plugin
astr init demo-plugin --agents claude,codex,opencode
```

`astr init <name>` 会继续按原样生成插件骨架。传入 `--agents` 时,会在新插件目录下额外生成对应的项目级 agent 目录:

- Claude Code: `.claude/skills/astrbot-plugin-dev/`
- Codex: `.agents/skills/astrbot-plugin-dev/`
- OpenCode: `.opencode/skills/astrbot-plugin-dev/`

`--agents` 仅支持 `claude`、`codex`、`opencode`,使用逗号分隔;重复值会去重,非法值会直接报错。

## 目录结构

```
astrbot-sdk/
├── src/
│ └── astrbot_sdk/ # SDK 主包
├── pyproject.toml
└── README.md
```
Loading
Loading