673ff752c5
- 新增 backend/pkg/plugins/ 共享模块:SDK 接口、PluginManager、ToolRegistry(含环形缓冲区调用日志) - 13 个通用插件从 plugin-manager 迁移至共享模块(import 路径统一) - ai-core 切换至共享 ToolRegistry,进程内执行(零网络开销),包装 6 个专属工具 - plugin-manager 迁移至共享模块,保留管理 REST API - 新增 DevTools 插件管理面板(侧边栏 → 🔌 插件管理) - 移除 tool-engine 服务(从 go.work、DevTools 配置、编译系统) - 工具调用记录 API 从 Tool-Engine 迁至 AI-Core(/api/v1/tools/calls) - ai-core ContextStore 启动时从 PostgreSQL 恢复会话历史 - 清理所有过时引用和备份文件 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
36 lines
1.1 KiB
Go
36 lines
1.1 KiB
Go
package sdk
|
|
|
|
// PluginPermissions defines what a plugin is allowed to do.
|
|
type PluginPermissions struct {
|
|
NetworkAllowed bool `json:"networkAllowed"`
|
|
AllowedHosts []string `json:"allowedHosts,omitempty"`
|
|
IoTRead bool `json:"iotRead"`
|
|
IoTWrite bool `json:"iotWrite"`
|
|
MemoryRead bool `json:"memoryRead"`
|
|
MemoryWrite bool `json:"memoryWrite"`
|
|
FileRead bool `json:"fileRead"`
|
|
FileWrite bool `json:"fileWrite"`
|
|
AllowedPaths []string `json:"allowedPaths,omitempty"`
|
|
ExecAllowed bool `json:"execAllowed"`
|
|
MaxCPUPercent float64 `json:"maxCPUPercent"`
|
|
MaxMemoryMB int `json:"maxMemoryMB"`
|
|
}
|
|
|
|
// DefaultPermissions returns a safe default permission set.
|
|
func DefaultPermissions() PluginPermissions {
|
|
return PluginPermissions{
|
|
NetworkAllowed: false,
|
|
AllowedHosts: []string{},
|
|
IoTRead: false,
|
|
IoTWrite: false,
|
|
MemoryRead: false,
|
|
MemoryWrite: false,
|
|
FileRead: false,
|
|
FileWrite: false,
|
|
AllowedPaths: []string{},
|
|
ExecAllowed: false,
|
|
MaxCPUPercent: 10.0,
|
|
MaxMemoryMB: 128,
|
|
}
|
|
}
|