mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-17 13:57:10 +00:00
修复bing图片生成请求(绘图接口仍有问题)
This commit is contained in:
parent
8dab6fd0b5
commit
33e04c1c24
3 changed files with 56 additions and 6 deletions
|
|
@ -500,6 +500,11 @@
|
||||||
"label": "是否允许机器人读取近期的群聊聊天记录",
|
"label": "是否允许机器人读取近期的群聊聊天记录",
|
||||||
"data": "enableGroupContext"
|
"data": "enableGroupContext"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "check",
|
||||||
|
"label": "是否允许必应进行搜索",
|
||||||
|
"data": "sydneyEnableSearch"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"label": "允许机器人读取近期的最多群聊聊天记录条数",
|
"label": "允许机器人读取近期的最多群聊聊天记录条数",
|
||||||
|
|
@ -581,6 +586,42 @@
|
||||||
"label": "第三方绘图",
|
"label": "第三方绘图",
|
||||||
"placeholder": "使用AP插件代替Bing进行绘图",
|
"placeholder": "使用AP插件代替Bing进行绘图",
|
||||||
"data": "bingAPDraw"
|
"data": "bingAPDraw"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "textarea",
|
||||||
|
"label": "前置对话第一轮(用户)",
|
||||||
|
"placeholder": "会强行插入该轮对话,能有效抑制抱歉",
|
||||||
|
"data": "chatExampleUser1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "textarea",
|
||||||
|
"label": "前置对话第一轮(AI)",
|
||||||
|
"placeholder": "会强行插入该轮对话,能有效抑制抱歉",
|
||||||
|
"data": "chatExampleBot1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "textarea",
|
||||||
|
"label": "前置对话第二轮(用户)",
|
||||||
|
"placeholder": "会强行插入该轮对话,能有效抑制抱歉",
|
||||||
|
"data": "chatExampleUser2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "textarea",
|
||||||
|
"label": "前置对话第二轮(AI)",
|
||||||
|
"placeholder": "会强行插入该轮对话,能有效抑制抱歉",
|
||||||
|
"data": "chatExampleBot2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "textarea",
|
||||||
|
"label": "前置对话第三轮(用户)",
|
||||||
|
"placeholder": "会强行插入该轮对话,能有效抑制抱歉",
|
||||||
|
"data": "chatExampleUser3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "textarea",
|
||||||
|
"label": "前置对话第三轮(AI)",
|
||||||
|
"placeholder": "会强行插入该轮对话,能有效抑制抱歉",
|
||||||
|
"data": "chatExampleBot3"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -1029,6 +1070,12 @@
|
||||||
"value": "prefix"
|
"value": "prefix"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"label": "主动发起聊天群聊的群号",
|
||||||
|
"placeholder": "在这些群聊里会不定时主动说一些随机的打招呼的话,用英文逗号隔开。必须配置了OpenAI Key",
|
||||||
|
"data": "initiativeChatGroups"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ import fetch, { FormData } from 'node-fetch'
|
||||||
import { makeForwardMsg } from './common.js'
|
import { makeForwardMsg } from './common.js'
|
||||||
import { Config } from './config.js'
|
import { Config } from './config.js'
|
||||||
import { getProxy } from './proxy.js'
|
import { getProxy } from './proxy.js'
|
||||||
|
import crypto from 'crypto'
|
||||||
|
|
||||||
let proxy = getProxy()
|
let proxy = getProxy()
|
||||||
export default class BingDrawClient {
|
export default class BingDrawClient {
|
||||||
|
|
@ -47,7 +48,7 @@ export default class BingDrawClient {
|
||||||
}
|
}
|
||||||
// headers['x-forwarded-for'] = '141.11.138.30'
|
// headers['x-forwarded-for'] = '141.11.138.30'
|
||||||
let body = new FormData()
|
let body = new FormData()
|
||||||
body.append('q', prompt)
|
body.append('q', urlEncodedPrompt)
|
||||||
body.append('qs', 'ds')
|
body.append('qs', 'ds')
|
||||||
let fetchOptions = {
|
let fetchOptions = {
|
||||||
headers
|
headers
|
||||||
|
|
@ -65,6 +66,9 @@ export default class BingDrawClient {
|
||||||
throw new Error('Your prompt has been blocked by Bing. Try to change any bad words and try again.')
|
throw new Error('Your prompt has been blocked by Bing. Try to change any bad words and try again.')
|
||||||
}
|
}
|
||||||
if (response.status !== 302) {
|
if (response.status !== 302) {
|
||||||
|
if (this.debug) {
|
||||||
|
console.debug(`第一次重试绘图:${prompt}`)
|
||||||
|
}
|
||||||
url = `${this.opts.baseUrl}/images/create?q=${urlEncodedPrompt}&rt=3&FORM=GENCRE`
|
url = `${this.opts.baseUrl}/images/create?q=${urlEncodedPrompt}&rt=3&FORM=GENCRE`
|
||||||
response = await fetch(url, Object.assign(fetchOptions, { body, redirect: 'manual', method: 'POST', credentials: 'include' }))
|
response = await fetch(url, Object.assign(fetchOptions, { body, redirect: 'manual', method: 'POST', credentials: 'include' }))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -386,7 +386,7 @@ export default class SydneyAIClient {
|
||||||
}
|
}
|
||||||
let optionsSets = getOptionSet(Config.toneStyle, Config.enableGenerateContents)
|
let optionsSets = getOptionSet(Config.toneStyle, Config.enableGenerateContents)
|
||||||
let source = 'cib-ccp'; let gptId = 'copilot'
|
let source = 'cib-ccp'; let gptId = 'copilot'
|
||||||
if (!Config.sydneyEnableSearch || toSummaryFileContent?.content) {
|
if ((!Config.sydneyEnableSearch && !Config.enableGenerateContents) || toSummaryFileContent?.content) {
|
||||||
optionsSets.push(...['nosearchall'])
|
optionsSets.push(...['nosearchall'])
|
||||||
}
|
}
|
||||||
if (isPro) {
|
if (isPro) {
|
||||||
|
|
@ -430,7 +430,9 @@ export default class SydneyAIClient {
|
||||||
'SemanticSerp',
|
'SemanticSerp',
|
||||||
'GenerateContentQuery',
|
'GenerateContentQuery',
|
||||||
'SearchQuery',
|
'SearchQuery',
|
||||||
'GeneratedCode'
|
'GeneratedCode',
|
||||||
|
// 'InternalTasksMessage',
|
||||||
|
// 'Disclaimer'
|
||||||
],
|
],
|
||||||
sliceIds: [],
|
sliceIds: [],
|
||||||
requestId: crypto.randomUUID(),
|
requestId: crypto.randomUUID(),
|
||||||
|
|
@ -1025,8 +1027,5 @@ function getOptionSet (tone, generateContent = false) {
|
||||||
])
|
])
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
if (generateContent) {
|
|
||||||
optionset.push('gencontentv3')
|
|
||||||
}
|
|
||||||
return optionset
|
return optionset
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue