mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-22 18:08:04 +00:00
- SDK: ToolDef.NoMemory field, PluginSDK.RegisterTextCleaner/TextCleaners - Registry: aggregate text cleaners from plugins, expose CleanText() - Memory: replace hardcoded QQ regex CleanTemplateText with dynamic CleanText/SetTextCleaner - StageHost: add ToolDef(name) lookup - eventloop: check ToolDef.NoMemory before emitMemoryCandidate - context/Prune: replace hardcoded agentcli/terminal source filter with ToolsUsed NoMemory check - agentcli/cmd: mark tools with NoMemory: true - main.go: wire memory.SetTextCleaner(pluginReg.CleanText)
35 lines
622 B
Go
35 lines
622 B
Go
package memory
|
||
|
||
import (
|
||
"strings"
|
||
|
||
"gitcode.com/JianFeeeee/HomeAgent/internal/memory/vector"
|
||
)
|
||
|
||
var globalTextCleaner func(string) string
|
||
|
||
func SetTextCleaner(fn func(string) string) {
|
||
globalTextCleaner = fn
|
||
}
|
||
|
||
func CleanText(text string) string {
|
||
if globalTextCleaner != nil {
|
||
text = globalTextCleaner(text)
|
||
}
|
||
|
||
text = strings.TrimSpace(text)
|
||
|
||
if text == "" {
|
||
return ""
|
||
}
|
||
|
||
text = strings.TrimPrefix(text, ",")
|
||
text = strings.TrimPrefix(text, ",")
|
||
text = strings.TrimSpace(text)
|
||
return text
|
||
}
|
||
|
||
func (e *StaticEmbedder) VectorizeClean(text string) vector.Vector {
|
||
return e.Vectorize(CleanText(text))
|
||
}
|