From f7c0f4df9837b7149d625426693b5527bf7d29dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Fri, 26 Sep 2025 00:37:44 +0800 Subject: [PATCH] feat(aichat): add terminus --- go.mod | 2 +- go.sum | 4 ++-- plugin/aichat/main.go | 7 +++++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d6e1fb10..ad887654 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/fumiama/cron v1.3.0 github.com/fumiama/deepinfra v0.0.0-20250924162107-cf156d49a0fa github.com/fumiama/go-base16384 v1.7.0 - github.com/fumiama/go-onebot-agent v0.0.0-20250925150209-46ace7c2b17a + github.com/fumiama/go-onebot-agent v0.0.0-20250925163239-0ede409f6187 github.com/fumiama/go-registry v0.2.7 github.com/fumiama/gotracemoe v0.0.3 github.com/fumiama/jieba v0.0.0-20221203025406-36c17a10b565 diff --git a/go.sum b/go.sum index bcb5e1fe..20871f2e 100644 --- a/go.sum +++ b/go.sum @@ -63,8 +63,8 @@ github.com/fumiama/deepinfra v0.0.0-20250924162107-cf156d49a0fa h1:UMMNejpPp8dn9 github.com/fumiama/deepinfra v0.0.0-20250924162107-cf156d49a0fa/go.mod h1:uqsWK/GM9OvKV0pXZOQB63rWugBbiXInY8E1JoRKhkg= github.com/fumiama/go-base16384 v1.7.0 h1:6fep7XPQWxRlh4Hu+KsdH+6+YdUp+w6CwRXtMWSsXCA= github.com/fumiama/go-base16384 v1.7.0/go.mod h1:OEn+947GV5gsbTAnyuUW/SrfxJYUdYupSIQXOuGOcXM= -github.com/fumiama/go-onebot-agent v0.0.0-20250925150209-46ace7c2b17a h1:PapkA1fkFCzBbcmFaxRQvRAHbRig3NIgstzG7OFcXjQ= -github.com/fumiama/go-onebot-agent v0.0.0-20250925150209-46ace7c2b17a/go.mod h1:FIhZxVeFAs201W06EgXxx/6b/l/ETSmu2sQOj10kjdk= +github.com/fumiama/go-onebot-agent v0.0.0-20250925163239-0ede409f6187 h1:kO+Ye7JdQLiUXpDqcBFOMeg5wmPovemTS/khlN+n+tU= +github.com/fumiama/go-onebot-agent v0.0.0-20250925163239-0ede409f6187/go.mod h1:FIhZxVeFAs201W06EgXxx/6b/l/ETSmu2sQOj10kjdk= github.com/fumiama/go-registry v0.2.7 h1:tLEqgEpsiybQMqBv0dLHm5leia/z1DhajMupwnOHeNs= github.com/fumiama/go-registry v0.2.7/go.mod h1:m+wp5fF8dYgVoFkBPZl+vlK90loymaJE0JCtocVQLEs= github.com/fumiama/go-simple-protobuf v0.2.0 h1:ACyN1MAlu7pDR3EszWgzUeNP+IRsSHwH6V9JCJA5R5o= diff --git a/plugin/aichat/main.go b/plugin/aichat/main.go index 98ac2f39..d7eead7d 100644 --- a/plugin/aichat/main.go +++ b/plugin/aichat/main.go @@ -122,11 +122,18 @@ func init() { ag.SetViewImageAPI(deepinfra.NewAPI(cfg.ImageAPI, string(cfg.ImageKey)), mod) } ctx.NoTimeout() + hasresp := false + defer func() { + if hasresp { + ag.AddTerminus(gid) + } + }() for i := 0; i < 8; i++ { // 最大运行 8 轮因为问答上下文只有 16 reqs := chat.CallAgent(ag, zero.SuperUserPermission(ctx), x, mod, gid, role) if len(reqs) == 0 { return } + hasresp = true for _, req := range reqs { resp := ctx.CallAction(req.Action, req.Params) logrus.Infoln("[aichat] agent get resp:", reqs)