mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-23 02:18:06 +00:00
- 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
34 lines
879 B
Go
34 lines
879 B
Go
package sdk
|
|
|
|
import (
|
|
sdkext "gitcode.com/JianFeeeee/homeagent-sdk/sdk"
|
|
"gitcode.com/JianFeeeee/HomeAgent/internal/knowledge"
|
|
)
|
|
|
|
type KnowledgeAPI = sdkext.KnowledgeAPI
|
|
type Knowledge = sdkext.Knowledge
|
|
|
|
type knowledgeImpl struct{ ks *knowledge.Store }
|
|
|
|
func NewKnowledge(ks *knowledge.Store) KnowledgeAPI { return &knowledgeImpl{ks: ks} }
|
|
|
|
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 out, nil
|
|
}
|
|
|
|
func (k *knowledgeImpl) Add(name, content string) error {
|
|
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 }
|
|
return k.ks.List(), nil
|
|
}
|