fix Poe AI "Clear Context" (#349)

This commit is contained in:
josc146
2023-06-12 23:53:00 +08:00
parent 4f162d2678
commit 802d87ef93
9 changed files with 39 additions and 13 deletions
+13 -4
View File
@@ -9,10 +9,16 @@ import PoeAiClient from '../clients/poe/index.mjs'
*/
export async function generateAnswersWithPoeWebApi(port, question, session, modelName) {
const bot = new PoeAiClient(session.poe_chatId)
const { messageListener } = setAbortController(port, () => {
bot.breakMsg()
bot.close()
})
const { messageListener, disconnectListener } = setAbortController(
port,
() => {
bot.close()
},
() => {
bot.breakMsg()
bot.close()
},
)
let answer = ''
await bot
@@ -29,12 +35,15 @@ export async function generateAnswersWithPoeWebApi(port, question, session, mode
pushRecord(session, question, answer)
console.debug('conversation history', { content: session.conversationRecords })
port.onMessage.removeListener(messageListener)
if (session.conversationRecords.length > 1)
port.onDisconnect.removeListener(disconnectListener)
port.postMessage({ answer: answer, done: true, session: session })
bot.close()
},
)
.catch((err) => {
port.onMessage.removeListener(messageListener)
port.onDisconnect.removeListener(disconnectListener)
bot.close()
throw err
})