diff --git a/components/md/renderer.vue b/components/md/renderer.vue index a8f2bb745e035b76c3267c392c4a050068541382..b07a27268be636811867448a6cb1edd2ff46ad80 100644 --- a/components/md/renderer.vue +++ b/components/md/renderer.vue @@ -23,7 +23,7 @@ const initMarkdownIt = new MarkdownIt({ } catch (__) {} } - return '
' + md.utils.escapeHtml(str) + '
'; + return '
' + initMarkdownIt.utils.escapeHtml(str) + '
'; } }) const handleRenderMd = () => { diff --git a/pages/search/[id].vue b/pages/search/[id].vue index 3077af19a4fda3007252d9b062a46adcb920c8e8..2d7984c9736f4816a2b325e1939ac0c7e1163462 100644 --- a/pages/search/[id].vue +++ b/pages/search/[id].vue @@ -47,7 +47,7 @@ @@ -62,7 +62,7 @@ -
+
来源
@@ -182,9 +182,11 @@ const handleContinueAsk = (question) => { if (asking.value) return; asking.value = true; } -// 处理generate + +// 处理ai generate let aiChatController = null; // 用户取消操作方法 const markedEnd = '[DONE]'; +let storeSource = []; const handleFormFetchData = (fetchData) => { let message = {}; try { @@ -195,22 +197,35 @@ const handleFormFetchData = (fetchData) => { if (Object.keys(message).length === 0) return; const index = data.value.length === 0 ? 0 : data.value.length - 1; data.value[index] = data.value[index] || {}; - if (message.meta.type === 'answer') { + const { meta, choices } = message; + if (meta.type === 'answer') { Object.assign(data.value[index], { question: state.query, article: message.choices[0].message.content }) - } else if (message.meta.type === 'log') { - console.log('log', JSON.stringify(message)) - } else if (message.meta.type === 'rephrase_question') { - Object.assign(data.value[index], { - description: message.choices[0].message.content - }) + return; + } + if (meta.type === 'log') { + if (meta.action === 'rephrase_question') { + Object.assign(data.value[index], { description: choices[0].message.content }) + } else if (meta.action === 'search_file') { + let source = choices[0].message.content; + storeSource = source.split('\n').map(item => { + return { + label: item, + link: '', + repo: '' + } + }); + } } } const handleMessage = (event) => { if (event.data === markedEnd) { asking.value = false; + const index = data.value.length === 0 ? 0 : data.value.length - 1; + data.value[index] = data.value[index] || {}; + Object.assign(data.value[index], { source: storeSource }); return; } handleFormFetchData(event.data)