mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-10-04 00:03:59 +00:00
feat: converge dynamic plugins onto canonical homeagent-sdk
- Separate built-in plugin interface from external plugin interface - Route dynamic plugin loading through homeagent-sdk/sdk using reflection - Turn internal/sdk into an enhanced wrapper over canonical SDK types - Vendor SDK repo snapshot under third_party/homeagent-sdk for stable builds - Keep internal constructors/adapters for memory, knowledge, llm, settings - Align dynamic QQ loading with canonical SDK chain
This commit is contained in:
@ -1,38 +1,33 @@
|
||||
package sdk
|
||||
|
||||
import "gitcode.com/JianFeeeee/HomeAgent/internal/knowledge"
|
||||
import (
|
||||
sdkext "gitcode.com/JianFeeeee/homeagent-sdk/sdk"
|
||||
"gitcode.com/JianFeeeee/HomeAgent/internal/knowledge"
|
||||
)
|
||||
|
||||
type KnowledgeAPI interface {
|
||||
Search(query string, topK int) ([]*knowledge.Knowledge, error)
|
||||
Add(name, content string) error
|
||||
List() ([]string, error)
|
||||
}
|
||||
type KnowledgeAPI = sdkext.KnowledgeAPI
|
||||
type Knowledge = sdkext.Knowledge
|
||||
|
||||
type knowledgeImpl struct {
|
||||
ks *knowledge.Store
|
||||
}
|
||||
type knowledgeImpl struct{ ks *knowledge.Store }
|
||||
|
||||
func NewKnowledge(ks *knowledge.Store) KnowledgeAPI {
|
||||
return &knowledgeImpl{ks: ks}
|
||||
}
|
||||
func NewKnowledge(ks *knowledge.Store) KnowledgeAPI { return &knowledgeImpl{ks: ks} }
|
||||
|
||||
func (k *knowledgeImpl) Search(query string, topK int) ([]*knowledge.Knowledge, error) {
|
||||
if k.ks == nil {
|
||||
return nil, nil
|
||||
func (k *knowledgeImpl) Search(query string, topK int) ([]*Knowledge, error) {
|
||||
if k.ks == nil { return nil, nil }
|
||||
got := k.ks.Search(query, topK)
|
||||
out := make([]*Knowledge, len(got))
|
||||
for i, item := range got {
|
||||
out[i] = &Knowledge{Name: item.Name, Content: item.Content}
|
||||
}
|
||||
return k.ks.Search(query, topK), nil
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (k *knowledgeImpl) Add(name, content string) error {
|
||||
if k.ks == nil {
|
||||
return nil
|
||||
}
|
||||
if k.ks == nil { return nil }
|
||||
return k.ks.Add(name, content)
|
||||
}
|
||||
|
||||
func (k *knowledgeImpl) List() ([]string, error) {
|
||||
if k.ks == nil {
|
||||
return nil, nil
|
||||
}
|
||||
if k.ks == nil { return nil, nil }
|
||||
return k.ks.List(), nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user