gimc-ai-agent 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2131,7 +2131,7 @@ const v = new HN(), gN = ["src"], ON = { class: "dialog-header" }, wN = { class:
2131
2131
  width: { default: 560 },
2132
2132
  welcomeText: { default: "有任何问题,随时问我~" },
2133
2133
  idleTimeout: { default: 18e4 },
2134
- typingSpeed: { default: 30 },
2134
+ typingSpeed: { default: 10 },
2135
2135
  showSatisfaction: { type: Boolean, default: !0 },
2136
2136
  showFeedback: { type: Boolean, default: !0 },
2137
2137
  token: {}
@@ -3102,7 +3102,7 @@ const vE = (V, U) => {
3102
3102
  for (const [Z, N] of U)
3103
3103
  R[Z] = N;
3104
3104
  return R;
3105
- }, uE = /* @__PURE__ */ vE(qE, [["__scopeId", "data-v-ad025ce9"]]), VM = {
3105
+ }, uE = /* @__PURE__ */ vE(qE, [["__scopeId", "data-v-63574226"]]), VM = {
3106
3106
  install(V) {
3107
3107
  V.component("GimcAiAgent", uE);
3108
3108
  }
@@ -4,4 +4,4 @@
4
4
  `+M.map(yU).join(`
5
5
  `):" "+yU(M[0]):"as no adapter specified";throw new J("There is no suitable adapter to dispatch the request "+W,"ERR_NOT_SUPPORT")}return E}const LU={getAdapter:aZ,adapters:PV};function fV(V){if(V.cancelToken&&V.cancelToken.throwIfRequested(),V.signal&&V.signal.aborted)throw new TV(null,V)}function rU(V){return fV(V),V.headers=f.from(V.headers),V.data=uV.call(V,V.transformRequest),["post","put","patch"].indexOf(V.method)!==-1&&V.headers.setContentType("application/x-www-form-urlencoded",!1),LU.getAdapter(V.adapter||qV.adapter,V)(V).then(function(N){return fV(V),N.data=uV.call(V,V.transformResponse,N),N.headers=f.from(N.headers),N},function(N){return HU(N)||(fV(V),N&&N.response&&(N.response.data=uV.call(V,V.transformResponse,N.response),N.response.headers=f.from(N.response.headers))),Promise.reject(N)})}const sU="1.13.2",CV={};["object","boolean","number","function","string","symbol"].forEach((V,U)=>{CV[V]=function(N){return typeof N===V||"a"+(U<1?"n ":" ")+V}});const qU={};CV.transitional=function(U,Z,N){function E(d,M){return"[Axios v"+sU+"] Transitional option '"+d+"'"+M+(N?". "+N:"")}return(d,M,W)=>{if(U===!1)throw new J(E(M," has been removed"+(Z?" in "+Z:"")),J.ERR_DEPRECATED);return Z&&!qU[M]&&(qU[M]=!0,console.warn(E(M," has been deprecated since v"+Z+" and will be removed in the near future"))),U?U(d,M,W):!0}},CV.spelling=function(U){return(Z,N)=>(console.warn(`${N} is likely a misspelling of ${U}`),!0)};function DZ(V,U,Z){if(typeof V!="object")throw new J("options must be an object",J.ERR_BAD_OPTION_VALUE);const N=Object.keys(V);let E=N.length;for(;E-- >0;){const d=N[E],M=U[d];if(M){const W=V[d],k=W===void 0||M(W,d,V);if(k!==!0)throw new J("option "+d+" must be "+k,J.ERR_BAD_OPTION_VALUE);continue}if(Z!==!0)throw new J("Unknown option "+d,J.ERR_BAD_OPTION)}}const jV={assertOptions:DZ,validators:CV},_=jV.validators;class pV{constructor(U){this.defaults=U||{},this.interceptors={request:new DU,response:new DU}}async request(U,Z){try{return await this._request(U,Z)}catch(N){if(N instanceof Error){let E={};Error.captureStackTrace?Error.captureStackTrace(E):E=new Error;const d=E.stack?E.stack.replace(/^.+\n/,""):"";try{N.stack?d&&!String(N.stack).endsWith(d.replace(/^.+\n.+\n/,""))&&(N.stack+=`
6
6
  `+d):N.stack=d}catch{}}throw N}}_request(U,Z){typeof U=="string"?(Z=Z||{},Z.url=U):Z=U||{},Z=dV(this.defaults,Z);const{transitional:N,paramsSerializer:E,headers:d}=Z;N!==void 0&&jV.assertOptions(N,{silentJSONParsing:_.transitional(_.boolean),forcedJSONParsing:_.transitional(_.boolean),clarifyTimeoutError:_.transitional(_.boolean)},!1),E!=null&&(F.isFunction(E)?Z.paramsSerializer={serialize:E}:jV.assertOptions(E,{encode:_.function,serialize:_.function},!0)),Z.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?Z.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:Z.allowAbsoluteUrls=!0),jV.assertOptions(Z,{baseUrl:_.spelling("baseURL"),withXsrfToken:_.spelling("withXSRFToken")},!0),Z.method=(Z.method||this.defaults.method||"get").toLowerCase();let M=d&&F.merge(d.common,d[Z.method]);d&&F.forEach(["delete","get","head","post","put","patch","common"],h=>{delete d[h]}),Z.headers=f.concat(M,d);const W=[];let k=!0;this.interceptors.request.forEach(function(m){typeof m.runWhen=="function"&&m.runWhen(Z)===!1||(k=k&&m.synchronous,W.unshift(m.fulfilled,m.rejected))});const l=[];this.interceptors.response.forEach(function(m){l.push(m.fulfilled,m.rejected)});let Q,B=0,I;if(!k){const h=[rU.bind(this),void 0];for(h.unshift(...W),h.push(...l),I=h.length,Q=Promise.resolve(Z);B<I;)Q=Q.then(h[B++],h[B++]);return Q}I=W.length;let D=Z;for(;B<I;){const h=W[B++],m=W[B++];try{D=h(D)}catch(Y){m.call(this,Y);break}}try{Q=rU.call(this,D)}catch(h){return Promise.reject(h)}for(B=0,I=l.length;B<I;)Q=Q.then(l[B++],l[B++]);return Q}getUri(U){U=dV(this.defaults,U);const Z=xU(U.baseURL,U.url,U.allowAbsoluteUrls);return aU(Z,U.params,U.paramsSerializer)}}F.forEach(["delete","get","head","options"],function(U){pV.prototype[U]=function(Z,N){return this.request(dV(N||{},{method:U,url:Z,data:(N||{}).data}))}}),F.forEach(["post","put","patch"],function(U){function Z(N){return function(d,M,W){return this.request(dV(W||{},{method:U,headers:N?{"Content-Type":"multipart/form-data"}:{},url:d,data:M}))}}pV.prototype[U]=Z(),pV.prototype[U+"Form"]=Z(!0)});const HV=pV;class _V{constructor(U){if(typeof U!="function")throw new TypeError("executor must be a function.");let Z;this.promise=new Promise(function(d){Z=d});const N=this;this.promise.then(E=>{if(!N._listeners)return;let d=N._listeners.length;for(;d-- >0;)N._listeners[d](E);N._listeners=null}),this.promise.then=E=>{let d;const M=new Promise(W=>{N.subscribe(W),d=W}).then(E);return M.cancel=function(){N.unsubscribe(d)},M},U(function(d,M,W){N.reason||(N.reason=new TV(d,M,W),Z(N.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(U){if(this.reason){U(this.reason);return}this._listeners?this._listeners.push(U):this._listeners=[U]}unsubscribe(U){if(!this._listeners)return;const Z=this._listeners.indexOf(U);Z!==-1&&this._listeners.splice(Z,1)}toAbortSignal(){const U=new AbortController,Z=N=>{U.abort(N)};return this.subscribe(Z),U.signal.unsubscribe=()=>this.unsubscribe(Z),U.signal}static source(){let U;return{token:new _V(function(E){U=E}),cancel:U}}}const CZ=_V;function jZ(V){return function(Z){return V.apply(null,Z)}}function pZ(V){return F.isObject(V)&&V.isAxiosError===!0}const $V={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries($V).forEach(([V,U])=>{$V[U]=V});const HZ=$V;function vU(V){const U=new HV(V),Z=TU(HV.prototype.request,U);return F.extend(Z,HV.prototype,U,{allOwnKeys:!0}),F.extend(Z,U,null,{allOwnKeys:!0}),Z.create=function(E){return vU(dV(V,E))},Z}const p=vU(qV);p.Axios=HV,p.CanceledError=TV,p.CancelToken=CZ,p.isCancel=HU,p.VERSION=sU,p.toFormData=cV,p.AxiosError=J,p.Cancel=p.CanceledError,p.all=function(U){return Promise.all(U)},p.spread=jZ,p.isAxiosError=pZ,p.mergeConfig=dV,p.AxiosHeaders=f,p.formToJSON=V=>jU(F.isHTMLForm(V)?new FormData(V):V),p.getAdapter=LU.getAdapter,p.HttpStatusCode=HZ,p.default=p;const uU=p,VU=uU.create({baseURL:"http://dev-api.gw.gimccloud.com:32619/lxai-web-api",timeout:6e4,withCredentials:!0,headers:{"Cache-Control":"no-cache","If-Modified-Since":"0"}});VU.interceptors.request.use(V=>{const U=EV.getToken()||localStorage.getItem("gimc-ai-agent-token");return U&&V.url&&!V.url.includes("oauth2")&&(V.headers.Authorization=`bearer ${U}`),V},V=>Promise.reject(V)),VU.interceptors.response.use(async V=>{var Z,N;const U=V.data;if(U instanceof Blob)return Promise.resolve(V);if((N=(Z=V==null?void 0:V.config)==null?void 0:Z.url)!=null&&N.includes("/logout")&&U.code===400||(U==null?void 0:U.code)===401)return localStorage.removeItem("gimc-ai-agent-token"),Promise.reject(V);if((U==null?void 0:U.code)===200)return Promise.resolve(V);if(U.code===403&&U.body){const E=location.host;return U.body.includes&&!U.body.includes(E)&&localStorage.removeItem("gimc-ai-agent-token"),location.href=U.body,Promise.reject(V)}return q.ElMessage({message:U.message,type:"error",duration:1e3}),Promise.reject(V)},V=>uU.isCancel(V)?new Promise(()=>{}):(q.ElMessage({message:V.message,type:"error",duration:1e3}),Promise.reject(V)));const gV=V=>{const U=V;return new Promise((Z,N)=>{VU.request(U).then(E=>{if(E.data instanceof Blob)Z(E);else{const{data:{body:d}}=E;Z(d)}}).catch(E=>{N(E)})})};function kV(V){return gV({...V,method:"GET"})}function PU(V){return gV({...V,method:"POST"})}function gZ(V){return gV({...V,method:"PUT"})}function OZ(V){return gV({...V,method:"DELETE"})}class wZ{askStream(U,Z,N,E){const d="http://dev-api.gw.gimccloud.com:32619/lxai-web-api";if(!(EV.getToken()||localStorage.getItem("gimc-ai-agent-token")))return console.error("Token not found"),N==null||N({message:"Token not found"}),null;const W=new URLSearchParams;U.sid&&W.append("sid",U.sid.toString()),W.append("q",U.q),W.append("ragKnowledgeId",U.ragKnowledgeId.toString()),U.contractFileUrl&&W.append("contractFileUrl",U.contractFileUrl),U.contractFileUrlList&&U.contractFileUrlList.forEach(Q=>W.append("contractFileUrlList",Q));const k=`${d}/rag/knowledge/ask/stream?${W.toString()}`,l=new EventSource(k,{withCredentials:!0});return l.onmessage=Q=>{try{const B=JSON.parse(Q.data);B.success&&B.body&&(Z(B.body),B.body.endFlag&&(l.close(),E==null||E()))}catch(B){console.error("Parse SSE message error:",B),N==null||N(B)}},l.onerror=Q=>{console.error("SSE error:",Q),l.close(),N==null||N(Q)},l}async askStreamWithFetch(U,Z,N,E){var k;const d="http://dev-api.gw.gimccloud.com:32619/lxai-web-api",M=EV.getToken()||localStorage.getItem("gimc-ai-agent-token"),W=new AbortController;try{const l=await fetch(`${d}/rag/knowledge/ask/stream`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${M}`,"Cache-Control":"no-cache"},body:JSON.stringify(U),credentials:"include",signal:W.signal});if(!l.ok)throw new Error(`HTTP error! status: ${l.status}`);const Q=(k=l.body)==null?void 0:k.getReader(),B=new TextDecoder;if(!Q)throw new Error("Response body is null");(async()=>{try{for(;;){const{done:D,value:h}=await Q.read();if(D){E==null||E();break}const Y=B.decode(h,{stream:!0}).split(`
7
- `);for(const c of Y)if(c.startsWith("data:"))try{const j=c.substring(5).trim();if(j){const z=JSON.parse(j);if(z.success&&z.body&&(Z(z.body),z.body.endFlag)){Q.cancel(),E==null||E();return}}}catch(j){console.error("Parse SSE line error:",j,c)}}}catch(D){D.name!=="AbortError"&&(console.error("Read stream error:",D),N==null||N(D))}})()}catch(l){l.name!=="AbortError"&&(console.error("Fetch stream error:",l),N==null||N(l))}return W}stop(U){return PU({url:"/rag/knowledge/stop",data:{id:U}})}getFiles(U){return kV({url:"/rag/knowledge/getFiles",params:{id:U}})}getSuggestedQuestions(){return kV({url:"/rag/knowledge/suggested-questions"})}getRecommendedQuestions(U,Z){return kV({url:"/rag/knowledge/recommended-questions",params:{sid:U,ragKnowledgeId:Z}})}getSessionList(){return kV({url:"/rag/knowledge/session"})}getSessionMessages(U){return kV({url:`/rag/knowledge/session/${U}/msg`})}addFeedback(U){return PU({url:"/feedback",data:U})}updateFeedback(U){return gZ({url:"/feedback",data:U})}deleteFeedback(U){return OZ({url:`/feedback/${U}`})}}const t=new wZ,xZ=["src"],nZ={class:"dialog-header"},bZ={class:"header-left"},iZ=["src"],KZ={class:"title"},tZ={class:"header-right"},XZ={class:"welcome-section"},eZ={class:"greeting"},oZ={class:"welcome-text"},yZ={key:0,class:"guess-section"},LZ={class:"question-list"},rZ=["onClick"],sZ={class:"question-text"},qZ={key:1,class:"articles-section"},vZ={class:"article-list"},uZ=["onClick"],PZ={class:"article-text"},fZ={key:0,class:"message-item user-message"},_Z={class:"message-bubble user-bubble"},$Z={key:1,class:"message-item ai-message"},VN={class:"message-bubble ai-bubble"},UN=["innerHTML"],RN={class:"feedback-section"},ZN=["onClick"],NN=["onClick"],EN={key:0,class:"feedback-result success"},MN={key:1,class:"feedback-result"},dN={key:0,class:"divider"},FN={key:1,class:"suggestions-section"},WN=["onClick"],TN={class:"timestamp"},QN={class:"message-item ai-message"},lN={class:"message-bubble ai-bubble welcome-bubble",style:{padding:"9px 16px"}},AN={key:1,class:"guess-section in-chat"},hN={class:"question-list"},YN=["onClick"],kN={class:"question-text"},SN={key:0,class:"message-item user-message"},BN={class:"message-bubble user-bubble"},GN={key:1,class:"message-item ai-message"},mN={class:"message-bubble ai-bubble"},JN=["innerHTML"],cN={class:"feedback-section"},IN=["onClick"],zN=["onClick"],aN={key:0,class:"feedback-result success"},DN={key:1,class:"feedback-result"},CN={key:0,class:"divider"},jN={key:1,class:"suggestions-section"},pN=["onClick"],HN={key:2,class:"message-item ai-message"},gN={key:2,class:"satisfaction-section"},ON={class:"satisfaction-options"},wN=["onClick"],xN={class:"satisfaction-icon"},nN={key:0,viewBox:"0 0 24 24",fill:"currentColor"},bN={key:1,viewBox:"0 0 24 24",fill:"currentColor"},iN={key:2,viewBox:"0 0 24 24",fill:"currentColor"},KN={key:3,viewBox:"0 0 24 24",fill:"currentColor"},tN={key:4,viewBox:"0 0 24 24",fill:"currentColor"},XN={class:"satisfaction-label"},eN={key:0,class:"feedback-panel"},oN={class:"feedback-panel-header"},yN={class:"feedback-panel-content"},LN={class:"feedback-panel-footer"},rN={class:"dialog-footer"},sN={key:0,class:"quick-actions"},qN=["onClick"],vN={class:"input-section"},uN={key:1,class:"iconfont icon-zanting"},PN=R.defineComponent({__name:"AiAgent",props:{ragKnowledgeId:{},title:{default:"灵犀AI小助手"},avatar:{},floatIcon:{},position:{},width:{default:560},welcomeText:{default:"有任何问题,随时问我~"},idleTimeout:{default:18e4},typingSpeed:{default:30},showSatisfaction:{type:Boolean,default:!0},showFeedback:{type:Boolean,default:!0},token:{}},emits:["open","close","send","feedback","satisfaction","article-click","session-end"],setup(V,{expose:U,emit:Z}){const N=V,E=Z,d=R.ref(!1),M=R.ref(null),W=R.ref(""),k=R.ref(!1),l=R.ref(!1),Q=R.ref(null),B=R.ref(!1),I=R.ref(null),D=R.ref(!1),h=R.ref(!1),m=R.ref(""),Y=R.ref([]),c=R.ref([]),j=R.ref(!1),z=R.ref([]),O=R.ref([]),n=R.ref([]),C=R.ref({type:"",cannotUnderstandDetail:"",otherDetail:""});let g=null,L=null,a=null;const VV=R.ref(!1),r=R.ref(void 0),b=R.ref(void 0),v=R.ref(!1),UV=[{value:"inaccurate",label:"回答不准确/答非所问"},{value:"incomplete",label:"回答不完整/信息不够"},{value:"unclear",label:"内容表述不清,读不懂"},{value:"mismatch",label:"内容与实际的功能/流程不符"},{value:"cannot_understand",label:"无法理解我的问题(请留下你的需求或问题)"},{value:"typo",label:"内容存在错别字或者无效链接"},{value:"other",label:"其他(关于内容改善的建议)"}],OV=[{value:1,label:"很不满"},{value:2,label:"不满意"},{value:3,label:"一般"},{value:4,label:"满意"},{value:5,label:"很满意"}],u=R.computed(()=>j.value?NR:N.floatIcon||FU),wV=R.computed(()=>N.avatar||WU);console.log(N.position);const $=R.computed(()=>{var A,T;return{right:`${((A=N.position)==null?void 0:A.right)??8}px`,bottom:`${((T=N.position)==null?void 0:T.bottom)??60}px`}}),xV=R.computed(()=>({width:`${N.width}px`})),RU=R.computed(()=>{const A=new Date().getHours();return A<6?"凌晨好":A<9?"早上好":A<12?"上午好":A<14?"中午好":A<17?"下午好":A<19?"傍晚好":"晚上好"}),s=R.computed(()=>W.value.trim().length>0&&!k.value),NV=R.computed(()=>c.value.length===0&&Y.value.length===0?"请在此输入您想要咨询的内容":"请输入您的问题"),SV=async()=>{try{const A=await t.getSuggestedQuestions();z.value=A.map(T=>T.question)}catch(A){console.error("加载猜你想问失败:",A),z.value=[]}},QV=async()=>{O.value=[]},nV=async()=>{try{const A=await t.getFiles(N.ragKnowledgeId);n.value=A.map(T=>({label:T.fileName||"",icon:"icon-wenzhang",url:T.fileUrl}))}catch(A){console.error("加载知识库文档失败:",A),n.value=[]}},_N=async()=>{await Promise.all([SV(),QV(),nV()])},bV=()=>{L&&(clearTimeout(L),L=null),!(VV.value||c.value.length===0&&Y.value.length===0)&&(L=setTimeout(()=>{VV.value=!0,l.value=!0,E("session-end"),R.nextTick(()=>RV())},N.idleTimeout))},fU=()=>{const A=new Date,T=G=>String(G).padStart(2,"0");return`${A.getFullYear()}-${T(A.getMonth()+1)}-${T(A.getDate())} ${T(A.getHours())}:${T(A.getMinutes())}:${T(A.getSeconds())}`},_U=()=>{const A=new Date().toDateString(),T="ai_agent_last_open_date",G=localStorage.getItem(T);(c.value.length>0||Y.value.length>0)&&G!==A?(D.value=!0,m.value=fU(),localStorage.setItem(T,A)):D.value=!1},$N=async()=>{if(!r.value){console.log("没有会话ID,跳过加载历史消息");return}try{const A=await t.getSessionMessages(r.value);A&&A.data&&A.data.length>0?(c.value=[],A.data.forEach(T=>{T.q&&c.value.push({role:"user",content:T.q,timestamp:new Date().toISOString()}),T.a&&T.a.length>0&&T.a.forEach(G=>{if(G.content){const X={role:"assistant",content:G.content,timestamp:G.time||new Date().toISOString(),showFeedback:!0,feedback:G.feedbackType==="POSITIVE"?"resolved":G.feedbackType==="NEGATIVE"?"unresolved":null,feedbackId:G.feedbackId,suggestions:[],isTyping:!1};G.mid&&(b.value=G.mid),c.value.push(X)}})}),R.nextTick(()=>RV()),console.log("历史消息加载成功,共",c.value.length,"条消息")):console.log("没有历史消息")}catch(A){console.error("加载历史消息失败:",A)}},VE=async()=>{d.value=!0,E("open");try{const A=await t.getSessionList();A.ragKnowledgeSessionBos&&A.ragKnowledgeSessionBos.length>0?(r.value=A.ragKnowledgeSessionBos[0].id,console.log("已设置会话ID:",r.value),await $N()):console.log("无历史会话,首次使用")}catch(A){console.error("获取会话列表失败:",A)}},UE=()=>{d.value=!1,E("close")},$U=A=>{const T=/(https?:\/\/[^\s<]+)/g;return A.replace(T,'<a href="$1" target="_blank" class="message-link">$1</a>')},RE=()=>{s.value&&iV(W.value)},ZE=()=>{k.value?v.value&&NE():s.value&&iV(W.value)},iV=async A=>{if(!A.trim())return;VV.value&&(VV.value=!1,l.value=!1,Q.value=null);const T={role:"user",content:A.trim(),timestamp:new Date().toISOString()};Y.value.push(T),W.value="",k.value=!0,v.value=!1,E("send",A.trim()),bV(),await R.nextTick(),RV();try{a=new AbortController;let G="",X=[],e=null;e=await t.askStreamWithFetch({sid:r.value,q:A.trim(),ragKnowledgeId:N.ragKnowledgeId},i=>{if(!(a!=null&&a.signal.aborted)&&(i.sid&&(r.value=i.sid),i.mid&&(b.value=i.mid,v.value=!0),i.content&&(G+=i.content),i.endFlag)){if(a!=null&&a.signal.aborted)return;if(r.value)t.getRecommendedQuestions(r.value,N.ragKnowledgeId).then(ZV=>{if(a!=null&&a.signal.aborted)return;X=ZV||[];const NU={role:"assistant",content:"",fullContent:G,timestamp:new Date().toISOString(),showFeedback:!0,feedback:null,suggestions:X,isTyping:!0};Y.value.push(NU),k.value=!1,ZU(Y.value.length-1,G)}).catch(()=>{if(a!=null&&a.signal.aborted)return;const ZV={role:"assistant",content:"",fullContent:G,timestamp:new Date().toISOString(),showFeedback:!0,feedback:null,suggestions:[],isTyping:!0};Y.value.push(ZV),k.value=!1,ZU(Y.value.length-1,G)});else{const ZV={role:"assistant",content:"",fullContent:G,timestamp:new Date().toISOString(),showFeedback:!0,feedback:null,suggestions:[],isTyping:!0};Y.value.push(ZV),k.value=!1,ZU(Y.value.length-1,G)}}},i=>{if(a!=null&&a.signal.aborted)return;console.error("SSE 错误:",i),k.value=!1;const ZV={role:"assistant",content:"抱歉,发生了错误,请稍后重试。",timestamp:new Date().toISOString(),showFeedback:!1};Y.value.push(ZV),RV()},()=>{console.log("SSE 流结束")}),e&&(a=e)}catch(G){if(G.name==="AbortError")return;k.value=!1;const X={role:"assistant",content:"抱歉,发生了错误,请稍后重试。",timestamp:new Date().toISOString(),showFeedback:!1};Y.value.push(X),RV()}},ZU=(A,T)=>{let G=0;const X=Y.value[A],e=()=>{G<T.length&&X.isTyping?(X.content=T.substring(0,G+1),G++,RV(),g=setTimeout(e,N.typingSpeed)):(X.isTyping=!1,X.content=T,RV(),bV())};e()},NE=async()=>{if(k.value=!1,a&&(a.abort(),a=null),g&&(clearTimeout(g),g=null),b.value)try{await t.stop(b.value),console.log("已通知后端停止生成")}catch(G){console.error("调用停止接口失败:",G)}const A=Y.value.findIndex(G=>G.isTyping);A!==-1&&Y.value.splice(A,1);const T={role:"assistant",content:"你已停止本次回答。",timestamp:new Date().toISOString(),showFeedback:!1,isTyping:!1,suggestions:[]};if(r.value)try{const G=await t.getRecommendedQuestions(r.value,N.ragKnowledgeId);T.suggestions=G||[]}catch(G){console.error("获取推荐问题失败:",G)}Y.value.push(T),R.nextTick(()=>RV()),bV()},KV=A=>{iV(A)},tV=async(A,T)=>{if(A.feedback===T){if(A.feedbackId)try{await t.deleteFeedback(A.feedbackId),console.log("反馈已删除"),A.feedback=null,A.feedbackId=void 0,E("feedback",{messageId:A.timestamp||"",type:"cancel",resolved:!1})}catch(G){console.error("删除反馈失败:",G),q.ElMessage.error("取消反馈失败")}else A.feedback=null;return}if(A.feedback=T,T==="unresolved"){if(!b.value){console.error("消息ID不存在");return}try{const G=await t.addFeedback({mid:b.value,module:"RAG_KNOWLEDGE",feedbackType:"NEGATIVE",satisfactionLevel:"DISSATISFIED"});A.feedbackId=G,I.value=A,C.value={type:"",cannotUnderstandDetail:"",otherDetail:""},B.value=!0,E("feedback",{messageId:A.timestamp||"",type:T,resolved:!1})}catch(G){console.error("提交反馈失败:",G),q.ElMessage.error("反馈提交失败"),A.feedback=null}}else{if(!b.value){console.error("消息ID不存在");return}try{const G=await t.addFeedback({mid:b.value,module:"RAG_KNOWLEDGE",feedbackType:"POSITIVE",satisfactionLevel:"SATISFIED"});A.feedbackId=G,E("feedback",{messageId:A.timestamp||"",type:T,resolved:!0})}catch(G){console.error("提交反馈失败:",G),q.ElMessage.error("反馈提交失败"),A.feedback=null}}},EE=()=>{B.value=!1,I.value&&(I.value.feedback=null),I.value=null},ME=async()=>{if(!C.value.type){q.ElMessage.warning("请选择问题类型");return}if(!I.value||!I.value.feedbackId){console.error("反馈ID不存在"),q.ElMessage.error("反馈提交失败");return}try{const A=C.value.type==="cannot_understand"?C.value.cannotUnderstandDetail:C.value.type==="other"?C.value.otherDetail:"";await t.updateFeedback({id:I.value.feedbackId,content:A}),E("feedback",{messageId:I.value.timestamp||"",type:C.value.type,resolved:!1,detail:A}),B.value=!1,I.value=null,q.ElMessage.success("感谢您的反馈!")}catch(A){console.error("提交反馈失败:",A),q.ElMessage.error("反馈提交失败")}},dE=async A=>{Q.value=A;const G=["VERY_DISSATISFIED","DISSATISFIED","NEUTRAL","SATISFIED","VERY_SATISFIED"][A-1]||"NEUTRAL",e=[...[...c.value,...Y.value]].reverse().find(i=>i.feedbackId);try{if(e&&e.feedbackId)await t.updateFeedback({id:e.feedbackId,satisfactionLevel:G});else{if(!b.value){console.error("消息ID不存在"),q.ElMessage.warning("无法提交评价,请先进行对话");return}await t.addFeedback({mid:b.value,module:"RAG_KNOWLEDGE",feedbackType:"POSITIVE",satisfactionLevel:G})}E("satisfaction",A),q.ElMessage.success("感谢您的评价!")}catch(i){console.error("提交评价失败:",i),q.ElMessage.error("评价提交失败")}},FE=A=>{E("article-click",A),window.open(A.url,"_blank")},WE=A=>{A.onClick?A.onClick():A.url&&window.open(A.url,"_blank")},RV=()=>{R.nextTick(()=>{M.value&&(M.value.scrollTop=M.value.scrollHeight,h.value=!1)})},TE=()=>{if(!M.value)return;const{scrollTop:A,scrollHeight:T,clientHeight:G}=M.value;h.value=T-A-G>=50};return U({open:()=>{d.value=!0,E("open")},close:()=>{d.value=!1,E("close")},clearMessages:()=>{Y.value=[],c.value=[],VV.value=!1,l.value=!1,Q.value=null},sendMessage:iV}),R.onMounted(()=>{_N(),R.nextTick(()=>_U()),N.token&&EV.setToken(N.token)}),R.onUnmounted(()=>{g&&clearTimeout(g),L&&clearTimeout(L),a&&a.abort(),EV.clearToken()}),R.watch(d,(A,T)=>{T&&!A?L&&(clearTimeout(L),L=null):A&&!T&&(_U(),(c.value.length>0||Y.value.length>0)&&!VV.value&&bV())}),R.watch(()=>N.token,A=>{A?EV.setToken(A):EV.clearToken()}),(A,T)=>{const G=R.resolveComponent("el-icon"),X=R.resolveComponent("el-radio"),e=R.resolveComponent("el-input"),i=R.resolveComponent("el-radio-group"),ZV=R.resolveComponent("el-button"),NU=R.resolveComponent("el-tooltip");return R.openBlock(),R.createElementBlock("div",{class:"ai-agent-wrapper",style:R.normalizeStyle($.value)},[R.renderSlot(A.$slots,"float-button",{},()=>[R.createElementVNode("div",{class:"ai-float-button",onClick:VE,onMouseenter:T[0]||(T[0]=S=>j.value=!0),onMouseleave:T[1]||(T[1]=S=>j.value=!1)},[R.createElementVNode("img",{src:u.value,alt:"",class:"float-avatar"},null,8,xZ)],32)],!0),R.createVNode(R.Transition,{name:"slide-up"},{default:R.withCtx(()=>[R.withDirectives(R.createElementVNode("div",{class:"ai-agent-dialog",style:R.normalizeStyle(xV.value)},[R.renderSlot(A.$slots,"header",{},()=>[R.createElementVNode("div",nZ,[R.createElementVNode("div",bZ,[R.createElementVNode("img",{src:wV.value,alt:"",class:"ai-avatar"},null,8,iZ),R.createElementVNode("span",KZ,R.toDisplayString(N.title),1)]),R.createElementVNode("div",tZ,[R.createVNode(G,{class:"close-btn",onClick:UE},{default:R.withCtx(()=>[R.createVNode(R.unref(y.Close))]),_:1})])])],!0),R.createElementVNode("div",{ref_key:"contentRef",ref:M,class:"dialog-content",onScroll:TE},[c.value.length===0&&Y.value.length===0?(R.openBlock(),R.createElementBlock(R.Fragment,{key:0},[R.renderSlot(A.$slots,"welcome",{},()=>[R.createElementVNode("div",XZ,[R.createElementVNode("div",eZ,"Hi "+R.toDisplayString(RU.value)+"!",1),R.createElementVNode("div",oZ,R.toDisplayString(N.welcomeText),1)])],!0),z.value.length>0?(R.openBlock(),R.createElementBlock("div",yZ,[T[7]||(T[7]=R.createElementVNode("div",{class:"section-title"},"猜你想问",-1)),R.createElementVNode("div",LZ,[(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(z.value,(S,w)=>(R.openBlock(),R.createElementBlock("div",{key:w,class:"question-item",onClick:o=>KV(S)},[T[6]||(T[6]=R.createElementVNode("img",{src:MU,alt:"question",class:"question-icon"},null,-1)),R.createElementVNode("span",sZ,R.toDisplayString(S),1),R.createVNode(G,{class:"arrow-icon"},{default:R.withCtx(()=>[R.createVNode(R.unref(y.ArrowRight))]),_:1})],8,rZ))),128))])])):R.createCommentVNode("",!0),O.value.length>0?(R.openBlock(),R.createElementBlock("div",qZ,[T[9]||(T[9]=R.createElementVNode("div",{class:"section-header"},[R.createElementVNode("span",{class:"section-title"},"相关文章"),R.createElementVNode("span",{class:"section-more"},"查看更多")],-1)),R.createElementVNode("div",vZ,[(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(O.value,(S,w)=>(R.openBlock(),R.createElementBlock("div",{key:w,class:"article-item",onClick:o=>FE(S)},[T[8]||(T[8]=R.createElementVNode("img",{src:dU,alt:"article",class:"article-icon"},null,-1)),R.createElementVNode("span",PZ,R.toDisplayString(S.title),1),R.createVNode(G,{class:"arrow-icon"},{default:R.withCtx(()=>[R.createVNode(R.unref(y.ArrowRight))]),_:1})],8,uZ))),128))])])):R.createCommentVNode("",!0)],64)):c.value.length>0||Y.value.length>0?(R.openBlock(),R.createElementBlock(R.Fragment,{key:1},[c.value.length>0?(R.openBlock(),R.createElementBlock(R.Fragment,{key:0},[(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(c.value,(S,w)=>(R.openBlock(),R.createElementBlock(R.Fragment,{key:"history-"+w},[S.role==="user"?(R.openBlock(),R.createElementBlock("div",fZ,[R.createElementVNode("div",_Z,R.toDisplayString(S.content),1)])):(R.openBlock(),R.createElementBlock("div",$Z,[R.createElementVNode("div",VN,[R.createElementVNode("div",{class:"message-content",innerHTML:$U(S.content)},null,8,UN),N.showFeedback&&S.showFeedback&&!S.isTyping?(R.openBlock(),R.createElementBlock(R.Fragment,{key:0},[R.createElementVNode("div",RN,[T[12]||(T[12]=R.createElementVNode("span",{class:"feedback-label"},"是否已解决你的问题?",-1)),R.createElementVNode("div",{class:R.normalizeClass(["feedback-btn",{active:S.feedback==="resolved"}]),onClick:o=>tV(S,"resolved")},[R.createElementVNode("i",{class:R.normalizeClass(["iconfont",S.feedback==="resolved"?"icon-dianzan-xuanzhong":"icon-dianzan-moren"]),style:{"font-size":"12px"}},null,2),T[10]||(T[10]=R.createElementVNode("span",null,"已解决",-1))],10,ZN),R.createElementVNode("div",{class:R.normalizeClass(["feedback-btn",{active:S.feedback==="unresolved"}]),onClick:o=>tV(S,"unresolved")},[R.createElementVNode("i",{class:R.normalizeClass(["iconfont",S.feedback==="unresolved"?"icon-diancai-xuanzhong":"icon-diancai-moren"]),style:{"font-size":"12px"}},null,2),T[11]||(T[11]=R.createElementVNode("span",null,"未解决",-1))],10,NN),S.feedback==="resolved"?(R.openBlock(),R.createElementBlock("span",EN," 感谢您的认可! ")):R.createCommentVNode("",!0),S.feedback==="unresolved"?(R.openBlock(),R.createElementBlock("span",MN," 感谢你的反馈! ")):R.createCommentVNode("",!0)]),S.suggestions&&S.suggestions.length>0&&!S.isTyping?(R.openBlock(),R.createElementBlock("div",dN)):R.createCommentVNode("",!0)],64)):R.createCommentVNode("",!0),S.suggestions&&S.suggestions.length>0&&!S.isTyping?(R.openBlock(),R.createElementBlock("div",FN,[(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(S.suggestions,(o,EU)=>(R.openBlock(),R.createElementBlock("div",{key:EU,class:"suggestion-item",onClick:QE=>KV(o)},R.toDisplayString(o),9,WN))),128))])):R.createCommentVNode("",!0)])]))],64))),128)),T[13]||(T[13]=R.createElementVNode("div",{class:"history-divider"},[R.createElementVNode("span",{class:"divider-text"},"以上为历史消息")],-1))],64)):R.createCommentVNode("",!0),R.createElementVNode("div",TN,R.toDisplayString(fU()),1),R.createElementVNode("div",QN,[R.createElementVNode("div",lN," Hi~我是"+R.toDisplayString(N.title)+",请问有什么可以帮您? ",1)]),z.value.length>0?(R.openBlock(),R.createElementBlock("div",AN,[T[15]||(T[15]=R.createElementVNode("div",{class:"section-title"},"猜你想问",-1)),R.createElementVNode("div",hN,[(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(z.value,(S,w)=>(R.openBlock(),R.createElementBlock("div",{key:w,class:"question-item",onClick:o=>KV(S)},[T[14]||(T[14]=R.createElementVNode("img",{src:MU,alt:"question",class:"question-icon"},null,-1)),R.createElementVNode("span",kN,R.toDisplayString(S),1),R.createVNode(G,{class:"arrow-icon"},{default:R.withCtx(()=>[R.createVNode(R.unref(y.ArrowRight))]),_:1})],8,YN))),128))])])):R.createCommentVNode("",!0),(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(Y.value,(S,w)=>(R.openBlock(),R.createElementBlock(R.Fragment,{key:"new-"+w},[S.role==="user"?(R.openBlock(),R.createElementBlock("div",SN,[R.createElementVNode("div",BN,R.toDisplayString(S.content),1)])):(R.openBlock(),R.createElementBlock("div",GN,[R.createElementVNode("div",mN,[R.createElementVNode("div",{class:"message-content",innerHTML:$U(S.content)},null,8,JN),N.showFeedback&&S.showFeedback&&!S.isTyping?(R.openBlock(),R.createElementBlock(R.Fragment,{key:0},[R.createElementVNode("div",cN,[T[18]||(T[18]=R.createElementVNode("span",{class:"feedback-label"},"是否已解决你的问题?",-1)),R.createElementVNode("div",{class:R.normalizeClass(["feedback-btn",{active:S.feedback==="resolved"}]),onClick:o=>tV(S,"resolved")},[R.createElementVNode("i",{class:R.normalizeClass(["iconfont",S.feedback==="resolved"?"icon-dianzan-xuanzhong":"icon-dianzan-moren"]),style:{"font-size":"12px"}},null,2),T[16]||(T[16]=R.createElementVNode("span",null,"已解决",-1))],10,IN),R.createElementVNode("div",{class:R.normalizeClass(["feedback-btn",{active:S.feedback==="unresolved"}]),onClick:o=>tV(S,"unresolved")},[R.createElementVNode("i",{class:R.normalizeClass(["iconfont",S.feedback==="unresolved"?"icon-diancai-xuanzhong":"icon-diancai-moren"]),style:{"font-size":"12px"}},null,2),T[17]||(T[17]=R.createElementVNode("span",null,"未解决",-1))],10,zN),S.feedback==="resolved"?(R.openBlock(),R.createElementBlock("span",aN," 感谢您的认可! ")):R.createCommentVNode("",!0),S.feedback==="unresolved"?(R.openBlock(),R.createElementBlock("span",DN," 感谢你的反馈! ")):R.createCommentVNode("",!0)]),S.suggestions&&S.suggestions.length>0&&!S.isTyping?(R.openBlock(),R.createElementBlock("div",CN)):R.createCommentVNode("",!0)],64)):R.createCommentVNode("",!0),S.suggestions&&S.suggestions.length>0&&!S.isTyping?(R.openBlock(),R.createElementBlock("div",jN,[(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(S.suggestions,(o,EU)=>(R.openBlock(),R.createElementBlock("div",{key:EU,class:"suggestion-item",onClick:QE=>KV(o)},R.toDisplayString(o),9,pN))),128))])):R.createCommentVNode("",!0)])]))],64))),128)),k.value?(R.openBlock(),R.createElementBlock("div",HN,[...T[19]||(T[19]=[R.createElementVNode("div",{class:"message-bubble ai-bubble thinking-bubble"},[R.createElementVNode("div",{class:"thinking-animation"},[R.createElementVNode("span"),R.createElementVNode("span"),R.createElementVNode("span")]),R.createElementVNode("span",{class:"thinking-text"},"正在思考中...")],-1)])])):R.createCommentVNode("",!0)],64)):R.createCommentVNode("",!0),N.showSatisfaction&&l.value?(R.openBlock(),R.createElementBlock("div",gN,[T[25]||(T[25]=R.createElementVNode("div",{class:"satisfaction-title"}," 自动结束会话,感谢你的提问!请问你对本次服务满意吗? ",-1)),R.createElementVNode("div",ON,[(R.openBlock(),R.createElementBlock(R.Fragment,null,R.renderList(OV,(S,w)=>R.createElementVNode("div",{key:w,class:R.normalizeClass(["satisfaction-item",{active:Q.value===S.value}]),onClick:o=>dE(S.value)},[R.createElementVNode("div",xN,[S.value===1?(R.openBlock(),R.createElementBlock("svg",nN,[...T[20]||(T[20]=[R.createElementVNode("circle",{cx:"12",cy:"12",r:"10",fill:"#FFD93D",stroke:"#E8B92F","stroke-width":"1"},null,-1),R.createElementVNode("circle",{cx:"8",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("circle",{cx:"16",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("path",{d:"M8 16 Q12 13 16 16",stroke:"#5D4037","stroke-width":"1.5",fill:"none","stroke-linecap":"round"},null,-1)])])):S.value===2?(R.openBlock(),R.createElementBlock("svg",bN,[...T[21]||(T[21]=[R.createElementVNode("circle",{cx:"12",cy:"12",r:"10",fill:"#FFD93D",stroke:"#E8B92F","stroke-width":"1"},null,-1),R.createElementVNode("circle",{cx:"8",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("circle",{cx:"16",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("path",{d:"M8 15.5 Q12 14 16 15.5",stroke:"#5D4037","stroke-width":"1.5",fill:"none","stroke-linecap":"round"},null,-1)])])):S.value===3?(R.openBlock(),R.createElementBlock("svg",iN,[...T[22]||(T[22]=[R.createElementVNode("circle",{cx:"12",cy:"12",r:"10",fill:"#FFD93D",stroke:"#E8B92F","stroke-width":"1"},null,-1),R.createElementVNode("circle",{cx:"8",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("circle",{cx:"16",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("line",{x1:"8",y1:"15",x2:"16",y2:"15",stroke:"#5D4037","stroke-width":"1.5","stroke-linecap":"round"},null,-1)])])):S.value===4?(R.openBlock(),R.createElementBlock("svg",KN,[...T[23]||(T[23]=[R.createElementVNode("circle",{cx:"12",cy:"12",r:"10",fill:"#FFD93D",stroke:"#E8B92F","stroke-width":"1"},null,-1),R.createElementVNode("circle",{cx:"8",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("circle",{cx:"16",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("path",{d:"M8 14 Q12 17 16 14",stroke:"#5D4037","stroke-width":"1.5",fill:"none","stroke-linecap":"round"},null,-1)])])):(R.openBlock(),R.createElementBlock("svg",tN,[...T[24]||(T[24]=[R.createElementVNode("circle",{cx:"12",cy:"12",r:"10",fill:"#FFD93D",stroke:"#E8B92F","stroke-width":"1"},null,-1),R.createElementVNode("circle",{cx:"8",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("circle",{cx:"16",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("path",{d:"M7 14 Q12 18 17 14",stroke:"#5D4037","stroke-width":"1.5",fill:"none","stroke-linecap":"round"},null,-1)])]))]),R.createElementVNode("span",XN,R.toDisplayString(S.label),1)],10,wN)),64))])])):R.createCommentVNode("",!0)],544),R.createVNode(R.Transition,{name:"slide-up-panel"},{default:R.withCtx(()=>[B.value?(R.openBlock(),R.createElementBlock("div",eN,[R.createElementVNode("div",oN,[T[26]||(T[26]=R.createElementVNode("i",{class:"iconfont icon-diancai-moren"},null,-1)),T[27]||(T[27]=R.createElementVNode("span",{class:"feedback-panel-title"},"请选择你的问题或建议类型",-1)),R.createVNode(G,{class:"feedback-close",onClick:EE},{default:R.withCtx(()=>[R.createVNode(R.unref(y.Close))]),_:1})]),R.createElementVNode("div",yN,[R.createVNode(i,{modelValue:C.value.type,"onUpdate:modelValue":T[4]||(T[4]=S=>C.value.type=S),class:"feedback-radio-group"},{default:R.withCtx(()=>[(R.openBlock(),R.createElementBlock(R.Fragment,null,R.renderList(UV,S=>(R.openBlock(),R.createElementBlock(R.Fragment,{key:S.value},[R.createVNode(X,{label:S.value},{default:R.withCtx(()=>[R.createTextVNode(R.toDisplayString(S.label),1)]),_:2},1032,["label"]),S.value==="cannot_understand"&&C.value.type==="cannot_understand"?(R.openBlock(),R.createBlock(e,{key:0,modelValue:C.value.cannotUnderstandDetail,"onUpdate:modelValue":T[2]||(T[2]=w=>C.value.cannotUnderstandDetail=w),type:"textarea",rows:3,placeholder:"请提供详细说明或更正确的答案吧",class:"feedback-panel-textarea"},null,8,["modelValue"])):R.createCommentVNode("",!0),S.value==="other"&&C.value.type==="other"?(R.openBlock(),R.createBlock(e,{key:1,modelValue:C.value.otherDetail,"onUpdate:modelValue":T[3]||(T[3]=w=>C.value.otherDetail=w),type:"textarea",rows:3,placeholder:"请提供详细说明或更正确的答案吧",class:"feedback-panel-textarea"},null,8,["modelValue"])):R.createCommentVNode("",!0)],64))),64))]),_:1},8,["modelValue"])]),R.createElementVNode("div",LN,[R.createVNode(ZV,{type:"primary",onClick:ME},{default:R.withCtx(()=>[...T[28]||(T[28]=[R.createTextVNode("提交",-1)])]),_:1})])])):R.createCommentVNode("",!0)]),_:1}),R.createVNode(R.Transition,{name:"fade"},{default:R.withCtx(()=>[h.value&&(c.value.length>0||Y.value.length>0)?(R.openBlock(),R.createElementBlock("div",{key:0,class:"scroll-to-bottom-btn",onClick:RV},[R.createVNode(G,null,{default:R.withCtx(()=>[R.createVNode(R.unref(y.ArrowDown))]),_:1})])):R.createCommentVNode("",!0)]),_:1}),R.createElementVNode("div",rN,[R.renderSlot(A.$slots,"quick-actions",{},()=>[n.value.length>0?(R.openBlock(),R.createElementBlock("div",sN,[(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(n.value,(S,w)=>(R.openBlock(),R.createElementBlock("div",{key:w,class:"action-btn",onClick:o=>WE(S)},[T[29]||(T[29]=R.createElementVNode("img",{src:dU,alt:"article",class:"article-icon"},null,-1)),R.createElementVNode("span",null,R.toDisplayString(S.label),1)],8,qN))),128))])):R.createCommentVNode("",!0)],!0),R.createElementVNode("div",vN,[R.createVNode(e,{modelValue:W.value,"onUpdate:modelValue":T[5]||(T[5]=S=>W.value=S),type:"textarea",rows:4,placeholder:NV.value,class:"ai-message-input",onKeydown:R.withKeys(R.withModifiers(RE,["exact","prevent"]),["enter"])},null,8,["modelValue","placeholder","onKeydown"]),R.createVNode(NU,{content:k.value?v.value?"停止生成":"响应中...":"点击发送",placement:"top","show-after":500,disabled:!k.value&&!s.value},{default:R.withCtx(()=>[R.createElementVNode("div",{class:R.normalizeClass(["send-btn",{active:s.value,stop:k.value&&v.value,disabled:k.value&&!v.value}]),onClick:ZE},[k.value?(R.openBlock(),R.createElementBlock("i",uN)):(R.openBlock(),R.createBlock(G,{key:0},{default:R.withCtx(()=>[R.createVNode(R.unref(y.Promotion))]),_:1}))],2)]),_:1},8,["content","disabled"])])])],4),[[R.vShow,d.value]])]),_:3})],4)}}}),JE="",cE="",IE="",UU=((V,U)=>{const Z=V.__vccOpts||V;for(const[N,E]of U)Z[N]=E;return Z})(PN,[["__scopeId","data-v-ad025ce9"]]),fN={install(V){V.component("GimcAiAgent",UU)}};H.AiAgent=UU,H.GimcAiAgent=UU,H.default=fN,H.defaultAvatarIcon=WU,H.defaultFloatIcon=FU,Object.defineProperties(H,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
7
+ `);for(const c of Y)if(c.startsWith("data:"))try{const j=c.substring(5).trim();if(j){const z=JSON.parse(j);if(z.success&&z.body&&(Z(z.body),z.body.endFlag)){Q.cancel(),E==null||E();return}}}catch(j){console.error("Parse SSE line error:",j,c)}}}catch(D){D.name!=="AbortError"&&(console.error("Read stream error:",D),N==null||N(D))}})()}catch(l){l.name!=="AbortError"&&(console.error("Fetch stream error:",l),N==null||N(l))}return W}stop(U){return PU({url:"/rag/knowledge/stop",data:{id:U}})}getFiles(U){return kV({url:"/rag/knowledge/getFiles",params:{id:U}})}getSuggestedQuestions(){return kV({url:"/rag/knowledge/suggested-questions"})}getRecommendedQuestions(U,Z){return kV({url:"/rag/knowledge/recommended-questions",params:{sid:U,ragKnowledgeId:Z}})}getSessionList(){return kV({url:"/rag/knowledge/session"})}getSessionMessages(U){return kV({url:`/rag/knowledge/session/${U}/msg`})}addFeedback(U){return PU({url:"/feedback",data:U})}updateFeedback(U){return gZ({url:"/feedback",data:U})}deleteFeedback(U){return OZ({url:`/feedback/${U}`})}}const t=new wZ,xZ=["src"],nZ={class:"dialog-header"},bZ={class:"header-left"},iZ=["src"],KZ={class:"title"},tZ={class:"header-right"},XZ={class:"welcome-section"},eZ={class:"greeting"},oZ={class:"welcome-text"},yZ={key:0,class:"guess-section"},LZ={class:"question-list"},rZ=["onClick"],sZ={class:"question-text"},qZ={key:1,class:"articles-section"},vZ={class:"article-list"},uZ=["onClick"],PZ={class:"article-text"},fZ={key:0,class:"message-item user-message"},_Z={class:"message-bubble user-bubble"},$Z={key:1,class:"message-item ai-message"},VN={class:"message-bubble ai-bubble"},UN=["innerHTML"],RN={class:"feedback-section"},ZN=["onClick"],NN=["onClick"],EN={key:0,class:"feedback-result success"},MN={key:1,class:"feedback-result"},dN={key:0,class:"divider"},FN={key:1,class:"suggestions-section"},WN=["onClick"],TN={class:"timestamp"},QN={class:"message-item ai-message"},lN={class:"message-bubble ai-bubble welcome-bubble",style:{padding:"9px 16px"}},AN={key:1,class:"guess-section in-chat"},hN={class:"question-list"},YN=["onClick"],kN={class:"question-text"},SN={key:0,class:"message-item user-message"},BN={class:"message-bubble user-bubble"},GN={key:1,class:"message-item ai-message"},mN={class:"message-bubble ai-bubble"},JN=["innerHTML"],cN={class:"feedback-section"},IN=["onClick"],zN=["onClick"],aN={key:0,class:"feedback-result success"},DN={key:1,class:"feedback-result"},CN={key:0,class:"divider"},jN={key:1,class:"suggestions-section"},pN=["onClick"],HN={key:2,class:"message-item ai-message"},gN={key:2,class:"satisfaction-section"},ON={class:"satisfaction-options"},wN=["onClick"],xN={class:"satisfaction-icon"},nN={key:0,viewBox:"0 0 24 24",fill:"currentColor"},bN={key:1,viewBox:"0 0 24 24",fill:"currentColor"},iN={key:2,viewBox:"0 0 24 24",fill:"currentColor"},KN={key:3,viewBox:"0 0 24 24",fill:"currentColor"},tN={key:4,viewBox:"0 0 24 24",fill:"currentColor"},XN={class:"satisfaction-label"},eN={key:0,class:"feedback-panel"},oN={class:"feedback-panel-header"},yN={class:"feedback-panel-content"},LN={class:"feedback-panel-footer"},rN={class:"dialog-footer"},sN={key:0,class:"quick-actions"},qN=["onClick"],vN={class:"input-section"},uN={key:1,class:"iconfont icon-zanting"},PN=R.defineComponent({__name:"AiAgent",props:{ragKnowledgeId:{},title:{default:"灵犀AI小助手"},avatar:{},floatIcon:{},position:{},width:{default:560},welcomeText:{default:"有任何问题,随时问我~"},idleTimeout:{default:18e4},typingSpeed:{default:10},showSatisfaction:{type:Boolean,default:!0},showFeedback:{type:Boolean,default:!0},token:{}},emits:["open","close","send","feedback","satisfaction","article-click","session-end"],setup(V,{expose:U,emit:Z}){const N=V,E=Z,d=R.ref(!1),M=R.ref(null),W=R.ref(""),k=R.ref(!1),l=R.ref(!1),Q=R.ref(null),B=R.ref(!1),I=R.ref(null),D=R.ref(!1),h=R.ref(!1),m=R.ref(""),Y=R.ref([]),c=R.ref([]),j=R.ref(!1),z=R.ref([]),O=R.ref([]),n=R.ref([]),C=R.ref({type:"",cannotUnderstandDetail:"",otherDetail:""});let g=null,L=null,a=null;const VV=R.ref(!1),r=R.ref(void 0),b=R.ref(void 0),v=R.ref(!1),UV=[{value:"inaccurate",label:"回答不准确/答非所问"},{value:"incomplete",label:"回答不完整/信息不够"},{value:"unclear",label:"内容表述不清,读不懂"},{value:"mismatch",label:"内容与实际的功能/流程不符"},{value:"cannot_understand",label:"无法理解我的问题(请留下你的需求或问题)"},{value:"typo",label:"内容存在错别字或者无效链接"},{value:"other",label:"其他(关于内容改善的建议)"}],OV=[{value:1,label:"很不满"},{value:2,label:"不满意"},{value:3,label:"一般"},{value:4,label:"满意"},{value:5,label:"很满意"}],u=R.computed(()=>j.value?NR:N.floatIcon||FU),wV=R.computed(()=>N.avatar||WU);console.log(N.position);const $=R.computed(()=>{var A,T;return{right:`${((A=N.position)==null?void 0:A.right)??8}px`,bottom:`${((T=N.position)==null?void 0:T.bottom)??60}px`}}),xV=R.computed(()=>({width:`${N.width}px`})),RU=R.computed(()=>{const A=new Date().getHours();return A<6?"凌晨好":A<9?"早上好":A<12?"上午好":A<14?"中午好":A<17?"下午好":A<19?"傍晚好":"晚上好"}),s=R.computed(()=>W.value.trim().length>0&&!k.value),NV=R.computed(()=>c.value.length===0&&Y.value.length===0?"请在此输入您想要咨询的内容":"请输入您的问题"),SV=async()=>{try{const A=await t.getSuggestedQuestions();z.value=A.map(T=>T.question)}catch(A){console.error("加载猜你想问失败:",A),z.value=[]}},QV=async()=>{O.value=[]},nV=async()=>{try{const A=await t.getFiles(N.ragKnowledgeId);n.value=A.map(T=>({label:T.fileName||"",icon:"icon-wenzhang",url:T.fileUrl}))}catch(A){console.error("加载知识库文档失败:",A),n.value=[]}},_N=async()=>{await Promise.all([SV(),QV(),nV()])},bV=()=>{L&&(clearTimeout(L),L=null),!(VV.value||c.value.length===0&&Y.value.length===0)&&(L=setTimeout(()=>{VV.value=!0,l.value=!0,E("session-end"),R.nextTick(()=>RV())},N.idleTimeout))},fU=()=>{const A=new Date,T=G=>String(G).padStart(2,"0");return`${A.getFullYear()}-${T(A.getMonth()+1)}-${T(A.getDate())} ${T(A.getHours())}:${T(A.getMinutes())}:${T(A.getSeconds())}`},_U=()=>{const A=new Date().toDateString(),T="ai_agent_last_open_date",G=localStorage.getItem(T);(c.value.length>0||Y.value.length>0)&&G!==A?(D.value=!0,m.value=fU(),localStorage.setItem(T,A)):D.value=!1},$N=async()=>{if(!r.value){console.log("没有会话ID,跳过加载历史消息");return}try{const A=await t.getSessionMessages(r.value);A&&A.data&&A.data.length>0?(c.value=[],A.data.forEach(T=>{T.q&&c.value.push({role:"user",content:T.q,timestamp:new Date().toISOString()}),T.a&&T.a.length>0&&T.a.forEach(G=>{if(G.content){const X={role:"assistant",content:G.content,timestamp:G.time||new Date().toISOString(),showFeedback:!0,feedback:G.feedbackType==="POSITIVE"?"resolved":G.feedbackType==="NEGATIVE"?"unresolved":null,feedbackId:G.feedbackId,suggestions:[],isTyping:!1};G.mid&&(b.value=G.mid),c.value.push(X)}})}),R.nextTick(()=>RV()),console.log("历史消息加载成功,共",c.value.length,"条消息")):console.log("没有历史消息")}catch(A){console.error("加载历史消息失败:",A)}},VE=async()=>{d.value=!0,E("open");try{const A=await t.getSessionList();A.ragKnowledgeSessionBos&&A.ragKnowledgeSessionBos.length>0?(r.value=A.ragKnowledgeSessionBos[0].id,console.log("已设置会话ID:",r.value),await $N()):console.log("无历史会话,首次使用")}catch(A){console.error("获取会话列表失败:",A)}},UE=()=>{d.value=!1,E("close")},$U=A=>{const T=/(https?:\/\/[^\s<]+)/g;return A.replace(T,'<a href="$1" target="_blank" class="message-link">$1</a>')},RE=()=>{s.value&&iV(W.value)},ZE=()=>{k.value?v.value&&NE():s.value&&iV(W.value)},iV=async A=>{if(!A.trim())return;VV.value&&(VV.value=!1,l.value=!1,Q.value=null);const T={role:"user",content:A.trim(),timestamp:new Date().toISOString()};Y.value.push(T),W.value="",k.value=!0,v.value=!1,E("send",A.trim()),bV(),await R.nextTick(),RV();try{a=new AbortController;let G="",X=[],e=null;e=await t.askStreamWithFetch({sid:r.value,q:A.trim(),ragKnowledgeId:N.ragKnowledgeId},i=>{if(!(a!=null&&a.signal.aborted)&&(i.sid&&(r.value=i.sid),i.mid&&(b.value=i.mid,v.value=!0),i.content&&(G+=i.content),i.endFlag)){if(a!=null&&a.signal.aborted)return;if(r.value)t.getRecommendedQuestions(r.value,N.ragKnowledgeId).then(ZV=>{if(a!=null&&a.signal.aborted)return;X=ZV||[];const NU={role:"assistant",content:"",fullContent:G,timestamp:new Date().toISOString(),showFeedback:!0,feedback:null,suggestions:X,isTyping:!0};Y.value.push(NU),k.value=!1,ZU(Y.value.length-1,G)}).catch(()=>{if(a!=null&&a.signal.aborted)return;const ZV={role:"assistant",content:"",fullContent:G,timestamp:new Date().toISOString(),showFeedback:!0,feedback:null,suggestions:[],isTyping:!0};Y.value.push(ZV),k.value=!1,ZU(Y.value.length-1,G)});else{const ZV={role:"assistant",content:"",fullContent:G,timestamp:new Date().toISOString(),showFeedback:!0,feedback:null,suggestions:[],isTyping:!0};Y.value.push(ZV),k.value=!1,ZU(Y.value.length-1,G)}}},i=>{if(a!=null&&a.signal.aborted)return;console.error("SSE 错误:",i),k.value=!1;const ZV={role:"assistant",content:"抱歉,发生了错误,请稍后重试。",timestamp:new Date().toISOString(),showFeedback:!1};Y.value.push(ZV),RV()},()=>{console.log("SSE 流结束")}),e&&(a=e)}catch(G){if(G.name==="AbortError")return;k.value=!1;const X={role:"assistant",content:"抱歉,发生了错误,请稍后重试。",timestamp:new Date().toISOString(),showFeedback:!1};Y.value.push(X),RV()}},ZU=(A,T)=>{let G=0;const X=Y.value[A],e=()=>{G<T.length&&X.isTyping?(X.content=T.substring(0,G+1),G++,RV(),g=setTimeout(e,N.typingSpeed)):(X.isTyping=!1,X.content=T,RV(),bV())};e()},NE=async()=>{if(k.value=!1,a&&(a.abort(),a=null),g&&(clearTimeout(g),g=null),b.value)try{await t.stop(b.value),console.log("已通知后端停止生成")}catch(G){console.error("调用停止接口失败:",G)}const A=Y.value.findIndex(G=>G.isTyping);A!==-1&&Y.value.splice(A,1);const T={role:"assistant",content:"你已停止本次回答。",timestamp:new Date().toISOString(),showFeedback:!1,isTyping:!1,suggestions:[]};if(r.value)try{const G=await t.getRecommendedQuestions(r.value,N.ragKnowledgeId);T.suggestions=G||[]}catch(G){console.error("获取推荐问题失败:",G)}Y.value.push(T),R.nextTick(()=>RV()),bV()},KV=A=>{iV(A)},tV=async(A,T)=>{if(A.feedback===T){if(A.feedbackId)try{await t.deleteFeedback(A.feedbackId),console.log("反馈已删除"),A.feedback=null,A.feedbackId=void 0,E("feedback",{messageId:A.timestamp||"",type:"cancel",resolved:!1})}catch(G){console.error("删除反馈失败:",G),q.ElMessage.error("取消反馈失败")}else A.feedback=null;return}if(A.feedback=T,T==="unresolved"){if(!b.value){console.error("消息ID不存在");return}try{const G=await t.addFeedback({mid:b.value,module:"RAG_KNOWLEDGE",feedbackType:"NEGATIVE",satisfactionLevel:"DISSATISFIED"});A.feedbackId=G,I.value=A,C.value={type:"",cannotUnderstandDetail:"",otherDetail:""},B.value=!0,E("feedback",{messageId:A.timestamp||"",type:T,resolved:!1})}catch(G){console.error("提交反馈失败:",G),q.ElMessage.error("反馈提交失败"),A.feedback=null}}else{if(!b.value){console.error("消息ID不存在");return}try{const G=await t.addFeedback({mid:b.value,module:"RAG_KNOWLEDGE",feedbackType:"POSITIVE",satisfactionLevel:"SATISFIED"});A.feedbackId=G,E("feedback",{messageId:A.timestamp||"",type:T,resolved:!0})}catch(G){console.error("提交反馈失败:",G),q.ElMessage.error("反馈提交失败"),A.feedback=null}}},EE=()=>{B.value=!1,I.value&&(I.value.feedback=null),I.value=null},ME=async()=>{if(!C.value.type){q.ElMessage.warning("请选择问题类型");return}if(!I.value||!I.value.feedbackId){console.error("反馈ID不存在"),q.ElMessage.error("反馈提交失败");return}try{const A=C.value.type==="cannot_understand"?C.value.cannotUnderstandDetail:C.value.type==="other"?C.value.otherDetail:"";await t.updateFeedback({id:I.value.feedbackId,content:A}),E("feedback",{messageId:I.value.timestamp||"",type:C.value.type,resolved:!1,detail:A}),B.value=!1,I.value=null,q.ElMessage.success("感谢您的反馈!")}catch(A){console.error("提交反馈失败:",A),q.ElMessage.error("反馈提交失败")}},dE=async A=>{Q.value=A;const G=["VERY_DISSATISFIED","DISSATISFIED","NEUTRAL","SATISFIED","VERY_SATISFIED"][A-1]||"NEUTRAL",e=[...[...c.value,...Y.value]].reverse().find(i=>i.feedbackId);try{if(e&&e.feedbackId)await t.updateFeedback({id:e.feedbackId,satisfactionLevel:G});else{if(!b.value){console.error("消息ID不存在"),q.ElMessage.warning("无法提交评价,请先进行对话");return}await t.addFeedback({mid:b.value,module:"RAG_KNOWLEDGE",feedbackType:"POSITIVE",satisfactionLevel:G})}E("satisfaction",A),q.ElMessage.success("感谢您的评价!")}catch(i){console.error("提交评价失败:",i),q.ElMessage.error("评价提交失败")}},FE=A=>{E("article-click",A),window.open(A.url,"_blank")},WE=A=>{A.onClick?A.onClick():A.url&&window.open(A.url,"_blank")},RV=()=>{R.nextTick(()=>{M.value&&(M.value.scrollTop=M.value.scrollHeight,h.value=!1)})},TE=()=>{if(!M.value)return;const{scrollTop:A,scrollHeight:T,clientHeight:G}=M.value;h.value=T-A-G>=50};return U({open:()=>{d.value=!0,E("open")},close:()=>{d.value=!1,E("close")},clearMessages:()=>{Y.value=[],c.value=[],VV.value=!1,l.value=!1,Q.value=null},sendMessage:iV}),R.onMounted(()=>{_N(),R.nextTick(()=>_U()),N.token&&EV.setToken(N.token)}),R.onUnmounted(()=>{g&&clearTimeout(g),L&&clearTimeout(L),a&&a.abort(),EV.clearToken()}),R.watch(d,(A,T)=>{T&&!A?L&&(clearTimeout(L),L=null):A&&!T&&(_U(),(c.value.length>0||Y.value.length>0)&&!VV.value&&bV())}),R.watch(()=>N.token,A=>{A?EV.setToken(A):EV.clearToken()}),(A,T)=>{const G=R.resolveComponent("el-icon"),X=R.resolveComponent("el-radio"),e=R.resolveComponent("el-input"),i=R.resolveComponent("el-radio-group"),ZV=R.resolveComponent("el-button"),NU=R.resolveComponent("el-tooltip");return R.openBlock(),R.createElementBlock("div",{class:"ai-agent-wrapper",style:R.normalizeStyle($.value)},[R.renderSlot(A.$slots,"float-button",{},()=>[R.createElementVNode("div",{class:"ai-float-button",onClick:VE,onMouseenter:T[0]||(T[0]=S=>j.value=!0),onMouseleave:T[1]||(T[1]=S=>j.value=!1)},[R.createElementVNode("img",{src:u.value,alt:"",class:"float-avatar"},null,8,xZ)],32)],!0),R.createVNode(R.Transition,{name:"slide-up"},{default:R.withCtx(()=>[R.withDirectives(R.createElementVNode("div",{class:"ai-agent-dialog",style:R.normalizeStyle(xV.value)},[R.renderSlot(A.$slots,"header",{},()=>[R.createElementVNode("div",nZ,[R.createElementVNode("div",bZ,[R.createElementVNode("img",{src:wV.value,alt:"",class:"ai-avatar"},null,8,iZ),R.createElementVNode("span",KZ,R.toDisplayString(N.title),1)]),R.createElementVNode("div",tZ,[R.createVNode(G,{class:"close-btn",onClick:UE},{default:R.withCtx(()=>[R.createVNode(R.unref(y.Close))]),_:1})])])],!0),R.createElementVNode("div",{ref_key:"contentRef",ref:M,class:"dialog-content",onScroll:TE},[c.value.length===0&&Y.value.length===0?(R.openBlock(),R.createElementBlock(R.Fragment,{key:0},[R.renderSlot(A.$slots,"welcome",{},()=>[R.createElementVNode("div",XZ,[R.createElementVNode("div",eZ,"Hi "+R.toDisplayString(RU.value)+"!",1),R.createElementVNode("div",oZ,R.toDisplayString(N.welcomeText),1)])],!0),z.value.length>0?(R.openBlock(),R.createElementBlock("div",yZ,[T[7]||(T[7]=R.createElementVNode("div",{class:"section-title"},"猜你想问",-1)),R.createElementVNode("div",LZ,[(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(z.value,(S,w)=>(R.openBlock(),R.createElementBlock("div",{key:w,class:"question-item",onClick:o=>KV(S)},[T[6]||(T[6]=R.createElementVNode("img",{src:MU,alt:"question",class:"question-icon"},null,-1)),R.createElementVNode("span",sZ,R.toDisplayString(S),1),R.createVNode(G,{class:"arrow-icon"},{default:R.withCtx(()=>[R.createVNode(R.unref(y.ArrowRight))]),_:1})],8,rZ))),128))])])):R.createCommentVNode("",!0),O.value.length>0?(R.openBlock(),R.createElementBlock("div",qZ,[T[9]||(T[9]=R.createElementVNode("div",{class:"section-header"},[R.createElementVNode("span",{class:"section-title"},"相关文章"),R.createElementVNode("span",{class:"section-more"},"查看更多")],-1)),R.createElementVNode("div",vZ,[(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(O.value,(S,w)=>(R.openBlock(),R.createElementBlock("div",{key:w,class:"article-item",onClick:o=>FE(S)},[T[8]||(T[8]=R.createElementVNode("img",{src:dU,alt:"article",class:"article-icon"},null,-1)),R.createElementVNode("span",PZ,R.toDisplayString(S.title),1),R.createVNode(G,{class:"arrow-icon"},{default:R.withCtx(()=>[R.createVNode(R.unref(y.ArrowRight))]),_:1})],8,uZ))),128))])])):R.createCommentVNode("",!0)],64)):c.value.length>0||Y.value.length>0?(R.openBlock(),R.createElementBlock(R.Fragment,{key:1},[c.value.length>0?(R.openBlock(),R.createElementBlock(R.Fragment,{key:0},[(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(c.value,(S,w)=>(R.openBlock(),R.createElementBlock(R.Fragment,{key:"history-"+w},[S.role==="user"?(R.openBlock(),R.createElementBlock("div",fZ,[R.createElementVNode("div",_Z,R.toDisplayString(S.content),1)])):(R.openBlock(),R.createElementBlock("div",$Z,[R.createElementVNode("div",VN,[R.createElementVNode("div",{class:"message-content",innerHTML:$U(S.content)},null,8,UN),N.showFeedback&&S.showFeedback&&!S.isTyping?(R.openBlock(),R.createElementBlock(R.Fragment,{key:0},[R.createElementVNode("div",RN,[T[12]||(T[12]=R.createElementVNode("span",{class:"feedback-label"},"是否已解决你的问题?",-1)),R.createElementVNode("div",{class:R.normalizeClass(["feedback-btn",{active:S.feedback==="resolved"}]),onClick:o=>tV(S,"resolved")},[R.createElementVNode("i",{class:R.normalizeClass(["iconfont",S.feedback==="resolved"?"icon-dianzan-xuanzhong":"icon-dianzan-moren"]),style:{"font-size":"12px"}},null,2),T[10]||(T[10]=R.createElementVNode("span",null,"已解决",-1))],10,ZN),R.createElementVNode("div",{class:R.normalizeClass(["feedback-btn",{active:S.feedback==="unresolved"}]),onClick:o=>tV(S,"unresolved")},[R.createElementVNode("i",{class:R.normalizeClass(["iconfont",S.feedback==="unresolved"?"icon-diancai-xuanzhong":"icon-diancai-moren"]),style:{"font-size":"12px"}},null,2),T[11]||(T[11]=R.createElementVNode("span",null,"未解决",-1))],10,NN),S.feedback==="resolved"?(R.openBlock(),R.createElementBlock("span",EN," 感谢您的认可! ")):R.createCommentVNode("",!0),S.feedback==="unresolved"?(R.openBlock(),R.createElementBlock("span",MN," 感谢你的反馈! ")):R.createCommentVNode("",!0)]),S.suggestions&&S.suggestions.length>0&&!S.isTyping?(R.openBlock(),R.createElementBlock("div",dN)):R.createCommentVNode("",!0)],64)):R.createCommentVNode("",!0),S.suggestions&&S.suggestions.length>0&&!S.isTyping?(R.openBlock(),R.createElementBlock("div",FN,[(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(S.suggestions,(o,EU)=>(R.openBlock(),R.createElementBlock("div",{key:EU,class:"suggestion-item",onClick:QE=>KV(o)},R.toDisplayString(o),9,WN))),128))])):R.createCommentVNode("",!0)])]))],64))),128)),T[13]||(T[13]=R.createElementVNode("div",{class:"history-divider"},[R.createElementVNode("span",{class:"divider-text"},"以上为历史消息")],-1))],64)):R.createCommentVNode("",!0),R.createElementVNode("div",TN,R.toDisplayString(fU()),1),R.createElementVNode("div",QN,[R.createElementVNode("div",lN," Hi~我是"+R.toDisplayString(N.title)+",请问有什么可以帮您? ",1)]),z.value.length>0?(R.openBlock(),R.createElementBlock("div",AN,[T[15]||(T[15]=R.createElementVNode("div",{class:"section-title"},"猜你想问",-1)),R.createElementVNode("div",hN,[(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(z.value,(S,w)=>(R.openBlock(),R.createElementBlock("div",{key:w,class:"question-item",onClick:o=>KV(S)},[T[14]||(T[14]=R.createElementVNode("img",{src:MU,alt:"question",class:"question-icon"},null,-1)),R.createElementVNode("span",kN,R.toDisplayString(S),1),R.createVNode(G,{class:"arrow-icon"},{default:R.withCtx(()=>[R.createVNode(R.unref(y.ArrowRight))]),_:1})],8,YN))),128))])])):R.createCommentVNode("",!0),(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(Y.value,(S,w)=>(R.openBlock(),R.createElementBlock(R.Fragment,{key:"new-"+w},[S.role==="user"?(R.openBlock(),R.createElementBlock("div",SN,[R.createElementVNode("div",BN,R.toDisplayString(S.content),1)])):(R.openBlock(),R.createElementBlock("div",GN,[R.createElementVNode("div",mN,[R.createElementVNode("div",{class:"message-content",innerHTML:$U(S.content)},null,8,JN),N.showFeedback&&S.showFeedback&&!S.isTyping?(R.openBlock(),R.createElementBlock(R.Fragment,{key:0},[R.createElementVNode("div",cN,[T[18]||(T[18]=R.createElementVNode("span",{class:"feedback-label"},"是否已解决你的问题?",-1)),R.createElementVNode("div",{class:R.normalizeClass(["feedback-btn",{active:S.feedback==="resolved"}]),onClick:o=>tV(S,"resolved")},[R.createElementVNode("i",{class:R.normalizeClass(["iconfont",S.feedback==="resolved"?"icon-dianzan-xuanzhong":"icon-dianzan-moren"]),style:{"font-size":"12px"}},null,2),T[16]||(T[16]=R.createElementVNode("span",null,"已解决",-1))],10,IN),R.createElementVNode("div",{class:R.normalizeClass(["feedback-btn",{active:S.feedback==="unresolved"}]),onClick:o=>tV(S,"unresolved")},[R.createElementVNode("i",{class:R.normalizeClass(["iconfont",S.feedback==="unresolved"?"icon-diancai-xuanzhong":"icon-diancai-moren"]),style:{"font-size":"12px"}},null,2),T[17]||(T[17]=R.createElementVNode("span",null,"未解决",-1))],10,zN),S.feedback==="resolved"?(R.openBlock(),R.createElementBlock("span",aN," 感谢您的认可! ")):R.createCommentVNode("",!0),S.feedback==="unresolved"?(R.openBlock(),R.createElementBlock("span",DN," 感谢你的反馈! ")):R.createCommentVNode("",!0)]),S.suggestions&&S.suggestions.length>0&&!S.isTyping?(R.openBlock(),R.createElementBlock("div",CN)):R.createCommentVNode("",!0)],64)):R.createCommentVNode("",!0),S.suggestions&&S.suggestions.length>0&&!S.isTyping?(R.openBlock(),R.createElementBlock("div",jN,[(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(S.suggestions,(o,EU)=>(R.openBlock(),R.createElementBlock("div",{key:EU,class:"suggestion-item",onClick:QE=>KV(o)},R.toDisplayString(o),9,pN))),128))])):R.createCommentVNode("",!0)])]))],64))),128)),k.value?(R.openBlock(),R.createElementBlock("div",HN,[...T[19]||(T[19]=[R.createElementVNode("div",{class:"message-bubble ai-bubble thinking-bubble"},[R.createElementVNode("div",{class:"thinking-animation"},[R.createElementVNode("span"),R.createElementVNode("span"),R.createElementVNode("span")]),R.createElementVNode("span",{class:"thinking-text"},"正在思考中...")],-1)])])):R.createCommentVNode("",!0)],64)):R.createCommentVNode("",!0),N.showSatisfaction&&l.value?(R.openBlock(),R.createElementBlock("div",gN,[T[25]||(T[25]=R.createElementVNode("div",{class:"satisfaction-title"}," 自动结束会话,感谢你的提问!请问你对本次服务满意吗? ",-1)),R.createElementVNode("div",ON,[(R.openBlock(),R.createElementBlock(R.Fragment,null,R.renderList(OV,(S,w)=>R.createElementVNode("div",{key:w,class:R.normalizeClass(["satisfaction-item",{active:Q.value===S.value}]),onClick:o=>dE(S.value)},[R.createElementVNode("div",xN,[S.value===1?(R.openBlock(),R.createElementBlock("svg",nN,[...T[20]||(T[20]=[R.createElementVNode("circle",{cx:"12",cy:"12",r:"10",fill:"#FFD93D",stroke:"#E8B92F","stroke-width":"1"},null,-1),R.createElementVNode("circle",{cx:"8",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("circle",{cx:"16",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("path",{d:"M8 16 Q12 13 16 16",stroke:"#5D4037","stroke-width":"1.5",fill:"none","stroke-linecap":"round"},null,-1)])])):S.value===2?(R.openBlock(),R.createElementBlock("svg",bN,[...T[21]||(T[21]=[R.createElementVNode("circle",{cx:"12",cy:"12",r:"10",fill:"#FFD93D",stroke:"#E8B92F","stroke-width":"1"},null,-1),R.createElementVNode("circle",{cx:"8",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("circle",{cx:"16",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("path",{d:"M8 15.5 Q12 14 16 15.5",stroke:"#5D4037","stroke-width":"1.5",fill:"none","stroke-linecap":"round"},null,-1)])])):S.value===3?(R.openBlock(),R.createElementBlock("svg",iN,[...T[22]||(T[22]=[R.createElementVNode("circle",{cx:"12",cy:"12",r:"10",fill:"#FFD93D",stroke:"#E8B92F","stroke-width":"1"},null,-1),R.createElementVNode("circle",{cx:"8",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("circle",{cx:"16",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("line",{x1:"8",y1:"15",x2:"16",y2:"15",stroke:"#5D4037","stroke-width":"1.5","stroke-linecap":"round"},null,-1)])])):S.value===4?(R.openBlock(),R.createElementBlock("svg",KN,[...T[23]||(T[23]=[R.createElementVNode("circle",{cx:"12",cy:"12",r:"10",fill:"#FFD93D",stroke:"#E8B92F","stroke-width":"1"},null,-1),R.createElementVNode("circle",{cx:"8",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("circle",{cx:"16",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("path",{d:"M8 14 Q12 17 16 14",stroke:"#5D4037","stroke-width":"1.5",fill:"none","stroke-linecap":"round"},null,-1)])])):(R.openBlock(),R.createElementBlock("svg",tN,[...T[24]||(T[24]=[R.createElementVNode("circle",{cx:"12",cy:"12",r:"10",fill:"#FFD93D",stroke:"#E8B92F","stroke-width":"1"},null,-1),R.createElementVNode("circle",{cx:"8",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("circle",{cx:"16",cy:"10",r:"1.5",fill:"#5D4037"},null,-1),R.createElementVNode("path",{d:"M7 14 Q12 18 17 14",stroke:"#5D4037","stroke-width":"1.5",fill:"none","stroke-linecap":"round"},null,-1)])]))]),R.createElementVNode("span",XN,R.toDisplayString(S.label),1)],10,wN)),64))])])):R.createCommentVNode("",!0)],544),R.createVNode(R.Transition,{name:"slide-up-panel"},{default:R.withCtx(()=>[B.value?(R.openBlock(),R.createElementBlock("div",eN,[R.createElementVNode("div",oN,[T[26]||(T[26]=R.createElementVNode("i",{class:"iconfont icon-diancai-moren"},null,-1)),T[27]||(T[27]=R.createElementVNode("span",{class:"feedback-panel-title"},"请选择你的问题或建议类型",-1)),R.createVNode(G,{class:"feedback-close",onClick:EE},{default:R.withCtx(()=>[R.createVNode(R.unref(y.Close))]),_:1})]),R.createElementVNode("div",yN,[R.createVNode(i,{modelValue:C.value.type,"onUpdate:modelValue":T[4]||(T[4]=S=>C.value.type=S),class:"feedback-radio-group"},{default:R.withCtx(()=>[(R.openBlock(),R.createElementBlock(R.Fragment,null,R.renderList(UV,S=>(R.openBlock(),R.createElementBlock(R.Fragment,{key:S.value},[R.createVNode(X,{label:S.value},{default:R.withCtx(()=>[R.createTextVNode(R.toDisplayString(S.label),1)]),_:2},1032,["label"]),S.value==="cannot_understand"&&C.value.type==="cannot_understand"?(R.openBlock(),R.createBlock(e,{key:0,modelValue:C.value.cannotUnderstandDetail,"onUpdate:modelValue":T[2]||(T[2]=w=>C.value.cannotUnderstandDetail=w),type:"textarea",rows:3,placeholder:"请提供详细说明或更正确的答案吧",class:"feedback-panel-textarea"},null,8,["modelValue"])):R.createCommentVNode("",!0),S.value==="other"&&C.value.type==="other"?(R.openBlock(),R.createBlock(e,{key:1,modelValue:C.value.otherDetail,"onUpdate:modelValue":T[3]||(T[3]=w=>C.value.otherDetail=w),type:"textarea",rows:3,placeholder:"请提供详细说明或更正确的答案吧",class:"feedback-panel-textarea"},null,8,["modelValue"])):R.createCommentVNode("",!0)],64))),64))]),_:1},8,["modelValue"])]),R.createElementVNode("div",LN,[R.createVNode(ZV,{type:"primary",onClick:ME},{default:R.withCtx(()=>[...T[28]||(T[28]=[R.createTextVNode("提交",-1)])]),_:1})])])):R.createCommentVNode("",!0)]),_:1}),R.createVNode(R.Transition,{name:"fade"},{default:R.withCtx(()=>[h.value&&(c.value.length>0||Y.value.length>0)?(R.openBlock(),R.createElementBlock("div",{key:0,class:"scroll-to-bottom-btn",onClick:RV},[R.createVNode(G,null,{default:R.withCtx(()=>[R.createVNode(R.unref(y.ArrowDown))]),_:1})])):R.createCommentVNode("",!0)]),_:1}),R.createElementVNode("div",rN,[R.renderSlot(A.$slots,"quick-actions",{},()=>[n.value.length>0?(R.openBlock(),R.createElementBlock("div",sN,[(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(n.value,(S,w)=>(R.openBlock(),R.createElementBlock("div",{key:w,class:"action-btn",onClick:o=>WE(S)},[T[29]||(T[29]=R.createElementVNode("img",{src:dU,alt:"article",class:"article-icon"},null,-1)),R.createElementVNode("span",null,R.toDisplayString(S.label),1)],8,qN))),128))])):R.createCommentVNode("",!0)],!0),R.createElementVNode("div",vN,[R.createVNode(e,{modelValue:W.value,"onUpdate:modelValue":T[5]||(T[5]=S=>W.value=S),type:"textarea",rows:4,placeholder:NV.value,class:"ai-message-input",onKeydown:R.withKeys(R.withModifiers(RE,["exact","prevent"]),["enter"])},null,8,["modelValue","placeholder","onKeydown"]),R.createVNode(NU,{content:k.value?v.value?"停止生成":"响应中...":"点击发送",placement:"top","show-after":500,disabled:!k.value&&!s.value},{default:R.withCtx(()=>[R.createElementVNode("div",{class:R.normalizeClass(["send-btn",{active:s.value,stop:k.value&&v.value,disabled:k.value&&!v.value}]),onClick:ZE},[k.value?(R.openBlock(),R.createElementBlock("i",uN)):(R.openBlock(),R.createBlock(G,{key:0},{default:R.withCtx(()=>[R.createVNode(R.unref(y.Promotion))]),_:1}))],2)]),_:1},8,["content","disabled"])])])],4),[[R.vShow,d.value]])]),_:3})],4)}}}),JE="",cE="",IE="",UU=((V,U)=>{const Z=V.__vccOpts||V;for(const[N,E]of U)Z[N]=E;return Z})(PN,[["__scopeId","data-v-63574226"]]),fN={install(V){V.component("GimcAiAgent",UU)}};H.AiAgent=UU,H.GimcAiAgent=UU,H.default=fN,H.defaultAvatarIcon=WU,H.defaultFloatIcon=FU,Object.defineProperties(H,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @font-face{font-family:iconfont;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAfgAAsAAAAADGwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAARAAAAGA9jEpQY21hcAAAAYgAAACBAAAB7v4V7IFnbHlmAAACDAAAA4YAAAU0II6o8GhlYWQAAAWUAAAALwAAADYuAc3LaGhlYQAABcQAAAAcAAAAJAfeA4xobXR4AAAF4AAAAA8AAAAsLAAAAGxvY2EAAAXwAAAAGAAAABgHUAiAbWF4cAAABggAAAAfAAAAIAEcAExuYW1lAAAGKAAAAUAAAAJnEKM8sHBvc3QAAAdoAAAAdwAAAK60g+29eJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGFhYJzAwMrAwNTJdIaBgaEfQjO+ZjBi5ACKMrAyM2AFAWmuKQwHnpc/b2Bu+N/AwMB8hwFIMjCiKGICAH9oDVl4nO2RyRECQQwDe9gDdotQeBIQL1LgPp5k6jAW2SIMXNWusez5SMAAdGInemhHGlkHqa30jrn0nn3d9KnHe1nUT9k166eucrPS/cDImg2TViP/2lb//KY5fTP1Ppv0MC6mHL4aOUrcTCYVd5PJxcPIb+Jp5DzxMspASRmmLzrnJXEAAAB4nIWUTYgcRRSA63XNdG3PTP/UVE/37E52NtXNdLvGzMx2z0yzu5r9QXLwuEo8hFwiwUTYgMvqQVQCIihIjAkYDyKCGvyJijc1SFaWkBxkIx5yMxAvGg+isCpk7YrVM7OgQbNQ/ep109318b1XhXII3b6IP8HzSEMVxNEMQsA9tUI57QR5T7WdWYh6ncAnWR7zQe5ESaPnuE4F26rPvaBLe0kvjly8P13RmbLBBNYZ05/Ty2X9haJpFqFdMM3CKWIRWClWSS5Xtf76g7pY1XQygueZnl5UFnR2wh635bg6mH7L5a6ppKgWRJO6LoXvLFXDCCEimdfwWbwgmUuojOrIQwG6FyHGI6dCM6SpuMKSICQORF3qV2Jq+6FLqE8bXb+S+N34qPK91257qf/M55O13Xs4GHM/fTHWKf3ZgnsuvHLoEJ5v8/QSb7+jnHWmAhaI1RlY3iu+qcF9GFbEyeX19b3HJEteslzFn+EpyTKKQhSjOWkwHnDsgUbmLPMjrWVaXc8Auw7/4fSfrpVzNw0W1q6kHzJDSXeFzEgfN9g5zdTkeNFgzOgHeDWL4sksXtFtW1c+km++VAt59rWS9p9rZtnU2C52WV7ZZNdsOZAiuX/Aa9jr25M1j5xxsAk2YFDPTk+yJGwfTEAdCPg0Vp6APG+rz+dtPX2YVqv0ZKV0PWeSh3bXNfHI0hJstrwDlik2ikbVgjeoW4YZgnHDWvDF7+JL6UrW7vYN/DXmcs2WNJV1WvAAdLJlYr6tzMsgWtCEpEE5rvCoDiaozgSwXhJTH14XW0MM5eM7MOCgmF6F/NhkWW0oKqmtmUcll9nngkhyUXGMynBJHXDdgkfFjwfGW2OniC4XtZw67B9ybrsZct7VTp5y1uVeE+agF7QAq2QnXe/B5VWxdQfn//u7JT6AUck5+lrGKX516n2fsoYSdl3ZQpbsPQSNfNiEfZBtzQw1bCQuUZtKAk9DTby8QdRcScMPWm7uXTyhi/sn335zpGyqCkS/vP9WntKScl5uy3TJKham1p59LA8FOoJAuvgWf4rbqIiQBokGrgZEgxC+EmcWYRmWF8WZfshuT8DxRXG6H8TpRTguw4BzuEdsVJWckSuPDpuoRPXCIAw6iTw8GKdcQU8dOTw9Ozt9+MjP28mW2IQSbv/rWT8R18Tm8N/bPeXt2FGwUwOdv2u/QDHrj78BE7UNjQAAeJxjYGRgYABi1qcf/OL5bb4ycLMwgMDTQpfnCPr/fhYGZkcgl4OBCSQKADxlCusAeJxjYGRgYG7438AQw8IAAkCSkQEVcAMARxECdHicY2FgYGAhEgMABEwALQAAAAAAAFoAoAD8ATYBigHeAhACMgJgApp4nGNgZGBg4GZwYGBnAAEmIOYCQgaG/2A+AwAQVAFpAHichZE9bsJAEIWfwZAElChKpDRpVikoEsn8lEipUKCnoAez5ke211ovSNQ5TY6QE+QI6Whzikh52EMDRbza2W/evpkdyQDusIeH8rvnLtnDJbOSK7jAo3CV+pOwT34WrqGJnnCd+qtwAy94E26yY8YOnn/FrIV3YQ+3+BCu4AafwlXqX8I++Vu4hgf8CNep/wo3MPGuhZtoeeHA6qnTczXbqVVo0sik7niO9WITT+2pPNE2X5lUdYPOURrpVNtjm3y76DkXqciaRA15q+PYqMyatQ5dsHQu67fbkehBaBIMYKExhWOcQ2GGHeMKIQxSREV0Z/mY7gU2iFlp/3VP6LbIqR9yhS4CdM5cI7rSwnk6TY4tX+tRdXQrbsuahDSUWs1JYrLiDzzcramE1AMsi6oMfbS5ohN/UMyQ/AHYk29XeJxtjM0OgkAMhDsoy+8efBAeqgosDaEkCIHw9BYVT86hTaffDEX0UU7/VSDCBVfEcEiQIkOOAiX5MGqoWVvWfpF4bXSW1ObesYZbLaw7a7Uttjsj/eE8WKphnBr15/99uZafhrhg8F0S82f5dhyJXwfRC1ZLK8MA) format("woff"),url(data:font/ttf;base64,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ZnJvbSBGb250ZWxsbyBwcm9qZWN0Lmh0dHA6Ly9mb250ZWxsby5jb20AQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAUgBlAGcAdQBsAGEAcgBpAGMAbwBuAGYAbwBuAHQAaQBjAG8AbgBmAG8AbgB0AFYAZQByAHMAaQBvAG4AIAAxAC4AMABpAGMAbwBuAGYAbwBuAHQARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAA1nb25nZGFuZmFua3VpBXdlbnRpCHdlbnpoYW5nEWRpYW56YW4teHVhbnpob25nDWRpYW5jYWktbW9yZW4NZGlhbnphbi1tb3JlbgZmYXNvbmcGZ3VhbmJpB3phbnRpbmcRZGlhbmNhaS14dWFuemhvbmcAAAAA) format("truetype")}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-gongdanfankui:before{content:""}.icon-wenti:before{content:""}.icon-wenzhang:before{content:""}.icon-dianzan-xuanzhong:before{content:""}.icon-diancai-moren:before{content:""}.icon-dianzan-moren:before{content:""}.icon-fasong:before{content:""}.icon-guanbi:before{content:""}.icon-zanting:before{content:""}.icon-diancai-xuanzhong:before{content:""}.ai-agent-wrapper[data-v-ad025ce9]{position:fixed;z-index:2000}.ai-float-button[data-v-ad025ce9]{cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.ai-float-button .float-avatar[data-v-ad025ce9]{width:64px;height:64px;border-radius:50%;object-fit:cover}.ai-agent-dialog[data-v-ad025ce9]{position:fixed;right:80px;bottom:22px;max-height:796px;height:calc(100vh - 120px);background:#f2f6ff;border:1px solid #d9dfff;border-radius:12px;box-shadow:0 8px 40px #0000001f;display:flex;flex-direction:column;overflow:hidden}.dialog-header[data-v-ad025ce9]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 14px 16px;background:#f2f6ff;border-bottom:1px solid rgba(37,65,122,.08);border-radius:12px 12px 0 0}.dialog-header .header-left[data-v-ad025ce9]{display:flex;align-items:center;gap:6px}.dialog-header .header-left .ai-avatar[data-v-ad025ce9]{width:29px;height:25px}.dialog-header .header-left .title[data-v-ad025ce9]{font-size:16px;font-weight:600;color:#000000d9}.dialog-header .header-right .close-btn[data-v-ad025ce9]{font-size:18px;color:#4e5969;cursor:pointer}.dialog-header .header-right .close-btn[data-v-ad025ce9]:hover{color:#303133}.dialog-content[data-v-ad025ce9]{flex:1;overflow-y:auto;padding:18px;background:#f2f6ff}.dialog-content[data-v-ad025ce9]::-webkit-scrollbar{width:4px}.dialog-content[data-v-ad025ce9]::-webkit-scrollbar-thumb{background:#CDD1DA;border-radius:3px}.dialog-content[data-v-ad025ce9]::-webkit-scrollbar-track{background:transparent}.welcome-section[data-v-ad025ce9]{text-align:center;margin-bottom:20px;padding:4px 0}.welcome-section .greeting[data-v-ad025ce9]{font-size:18px;font-weight:600;color:#25417a;margin-bottom:12px}.welcome-section .welcome-text[data-v-ad025ce9]{font-size:14px;color:#5d76af;line-height:1.6;padding:0 20px}.guess-section[data-v-ad025ce9]{background:rgba(255,255,255,.7);border-radius:0 12px 12px;padding:16px 20px 8px}.guess-section.in-chat[data-v-ad025ce9]{margin-top:12px;margin-bottom:16px}.guess-section .section-title[data-v-ad025ce9]{color:#1d2129;margin-bottom:4px;font-weight:600;font-size:16px}.guess-section .question-list .question-item[data-v-ad025ce9]{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid #DBE9F4;cursor:pointer;transition:all .2s}.guess-section .question-list .question-item[data-v-ad025ce9]:last-child{border-bottom:none}.guess-section .question-list .question-item:hover .question-text[data-v-ad025ce9]{color:#165dff}.guess-section .question-list .question-item .question-icon[data-v-ad025ce9]{width:16px;height:18px;fill:#165dff;margin-right:6px;position:relative;top:1px}.guess-section .question-list .question-item .question-text[data-v-ad025ce9]{flex:1;font-size:14px;color:#1d2129;transition:color .2s}.guess-section .question-list .question-item .arrow-icon[data-v-ad025ce9]{font-size:14px;color:#86909c}.articles-section[data-v-ad025ce9]{background:rgba(255,255,255,.7);border-radius:12px;padding:16px 20px 8px;margin-top:16px}.articles-section .section-header[data-v-ad025ce9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.articles-section .section-header .section-more[data-v-ad025ce9]{font-size:14px;color:#4e5969;cursor:pointer;transition:all .2s}.articles-section .section-header .section-more[data-v-ad025ce9]:hover{color:#4080ff}.articles-section .section-header .section-title[data-v-ad025ce9]{font-size:16px;font-weight:600;color:#1d2129}.articles-section .article-list .article-item[data-v-ad025ce9]{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid rgba(37,65,122,.08);cursor:pointer;transition:all .2s}.articles-section .article-list .article-item[data-v-ad025ce9]:last-child{border-bottom:none}.articles-section .article-list .article-item:hover .article-text[data-v-ad025ce9]{color:#165dff}.articles-section .article-list .article-item .article-text[data-v-ad025ce9]{flex:1;font-size:14px;color:#1d2129;transition:color .2s}.articles-section .article-list .article-item .arrow-icon[data-v-ad025ce9]{font-size:14px;color:#5d76af}.timestamp[data-v-ad025ce9]{text-align:center;font-size:12px;color:#86909c;margin:14px 0 20px}.history-divider[data-v-ad025ce9]{display:flex;align-items:center;justify-content:center;margin:14px 0 20px}.history-divider[data-v-ad025ce9]:before,.history-divider[data-v-ad025ce9]:after{content:"";width:170px;height:1px;background-color:#e7e7e7}.history-divider .divider-text[data-v-ad025ce9]{font-size:12px;color:#86909c;padding:0 12px;white-space:nowrap}.message-item[data-v-ad025ce9]{margin-bottom:16px}.message-item.user-message[data-v-ad025ce9]{display:flex;justify-content:flex-end;margin-bottom:24px}.message-item.user-message .user-bubble[data-v-ad025ce9]{background:#5083FB;color:#fff;border-radius:12px 0 12px 12px;padding:12px 16px;max-width:80%;font-size:14px}.message-item.ai-message .ai-bubble[data-v-ad025ce9]{background:#fff;border-radius:0 12px 12px;padding:16px;max-width:100%;font-size:14px;color:#1d2129;line-height:22px}.message-item.ai-message .ai-bubble .message-content[data-v-ad025ce9]{border-bottom:1px solid #E9ECF3;padding-bottom:14px;font-family:PingFangSC,PingFang SC}.message-item.ai-message .ai-bubble .message-content[data-v-ad025ce9] .message-link{color:#1890ff;text-decoration:none}.message-item.ai-message .ai-bubble .message-content[data-v-ad025ce9] .message-link:hover{text-decoration:underline}.message-item.ai-message .ai-bubble .divider[data-v-ad025ce9]{height:1px;background:rgba(37,65,122,.08);margin:16px 0}.welcome-bubble[data-v-ad025ce9]{display:inline-block;max-width:fit-content!important}.feedback-section[data-v-ad025ce9]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.feedback-section .feedback-label[data-v-ad025ce9]{font-size:12px;color:#86909c}.feedback-section .feedback-btn[data-v-ad025ce9]{display:inline-flex;align-items:center;gap:4px;padding:0 8px;border-radius:4px;font-size:12px;color:#4e5969;cursor:pointer;transition:all .2s;background-color:#f7f8fa;border:1px solid transparent}.feedback-section .feedback-btn .iconfont[data-v-ad025ce9]{font-size:12px;color:#b4bbc4}.feedback-section .feedback-btn[data-v-ad025ce9]:hover{background:#F3F7FF;color:#5083fb}.feedback-section .feedback-btn:hover .iconfont[data-v-ad025ce9]{color:#5083fb}.feedback-section .feedback-btn.active[data-v-ad025ce9]{border:1px solid rgba(22,93,255,.3);background:#F3F7FF;color:#5083fb}.feedback-section .feedback-btn.active .iconfont[data-v-ad025ce9]{color:#5083fb}.feedback-section .feedback-result[data-v-ad025ce9]{font-size:12px;color:#1d2129;margin-left:4px}.suggestions-section[data-v-ad025ce9]{margin-top:16px}.suggestions-section .suggestion-item[data-v-ad025ce9]{width:fit-content;padding:8px 16px;margin-right:8px;margin-bottom:12px;border-radius:8px;font-size:14px;color:#1d2129;cursor:pointer;transition:all .2s;background-color:#f7f8fa}.suggestions-section .suggestion-item[data-v-ad025ce9]:last-child{margin-bottom:0}.suggestions-section .suggestion-item[data-v-ad025ce9]:hover{border-color:#165dff;background:rgba(22,93,255,.05)}.thinking-bubble[data-v-ad025ce9]{display:flex;align-items:center;gap:8px}.thinking-bubble .thinking-animation[data-v-ad025ce9]{display:flex;align-items:center;gap:4px}.thinking-bubble .thinking-animation span[data-v-ad025ce9]{width:6px;height:6px;background:#165dff;border-radius:50%;animation:thinking-ad025ce9 1.4s infinite ease-in-out both}.thinking-bubble .thinking-animation span[data-v-ad025ce9]:nth-child(1){animation-delay:-.32s}.thinking-bubble .thinking-animation span[data-v-ad025ce9]:nth-child(2){animation-delay:-.16s}.thinking-bubble .thinking-text[data-v-ad025ce9]{font-size:14px;color:#86909c}@keyframes thinking-ad025ce9{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.satisfaction-section[data-v-ad025ce9]{text-align:center;border-radius:12px;padding:8px 20px 0}.satisfaction-section .satisfaction-title[data-v-ad025ce9]{font-size:12px;color:#86909c;margin-bottom:12px}.satisfaction-section .satisfaction-options[data-v-ad025ce9]{display:flex;justify-content:center;gap:12px}.satisfaction-section .satisfaction-options .satisfaction-item[data-v-ad025ce9]{width:78px;height:64px;display:flex;flex-direction:column;align-items:center;padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .2s;background:#fff;box-sizing:border-box}.satisfaction-section .satisfaction-options .satisfaction-item[data-v-ad025ce9]:hover{background:rgba(22,93,255,.05)}.satisfaction-section .satisfaction-options .satisfaction-item.active[data-v-ad025ce9]{background:#DDE8FF}.satisfaction-section .satisfaction-options .satisfaction-item .satisfaction-icon[data-v-ad025ce9]{width:20px;height:20px;margin-bottom:4px}.satisfaction-section .satisfaction-options .satisfaction-item .satisfaction-icon svg[data-v-ad025ce9]{width:100%;height:100%}.satisfaction-section .satisfaction-options .satisfaction-item .satisfaction-label[data-v-ad025ce9]{font-size:12px;color:#4e5969}.feedback-panel[data-v-ad025ce9]{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:12px 12px 0 0;box-shadow:0 -4px 20px #0000001a;z-index:10}.feedback-panel .feedback-panel-header[data-v-ad025ce9]{display:flex;align-items:center;padding:16px 20px 10px;border-bottom:1px solid #E7E7E7}.feedback-panel .feedback-panel-header .feedback-icon[data-v-ad025ce9]{font-size:18px;color:#165dff;margin-right:8px}.feedback-panel .feedback-panel-header .feedback-panel-title[data-v-ad025ce9]{flex:1;font-size:15px;font-weight:500;color:#1d2129;margin-left:8px}.feedback-panel .feedback-panel-header .feedback-close[data-v-ad025ce9]{font-size:14px;color:#1d2129;cursor:pointer}.feedback-panel .feedback-panel-header .feedback-close[data-v-ad025ce9]:hover{color:#1d2129}.feedback-panel .feedback-panel-content[data-v-ad025ce9]{padding:16px 20px 16px 38px;max-height:320px;overflow-y:auto}.feedback-panel .feedback-panel-content .feedback-radio-group[data-v-ad025ce9]{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.feedback-panel .feedback-panel-content .feedback-radio-group[data-v-ad025ce9] .el-radio{margin-right:0;height:auto}.feedback-panel .feedback-panel-content .feedback-radio-group[data-v-ad025ce9] .el-radio .el-radio__label{font-size:14px;white-space:normal;line-height:1.5;color:#000000d9;font-weight:400}.feedback-panel .feedback-panel-content .feedback-panel-textarea[data-v-ad025ce9] .el-textarea__inner{background-color:#f2f3f5;border-radius:6px;box-shadow:none;margin-top:-8px}.feedback-panel .feedback-panel-content .feedback-panel-textarea[data-v-ad025ce9] .el-textarea__inner:hover{box-shadow:0 0 0 1px #cdd1da inset!important}.feedback-panel .feedback-panel-content .feedback-panel-textarea[data-v-ad025ce9] .el-textarea__inner:focus{background-color:#fff!important;box-shadow:0 0 0 1px #165dff inset!important}.feedback-panel .feedback-panel-footer[data-v-ad025ce9]{display:flex;justify-content:flex-end;padding:12px 20px 20px;border-top:1px solid rgba(37,65,122,.08)}.feedback-panel .feedback-panel-footer[data-v-ad025ce9] .el-button--primary{background:#165dff;border-color:#165dff}.feedback-panel .feedback-panel-footer[data-v-ad025ce9] .el-button--primary:hover{background:#4080ff;border-color:#4080ff}.scroll-to-bottom-btn[data-v-ad025ce9]{position:absolute;left:50%;transform:translate(-50%);bottom:170px;width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid #D9DFFF;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.scroll-to-bottom-btn svg[data-v-ad025ce9]{width:20px;height:20px;color:#606266}.dialog-footer[data-v-ad025ce9]{padding:12px 20px 20px;background:#f2f6ff}.quick-actions[data-v-ad025ce9]{display:flex;gap:12px;margin-bottom:12px}.quick-actions .article-icon[data-v-ad025ce9]{width:18px;height:18px;margin-right:4px}.quick-actions .action-btn[data-v-ad025ce9]{display:inline-flex;align-items:center;padding:6px 16px;border:1px solid rgba(22,93,255,.3);border-radius:25px;font-size:13px;color:#1d2129;background:#fff;cursor:pointer;transition:all .2s}.quick-actions .action-btn[data-v-ad025ce9]:hover{background:rgba(22,93,255,.05)}.quick-actions .action-btn .action-icon[data-v-ad025ce9]{width:14px;height:14px;fill:#165dff;margin-right:4px}.input-section[data-v-ad025ce9]{position:relative}.input-section .ai-message-input[data-v-ad025ce9] .el-textarea__inner{box-shadow:none;background-color:#fff}.input-section .ai-message-input[data-v-ad025ce9] .el-textarea__inner:hover{box-shadow:0 0 0 1px #cdd1da inset!important}.input-section .ai-message-input[data-v-ad025ce9] .el-textarea__inner:focus{background-color:#fff!important;box-shadow:0 0 0 1px #165dff inset!important}.input-section .send-btn[data-v-ad025ce9]{position:absolute;right:12px;bottom:12px;width:28px;height:28px;border-radius:8px;background:#F2F3F5;display:flex;align-items:center;justify-content:center;cursor:not-allowed;transition:all .2s}.input-section .send-btn .el-icon[data-v-ad025ce9]{font-size:16px;color:#86909c;opacity:.5}.input-section .send-btn.active[data-v-ad025ce9]{background:#165dff;cursor:pointer}.input-section .send-btn.active .el-icon[data-v-ad025ce9]{color:#fff;opacity:1}.input-section .send-btn.active[data-v-ad025ce9]:hover{background:#4080ff}.input-section .send-btn.stop[data-v-ad025ce9]{cursor:pointer;width:28px;height:28px;border-radius:8px;background:#165dff}.input-section .send-btn.stop .icon-zanting[data-v-ad025ce9]{font-size:14px;color:#fff}.input-section .send-btn.stop[data-v-ad025ce9]:hover{background:#4080ff}.input-section .send-btn.disabled[data-v-ad025ce9]{cursor:not-allowed;background:#F2F3F5;opacity:.6}.input-section .send-btn.disabled .icon-zanting[data-v-ad025ce9]{color:#86909c}.input-section .send-btn.disabled[data-v-ad025ce9]:hover{background:#F2F3F5}.slide-up-enter-active[data-v-ad025ce9],.slide-up-leave-active[data-v-ad025ce9]{transition:all .3s ease}.slide-up-enter-from[data-v-ad025ce9],.slide-up-leave-to[data-v-ad025ce9]{opacity:0;transform:translateY(20px)}.slide-up-panel-enter-active[data-v-ad025ce9],.slide-up-panel-leave-active[data-v-ad025ce9]{transition:all .3s ease}.slide-up-panel-enter-from[data-v-ad025ce9],.slide-up-panel-leave-to[data-v-ad025ce9]{transform:translateY(100%);opacity:0}.fade-enter-active[data-v-ad025ce9],.fade-leave-active[data-v-ad025ce9]{transition:opacity .2s ease}.fade-enter-from[data-v-ad025ce9],.fade-leave-to[data-v-ad025ce9]{opacity:0}.el-textarea .el-input__count{background-color:transparent}.el-textarea__inner{border-radius:12px;resize:none;box-shadow:none}.el-radio__input.is-checked .el-radio__inner{background-color:#165dff;border-color:#165dff}.el-radio__input .el-radio__inner:hover{border-color:#165dff}.el-radio__input.is-checked+.el-radio__label{color:#165dff}
1
+ @font-face{font-family:iconfont;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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ZnJvbSBGb250ZWxsbyBwcm9qZWN0Lmh0dHA6Ly9mb250ZWxsby5jb20AQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAUgBlAGcAdQBsAGEAcgBpAGMAbwBuAGYAbwBuAHQAaQBjAG8AbgBmAG8AbgB0AFYAZQByAHMAaQBvAG4AIAAxAC4AMABpAGMAbwBuAGYAbwBuAHQARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAA1nb25nZGFuZmFua3VpBXdlbnRpCHdlbnpoYW5nEWRpYW56YW4teHVhbnpob25nDWRpYW5jYWktbW9yZW4NZGlhbnphbi1tb3JlbgZmYXNvbmcGZ3VhbmJpB3phbnRpbmcRZGlhbmNhaS14dWFuemhvbmcAAAAA) format("truetype")}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-gongdanfankui:before{content:""}.icon-wenti:before{content:""}.icon-wenzhang:before{content:""}.icon-dianzan-xuanzhong:before{content:""}.icon-diancai-moren:before{content:""}.icon-dianzan-moren:before{content:""}.icon-fasong:before{content:""}.icon-guanbi:before{content:""}.icon-zanting:before{content:""}.icon-diancai-xuanzhong:before{content:""}.ai-agent-wrapper[data-v-63574226]{position:fixed;z-index:2000}.ai-float-button[data-v-63574226]{cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.ai-float-button .float-avatar[data-v-63574226]{width:64px;height:64px;border-radius:50%;object-fit:cover}.ai-agent-dialog[data-v-63574226]{position:fixed;right:80px;bottom:22px;max-height:796px;height:calc(100vh - 120px);background:#f2f6ff;border:1px solid #d9dfff;border-radius:12px;box-shadow:0 8px 40px #0000001f;display:flex;flex-direction:column;overflow:hidden}.dialog-header[data-v-63574226]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 14px 16px;background:#f2f6ff;border-bottom:1px solid rgba(37,65,122,.08);border-radius:12px 12px 0 0}.dialog-header .header-left[data-v-63574226]{display:flex;align-items:center;gap:6px}.dialog-header .header-left .ai-avatar[data-v-63574226]{width:29px;height:25px}.dialog-header .header-left .title[data-v-63574226]{font-size:16px;font-weight:600;color:#000000d9}.dialog-header .header-right .close-btn[data-v-63574226]{font-size:18px;color:#4e5969;cursor:pointer}.dialog-header .header-right .close-btn[data-v-63574226]:hover{color:#303133}.dialog-content[data-v-63574226]{flex:1;overflow-y:auto;padding:18px;background:#f2f6ff}.dialog-content[data-v-63574226]::-webkit-scrollbar{width:4px}.dialog-content[data-v-63574226]::-webkit-scrollbar-thumb{background:#CDD1DA;border-radius:3px}.dialog-content[data-v-63574226]::-webkit-scrollbar-track{background:transparent}.welcome-section[data-v-63574226]{text-align:center;margin-bottom:20px;padding:4px 0}.welcome-section .greeting[data-v-63574226]{font-size:18px;font-weight:600;color:#25417a;margin-bottom:12px}.welcome-section .welcome-text[data-v-63574226]{font-size:14px;color:#5d76af;line-height:1.6;padding:0 20px}.guess-section[data-v-63574226]{background:rgba(255,255,255,.7);border-radius:0 12px 12px;padding:16px 20px 8px}.guess-section.in-chat[data-v-63574226]{margin-top:12px;margin-bottom:16px}.guess-section .section-title[data-v-63574226]{color:#1d2129;margin-bottom:4px;font-weight:600;font-size:16px}.guess-section .question-list .question-item[data-v-63574226]{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid #DBE9F4;cursor:pointer;transition:all .2s}.guess-section .question-list .question-item[data-v-63574226]:last-child{border-bottom:none}.guess-section .question-list .question-item:hover .question-text[data-v-63574226]{color:#165dff}.guess-section .question-list .question-item .question-icon[data-v-63574226]{width:16px;height:18px;fill:#165dff;margin-right:6px;position:relative;top:1px}.guess-section .question-list .question-item .question-text[data-v-63574226]{flex:1;font-size:14px;color:#1d2129;transition:color .2s}.guess-section .question-list .question-item .arrow-icon[data-v-63574226]{font-size:14px;color:#86909c}.articles-section[data-v-63574226]{background:rgba(255,255,255,.7);border-radius:12px;padding:16px 20px 8px;margin-top:16px}.articles-section .section-header[data-v-63574226]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.articles-section .section-header .section-more[data-v-63574226]{font-size:14px;color:#4e5969;cursor:pointer;transition:all .2s}.articles-section .section-header .section-more[data-v-63574226]:hover{color:#4080ff}.articles-section .section-header .section-title[data-v-63574226]{font-size:16px;font-weight:600;color:#1d2129}.articles-section .article-list .article-item[data-v-63574226]{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid rgba(37,65,122,.08);cursor:pointer;transition:all .2s}.articles-section .article-list .article-item[data-v-63574226]:last-child{border-bottom:none}.articles-section .article-list .article-item:hover .article-text[data-v-63574226]{color:#165dff}.articles-section .article-list .article-item .article-text[data-v-63574226]{flex:1;font-size:14px;color:#1d2129;transition:color .2s}.articles-section .article-list .article-item .arrow-icon[data-v-63574226]{font-size:14px;color:#5d76af}.timestamp[data-v-63574226]{text-align:center;font-size:12px;color:#86909c;margin:14px 0 20px}.history-divider[data-v-63574226]{display:flex;align-items:center;justify-content:center;margin:14px 0 20px}.history-divider[data-v-63574226]:before,.history-divider[data-v-63574226]:after{content:"";width:170px;height:1px;background-color:#e7e7e7}.history-divider .divider-text[data-v-63574226]{font-size:12px;color:#86909c;padding:0 12px;white-space:nowrap}.message-item[data-v-63574226]{margin-bottom:16px}.message-item.user-message[data-v-63574226]{display:flex;justify-content:flex-end;margin-bottom:24px}.message-item.user-message .user-bubble[data-v-63574226]{background:#5083FB;color:#fff;border-radius:12px 0 12px 12px;padding:12px 16px;max-width:80%;font-size:14px}.message-item.ai-message .ai-bubble[data-v-63574226]{background:#fff;border-radius:0 12px 12px;padding:16px;max-width:100%;font-size:14px;color:#1d2129;line-height:22px}.message-item.ai-message .ai-bubble .message-content[data-v-63574226]{border-bottom:1px solid #E9ECF3;padding-bottom:14px;font-family:PingFangSC,PingFang SC}.message-item.ai-message .ai-bubble .message-content[data-v-63574226] .message-link{color:#1890ff;text-decoration:none}.message-item.ai-message .ai-bubble .message-content[data-v-63574226] .message-link:hover{text-decoration:underline}.message-item.ai-message .ai-bubble .divider[data-v-63574226]{height:1px;background:rgba(37,65,122,.08);margin:16px 0}.welcome-bubble[data-v-63574226]{display:inline-block;max-width:fit-content!important}.feedback-section[data-v-63574226]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.feedback-section .feedback-label[data-v-63574226]{font-size:12px;color:#86909c}.feedback-section .feedback-btn[data-v-63574226]{display:inline-flex;align-items:center;gap:4px;padding:0 8px;border-radius:4px;font-size:12px;color:#4e5969;cursor:pointer;transition:all .2s;background-color:#f7f8fa;border:1px solid transparent}.feedback-section .feedback-btn .iconfont[data-v-63574226]{font-size:12px;color:#b4bbc4}.feedback-section .feedback-btn[data-v-63574226]:hover{background:#F3F7FF;color:#5083fb}.feedback-section .feedback-btn:hover .iconfont[data-v-63574226]{color:#5083fb}.feedback-section .feedback-btn.active[data-v-63574226]{border:1px solid rgba(22,93,255,.3);background:#F3F7FF;color:#5083fb}.feedback-section .feedback-btn.active .iconfont[data-v-63574226]{color:#5083fb}.feedback-section .feedback-result[data-v-63574226]{font-size:12px;color:#1d2129;margin-left:4px}.suggestions-section[data-v-63574226]{margin-top:16px}.suggestions-section .suggestion-item[data-v-63574226]{width:fit-content;padding:8px 16px;margin-right:8px;margin-bottom:12px;border-radius:8px;font-size:14px;color:#1d2129;cursor:pointer;transition:all .2s;background-color:#f7f8fa}.suggestions-section .suggestion-item[data-v-63574226]:last-child{margin-bottom:0}.suggestions-section .suggestion-item[data-v-63574226]:hover{border-color:#165dff;background:rgba(22,93,255,.05)}.thinking-bubble[data-v-63574226]{display:flex;align-items:center;gap:8px}.thinking-bubble .thinking-animation[data-v-63574226]{display:flex;align-items:center;gap:4px}.thinking-bubble .thinking-animation span[data-v-63574226]{width:6px;height:6px;background:#165dff;border-radius:50%;animation:thinking-63574226 1.4s infinite ease-in-out both}.thinking-bubble .thinking-animation span[data-v-63574226]:nth-child(1){animation-delay:-.32s}.thinking-bubble .thinking-animation span[data-v-63574226]:nth-child(2){animation-delay:-.16s}.thinking-bubble .thinking-text[data-v-63574226]{font-size:14px;color:#86909c}@keyframes thinking-63574226{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.satisfaction-section[data-v-63574226]{text-align:center;border-radius:12px;padding:8px 20px 0}.satisfaction-section .satisfaction-title[data-v-63574226]{font-size:12px;color:#86909c;margin-bottom:12px}.satisfaction-section .satisfaction-options[data-v-63574226]{display:flex;justify-content:center;gap:12px}.satisfaction-section .satisfaction-options .satisfaction-item[data-v-63574226]{width:78px;height:64px;display:flex;flex-direction:column;align-items:center;padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .2s;background:#fff;box-sizing:border-box}.satisfaction-section .satisfaction-options .satisfaction-item[data-v-63574226]:hover{background:rgba(22,93,255,.05)}.satisfaction-section .satisfaction-options .satisfaction-item.active[data-v-63574226]{background:#DDE8FF}.satisfaction-section .satisfaction-options .satisfaction-item .satisfaction-icon[data-v-63574226]{width:20px;height:20px;margin-bottom:4px}.satisfaction-section .satisfaction-options .satisfaction-item .satisfaction-icon svg[data-v-63574226]{width:100%;height:100%}.satisfaction-section .satisfaction-options .satisfaction-item .satisfaction-label[data-v-63574226]{font-size:12px;color:#4e5969}.feedback-panel[data-v-63574226]{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:12px 12px 0 0;box-shadow:0 -4px 20px #0000001a;z-index:10}.feedback-panel .feedback-panel-header[data-v-63574226]{display:flex;align-items:center;padding:16px 20px 10px;border-bottom:1px solid #E7E7E7}.feedback-panel .feedback-panel-header .feedback-icon[data-v-63574226]{font-size:18px;color:#165dff;margin-right:8px}.feedback-panel .feedback-panel-header .feedback-panel-title[data-v-63574226]{flex:1;font-size:15px;font-weight:500;color:#1d2129;margin-left:8px}.feedback-panel .feedback-panel-header .feedback-close[data-v-63574226]{font-size:14px;color:#1d2129;cursor:pointer}.feedback-panel .feedback-panel-header .feedback-close[data-v-63574226]:hover{color:#1d2129}.feedback-panel .feedback-panel-content[data-v-63574226]{padding:16px 20px 16px 38px;max-height:320px;overflow-y:auto}.feedback-panel .feedback-panel-content .feedback-radio-group[data-v-63574226]{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.feedback-panel .feedback-panel-content .feedback-radio-group[data-v-63574226] .el-radio{margin-right:0;height:auto}.feedback-panel .feedback-panel-content .feedback-radio-group[data-v-63574226] .el-radio .el-radio__label{font-size:14px;white-space:normal;line-height:1.5;color:#000000d9;font-weight:400}.feedback-panel .feedback-panel-content .feedback-panel-textarea[data-v-63574226] .el-textarea__inner{background-color:#f2f3f5;border-radius:6px;box-shadow:none;margin-top:-8px}.feedback-panel .feedback-panel-content .feedback-panel-textarea[data-v-63574226] .el-textarea__inner:hover{box-shadow:0 0 0 1px #cdd1da inset!important}.feedback-panel .feedback-panel-content .feedback-panel-textarea[data-v-63574226] .el-textarea__inner:focus{background-color:#fff!important;box-shadow:0 0 0 1px #165dff inset!important}.feedback-panel .feedback-panel-footer[data-v-63574226]{display:flex;justify-content:flex-end;padding:12px 20px 20px;border-top:1px solid rgba(37,65,122,.08)}.feedback-panel .feedback-panel-footer[data-v-63574226] .el-button--primary{background:#165dff;border-color:#165dff}.feedback-panel .feedback-panel-footer[data-v-63574226] .el-button--primary:hover{background:#4080ff;border-color:#4080ff}.scroll-to-bottom-btn[data-v-63574226]{position:absolute;left:50%;transform:translate(-50%);bottom:170px;width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid #D9DFFF;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.scroll-to-bottom-btn svg[data-v-63574226]{width:20px;height:20px;color:#606266}.dialog-footer[data-v-63574226]{padding:12px 20px 20px;background:#f2f6ff}.quick-actions[data-v-63574226]{display:flex;gap:12px;margin-bottom:12px}.quick-actions .article-icon[data-v-63574226]{width:18px;height:18px;margin-right:4px}.quick-actions .action-btn[data-v-63574226]{display:inline-flex;align-items:center;padding:6px 16px;border:1px solid rgba(22,93,255,.3);border-radius:25px;font-size:13px;color:#1d2129;background:#fff;cursor:pointer;transition:all .2s}.quick-actions .action-btn[data-v-63574226]:hover{background:rgba(22,93,255,.05)}.quick-actions .action-btn .action-icon[data-v-63574226]{width:14px;height:14px;fill:#165dff;margin-right:4px}.input-section[data-v-63574226]{position:relative}.input-section .ai-message-input[data-v-63574226] .el-textarea__inner{box-shadow:none;background-color:#fff}.input-section .ai-message-input[data-v-63574226] .el-textarea__inner:hover{box-shadow:0 0 0 1px #cdd1da inset!important}.input-section .ai-message-input[data-v-63574226] .el-textarea__inner:focus{background-color:#fff!important;box-shadow:0 0 0 1px #165dff inset!important}.input-section .send-btn[data-v-63574226]{position:absolute;right:12px;bottom:12px;width:28px;height:28px;border-radius:8px;background:#F2F3F5;display:flex;align-items:center;justify-content:center;cursor:not-allowed;transition:all .2s}.input-section .send-btn .el-icon[data-v-63574226]{font-size:16px;color:#86909c;opacity:.5}.input-section .send-btn.active[data-v-63574226]{background:#165dff;cursor:pointer}.input-section .send-btn.active .el-icon[data-v-63574226]{color:#fff;opacity:1}.input-section .send-btn.active[data-v-63574226]:hover{background:#4080ff}.input-section .send-btn.stop[data-v-63574226]{cursor:pointer;width:28px;height:28px;border-radius:8px;background:#165dff}.input-section .send-btn.stop .icon-zanting[data-v-63574226]{font-size:14px;color:#fff}.input-section .send-btn.stop[data-v-63574226]:hover{background:#4080ff}.input-section .send-btn.disabled[data-v-63574226]{cursor:not-allowed;background:#F2F3F5;opacity:.6}.input-section .send-btn.disabled .icon-zanting[data-v-63574226]{color:#86909c}.input-section .send-btn.disabled[data-v-63574226]:hover{background:#F2F3F5}.slide-up-enter-active[data-v-63574226],.slide-up-leave-active[data-v-63574226]{transition:all .3s ease}.slide-up-enter-from[data-v-63574226],.slide-up-leave-to[data-v-63574226]{opacity:0;transform:translateY(20px)}.slide-up-panel-enter-active[data-v-63574226],.slide-up-panel-leave-active[data-v-63574226]{transition:all .3s ease}.slide-up-panel-enter-from[data-v-63574226],.slide-up-panel-leave-to[data-v-63574226]{transform:translateY(100%);opacity:0}.fade-enter-active[data-v-63574226],.fade-leave-active[data-v-63574226]{transition:opacity .2s ease}.fade-enter-from[data-v-63574226],.fade-leave-to[data-v-63574226]{opacity:0}.el-textarea .el-input__count{background-color:transparent}.el-textarea__inner{border-radius:12px;resize:none;box-shadow:none}.el-radio__input.is-checked .el-radio__inner{background-color:#165dff;border-color:#165dff}.el-radio__input .el-radio__inner:hover{border-color:#165dff}.el-radio__input.is-checked+.el-radio__label{color:#165dff}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gimc-ai-agent",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "GIMC 智能客服(Vue3版)",
5
5
  "author": "GIMC",
6
6
  "license": "MIT",