From 577cf5c6f68aa4223f280e3184d30ea971474ed9 Mon Sep 17 00:00:00 2001 From: James Feng Cao Date: Sat, 15 Apr 2023 20:50:39 +0800 Subject: [PATCH] sync bingAI --- en/searchurl/bingAI/js/bingChatHub.js | 91 +----------------- en/searchurl/bingAI/js/optionsSets.js | 129 ++++++++++++++++++++------ 2 files changed, 107 insertions(+), 113 deletions(-) diff --git a/en/searchurl/bingAI/js/bingChatHub.js b/en/searchurl/bingAI/js/bingChatHub.js index eb391f4..a0a1c8d 100644 --- a/en/searchurl/bingAI/js/bingChatHub.js +++ b/en/searchurl/bingAI/js/bingChatHub.js @@ -1,30 +1,12 @@ var expUrl = new RegExp('^(https?://)([-a-zA-z0-9]+\\.)+([-a-zA-z0-9]+)+\\S*$'); -function timeString() { - var d = new Date(); - var year = d.getFullYear(); - var month = (d.getMonth() + 1).toString().padStart(2, "0"); - var date = d.getDate().toString().padStart(2, "0"); - var hour = d.getHours().toString().padStart(2, "0"); - var minute = d.getMinutes().toString().padStart(2, "0"); - var second = d.getSeconds().toString().padStart(2, "0"); - var offset = "+08:00"; // 你可以根据需要修改这个值 - var s = year + "-" + month + "-" + date + "T" + hour + ":" + minute + ":" + second + offset; - return s; -} - function getUuidNojian() { return URL.createObjectURL(new Blob()).split('/')[3].replace(/-/g, ''); } -function getUuid() { - return URL.createObjectURL(new Blob()).split('/')[3]; -} - class SendMessageManager { //(会话id,客户端id,签名id,是否是开始) //(string,string,string,boolena) constructor(conversationId, clientId, conversationSignature,invocationId) { - this.startTime = timeString(); this.invocationId = invocationId==undefined?1:invocationId; this.conversationId = conversationId; this.clientId = clientId; @@ -53,80 +35,18 @@ class SendMessageManager { } //获取用于发送的聊天数据 //(WebSocket,sreing) - sendChatMessage(chatWebSocket, chat) { - let pos = ['','','']; //initial 3 suggestions - let previousMessages = [{ - "text": '', - "author": "bot", - "adaptiveCards": [], - "suggestedResponses": [{ - "text": pos[0], - "contentOrigin": "DeepLeo", - "messageType": "Suggestion", - "messageId": getUuid(), - "offense": "Unknown" - }, { - "text": pos[1], - "contentOrigin": "DeepLeo", - "messageType": "Suggestion", - "messageId": getUuid(), - "offense": "Unknown" - }, { - "text": pos[2], - "contentOrigin": "DeepLeo", - "messageType": "Suggestion", - "messageId": getUuid(), - "offense": "Unknown" - }], - "messageId": getUuid(), - "messageType": "Chat" - }]; + async sendChatMessage(chatWebSocket, chat) { + let optionsSets = chatTypes[this.optionsSets]; let json = { "arguments": [{ - "source": "cib", - "optionsSets": this.optionsSets, + "source": source, + "optionsSets": optionsSets, "allowedMessageTypes": allowedMessageTypes, "sliceIds": sliceIds, "verbosity": "verbose", "traceId": getUuidNojian(), "isStartOfSession": (this.invocationId <= 1) ? true : false, - "message": { - "locale": "zh-CN", - "market": "zh-CN", - "region": "US", - "location": "lat:47.639557;long:-122.128159;re=1000m;", - "locationHints": [ - { - "Center": { - "Latitude": 30.474109798833613, - "Longitude": 114.39626256171093 - }, - "RegionType": 2, - "SourceType": 11 - }, - { - "country": "United States", - "state": "California", - "city": "Los Angeles", - "zipcode": "90060", - "timezoneoffset": -8, - "dma": 803, - "countryConfidence": 8, - "cityConfidence": 5, - "Center": { - "Latitude": 33.9757, - "Longitude": -118.2564 - }, - "RegionType": 2, - "SourceType": 1 - } - ], - "timestamp": this.startTime, - "author": "user", - "inputMethod": "Keyboard", - "text": chat, - "messageType": "Chat" - }, + "message": await generateMessages(this,chat), "conversationSignature": this.conversationSignature, "participant": { "id": this.clientId @@ -140,7 +60,6 @@ class SendMessageManager { }; this.sendJson(chatWebSocket, json); this.invocationId++; - setLastInvocationId(this.invocationId); } } diff --git a/en/searchurl/bingAI/js/optionsSets.js b/en/searchurl/bingAI/js/optionsSets.js index fbd6119..d9934a5 100644 --- a/en/searchurl/bingAI/js/optionsSets.js +++ b/en/searchurl/bingAI/js/optionsSets.js @@ -8,10 +8,11 @@ let chatTypes = { "responsible_ai_policy_235", "enablemm", "h3imaginative", - "jbf101", + "responseos", "cachewriteext", "e2ecachewrite", "nodlcpcwrite", + "travelansgnd", "dv3sugg", "clgalileo", "gencontentv3" @@ -24,31 +25,39 @@ let chatTypes = { "responsible_ai_policy_235", "enablemm", "galileo", - "jbf101", + "responseos", "cachewriteext", "e2ecachewrite", "nodlcpcwrite", - "dv3sugg", - "dlwebtrunc", - "glpromptv6" + "travelansgnd", + "dv3sugg" ], //精准选项 accurate: [ - "nlu_direct_response_filter", - "deepleo", - "disable_emoji_spoken_text", - "responsible_ai_policy_235", - "enablemm", - "h3precise", - "clgalileo", - "jbf101", - "cachewriteext", - "e2ecachewrite", - "nodlcpcwrite", - "dv3sugg" + "chk1cf", + "nopreloadsscf", + "winlongmsg2tf", + "perfimpcomb", + "sugdivdis", + "sydnoinputt", + "wpcssopt", + "wintone2tf", + "0404sydicnbs0", + "405suggbs0", + "scctl", + "330uaugs0", + "0329resp", + "udscahrfon", + "udstrblm5", + "404e2ewrt", + "408nodedups0", + "403tvlansgnd" ] } +//消息来源 +let source = "cib"; + //接收消息类型 let allowedMessageTypes = [ "Chat", @@ -65,21 +74,87 @@ let allowedMessageTypes = [ //切片id,也不知道是啥意思,反正官网的更新了 let sliceIds = [ - "audseq", - "chk1cln", - "nofbkcf", - "nosharepre", - "fixsacodecf", + "chk1cf", + "nopreloadsscf", + "winlongmsg2tf", + "perfimpcomb", + "sugdivdis", + "sydnoinputt", + "wpcssopt", + "wintone2tf", + "0404sydicnbs0", "405suggbs0", "scctl", - "403jbf101", - "udstrclm8cmp", - "udstrclm8", - "329v6webtrunc", - "404e2ewrt" + "330uaugs0", + "0329resp", + "udscahrfon", + "udstrblm5", + "404e2ewrt", + "408nodedups0", + "403tvlansgnd" ] + + +//生成消息对象 +async function generateMessages(sendMessageManager/*消息管理器*/,chatMessageText/*要发送的消息文本*/){ + function timeString() { + var d = new Date(); + var year = d.getFullYear(); + var month = (d.getMonth() + 1).toString().padStart(2, "0"); + var date = d.getDate().toString().padStart(2, "0"); + var hour = d.getHours().toString().padStart(2, "0"); + var minute = d.getMinutes().toString().padStart(2, "0"); + var second = d.getSeconds().toString().padStart(2, "0"); + var offset = "+08:00"; // 你可以根据需要修改这个值 + var s = year + "-" + month + "-" + date + "T" + hour + ":" + minute + ":" + second + offset; + return s; + } + + if(!sendMessageManager.startTime){ + sendMessageManager.startTime = timeString(); + } + return { + "locale": "zh-CN", + "market": "zh-CN", + "region": "US", + "location": "lat:47.639557;long:-122.128159;re=1000m;", + "locationHints": [ + { + "Center": { + "Latitude": 30.474109798833613, + "Longitude": 114.39626256171093 + }, + "RegionType": 2, + "SourceType": 11 + }, + { + "country": "United States", + "state": "California", + "city": "Los Angeles", + "zipcode": "90060", + "timezoneoffset": -8, + "dma": 803, + "countryConfidence": 8, + "cityConfidence": 5, + "Center": { + "Latitude": 33.9757, + "Longitude": -118.2564 + }, + "RegionType": 2, + "SourceType": 1 + } + ], + "timestamp": sendMessageManager.startTime, + "author": "user", + "inputMethod": "Keyboard", + "text": chatMessageText, + "messageType": "Chat" + } + +} + async function getPreviousMessages(){ function getUuid() { return URL.createObjectURL(new Blob()).split('/')[3];