diff --git a/agent.go b/agent.go index b0fda67..d898114 100644 --- a/agent.go +++ b/agent.go @@ -46,6 +46,7 @@ type Agent struct { perm *Perm imgpcache *ttl.Cache[uint64, string] mem MemoryStorage + manualaddreq bool manualaddmem bool hasimageapi bool } @@ -59,13 +60,13 @@ type Agent struct { func NewAgent( id int64, batchcap, itemscap int, imgpcachettl time.Duration, nickname, sex, characteristics, defaultprompt string, mem MemoryStorage, - manualaddmem bool, + manualaddreq, manualaddmem bool, ) (ag Agent) { ag = Agent{ id: id, nickname: nickname, sex: sex, chars: characteristics, imgpcache: ttl.NewCache[uint64, string](imgpcachettl), log: chat.NewLog[fmt.Stringer](batchcap, itemscap, "\n", defaultprompt), - mem: mem, manualaddmem: manualaddmem, + mem: mem, manualaddreq: manualaddreq, manualaddmem: manualaddmem, } _ = ag.LoadPermTable() return @@ -255,7 +256,9 @@ func (ag *Agent) GetAction(api deepinfra.API, p model.Protocol, grp int64, role err = errors.Wrap(ErrPermissionDenied, r.Action) return default: - ag.AddRequest(grp, &r) + if !ag.manualaddreq { + ag.AddRequest(grp, &r) + } if !ag.manualaddmem && r.Action == SVM { txt, err := extractMemory(&r) if err != nil { diff --git a/prompt_test.go b/prompt_test.go index f7d7d3b..2d68012 100644 --- a/prompt_test.go +++ b/prompt_test.go @@ -463,7 +463,7 @@ func (fakemem) Load(grp int64) []string { func TestAgent_system(t *testing.T) { ag := NewAgent( 12345, 10, 10, time.Minute, "testname", "testsex", "testchar", - "testd", &fakemem{}, false, + "testd", &fakemem{}, false, false, ) p, err := ag.system(PermRoleAdmin, 123) if err != nil {