mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-10-04 00:03:59 +00:00
refactor: migrate built-in plugins to SDK-only interface
- Six-phase plan complete: webui/cli/healthcheck/pluginmgr/clawhubadapter now interact with the kernel exclusively via internal/sdk interfaces; all Configure() calls and package-level global injection removed - buildSDK in internal/plugin/registry.go is the single assembly point - Add internal/sdk/events.go exporting event types/constants - Fix ProviderManager cooldown sharing: LuaAdaptedProvider.Name() now returns the source name instead of lua_<adapter>, so multiple sources sharing an adapter (single script load via shared VM AdapterCache) no longer share failure-cooldown state - Verified: build/vet/tests green, deployed to homeagent.service with full plugin capability testing via local OpenAI-compatible mock
This commit is contained in:
@ -8,18 +8,12 @@ import (
|
||||
"sort"
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
sdk "gitcode.com/JianFeeeee/HomeAgent/internal/sdk"
|
||||
)
|
||||
|
||||
type Skill struct {
|
||||
Name string `json:"name"`
|
||||
Description string `json:"description"`
|
||||
Version string `json:"version"`
|
||||
Author string `json:"author,omitempty"`
|
||||
Entry string `json:"entry,omitempty"`
|
||||
Source string `json:"source,omitempty"`
|
||||
Enabled bool `json:"enabled"`
|
||||
RawContent string `json:"-"`
|
||||
}
|
||||
// Skill 已迁入内置 SDK,此处保留别名以兼容现有调用方。
|
||||
type Skill = sdk.Skill
|
||||
|
||||
type Manager struct {
|
||||
mu sync.RWMutex
|
||||
@ -195,6 +189,9 @@ func (m *Manager) GetInjectedPrompt() string {
|
||||
return strings.Join(parts, "\n\n")
|
||||
}
|
||||
|
||||
// Manager 直接满足内置 SDK 的 SkillAPI(复用优先,无需独立适配器)。
|
||||
var _ sdk.SkillAPI = (*Manager)(nil)
|
||||
|
||||
func extractDescription(content string) string {
|
||||
lines := strings.Split(content, "\n")
|
||||
for _, line := range lines {
|
||||
|
||||
Reference in New Issue
Block a user