feat(v0.3.4): 插件命令 HTTP API 自动暴露
PluginNetworkBridge.register_command_routes():
- 自动扫描插件 @plugin_command/cmd_* 方法
- 每个命令 → POST /api/plugin/{cmd_name}
- JSON body: {"args": [...], "kwargs": {...}}
- 返回: {"ok": true, "result": "..."}
PluginService.load_plugin() 在插件初始化后自动调用
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -314,9 +314,15 @@ class PluginService:
|
||||
else:
|
||||
plugin_instance.initialize()
|
||||
|
||||
# 扫描并注册插件命令
|
||||
# 扫描并注册 TUI 命令
|
||||
plugin_commands = await self._scan_and_register_commands(plugin_name, plugin_instance, plugin_config)
|
||||
|
||||
|
||||
# 自动暴露插件命令为 REST 端点
|
||||
if hasattr(plugin_instance, 'network_bridge') and plugin_instance.network_bridge:
|
||||
await plugin_instance.network_bridge.register_command_routes(
|
||||
plugin_instance, require_auth=True
|
||||
)
|
||||
|
||||
# 注册插件
|
||||
self.plugins[plugin_name] = plugin_instance
|
||||
|
||||
|
||||
Reference in New Issue
Block a user