Skip to content

Commit b432731

Browse files
authored
feat(aichat): agent reduce log evs (#1260)
1 parent d14e1be commit b432731

File tree

11 files changed

+76
-67
lines changed

11 files changed

+76
-67
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ require (
1212
github.com/FloatTech/sqlite v1.7.2
1313
github.com/FloatTech/ttl v0.0.0-20250224045156-012b1463287d
1414
github.com/FloatTech/zbpctrl v1.7.1
15-
github.com/FloatTech/zbputils v1.7.2-0.20260108160028-ff0902a05ebd
15+
github.com/FloatTech/zbputils v1.7.2-0.20260109060005-2922571e6c7e
1616
github.com/RomiChan/syncx v0.0.0-20240418144900-b7402ffdebc7
1717
github.com/RomiChan/websocket v1.4.3-0.20251002072000-d3eb41798438
1818
github.com/Tnze/go-mc v1.20.2
@@ -27,7 +27,6 @@ require (
2727
github.com/fumiama/go-onebot-agent v0.0.0-20260106161505-f7d25272034c
2828
github.com/fumiama/go-registry v0.2.7
2929
github.com/fumiama/gotracemoe v0.0.3
30-
github.com/fumiama/imgsz v0.0.4
3130
github.com/fumiama/jieba v0.0.0-20221203025406-36c17a10b565
3231
github.com/fumiama/slowdo v0.0.0-20241001074058-27c4fe5259a4
3332
github.com/fumiama/terasu v1.0.2
@@ -66,6 +65,7 @@ require (
6665
github.com/ericpauley/go-quantize v0.0.0-20200331213906-ae555eb2afa4 // indirect
6766
github.com/fumiama/go-simple-protobuf v0.2.0 // indirect
6867
github.com/fumiama/gofastTEA v0.1.3 // indirect
68+
github.com/fumiama/imgsz v0.0.4 // indirect
6969
github.com/fumiama/orbyte v0.0.0-20251002065953-3bb358367eb5 // indirect
7070
github.com/gabriel-vasile/mimetype v1.4.12 // indirect
7171
github.com/go-ole/go-ole v1.2.6 // indirect

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ github.com/FloatTech/ttl v0.0.0-20250224045156-012b1463287d h1:mUQ/c3wXKsUGa4Sg9
1616
github.com/FloatTech/ttl v0.0.0-20250224045156-012b1463287d/go.mod h1:fHZFWGquNXuHttu9dUYoKuNbm3dzLETnIOnm1muSfDs=
1717
github.com/FloatTech/zbpctrl v1.7.1 h1:0yPEmCForhyMbnhTckmjDUFFDZgQp1RjO2bVF4ZVqOs=
1818
github.com/FloatTech/zbpctrl v1.7.1/go.mod h1:xmM4dSwHA02Gei3ogCRiG+RTrw/7Z69PfrN5NYf8BPE=
19-
github.com/FloatTech/zbputils v1.7.2-0.20260108160028-ff0902a05ebd h1:6wjYpYyG294ja2dFnDbnbDlQdz8azGAxQibeOJNpORc=
20-
github.com/FloatTech/zbputils v1.7.2-0.20260108160028-ff0902a05ebd/go.mod h1:yLJvsQJssgQIB4+/uVRNseN4sgFqyfGQLcrKUuXL454=
19+
github.com/FloatTech/zbputils v1.7.2-0.20260109060005-2922571e6c7e h1:nyoWiWc3kWtbQWgx5BAgOGCNAACC6H5wm+7rhEupj98=
20+
github.com/FloatTech/zbputils v1.7.2-0.20260109060005-2922571e6c7e/go.mod h1:yLJvsQJssgQIB4+/uVRNseN4sgFqyfGQLcrKUuXL454=
2121
github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc=
2222
github.com/PuerkitoBio/goquery v1.8.0 h1:PJTF7AmFCFKk1N6V6jmKfrNH9tV5pNE6lZMkG0gta/U=
2323
github.com/PuerkitoBio/goquery v1.8.0/go.mod h1:ypIiRMtY7COPGk+I/YbZLbxsxn9g5ejnI2HSMtkjZvI=

plugin/aichat/main.go

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
package aichat
33

44
import (
5+
"encoding/json"
56
"math/rand"
67
"strings"
78

@@ -123,6 +124,7 @@ func init() {
123124
break
124125
}
125126
hasresp = true
127+
ctx.State[zero.StateKeyPrefixKeep+"_chat_ag_triggered__"] = struct{}{}
126128
for _, req := range reqs {
127129
if req.Action == goba.SVM { // is a fake action
128130
if hassavemem {
@@ -141,7 +143,17 @@ func init() {
141143
}
142144
ispuremsg = true
143145
}
144-
_ = ctx.CallAction(req.Action, req.Params)
146+
logrus.Debugln("[chat] agent triggered", gid, "add requ:", &req)
147+
ag.AddRequest(gid, &req)
148+
rsp := ctx.CallAction(req.Action, req.Params)
149+
logrus.Debugln("[chat] agent triggered", gid, "add resp:", &rsp)
150+
ag.AddResponse(gid, &goba.APIResponse{
151+
Status: rsp.Status,
152+
Data: json.RawMessage(rsp.Data.Raw),
153+
Message: rsp.Message,
154+
Wording: rsp.Wording,
155+
RetCode: rsp.RetCode,
156+
})
145157
}
146158
}
147159
if hasresp {
@@ -177,7 +189,7 @@ func init() {
177189
if t == "" {
178190
continue
179191
}
180-
logrus.Infoln("[aichat] 回复内容:", t)
192+
logrus.Debugln("[aichat] 回复内容:", t)
181193
recCfg := airecord.GetConfig()
182194
record := ""
183195
if !fastfailnorecord && !stor.NoRecord() {

plugin/crypter/handlers.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package crypter
33

44
import (
55
"github.com/FloatTech/AnimeAPI/airecord"
6-
"github.com/sirupsen/logrus"
76
zero "github.com/wdvxdr1123/ZeroBot"
87
"github.com/wdvxdr1123/ZeroBot/message"
98
)
@@ -12,7 +11,6 @@ import (
1211
func houEncryptHandler(ctx *zero.Ctx) {
1312
text := ctx.State["regex_matched"].([]string)[1]
1413
result := encodeHou(text)
15-
logrus.Infoln("[crypter] 回复内容:", result)
1614
recCfg := airecord.GetConfig()
1715
record := ctx.GetAIRecord(recCfg.ModelID, recCfg.Customgid, result)
1816
if record != "" {

plugin/drawlots/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ var (
3636
lotsList = func() map[string]info {
3737
lotsList, err := getList()
3838
if err != nil {
39-
logrus.Infoln("[drawlots]加载失败:", err)
39+
logrus.Infoln("[drawlots]加载失败:", err, "(如果从未使用过该插件, 这是正常现象)")
4040
} else {
4141
logrus.Infoln("[drawlots]加载", len(lotsList), "个抽签")
4242
}

plugin/guessmusic/guessmusic.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ import (
1111
"sync"
1212
"time"
1313

14-
log "github.com/sirupsen/logrus"
15-
1614
"github.com/FloatTech/floatbox/file"
1715
"github.com/FloatTech/zbputils/ctxext"
1816
"github.com/pkg/errors"
@@ -30,7 +28,7 @@ func init() {
3028
var err1 error
3129
t2s, err1 = gocc.New("t2s")
3230
if err1 != nil {
33-
log.Infof("[guessmusic]:%s", err1)
31+
panic(err1)
3432
}
3533

3634
engine.OnRegex(`^(个人|团队)猜歌(-(.*))?$`, zero.OnlyGroup).SetBlock(true).Limit(ctxext.LimitByGroup).

plugin/minecraftobserver/store_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ package minecraftobserver
33
import (
44
"errors"
55
"fmt"
6-
"github.com/jinzhu/gorm"
76
"testing"
7+
8+
"github.com/jinzhu/gorm"
89
)
910

1011
func cleanTestData(t *testing.T) {

plugin/rsshub/domain/job.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func (repo *RssDomain) syncRss(ctx context.Context) (updated map[int64]*RssClien
2828
feed, err = repo.rssHubClient.FetchFeed(channel.RssHubFeedPath)
2929
// 如果获取失败,则跳过
3030
if err != nil {
31-
logrus.WithContext(ctx).Errorf("[rsshub syncRss] fetch path(%+v) error: %v", channel.RssHubFeedPath, err)
31+
logrus.WithContext(ctx).Warnf("[rsshub syncRss] fetch path(%+v) error: %v", channel.RssHubFeedPath, err)
3232
continue
3333
}
3434
rv := convertFeedToRssView(0, channel.RssHubFeedPath, feed)
@@ -42,27 +42,27 @@ func (repo *RssDomain) syncRss(ctx context.Context) (updated map[int64]*RssClien
4242
var needUpdate bool
4343
needUpdate, err = repo.checkSourceNeedUpdate(ctx, cv.Source)
4444
if err != nil {
45-
logrus.WithContext(ctx).Errorf("[rsshub syncRss] checkSourceNeedUpdate error: %v", err)
45+
logrus.WithContext(ctx).Warnf("[rsshub syncRss] checkSourceNeedUpdate error: %v", err)
4646
err = nil
4747
continue
4848
}
4949
// 保存
50-
logrus.WithContext(ctx).Infof("[rsshub syncRss] cv %+v, need update(real): %v", cv.Source, needUpdate)
50+
logrus.WithContext(ctx).Debugf("[rsshub syncRss] cv %+v, need update(real): %v", cv.Source, needUpdate)
5151
// 如果需要更新,更新channel 和 content
5252
if needUpdate {
5353
err = repo.storage.UpsertSource(ctx, cv.Source)
5454
if err != nil {
55-
logrus.WithContext(ctx).Errorf("[rsshub syncRss] upsert source error: %v", err)
55+
logrus.WithContext(ctx).Warnf("[rsshub syncRss] upsert source error: %v", err)
5656
}
5757
}
5858
var updateChannelView = &RssClientView{Source: cv.Source, Contents: []*RssContent{}}
5959
err = repo.processContentsUpdate(ctx, cv, updateChannelView)
6060
if err != nil {
61-
logrus.WithContext(ctx).Errorf("[rsshub syncRss] processContentsUpdate error: %v", err)
61+
logrus.WithContext(ctx).Warnf("[rsshub syncRss] processContentsUpdate error: %v", err)
6262
continue
6363
}
6464
if len(updateChannelView.Contents) == 0 {
65-
logrus.WithContext(ctx).Infof("[rsshub syncRss] cv %s, no new content", cv.Source.RssHubFeedPath)
65+
logrus.WithContext(ctx).Debugf("[rsshub syncRss] cv %s, no new content", cv.Source.RssHubFeedPath)
6666
continue
6767
}
6868
updateChannelView.Sort()
@@ -80,7 +80,7 @@ func (repo *RssDomain) checkSourceNeedUpdate(ctx context.Context, source *RssSou
8080
return
8181
}
8282
if sourceInDB == nil {
83-
logrus.WithContext(ctx).Errorf("[rsshub syncRss] source not found: %v", source.RssHubFeedPath)
83+
logrus.WithContext(ctx).Warnf("[rsshub syncRss] source not found: %v", source.RssHubFeedPath)
8484
return
8585
}
8686
source.ID = sourceInDB.ID
@@ -102,13 +102,13 @@ func (repo *RssDomain) processContentsUpdate(ctx context.Context, cv *RssClientV
102102
var existed bool
103103
existed, err = repo.processContentItemUpdate(ctx, content)
104104
if err != nil {
105-
logrus.WithContext(ctx).Errorf("[rsshub syncRss] upsert content error: %v", err)
105+
logrus.WithContext(ctx).Warnf("[rsshub syncRss] upsert content error: %v", err)
106106
err = nil
107107
continue
108108
}
109109
if !existed {
110110
updateChannelView.Contents = append(updateChannelView.Contents, content)
111-
logrus.WithContext(ctx).Infof("[rsshub syncRss] cv %s, add new content: %v", cv.Source.RssHubFeedPath, content.Title)
111+
logrus.WithContext(ctx).Debugf("[rsshub syncRss] cv %s, add new content: %v", cv.Source.RssHubFeedPath, content.Title)
112112
}
113113
}
114114
return err
@@ -127,7 +127,7 @@ func (repo *RssDomain) processContentItemUpdate(ctx context.Context, content *Rs
127127
// 保存
128128
err = repo.storage.UpsertContent(ctx, content)
129129
if err != nil {
130-
logrus.WithContext(ctx).Errorf("[rsshub syncRss] upsert content error: %v", err)
130+
logrus.WithContext(ctx).Warnf("[rsshub syncRss] upsert content error: %v", err)
131131
return
132132
}
133133
return

plugin/rsshub/domain/rawFeed.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ func (c *RssHubClient) FetchFeed(path string) (feed *gofeed.Feed, err error) {
3636
}
3737
}
3838
if err != nil {
39-
logrus.Errorf("[rsshub FetchFeed] fetch feed error: %v", err)
39+
logrus.Warnf("[rsshub FetchFeed] fetch feed error: %v", err)
4040
return nil, err
4141
}
4242
if len(data) == 0 {
43-
logrus.Errorf("[rsshub FetchFeed] fetch feed error: data is empty")
43+
logrus.Warnf("[rsshub FetchFeed] fetch feed error: data is empty")
4444
return nil, errors.New("feed data is empty")
4545
}
4646
feed, err = gofeed.NewParser().Parse(bytes.NewBuffer(data))

plugin/rsshub/domain/rssHub.go

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ func newRssDomain(dbPath string) (*RssDomain, error) {
3333
}
3434
orm, err := gorm.Open("sqlite3", dbPath)
3535
if err != nil {
36-
logrus.Errorf("[rsshub NewRssDomain] open db error: %v", err)
36+
logrus.Warnf("[rsshub NewRssDomain] open db error: %v", err)
3737
panic(err)
3838
}
3939
repo := &RssDomain{
@@ -42,7 +42,7 @@ func newRssDomain(dbPath string) (*RssDomain, error) {
4242
}
4343
err = repo.storage.initDB()
4444
if err != nil {
45-
logrus.Errorf("[rsshub NewRssDomain] open db error: %v", err)
45+
logrus.Warnf("[rsshub NewRssDomain] open db error: %v", err)
4646
panic(err)
4747
}
4848
return repo, nil
@@ -54,15 +54,15 @@ func (repo *RssDomain) Subscribe(ctx context.Context, gid int64, feedPath string
5454
// 验证
5555
feed, err := repo.rssHubClient.FetchFeed(feedPath)
5656
if err != nil {
57-
logrus.WithContext(ctx).Errorf("[rsshub Subscribe] add source error: %v", err)
57+
logrus.WithContext(ctx).Warnf("[rsshub Subscribe] add source error: %v", err)
5858
return
5959
}
60-
logrus.WithContext(ctx).Infof("[rsshub Subscribe] try get source success: %v", len(feed.Title))
60+
logrus.WithContext(ctx).Debugf("[rsshub Subscribe] try get source success: %v", len(feed.Title))
6161
// 新建source结构体
6262
rv = convertFeedToRssView(0, feedPath, feed)
6363
feedChannel, err := repo.storage.GetSourceByRssHubFeedLink(ctx, feedPath)
6464
if err != nil {
65-
logrus.WithContext(ctx).Errorf("[rsshub Subscribe] query source by feedPath error: %v", err)
65+
logrus.WithContext(ctx).Warnf("[rsshub Subscribe] query source by feedPath error: %v", err)
6666
return
6767
}
6868
// 如果已经存在
@@ -76,62 +76,62 @@ func (repo *RssDomain) Subscribe(ctx context.Context, gid int64, feedPath string
7676
// 保存
7777
err = repo.storage.UpsertSource(ctx, rv.Source)
7878
if err != nil {
79-
logrus.WithContext(ctx).Errorf("[rsshub Subscribe] save source error: %v", err)
79+
logrus.WithContext(ctx).Warnf("[rsshub Subscribe] save source error: %v", err)
8080
return
8181
}
82-
logrus.Infof("[rsshub Subscribe] save/update source success %v", rv.Source.ID)
82+
logrus.Debugf("[rsshub Subscribe] save/update source success %v", rv.Source.ID)
8383
// 添加群号到订阅
8484
subscribe, err := repo.storage.GetSubscribeByID(ctx, gid, rv.Source.ID)
8585
if err != nil {
86-
logrus.WithContext(ctx).Errorf("[rsshub Subscribe] query subscribe error: %v", err)
86+
logrus.WithContext(ctx).Warnf("[rsshub Subscribe] query subscribe error: %v", err)
8787
return
8888
}
89-
logrus.WithContext(ctx).Infof("[rsshub Subscribe] query subscribe success: %v", subscribe)
89+
logrus.WithContext(ctx).Debugf("[rsshub Subscribe] query subscribe success: %v", subscribe)
9090
// 如果已经存在,直接返回
9191
if subscribe != nil {
9292
isSubExisted = true
93-
logrus.WithContext(ctx).Infof("[rsshub Subscribe] subscribe existed: %v", subscribe)
93+
logrus.WithContext(ctx).Debugf("[rsshub Subscribe] subscribe existed: %v", subscribe)
9494
return
9595
}
9696
// 如果不存在,保存
9797
err = repo.storage.CreateSubscribe(ctx, gid, rv.Source.ID)
9898
if err != nil {
99-
logrus.WithContext(ctx).Errorf("[rsshub Subscribe] save subscribe error: %v", err)
99+
logrus.WithContext(ctx).Warnf("[rsshub Subscribe] save subscribe error: %v", err)
100100
return
101101
}
102-
logrus.WithContext(ctx).Infof("[rsshub Subscribe] success: %v", len(rv.Contents))
102+
logrus.WithContext(ctx).Debugf("[rsshub Subscribe] success: %v", len(rv.Contents))
103103
return
104104
}
105105

106106
// Unsubscribe 群组取消订阅
107107
func (repo *RssDomain) Unsubscribe(ctx context.Context, gid int64, feedPath string) (err error) {
108108
existedSubscribes, ifExisted, err := repo.storage.GetIfExistedSubscribe(ctx, gid, feedPath)
109109
if err != nil {
110-
logrus.WithContext(ctx).Errorf("[rsshub Subscribe] query sub by route error: %v", err)
110+
logrus.WithContext(ctx).Warnf("[rsshub Subscribe] query sub by route error: %v", err)
111111
return errors.New("数据库错误")
112112
}
113-
logrus.WithContext(ctx).Infof("[rsshub Subscribe] query source by route success: %v", existedSubscribes)
113+
logrus.WithContext(ctx).Debugf("[rsshub Subscribe] query source by route success: %v", existedSubscribes)
114114
// 如果不存在订阅关系,直接返回
115115
if !ifExisted || existedSubscribes == nil {
116-
logrus.WithContext(ctx).Infof("[rsshub Subscribe] source existed: %v", ifExisted)
116+
logrus.WithContext(ctx).Debugf("[rsshub Subscribe] source existed: %v", ifExisted)
117117
return errors.New("频道不存在")
118118
}
119119
err = repo.storage.DeleteSubscribe(ctx, existedSubscribes.ID)
120120
if err != nil {
121-
logrus.WithContext(ctx).Errorf("[rsshub Subscribe] delete source error: %v", err)
121+
logrus.WithContext(ctx).Warnf("[rsshub Subscribe] delete source error: %v", err)
122122
return errors.New("删除失败")
123123
}
124124
// 查询是否还有群订阅这个频道
125125
subscribesNeedsToDel, err := repo.storage.GetSubscribesBySource(ctx, feedPath)
126126
if err != nil {
127-
logrus.WithContext(ctx).Errorf("[rsshub Subscribe] query source by route error: %v", err)
127+
logrus.WithContext(ctx).Warnf("[rsshub Subscribe] query source by route error: %v", err)
128128
return
129129
}
130130
// 没有群订阅的时候,把频道删除
131131
if len(subscribesNeedsToDel) == 0 {
132132
err = repo.storage.DeleteSource(ctx, existedSubscribes.RssSourceID)
133133
if err != nil {
134-
logrus.WithContext(ctx).Errorf("[rsshub Subscribe] delete source error: %v", err)
134+
logrus.WithContext(ctx).Warnf("[rsshub Subscribe] delete source error: %v", err)
135135
return errors.New("清除频道信息失败")
136136
}
137137
}
@@ -142,11 +142,11 @@ func (repo *RssDomain) Unsubscribe(ctx context.Context, gid int64, feedPath stri
142142
func (repo *RssDomain) GetSubscribedChannelsByGroupID(ctx context.Context, gid int64) ([]*RssClientView, error) {
143143
channels, err := repo.storage.GetSubscribedChannelsByGroupID(ctx, gid)
144144
if err != nil {
145-
logrus.WithContext(ctx).Errorf("[rsshub GetSubscribedChannelsByGroupID] GetSubscribedChannelsByGroupID error: %v", err)
145+
logrus.WithContext(ctx).Warnf("[rsshub GetSubscribedChannelsByGroupID] GetSubscribedChannelsByGroupID error: %v", err)
146146
return nil, err
147147
}
148148
rv := make([]*RssClientView, len(channels))
149-
logrus.WithContext(ctx).Infof("[rsshub GetSubscribedChannelsByGroupID] query subscribe success: %v", len(channels))
149+
logrus.WithContext(ctx).Debugf("[rsshub GetSubscribedChannelsByGroupID] query subscribe success: %v", len(channels))
150150
for i, cn := range channels {
151151
rv[i] = &RssClientView{
152152
Source: cn,
@@ -162,13 +162,13 @@ func (repo *RssDomain) Sync(ctx context.Context) (groupView map[int64][]*RssClie
162162
// 获取所有频道
163163
updatedViews, err := repo.syncRss(ctx)
164164
if err != nil {
165-
logrus.WithContext(ctx).Errorf("[rsshub Sync] sync rss feed error: %v", err)
165+
logrus.WithContext(ctx).Warnf("[rsshub Sync] sync rss feed error: %v", err)
166166
return
167167
}
168-
logrus.WithContext(ctx).Infof("[rsshub Sync] updated channels: %v", len(updatedViews))
168+
logrus.WithContext(ctx).Debugf("[rsshub Sync] updated channels: %v", len(updatedViews))
169169
subscribes, err := repo.storage.GetSubscribes(ctx)
170170
if err != nil {
171-
logrus.WithContext(ctx).Errorf("[rsshub Sync] get subscribes error: %v", err)
171+
logrus.WithContext(ctx).Warnf("[rsshub Sync] get subscribes error: %v", err)
172172
return
173173
}
174174
for _, subscribe := range subscribes {

0 commit comments

Comments
 (0)