Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beta136 #135

Merged
merged 135 commits into from
Jun 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
ea4bcc6
beta1
Hoshinonyaruko Jan 21, 2024
5002a28
beta2
Hoshinonyaruko Jan 21, 2024
969841e
beta3
Hoshinonyaruko Jan 21, 2024
a2989c2
beta4
Hoshinonyaruko Jan 21, 2024
611cd8b
beta5
Hoshinonyaruko Jan 21, 2024
dbad42b
beta6
Hoshinonyaruko Jan 21, 2024
4f8895e
beta7
Hoshinonyaruko Jan 21, 2024
30a9cab
beta8
Hoshinonyaruko Jan 21, 2024
461d879
beta9
Hoshinonyaruko Jan 21, 2024
c90c2ee
beta10
Hoshinonyaruko Jan 21, 2024
5227c32
beta11
Hoshinonyaruko Jan 21, 2024
8e14e56
beta12
Hoshinonyaruko Jan 21, 2024
6adfb7f
beta13
Hoshinonyaruko Jan 21, 2024
b04f6c0
beta14
Hoshinonyaruko Jan 21, 2024
649e740
beta15
Hoshinonyaruko Jan 21, 2024
d55cf29
beta16
Hoshinonyaruko Jan 21, 2024
1cc351e
beta16
Hoshinonyaruko Jan 21, 2024
f1a373e
beta19
Hoshinonyaruko Jan 21, 2024
cbf2fe1
beta20
Hoshinonyaruko Jan 21, 2024
3485bfc
beta21
Hoshinonyaruko Jan 21, 2024
3e3bb1a
beta22
Hoshinonyaruko Jan 21, 2024
2e4f3fa
beta23
Hoshinonyaruko Mar 29, 2024
f74075d
beta24
Hoshinonyaruko Mar 29, 2024
f3913cf
beta25
Hoshinonyaruko Mar 29, 2024
4cfb51a
beta27
Hoshinonyaruko Mar 30, 2024
d9b26c0
beta28
Hoshinonyaruko Mar 31, 2024
19da709
beta29
Hoshinonyaruko Mar 31, 2024
e06dcbf
merge
Hoshinonyaruko Mar 31, 2024
c76923e
beta30
Hoshinonyaruko Mar 31, 2024
9ae21da
beta31
Hoshinonyaruko Apr 1, 2024
4f333bc
merge
Hoshinonyaruko Apr 1, 2024
5acba8f
beta33
Hoshinonyaruko Apr 1, 2024
c637fcd
beta34
Hoshinonyaruko Apr 1, 2024
4e85b37
beta35
Hoshinonyaruko Apr 1, 2024
970948e
beta36
Hoshinonyaruko Apr 1, 2024
14271c3
beta37
Hoshinonyaruko Apr 1, 2024
6154d1a
beta38
Hoshinonyaruko Apr 1, 2024
d5be5e6
beta39
Hoshinonyaruko Apr 3, 2024
54afe18
beta40
Hoshinonyaruko Apr 3, 2024
0b71855
beta41
Hoshinonyaruko Apr 3, 2024
8c5f9a3
merge
Hoshinonyaruko Apr 3, 2024
cf752d4
beta42
Hoshinonyaruko Apr 3, 2024
3698824
beta43
Hoshinonyaruko Apr 3, 2024
1e9c189
beta44
Hoshinonyaruko Apr 3, 2024
2adb4ac
beta45
Hoshinonyaruko Apr 4, 2024
79eb713
beta45
Hoshinonyaruko Apr 4, 2024
064f0d0
beta45
Hoshinonyaruko Apr 4, 2024
5a4a59e
beta46
Hoshinonyaruko Apr 5, 2024
df30a32
beta46
Hoshinonyaruko Apr 5, 2024
c920893
beat48
Hoshinonyaruko Apr 7, 2024
3491d5d
beta49
Hoshinonyaruko Apr 8, 2024
575b2ca
beta50
Hoshinonyaruko Apr 8, 2024
4c4bbaa
beta51
Hoshinonyaruko Apr 8, 2024
2ea728b
beta52
Hoshinonyaruko Apr 8, 2024
82bf952
beta53
Hoshinonyaruko Apr 8, 2024
869685c
beta54
Hoshinonyaruko Apr 9, 2024
1f3646e
beta55
Hoshinonyaruko Apr 9, 2024
d6bbadf
beta57
Hoshinonyaruko Apr 10, 2024
fc5086c
beta58
Hoshinonyaruko Apr 10, 2024
602ff65
beta59
Hoshinonyaruko Apr 10, 2024
a82538d
Merge branch 'main' of https://github.com/Hoshinonyaruko/Gensokyo-llm…
Hoshinonyaruko Apr 10, 2024
6433600
beta61
Hoshinonyaruko Apr 10, 2024
9ce88b3
beta62
Hoshinonyaruko Apr 12, 2024
b53617b
beta63
Hoshinonyaruko Apr 12, 2024
ff64c69
beta63
Hoshinonyaruko Apr 12, 2024
b34885f
beta64
Hoshinonyaruko Apr 13, 2024
3658648
beta65
Hoshinonyaruko Apr 13, 2024
3307439
beta66
Hoshinonyaruko Apr 15, 2024
f15c422
beta67
Hoshinonyaruko Apr 17, 2024
518de35
beta70
Hoshinonyaruko Apr 18, 2024
a65f07d
beta71
Hoshinonyaruko Apr 18, 2024
59d07c7
beta72
Hoshinonyaruko Apr 18, 2024
a16ea64
beta72
Hoshinonyaruko Apr 18, 2024
08d5864
beta74
Hoshinonyaruko Apr 19, 2024
9b09401
beta75
Hoshinonyaruko Apr 19, 2024
b51e185
beta76
Hoshinonyaruko Apr 20, 2024
c978654
beta77
Hoshinonyaruko Apr 21, 2024
6aa9f33
beta78
Hoshinonyaruko Apr 22, 2024
7b84a9d
beta79
Hoshinonyaruko Apr 25, 2024
4b96807
beta80
Hoshinonyaruko Apr 25, 2024
9b97146
beta81
Hoshinonyaruko Apr 25, 2024
f481e85
beta82
Hoshinonyaruko Apr 29, 2024
cb33ba5
beta83
Hoshinonyaruko Apr 29, 2024
7dbe4d5
beta85
Hoshinonyaruko Apr 29, 2024
2fb67a2
beta86
Hoshinonyaruko Apr 29, 2024
20f26c1
beta87
Hoshinonyaruko Apr 29, 2024
3146232
beta88
Hoshinonyaruko Apr 29, 2024
cbf731b
beta89
Hoshinonyaruko Apr 29, 2024
cc8a439
beta90
Hoshinonyaruko Apr 29, 2024
f56c272
beta91
Hoshinonyaruko Apr 29, 2024
c19f071
beta92
Hoshinonyaruko Apr 29, 2024
84d0513
beta93
Hoshinonyaruko Apr 29, 2024
c2f8e28
beta94
Hoshinonyaruko Apr 29, 2024
142f2fa
beta94
Hoshinonyaruko Apr 29, 2024
8828006
beta96
Hoshinonyaruko Apr 29, 2024
541a127
beta97
Hoshinonyaruko Apr 30, 2024
9d52ce8
beta98
Hoshinonyaruko Apr 30, 2024
16e0ed4
beta99
Hoshinonyaruko Apr 30, 2024
8f0e406
beta100
Hoshinonyaruko May 1, 2024
d242bc2
beta101
Hoshinonyaruko May 1, 2024
2ea5f4a
beta102
Hoshinonyaruko May 2, 2024
c208482
beta104
Hoshinonyaruko May 3, 2024
777aaa0
beta105
Hoshinonyaruko May 4, 2024
3ccedea
beta106
Hoshinonyaruko May 4, 2024
956c9a2
beta107
Hoshinonyaruko May 8, 2024
1a04702
beta108
Hoshinonyaruko May 8, 2024
d88d84b
beta109
Hoshinonyaruko May 8, 2024
e9a3788
beta110
Hoshinonyaruko May 9, 2024
a6dccf7
beta111
Hoshinonyaruko May 13, 2024
48a1d26
beta112
Hoshinonyaruko May 13, 2024
5cbd1a6
beta113
Hoshinonyaruko May 13, 2024
a8f8dbd
Merge branch 'main' of https://github.com/Hoshinonyaruko/Gensokyo-llm…
Hoshinonyaruko May 13, 2024
0ce3929
beta115
Hoshinonyaruko May 13, 2024
3c24828
beta116
Hoshinonyaruko May 14, 2024
d17b87e
beta117
Hoshinonyaruko May 14, 2024
a0d9d93
beta118
Hoshinonyaruko May 16, 2024
81c5f60
beta119
Hoshinonyaruko May 17, 2024
0bf4eae
beta120
Hoshinonyaruko May 19, 2024
dfff20e
beta121
Hoshinonyaruko May 19, 2024
6659607
beta122
Hoshinonyaruko May 19, 2024
89c92a0
beta123
Hoshinonyaruko May 19, 2024
a35581e
beta124
Hoshinonyaruko May 19, 2024
434c738
beta125
Hoshinonyaruko May 19, 2024
18e97cc
beta126
Hoshinonyaruko May 20, 2024
49cfe96
beta127
Hoshinonyaruko May 20, 2024
6c98d9f
beta128
Hoshinonyaruko May 23, 2024
3301dc2
beta129
Hoshinonyaruko May 24, 2024
32b6189
beta130
Hoshinonyaruko May 24, 2024
b6a0b9f
beta131
Hoshinonyaruko May 27, 2024
5eca7eb
beta132
Hoshinonyaruko May 27, 2024
1b7aefe
beta1333
Hoshinonyaruko May 28, 2024
c12eb7c
beta134
Hoshinonyaruko Jun 1, 2024
87fe0b9
beta135
Hoshinonyaruko Jun 3, 2024
937eb77
beta136
Hoshinonyaruko Jun 3, 2024
ff033d1
Merge branch 'main' into beta136
Hoshinonyaruko Jun 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 52 additions & 13 deletions applogic/flow.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ import (

// ApplyPromptChoiceQ 应用promptchoiceQ的逻辑,动态修改requestmsg
func (app *App) ApplyPromptChoiceQ(promptstr string, requestmsg *string, message *structs.OnebotGroupMessage) {
userid := message.UserID
if config.GetGroupContext() && message.MessageType != "private" {
userid = message.GroupID
}

// 检查是否启用了EnhancedQA
if config.GetEnhancedQA(promptstr) {
Expand All @@ -35,7 +39,7 @@ func (app *App) ApplyPromptChoiceQ(promptstr string, requestmsg *string, message
} else {
var ischange bool
// 获取用户剧情存档中的当前状态
CustomRecord, err := app.FetchCustomRecord(message.UserID)
CustomRecord, err := app.FetchCustomRecord(userid)
if err != nil {
fmt.Printf("app.FetchCustomRecord 出错: %s\n", err)
return
Expand Down Expand Up @@ -133,6 +137,11 @@ func (app *App) ApplyPromptChoiceQ(promptstr string, requestmsg *string, message

// ApplyPromptCoverQ 应用promptCoverQ的逻辑,动态覆盖requestmsg
func (app *App) ApplyPromptCoverQ(promptstr string, requestmsg *string, message *structs.OnebotGroupMessage) {
userid := message.UserID
if config.GetGroupContext() && message.MessageType != "private" {
userid = message.GroupID
}

// 检查是否启用了EnhancedQA
if config.GetEnhancedQA(promptstr) {
promptCover := config.GetPromptCoverQ(promptstr)
Expand All @@ -142,7 +151,7 @@ func (app *App) ApplyPromptCoverQ(promptstr string, requestmsg *string, message
} else {
var ischange bool
// 获取用户剧情存档中的当前状态
CustomRecord, err := app.FetchCustomRecord(message.UserID)
CustomRecord, err := app.FetchCustomRecord(userid)
if err != nil {
fmt.Printf("app.FetchCustomRecord 出错: %s\n", err)
return
Expand Down Expand Up @@ -240,11 +249,16 @@ func (app *App) ApplyPromptCoverQ(promptstr string, requestmsg *string, message

// ApplySwitchOnQ 应用switchOnQ的逻辑,动态修改promptstr
func (app *App) ApplySwitchOnQ(promptstr *string, requestmsg *string, message *structs.OnebotGroupMessage) {
userid := message.UserID
if config.GetGroupContext() && message.MessageType != "private" {
userid = message.GroupID
}

// promptstr 随 switchOnQ 变化
promptstrChoices := config.GetSwitchOnQ(*promptstr)
if len(promptstrChoices) != 0 {
// 获取用户剧情存档中的当前状态
CustomRecord, err := app.FetchCustomRecord(message.UserID)
CustomRecord, err := app.FetchCustomRecord(userid)
if err != nil {
fmt.Printf("app.FetchCustomRecord 出错: %s\n", err)
return
Expand Down Expand Up @@ -298,7 +312,7 @@ func (app *App) ApplySwitchOnQ(promptstr *string, requestmsg *string, message *s
*promptstr = bestText
// 获取新的信号长度 刷新持久化数据库
PromptMarksLength := config.GetPromptMarksLength(*promptstr)
app.InsertCustomTableRecord(message.UserID, *promptstr, PromptMarksLength)
app.InsertCustomTableRecord(userid, *promptstr, PromptMarksLength)
fmt.Printf("enhancedChoices=true,根据关键词切换prompt为: %s,newPromptStrStat:%d\n", *promptstr, PromptMarksLength)
// 故事模式规则 应用 PromptChoiceQ 这一次是为了,替换了分支后,再次用新的分支的promptstr处理一次,因为原先的promptstr是跳转前,要用跳转后的再替换一次
app.ApplyPromptChoiceQ(*promptstr, requestmsg, message)
Expand All @@ -323,7 +337,7 @@ func (app *App) ApplySwitchOnQ(promptstr *string, requestmsg *string, message *s
*promptstr = selectedText
// 获取新的信号长度 刷新持久化数据库
PromptMarksLength := config.GetPromptMarksLength(*promptstr)
app.InsertCustomTableRecord(message.UserID, *promptstr, PromptMarksLength)
app.InsertCustomTableRecord(userid, *promptstr, PromptMarksLength)
fmt.Printf("enhancedChoices=false,根据关键词切换prompt为: %s,newPromptStrStat:%d\n", *promptstr, PromptMarksLength)
// 故事模式规则 应用 PromptChoiceQ 这一次是为了,替换了分支后,再次用新的分支的promptstr处理一次,因为原先的promptstr是跳转前,要用跳转后的再替换一次
app.ApplyPromptChoiceQ(*promptstr, requestmsg, message)
Expand All @@ -341,8 +355,13 @@ func (app *App) ProcessExitChoicesQ(promptstr string, requestmsg *string, messag
return
}

userid := message.UserID
if config.GetGroupContext() && message.MessageType != "private" {
userid = message.GroupID
}

// 获取用户剧情存档中的当前状态
CustomRecord, err := app.FetchCustomRecord(message.UserID)
CustomRecord, err := app.FetchCustomRecord(userid)
if err != nil {
fmt.Printf("app.FetchCustomRecord 出错: %s\n", err)
return
Expand Down Expand Up @@ -413,8 +432,13 @@ func (app *App) ProcessExitChoicesQ(promptstr string, requestmsg *string, messag

// HandleExit 处理用户退出逻辑,包括发送消息和重置用户状态。
func (app *App) HandleExit(exitText string, message *structs.OnebotGroupMessage, selfid string) {
userid := message.UserID
if config.GetGroupContext() && message.MessageType != "private" {
userid = message.GroupID
}

fmt.Printf("处理重置操作on:%v", exitText)
app.migrateUserToNewContext(message.UserID)
app.migrateUserToNewContext(userid)
RestoreResponse := config.GetRandomRestoreResponses()
if message.RealMessageType == "group_private" || message.MessageType == "private" {
if !config.GetUsePrivateSSE() {
Expand All @@ -425,7 +449,7 @@ func (app *App) HandleExit(exitText string, message *structs.OnebotGroupMessage,
} else {
utils.SendGroupMessage(message.GroupID, message.UserID, RestoreResponse, selfid)
}
app.deleteCustomRecord(message.UserID)
app.deleteCustomRecord(userid)
}

// ProcessExitChoicesA 处理基于关键词的退出逻辑。
Expand All @@ -435,8 +459,13 @@ func (app *App) ProcessExitChoicesA(promptstr string, response *string, message
return
}

userid := message.UserID
if config.GetGroupContext() && message.MessageType != "private" {
userid = message.GroupID
}

// 获取用户剧情存档中的当前状态
CustomRecord, err := app.FetchCustomRecord(message.UserID)
CustomRecord, err := app.FetchCustomRecord(userid)
if err != nil {
fmt.Printf("app.FetchCustomRecord 出错: %s\n", err)
return
Expand Down Expand Up @@ -507,11 +536,16 @@ func (app *App) ProcessExitChoicesA(promptstr string, response *string, message

// ApplySwitchOnA 应用switchOnA的逻辑,动态修改promptstr
func (app *App) ApplySwitchOnA(promptstr *string, response *string, message *structs.OnebotGroupMessage) {
userid := message.UserID
if config.GetGroupContext() && message.MessageType != "private" {
userid = message.GroupID
}

// 获取与 switchOnA 相关的选择
promptstrChoices := config.GetSwitchOnA(*promptstr)
if len(promptstrChoices) != 0 {
// 获取用户剧情存档中的当前状态
CustomRecord, err := app.FetchCustomRecord(message.UserID)
CustomRecord, err := app.FetchCustomRecord(userid)
if err != nil {
fmt.Printf("app.FetchCustomRecord 出错: %s\n", err)
return
Expand Down Expand Up @@ -557,7 +591,7 @@ func (app *App) ApplySwitchOnA(promptstr *string, response *string, message *str
if bestMatchCount > 0 {
*promptstr = bestText
PromptMarksLength := config.GetPromptMarksLength(*promptstr)
app.InsertCustomTableRecord(message.UserID, *promptstr, PromptMarksLength)
app.InsertCustomTableRecord(userid, *promptstr, PromptMarksLength)
fmt.Printf("enhancedChoices=true,根据关键词A切换prompt为: %s,newPromptStrStat:%d\n", *promptstr, PromptMarksLength)
}
}
Expand All @@ -577,7 +611,7 @@ func (app *App) ApplySwitchOnA(promptstr *string, response *string, message *str
selectedText := texts[rand.Intn(len(texts))] // 随机选择一个文本
*promptstr = selectedText
PromptMarksLength := config.GetPromptMarksLength(*promptstr)
app.InsertCustomTableRecord(message.UserID, *promptstr, PromptMarksLength)
app.InsertCustomTableRecord(userid, *promptstr, PromptMarksLength)
fmt.Printf("enhancedChoices=false,根据关键词A切换prompt为: %s,newPromptStrStat:%d\n", *promptstr, PromptMarksLength)
}
}
Expand All @@ -588,6 +622,11 @@ func (app *App) ApplySwitchOnA(promptstr *string, response *string, message *str

// ApplyPromptChoiceA 应用故事模式的情绪增强逻辑,并返回增强内容。
func (app *App) ApplyPromptChoiceA(promptstr string, response string, message *structs.OnebotGroupMessage) string {
userid := message.UserID
if config.GetGroupContext() && message.MessageType != "private" {
userid = message.GroupID
}

promptChoices := config.GetPromptChoicesA(promptstr)
if len(promptChoices) == 0 {
// 获取系统历史,但不包括系统消息
Expand All @@ -608,7 +647,7 @@ func (app *App) ApplyPromptChoiceA(promptstr string, response string, message *s
}

// 获取用户剧情存档中的当前状态
CustomRecord, err := app.FetchCustomRecord(message.UserID)
CustomRecord, err := app.FetchCustomRecord(userid)
if err != nil {
fmt.Printf("app.FetchCustomRecord 出错: %s\n", err)
return ""
Expand Down
109 changes: 82 additions & 27 deletions applogic/gensokyo.go
Original file line number Diff line number Diff line change
Expand Up @@ -142,11 +142,19 @@ func (app *App) GensokyoHandler(w http.ResponseWriter, r *http.Request) {
return
}
}

// 从数据库读取用户的剧情存档
CustomRecord, err := app.FetchCustomRecord(message.UserID)
if err != nil {
fmt.Printf("app.FetchCustomRecord 出错: %s\n", err)
var CustomRecord *structs.CustomRecord
if config.GetGroupContext() && message.MessageType != "private" {
// 从数据库读取用户的剧情存档
CustomRecord, err = app.FetchCustomRecord(message.GroupID)
if err != nil {
fmt.Printf("app.FetchCustomRecord 出错: %s\n", err)
}
} else {
// 从数据库读取用户的剧情存档
CustomRecord, err = app.FetchCustomRecord(message.UserID)
if err != nil {
fmt.Printf("app.FetchCustomRecord 出错: %s\n", err)
}
}

var promptstr string
Expand All @@ -163,14 +171,27 @@ func (app *App) GensokyoHandler(w http.ResponseWriter, r *http.Request) {
promptstr = CustomRecord.PromptStr
fmt.Printf("刷新prompt参数: %s,newPromptStrStat:%d\n", promptstr, CustomRecord.PromptStrStat-1)
newPromptStrStat := CustomRecord.PromptStrStat - 1
err = app.InsertCustomTableRecord(message.UserID, promptstr, newPromptStrStat)
if err != nil {
fmt.Printf("app.InsertCustomTableRecord 出错: %s\n", err)
// 根据条件区分群和私聊
if config.GetGroupContext() && message.MessageType != "private" {
err = app.InsertCustomTableRecord(message.GroupID, promptstr, newPromptStrStat)
if err != nil {
fmt.Printf("app.InsertCustomTableRecord 出错: %s\n", err)
}
} else {
err = app.InsertCustomTableRecord(message.UserID, promptstr, newPromptStrStat)
if err != nil {
fmt.Printf("app.InsertCustomTableRecord 出错: %s\n", err)
}
}

}

// MARK: 提示词之间 整体切换Q
app.ProcessPromptMarks(message.UserID, message.Message.(string), &promptstr)
if config.GetGroupContext() && message.MessageType != "private" {
app.ProcessPromptMarks(message.GroupID, message.Message.(string), &promptstr)
} else {
app.ProcessPromptMarks(message.UserID, message.Message.(string), &promptstr)
}

// 提示词之间流转 达到信号量
markType := config.GetPromptMarkType(promptstr)
Expand All @@ -189,7 +210,12 @@ func (app *App) GensokyoHandler(w http.ResponseWriter, r *http.Request) {
}

// 刷新新的提示词给用户目前的状态 新的场景应该从1开始
app.InsertCustomTableRecord(message.UserID, newPromptStr, 1)
if config.GetGroupContext() && message.MessageType != "private" {
app.InsertCustomTableRecord(message.GroupID, newPromptStr, 1)
} else {
app.InsertCustomTableRecord(message.UserID, newPromptStr, 1)
}

fmt.Printf("流转prompt参数: %s,newPromptStrStat:%d\n", newPromptStr, 1)
promptstr = newPromptStr
}
Expand All @@ -203,7 +229,12 @@ func (app *App) GensokyoHandler(w http.ResponseWriter, r *http.Request) {
}

// MARK: 提示词之间 整体切换Q 当用户没有存档时
app.ProcessPromptMarks(message.UserID, message.Message.(string), &promptstr)
if config.GetGroupContext() && message.MessageType != "private" {
app.ProcessPromptMarks(message.GroupID, message.Message.(string), &promptstr)
} else {
app.ProcessPromptMarks(message.UserID, message.Message.(string), &promptstr)
}

var newstat int
if config.GetPromptMarksLength(promptstr) > 1000 {
newstat = config.GetPromptMarksLength(promptstr)
Expand All @@ -212,7 +243,12 @@ func (app *App) GensokyoHandler(w http.ResponseWriter, r *http.Request) {
}

// 初始状态就是 1 设置了1000以上长度的是固有场景,不可切换
err = app.InsertCustomTableRecord(message.UserID, promptstr, newstat)
if config.GetGroupContext() && message.MessageType != "private" {
err = app.InsertCustomTableRecord(message.GroupID, promptstr, newstat)
} else {
err = app.InsertCustomTableRecord(message.UserID, promptstr, newstat)
}

if err != nil {
fmt.Printf("app.InsertCustomTableRecord 出错: %s\n", err)
}
Expand Down Expand Up @@ -297,7 +333,11 @@ func (app *App) GensokyoHandler(w http.ResponseWriter, r *http.Request) {
//处理重置指令
if isResetCommand {
fmtf.Println("处理重置操作")
app.migrateUserToNewContext(message.UserID)
if config.GetGroupContext() && message.MessageType != "private" {
app.migrateUserToNewContext(message.GroupID)
} else {
app.migrateUserToNewContext(message.UserID)
}
RestoreResponse := config.GetRandomRestoreResponses()
if message.RealMessageType == "group_private" || message.MessageType == "private" {
if !config.GetUsePrivateSSE() {
Expand All @@ -309,7 +349,11 @@ func (app *App) GensokyoHandler(w http.ResponseWriter, r *http.Request) {
utils.SendGroupMessage(message.GroupID, message.UserID, RestoreResponse, selfid)
}
// 处理故事情节的重置
app.deleteCustomRecord(message.UserID)
if config.GetGroupContext() && message.MessageType != "private" {
app.deleteCustomRecord(message.GroupID)
} else {
app.deleteCustomRecord(message.UserID)
}
return
}

Expand Down Expand Up @@ -517,7 +561,7 @@ func (app *App) GensokyoHandler(w http.ResponseWriter, r *http.Request) {

// 处理保存记忆
if ismemoryCommand {
app.handleSaveMemory(message, conversationID, parentMessageID)
app.handleSaveMemory(message, conversationID, parentMessageID) // 适配群
return
}

Expand All @@ -539,13 +583,13 @@ func (app *App) GensokyoHandler(w http.ResponseWriter, r *http.Request) {

// 处理记忆列表
if ismemoryLoadCommand {
app.handleMemoryList(message)
app.handleMemoryList(message) // 适配群
return
}

// 新增处理载入记忆的逻辑
if isPrefixedMemoryLoadCommand {
app.handleLoadMemory(message, checkResetCommand)
app.handleLoadMemory(message, checkResetCommand) // 适配群
return
}

Expand All @@ -563,7 +607,7 @@ func (app *App) GensokyoHandler(w http.ResponseWriter, r *http.Request) {

// 处理新对话
if isnewConversationCommand {
app.handleNewConversation(message, conversationID, parentMessageID)
app.handleNewConversation(message, conversationID, parentMessageID) // 适配群
return
}

Expand Down Expand Up @@ -597,21 +641,29 @@ func (app *App) GensokyoHandler(w http.ResponseWriter, r *http.Request) {
}

// 关键词退出部分ExitChoicesQ
app.ProcessExitChoicesQ(promptstr, &requestmsg, &message, selfid)
app.ProcessExitChoicesQ(promptstr, &requestmsg, &message, selfid) // 适配群

// 故事模式规则 应用 PromptChoiceQ
app.ApplyPromptChoiceQ(promptstr, &requestmsg, &message)
app.ApplyPromptChoiceQ(promptstr, &requestmsg, &message) // 适配群

// 故事模式规则 应用 PromptCoverQ
app.ApplyPromptCoverQ(promptstr, &requestmsg, &message)
app.ApplyPromptCoverQ(promptstr, &requestmsg, &message) // 适配群

// promptstr 随 switchOnQ 变化 切换Q
app.ApplySwitchOnQ(&promptstr, &requestmsg, &message)
app.ApplySwitchOnQ(&promptstr, &requestmsg, &message) // 适配群

// 从数据库读取用户的剧情存档
CustomRecord, err := app.FetchCustomRecord(message.UserID)
if err != nil {
fmt.Printf("app.FetchCustomRecord 出错: %s\n", err)
var CustomRecord *structs.CustomRecord
if config.GetGroupContext() && message.MessageType != "private" {
CustomRecord, err = app.FetchCustomRecord(message.GroupID)
if err != nil {
fmt.Printf("app.FetchCustomRecord 出错: %s\n", err)
}
} else {
CustomRecord, err = app.FetchCustomRecord(message.UserID)
if err != nil {
fmt.Printf("app.FetchCustomRecord 出错: %s\n", err)
}
}

// 生成场景
Expand All @@ -620,8 +672,11 @@ func (app *App) GensokyoHandler(w http.ResponseWriter, r *http.Request) {
PromptMarksLength := config.GetPromptMarksLength(promptstr)
app.GetAndSendEnv(requestmsg, promptstr, message, selfid, CustomRecord.PromptStrStat, PromptMarksLength)
}

fmtf.Printf("实际请求conversation端点内容:[%v]%v\n", message.UserID, requestmsg)
if config.GetGroupContext() && message.MessageType != "private" {
fmtf.Printf("实际请求conversation端点内容:[%v]%v\n", message.GroupID, requestmsg)
} else {
fmtf.Printf("实际请求conversation端点内容:[%v]%v\n", message.UserID, requestmsg)
}

requestBody, err := json.Marshal(map[string]interface{}{
"message": requestmsg,
Expand Down
Loading
Loading