Skip to content

Commit 8c71578

Browse files
committed
fix: SESSION_IMAGE_CHAT_MAP
1 parent 4c6f1f7 commit 8c71578

File tree

4 files changed

+47
-47
lines changed

4 files changed

+47
-47
lines changed

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ _觉得有点意思的话 别忘了点个 ⭐_
3232
- **deep-seek-r1**
3333
- [x] 支持**联网搜索**,在模型名后添加`-search`即可(如:`gpt-4o-search`)
3434
- [x] 支持识别**图片**/**文件**多轮对话
35-
- [x] 支持文生图接口(`/images/generations`)
35+
- [x] 支持文生图接口(`/images/generations`),详细请看[生图模型配置](#生图模型配置)
3636
- **flux**
3737
- **flux-speed**
3838
- **flux-pro/ultra**
@@ -173,10 +173,10 @@ Render 可以直接部署 docker 镜像,不需要 fork 仓库:[Render](https:/
173173
10. `ROUTE_PREFIX=hf` [可选]路由前缀,默认为空,添加该变量后的接口示例:`/hf/v1/chat/completions`
174174
11. `RATE_LIMIT_COOKIE_LOCK_DURATION=600` [可选]到达速率限制的cookie禁用时间,默认为600s
175175
12. `REASONING_HIDE=0` [可选]**隐藏**推理过程(默认:0)[0:关闭,1:开启]
176+
13. `SESSION_IMAGE_CHAT_MAP=aed9196b-********-4ed6e32f7e4d=0c6785e6-********-7ff6e5a2a29c,aefwer6b-********-casds22=fda234-********-sfaw123` [可选]Session绑定Image-Chat(多个请以,分隔),详细请看[进阶配置](#生图模型配置)
176177

177-
~~11. `YES_CAPTCHA_CLIENT_KEY=******` [可选]YesCaptcha Client Key 过谷歌验证,详细请看[使用YesCaptcha过谷歌验证](#使用YesCaptcha过谷歌验证)~~
178+
~~14. `YES_CAPTCHA_CLIENT_KEY=******` [可选]YesCaptcha Client Key 过谷歌验证,详细请看[使用YesCaptcha过谷歌验证](#使用YesCaptcha过谷歌验证)~~
178179

179-
~~12. `SESSION_IMAGE_CHAT_MAP=aed9196b-********-4ed6e32f7e4d=0c6785e6-********-7ff6e5a2a29c,aefwer6b-********-casds22=fda234-********-sfaw123` [可选]Session绑定Image-Chat(多个请以,分隔),详细请看[进阶配置](#生图模型配置)~~
180180

181181
### cookie获取方式
182182

@@ -211,15 +211,15 @@ Render 可以直接部署 docker 镜像,不需要 fork 仓库:[Render](https:/
211211
![img.png](docs/img4.png)
212212
4. 配置环境变量 `MODEL_CHAT_MAP=claude-3-5-sonnet=3cdcc******474c5` (多个请以,分隔)
213213

214-
### 生图模型配置[**暂不需要**]
214+
### 生图模型配置
215215

216216
> 配置环境变量 SESSION_IMAGE_CHAT_MAP
217217
218-
~~1. 打开**F12**开发者工具。~~
219-
~~2. 选择生成图像,选择任一生图模型,发起对话。~~
220-
~~3. 点击ask请求,此时最上方url中的`id`(或响应中的`id`)即为此对话唯一id,然后在请求头中获取`session_id`的值。
221-
![img.png](docs/img7.png)~~
222-
~~4. 配置环境变量 `SESSION_IMAGE_CHAT_MAP=aed9196b-********-4ed6e32f7e4d=0c6785e6-********-7ff6e5a2a29c` (即session=chatId的格式,多个请以,分隔)~~
218+
1. 打开**F12**开发者工具。
219+
2. 选择生成图像,选择任一生图模型,发起对话。
220+
3. 点击ask请求,此时最上方url中的`id`(或响应中的`id`)即为此对话唯一id,然后在请求头中获取`session_id`的值。
221+
![img.png](docs/img7.png)
222+
4. 配置环境变量 `SESSION_IMAGE_CHAT_MAP=aed9196b-********-4ed6e32f7e4d=0c6785e6-********-7ff6e5a2a29c` (即session=chatId的格式,多个请以,分隔)
223223

224224
### 使用YesCaptcha过谷歌验证[**暂不需要**]
225225

check/check.go

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -44,25 +44,25 @@ func CheckEnvVariable() {
4444
}
4545
}
4646

47-
//if config.SessionImageChatMapStr != "" {
48-
// pattern := `^([a-zA-Z0-9\-\/]+=([a-zA-Z0-9\-\.]+))(,[a-zA-Z0-9\-\/]+=([a-zA-Z0-9\-\.]+))*`
49-
// match, _ := regexp.MatchString(pattern, config.SessionImageChatMapStr)
50-
// if !match {
51-
// logger.FatalLog("环境变量 SESSION_IMAGE_CHAT_MAP 设置有误")
52-
// } else {
53-
// sessionImageChatMap := make(map[string]string)
54-
// pairs := strings.Split(config.SessionImageChatMapStr, ",")
55-
//
56-
// for _, pair := range pairs {
57-
// kv := strings.Split(pair, "=")
58-
// sessionImageChatMap["session_id="+kv[0]] = kv[1]
59-
// }
60-
//
61-
// config.SessionImageChatMap = sessionImageChatMap
62-
// }
63-
//} else {
64-
// logger.SysLog("环境变量 SESSION_IMAGE_CHAT_MAP 未设置,生图可能会异常")
65-
//}
47+
if config.SessionImageChatMapStr != "" {
48+
pattern := `^([a-zA-Z0-9\-\/]+=([a-zA-Z0-9\-\.]+))(,[a-zA-Z0-9\-\/]+=([a-zA-Z0-9\-\.]+))*`
49+
match, _ := regexp.MatchString(pattern, config.SessionImageChatMapStr)
50+
if !match {
51+
logger.FatalLog("环境变量 SESSION_IMAGE_CHAT_MAP 设置有误")
52+
} else {
53+
sessionImageChatMap := make(map[string]string)
54+
pairs := strings.Split(config.SessionImageChatMapStr, ",")
55+
56+
for _, pair := range pairs {
57+
kv := strings.Split(pair, "=")
58+
sessionImageChatMap["session_id="+kv[0]] = kv[1]
59+
}
60+
61+
config.SessionImageChatMap = sessionImageChatMap
62+
}
63+
} else {
64+
logger.SysLog("环境变量 SESSION_IMAGE_CHAT_MAP 未设置,生图可能会异常")
65+
}
6666

6767
logger.SysLog("environment variable check passed.")
6868
}

common/constants.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package common
33
import "time"
44

55
var StartTime = time.Now().Unix() // unit: second
6-
var Version = "v1.10.12" // this hard coding will be replaced automatically when building, no need to manually change
6+
var Version = "v1.10.13" // this hard coding will be replaced automatically when building, no need to manually change
77

88
var DefaultOpenaiModelList = []string{
99
"gpt-4o",

controller/chat.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ func createImageRequestBody(c *gin.Context, cookie string, openAIReq *model.Open
492492
}
493493
var currentQueryString string
494494
if len(chatId) != 0 {
495-
currentQueryString = fmt.Sprintf("id=%s&type=%s", chatId, imageType)
495+
currentQueryString = fmt.Sprintf("id=%s&type=%s", "90280b44-9ddf-4f4f-ba62-d72d38a82f99", imageType)
496496
} else {
497497
currentQueryString = fmt.Sprintf("type=%s", imageType)
498498
}
@@ -1377,31 +1377,31 @@ func ImageProcess(c *gin.Context, client cycletls.CycleTLS, openAIReq model.Open
13771377
)
13781378

13791379
var (
1380-
//sessionImageChatManager *config.SessionMapManager
1381-
maxRetries int
1382-
cookie string
1383-
chatId string
1380+
sessionImageChatManager *config.SessionMapManager
1381+
maxRetries int
1382+
cookie string
1383+
chatId string
13841384
)
13851385

13861386
cookieManager := config.NewCookieManager()
1387-
//sessionImageChatManager = config.NewSessionMapManager()
1387+
sessionImageChatManager = config.NewSessionMapManager()
13881388
ctx := c.Request.Context()
13891389

13901390
// Initialize session manager and get initial cookie
1391-
//if len(config.SessionImageChatMap) == 0 {
1392-
//logger.Warnf(ctx, "未配置环境变量 SESSION_IMAGE_CHAT_MAP, 可能会生图失败!")
1393-
maxRetries = len(cookieManager.Cookies)
1391+
if len(config.SessionImageChatMap) == 0 {
1392+
logger.Warnf(ctx, "未配置环境变量 SESSION_IMAGE_CHAT_MAP, 可能会生图失败!")
1393+
maxRetries = len(cookieManager.Cookies)
13941394

1395-
var err error
1396-
cookie, err = cookieManager.GetRandomCookie()
1397-
if err != nil {
1398-
logger.Errorf(ctx, "Failed to get initial cookie: %v", err)
1399-
return nil, fmt.Errorf(errNoValidCookies)
1395+
var err error
1396+
cookie, err = cookieManager.GetRandomCookie()
1397+
if err != nil {
1398+
logger.Errorf(ctx, "Failed to get initial cookie: %v", err)
1399+
return nil, fmt.Errorf(errNoValidCookies)
1400+
}
1401+
} else {
1402+
maxRetries = sessionImageChatManager.GetSize()
1403+
cookie, chatId, _ = sessionImageChatManager.GetRandomKeyValue()
14001404
}
1401-
//} else {
1402-
// maxRetries = sessionImageChatManager.GetSize()
1403-
// cookie, chatId, _ = sessionImageChatManager.GetRandomKeyValue()
1404-
//}
14051405

14061406
for attempt := 0; attempt < maxRetries; attempt++ {
14071407
// Create request body

0 commit comments

Comments
 (0)