From 95ad03bdf108f7d81f2768334b2cbbc32b71f77b Mon Sep 17 00:00:00 2001 From: xjs Date: Fri, 29 May 2026 10:23:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20ai=E5=9F=BA=E7=A1=80=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages-ai/ai/index.vue | 21 ++++++++------------- src/pages-ai/components/agent-config.ts | 24 +++++++++++++++++++++--- src/pages-ai/components/agent-service.ts | 5 ++++- src/pages/index/index.vue | 1 - 4 files changed, 33 insertions(+), 18 deletions(-) diff --git a/src/pages-ai/ai/index.vue b/src/pages-ai/ai/index.vue index 4bc9b97..3f3e1c9 100644 --- a/src/pages-ai/ai/index.vue +++ b/src/pages-ai/ai/index.vue @@ -3,7 +3,7 @@ import type { AgentConfig, ModelConfig } from '../components/agent-config' import type { AiMessage } from '@/store/ai' import { useAiStore } from '@/store' import { - defaultAgentConfig, + defaultModelAgentConfig, defaultModelConfig, generateMessageId, } from '../components/agent-config' @@ -17,7 +17,10 @@ definePage({ }, }) -const agentConfig = reactive({ ...defaultAgentConfig }) +const agentConfig = reactive({ + // 当前页面默认走模型直连;如需切回 bot,改成 ...defaultAgentConfig + ...defaultModelAgentConfig, +}) const modelConfig = reactive({ ...defaultModelConfig }) const aiStore = useAiStore() @@ -41,14 +44,6 @@ onLoad(() => { aiStore.ensureThreadId() - wx.cloud.extend.AI.bot.getRecommendQuestions({ - data: { - botId: 'agent-wxai-4gl75um61026324f', - msg: '你是谁', - }, - }).then((resp) => { - console.log(resp) - }) }) // z-paging 聊天模式:第一页直接把 store 里的历史灌给它 @@ -124,9 +119,9 @@ async function handleSend(text: string) { // 当前 V2 agent 后端不支持 getRecommendQuestions(端点 404),先关掉这一调用。 // 等切换到 bot-xxx 旧版 agent 或后端补上对应路由再开启。 - // if (!cancelFlag) { - // void loadRecommendQuestions(aiMsg.id, text) - // } + if (!cancelFlag) { + void loadRecommendQuestions(aiMsg.id, text) + } } catch (err) { aiStore.updateMessage(aiMsg.id, { diff --git a/src/pages-ai/components/agent-config.ts b/src/pages-ai/components/agent-config.ts index fc55771..8aa37fa 100644 --- a/src/pages-ai/components/agent-config.ts +++ b/src/pages-ai/components/agent-config.ts @@ -21,7 +21,7 @@ export interface AgentConfig { } export interface ModelConfig { - /** 模型 provider,如 'cloudbase' / 'youtu' / 'hunyuan' */ + /** createModel 的 provider / GroupName,如 'cloudbase' / 'hunyuan-exp' / 'custom-xxx' */ modelProvider: string /** 具体的模型 ID */ quickResponseModel: string @@ -43,12 +43,30 @@ export const defaultAgentConfig: AgentConfig = { ], } +/** + * model 模式配置示例: + * 1. 把 defaultAgentConfig.chatMode 改成 'model' + * 2. createModel 传 provider / GroupName,具体模型写在 quickResponseModel + * + * 对应调用示例: + * wx.cloud.extend.AI.createModel('cloudbase').streamText({ + * data: { model: 'hy3-preview', messages: [...] }, + * }) + */ export const defaultModelConfig: ModelConfig = { - modelProvider: 'youtu-intent-pro', - quickResponseModel: '', + modelProvider: 'hunyuan-v3', + quickResponseModel: 'hy3-preview', logo: '', } +/** 切换到 model 模式时可直接复用的示例 */ +export const defaultModelAgentConfig: AgentConfig = { + ...defaultAgentConfig, + chatMode: 'bot', + botName: 'AI 模型助手', + welcomeMsg: '你好,我是 AI 模型助手,可以直接用大模型和你对话。', +} + export function generateMessageId() { const timestamp = Date.now().toString().slice(-8) const random = Math.floor(Math.random() * 10000).toString().padStart(4, '0') diff --git a/src/pages-ai/components/agent-service.ts b/src/pages-ai/components/agent-service.ts index 2dd627f..240600d 100644 --- a/src/pages-ai/components/agent-service.ts +++ b/src/pages-ai/components/agent-service.ts @@ -51,8 +51,9 @@ export interface SendMessageOptions { export async function streamMessage(options: SendMessageOptions): Promise { if (options.chatMode === 'model') { return streamModel(options) + }else{ + return streamBot(options) } - return streamBot(options) } // ---------- bot 模式:wx.cloud.extend.AI.bot.sendMessage ---------- @@ -140,6 +141,8 @@ async function streamModel(options: SendMessageOptions): Promise { // #ifdef MP-WEIXIN const ai = wx.cloud.extend.AI const aiModel = ai.createModel(modelProvider) + console.log("aimodel创建",aiModel); + const res = await aiModel.streamText({ data: { model: quickResponseModel, diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index d4e313c..7bfe4a6 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -29,7 +29,6 @@ definePage({ // #endif const tokenStore = useTokenStore() -console.log(systemInfo); onShareAppMessage(() => { return {