diff --git a/resources/view/setting_view.json b/resources/view/setting_view.json index b2cddd0..5eaf4e7 100644 --- a/resources/view/setting_view.json +++ b/resources/view/setting_view.json @@ -500,6 +500,11 @@ "label": "是否允许机器人读取近期的群聊聊天记录", "data": "enableGroupContext" }, + { + "type": "check", + "label": "是否允许必应进行搜索", + "data": "sydneyEnableSearch" + }, { "type": "number", "label": "允许机器人读取近期的最多群聊聊天记录条数", @@ -581,6 +586,42 @@ "label": "第三方绘图", "placeholder": "使用AP插件代替Bing进行绘图", "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" } ] + }, + { + "type": "text", + "label": "主动发起聊天群聊的群号", + "placeholder": "在这些群聊里会不定时主动说一些随机的打招呼的话,用英文逗号隔开。必须配置了OpenAI Key", + "data": "initiativeChatGroups" } ] }, diff --git a/utils/BingDraw.js b/utils/BingDraw.js index e7fb736..4d9ba8e 100644 --- a/utils/BingDraw.js +++ b/utils/BingDraw.js @@ -2,6 +2,7 @@ import fetch, { FormData } from 'node-fetch' import { makeForwardMsg } from './common.js' import { Config } from './config.js' import { getProxy } from './proxy.js' +import crypto from 'crypto' let proxy = getProxy() export default class BingDrawClient { @@ -47,7 +48,7 @@ export default class BingDrawClient { } // headers['x-forwarded-for'] = '141.11.138.30' let body = new FormData() - body.append('q', prompt) + body.append('q', urlEncodedPrompt) body.append('qs', 'ds') let fetchOptions = { 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.') } if (response.status !== 302) { + if (this.debug) { + console.debug(`第一次重试绘图:${prompt}`) + } 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' })) } diff --git a/utils/SydneyAIClient.js b/utils/SydneyAIClient.js index 327d2b7..3d890d2 100644 --- a/utils/SydneyAIClient.js +++ b/utils/SydneyAIClient.js @@ -386,7 +386,7 @@ export default class SydneyAIClient { } let optionsSets = getOptionSet(Config.toneStyle, Config.enableGenerateContents) let source = 'cib-ccp'; let gptId = 'copilot' - if (!Config.sydneyEnableSearch || toSummaryFileContent?.content) { + if ((!Config.sydneyEnableSearch && !Config.enableGenerateContents) || toSummaryFileContent?.content) { optionsSets.push(...['nosearchall']) } if (isPro) { @@ -430,7 +430,9 @@ export default class SydneyAIClient { 'SemanticSerp', 'GenerateContentQuery', 'SearchQuery', - 'GeneratedCode' + 'GeneratedCode', + // 'InternalTasksMessage', + // 'Disclaimer' ], sliceIds: [], requestId: crypto.randomUUID(), @@ -1025,8 +1027,5 @@ function getOptionSet (tone, generateContent = false) { ]) break } - if (generateContent) { - optionset.push('gencontentv3') - } return optionset }