@blueking/ai-ui-sdk 0.0.4 → 0.0.5-beta.1

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.
@@ -6,7 +6,7 @@ type SessionContentsMap = {
6
6
  type SessionLoadingMap = {
7
7
  [key: string]: boolean;
8
8
  };
9
- export declare const useChat: <T extends ISession = ISession>({ handleStart, handleText, handleReferenceDoc, handleThink, handleEnd, handleError, requestOptions, }?: ChatCallbacks) => {
9
+ export declare const useChat: <T extends ISession = ISession>({ handleStart, handleText, handleReferenceDoc, handleThink, handleEnd, handleError, }?: ChatCallbacks) => {
10
10
  currentSession: import("vue").Ref<T | undefined, T | undefined>;
11
11
  sessionContents: import("vue").Ref<{
12
12
  id?: number | undefined;
@@ -21,8 +21,6 @@ export declare const useChat: <T extends ISession = ISession>({ handleStart, han
21
21
  rate?: number | undefined;
22
22
  status?: SessionContentStatus | undefined;
23
23
  sessionCode: string;
24
- cite?: string | undefined;
25
- time?: string | undefined;
26
24
  }[], ISessionContent[] | {
27
25
  id?: number | undefined;
28
26
  createdAt?: string | undefined;
@@ -36,23 +34,16 @@ export declare const useChat: <T extends ISession = ISession>({ handleStart, han
36
34
  rate?: number | undefined;
37
35
  status?: SessionContentStatus | undefined;
38
36
  sessionCode: string;
39
- cite?: string | undefined;
40
- time?: string | undefined;
41
37
  }[]>;
42
38
  sessionContentsMap: SessionContentsMap;
43
39
  sessionLoadingMap: import("vue").Ref<SessionLoadingMap, SessionLoadingMap>;
44
40
  prompts: import("vue").ComputedRef<ISessionPrompt[]>;
45
- currentSessionLoading: import("vue").ComputedRef<boolean>;
46
41
  chat: ({ sessionCode, data, url, headers, }: {
47
42
  sessionCode: string;
48
43
  data?: Record<string, any>;
49
44
  url: string;
50
45
  headers?: Record<string, string>;
51
46
  }) => void;
52
- sendChat: (content: {
53
- message: string;
54
- cite?: string;
55
- }, callback?: () => void) => void;
56
47
  stopChat: (sessionCode: string) => void;
57
48
  plusSessionContent: (sessionCode: string, sessionContent: ISessionContent) => void;
58
49
  updateSessionContent: (sessionContent: ISessionContent) => void;
@@ -65,10 +56,5 @@ export declare const useChat: <T extends ISession = ISession>({ handleStart, han
65
56
  deleteSessionContents: (sessionCode: string, contentIds: number[]) => number[];
66
57
  handleStartChat: (sessionCode: string) => void | undefined;
67
58
  handleErrorChat: (sessionCode: string, message: string, code?: string) => void | undefined;
68
- reGenerateChat: (chatIndex: number) => void;
69
- reSendChat: (index: number, { message, cite }: {
70
- message: string;
71
- cite?: string;
72
- }, callback?: () => void) => void;
73
59
  };
74
60
  export {};
package/dist/main.js CHANGED
@@ -1,8 +1,8 @@
1
- !function(A,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("vue"),require("bkui-vue")):"function"==typeof define&&define.amd?define(["vue","bkui-vue"],e):"object"==typeof exports?exports["ai-ui-sdk"]=e(require("vue"),require("bkui-vue")):A["ai-ui-sdk"]=e(A.vue,A["bkui-vue"])}("undefined"!=typeof self?self:this,(A,e)=>(()=>{var t={84:()=>{!function(){var A='<svg xmlns="http://www.w3.org/2000/svg" data-name="ai-ui-sdk" xmlns:xlink="http://www.w3.org/1999/xlink" style="position:absolute;width:0;height:0;visibility:hidden"><symbol id="ai-ui-sdk-angle-up" viewBox="0 0 32 32"><path fill="#63656e" d="M16 11.5l7 7-1.5 1.5-5.5-5.5-5.5 5.5L9 18.5l7-7z"/></symbol><symbol id="ai-ui-sdk-links" viewBox="0 0 1024 1024"><path d="M263.04 760.96a148.48 148.48 0 01-1.92-224l92.48-92.48-45.12-45.76L216 491.2a212.8 212.8 0 001.92 314.88A212.8 212.8 0 00532.8 808l92.48-92.48L579.84 672l-92.48 92.48a148.48 148.48 0 01-224.32-3.52zM491.2 216l-92.48 92.48 45.44 45.12 92.48-92.48a148.48 148.48 0 01224 1.92 148.48 148.48 0 011.92 224L672 579.84l45.12 45.44 92.48-92.48a212.8 212.8 0 00-1.92-314.88A212.8 212.8 0 00491.2 216z"/><path d="M398.786 579.888l181.019-181.02 45.255 45.255-181.02 181.02-45.254-45.255z"/></symbol><symbol id="ai-ui-sdk-zhishiku" viewBox="0 0 1024 1024"><path d="M320.986 203.315H191.622c-17.248 0-31.622 14.503-31.622 31.905v639.542c0 17.403 14.374 31.905 31.622 31.905h129.364c17.249 0 31.623-14.502 31.623-31.905V235.22c0-17.402-14.374-31.905-31.623-31.905zm-35.934 130.52h-57.495c-15.811 0-28.748-13.053-28.748-29.005 0-15.952 12.937-29.004 28.748-29.004h57.495c15.811 0 28.747 13.052 28.747 29.004 0 15.952-12.936 29.004-28.747 29.004zM578.277 96H448.913c-17.249 0-31.622 14.502-31.622 31.905v746.857c0 17.403 14.373 31.905 31.622 31.905h129.364c17.248 0 31.622-14.502 31.622-31.905V127.905C611.337 110.502 596.963 96 578.277 96zM543.78 227.969h-57.495c-15.811 0-28.748-13.052-28.748-29.004 0-15.952 12.937-29.004 28.748-29.004h57.495c15.811 0 28.747 13.052 28.747 29.004 0 15.952-12.936 29.004-28.747 29.004zm383.78 613.438l-120.74-627.94c-4.312-15.952-17.249-26.104-33.06-26.104h-5.75l-126.488 24.654c-17.249 2.9-28.748 20.303-25.873 37.705l122.177 629.39c2.875 15.953 15.811 26.104 31.622 26.104h5.75l126.489-24.653c17.248-4.35 28.748-21.753 25.873-39.156zM762.26 312.081l-57.495 11.602h-5.75c-12.936 0-25.872-10.152-28.747-23.204-2.875-15.952 7.187-31.904 22.998-34.805l57.495-11.601c15.811-2.9 31.623 7.25 34.497 23.203 2.875 15.952-7.187 31.905-22.998 34.805z"/></symbol><symbol id="ai-ui-sdk-sikao" viewBox="0 0 1024 1024"><path d="M528 96c61.856 0 112 50.144 112 112 0 .376-.002.751-.006 1.126C774.73 260.666 870.4 391.16 870.4 544c0 22.55-2.082 44.612-6.066 66.007C883.94 630.144 896 657.663 896 688c0 61.856-50.144 112-112 112a112.7 112.7 0 01-19.49-1.69C699.754 862.65 610.519 902.4 512 902.4s-187.753-39.75-252.539-104.088A112.33 112.33 0 01240 800c-61.856 0-112-50.144-112-112 0-30.337 12.061-57.856 31.65-78.025A361.172 361.172 0 01153.6 544c0-164.845 111.29-303.696 262.836-345.518C421.232 141.079 469.35 96 528 96zm-91.48 176.633l-4.469 1.278C315.47 308.366 230.4 416.249 230.4 544c0 10.923.622 21.7 1.832 32.3l1.623-.134L240 576c61.856 0 112 50.144 112 112 0 26.132-8.95 50.173-23.95 69.226C377.36 799.817 441.67 825.6 512 825.6c70.33 0 134.639-25.783 183.99-68.412C680.95 738.173 672 714.132 672 688c0-61.856 50.144-112 112-112 2.607 0 5.194.09 7.757.264A280.989 280.989 0 00793.6 544c0-119.973-75.025-222.422-180.718-262.99C592.35 304.904 561.938 320 528 320c-37.782 0-71.195-18.708-91.48-47.367z"/></symbol><symbol id="ai-ui-sdk-wenzhang" viewBox="0 0 1024 1024"><path fill="#3D4265" d="M708.923 157.538h275.692c21.752 0 39.385 17.634 39.385 39.385v748.308c0 43.503-35.266 78.769-78.77 78.769H708.924V157.538z"/><path fill="#3A84FF" d="M0 984.615A39.385 39.385 0 0039.385 1024H945.23c-43.503 0-78.77-35.266-78.77-78.77V39.386C866.462 17.633 848.829 0 827.078 0H39.385C17.633 0 0 17.633 0 39.385v945.23z"/><path fill="#FFF" d="M196.923 288.82c-21.751 0-39.385 17.634-39.385 39.385 0 21.752 17.634 39.385 39.385 39.385h157.539c21.751 0 39.384-17.633 39.384-39.385 0-21.751-17.633-39.384-39.384-39.384H196.923zm0 236.308c-21.751 0-39.385 17.633-39.385 39.385 0 21.751 17.634 39.384 39.385 39.384h472.615c21.752 0 39.385-17.633 39.385-39.384 0-21.752-17.633-39.385-39.385-39.385H196.923zm0 236.308c-21.751 0-39.385 17.633-39.385 39.385 0 21.751 17.634 39.384 39.385 39.384h236.308c21.751 0 39.384-17.633 39.384-39.384 0-21.752-17.633-39.385-39.384-39.385H196.923z"/></g></symbol><symbol id="ai-ui-sdk-yanjing-kejian" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M512 192c247.4 0 448 143.3 448 320S759.4 832 512 832 64 688.7 64 512s200.6-320 448-320zm0 64c-54.2 0-106.6 7.5-155.9 22.4-46.6 14.1-88.3 34.1-123.7 59.4C165.1 385.9 128 447.8 128 512c0 64.2 37.1 126.1 104.4 174.2 35.4 25.3 77.1 45.3 123.7 59.4C405.4 760.5 457.8 768 512 768s106.6-7.5 155.9-22.4c46.6-14.1 88.3-34.1 123.7-59.4C858.9 638.1 896 576.2 896 512c0-64.2-37.1-126.1-104.4-174.2-35.4-25.3-77.1-45.3-123.7-59.4C618.6 263.5 566.2 256 512 256zm0 96c88.4 0 160 71.6 160 160s-71.6 160-160 160-160-71.6-160-160 71.6-160 160-160zm0 64c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96z"/></symbol></svg>';document.body?document.body.insertAdjacentHTML("afterbegin",A):document.addEventListener("DOMContentLoaded",function(){document.body.insertAdjacentHTML("afterbegin",A)})}()},86:(A,e,t)=>{var n=t(919);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[A.id,n,""]]),n.locals&&(A.exports=n.locals),(0,t(534).A)("31b80a08",n,!0,{})},89:(A,e,t)=>{"use strict";A.exports=t.p+"svg/iconcool.99d41d1a.svg"},106:A=>{"use strict";A.exports="data:font/ttf;base64,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"},314:A=>{"use strict";A.exports=function(A){var e=[];return e.toString=function(){return this.map(function(e){var t="",n=void 0!==e[5];return e[4]&&(t+="@supports (".concat(e[4],") {")),e[2]&&(t+="@media ".concat(e[2]," {")),n&&(t+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),t+=A(e),n&&(t+="}"),e[2]&&(t+="}"),e[4]&&(t+="}"),t}).join("")},e.i=function(A,t,n,i,o){"string"==typeof A&&(A=[[null,A,void 0]]);var l={};if(n)for(var s=0;s<this.length;s++){var a=this[s][0];null!=a&&(l[a]=!0)}for(var r=0;r<A.length;r++){var d=[].concat(A[r]);n&&l[d[0]]||(void 0!==o&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=o),t&&(d[2]&&(d[1]="@media ".concat(d[2]," {").concat(d[1],"}")),d[2]=t),i&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=i):d[4]="".concat(i)),e.push(d))}},e}},380:e=>{"use strict";e.exports=A},417:A=>{"use strict";A.exports=function(A,e){return(e||(e={}),A&&(A=String(A.__esModule?A.default:A),/^['"].*['"]$/.test(A)&&(A=A.slice(1,-1)),e.hash&&(A+=e.hash),/["'() \t\n]|(%20)/.test(A)||e.needQuotes))?'"'.concat(A.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):A}},472:A=>{"use strict";A.exports=e},534:(A,e,t)=>{"use strict";function n(A,e){for(var t=[],n={},i=0;i<e.length;i++){var o=e[i],l=o[0],s={id:A+":"+i,css:o[1],media:o[2],sourceMap:o[3]};n[l]?n[l].parts.push(s):t.push(n[l]={id:l,parts:[s]})}return t}t.d(e,{A:()=>g});var i="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!i)throw Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var o={},l=i&&(document.head||document.getElementsByTagName("head")[0]),s=null,a=0,r=!1,d=function(){},c=null,u="data-vue-ssr-id",B="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function g(A,e,t,i){r=t,c=i||{};var l=n(A,e);return h(l),function(e){for(var t=[],i=0;i<l.length;i++){var s=o[l[i].id];s.refs--,t.push(s)}e?h(l=n(A,e)):l=[];for(var i=0;i<t.length;i++){var s=t[i];if(0===s.refs){for(var a=0;a<s.parts.length;a++)s.parts[a]();delete o[s.id]}}}}function h(A){for(var e=0;e<A.length;e++){var t=A[e],n=o[t.id];if(n){n.refs++;for(var i=0;i<n.parts.length;i++)n.parts[i](t.parts[i]);for(;i<t.parts.length;i++)n.parts.push(m(t.parts[i]));n.parts.length>t.parts.length&&(n.parts.length=t.parts.length)}else{for(var l=[],i=0;i<t.parts.length;i++)l.push(m(t.parts[i]));o[t.id]={id:t.id,refs:1,parts:l}}}}function p(){var A=document.createElement("style");return A.type="text/css",l.appendChild(A),A}function m(A){var e,t,n=document.querySelector("style["+u+'~="'+A.id+'"]');if(n){if(r)return d;n.parentNode.removeChild(n)}if(B){var i=a++;e=v.bind(null,n=s||(s=p()),i,!1),t=v.bind(null,n,i,!0)}else e=f.bind(null,n=p()),t=function(){n.parentNode.removeChild(n)};return e(A),function(n){n?(n.css!==A.css||n.media!==A.media||n.sourceMap!==A.sourceMap)&&e(A=n):t()}}var E=function(){var A=[];return function(e,t){return A[e]=t,A.filter(Boolean).join("\n")}}();function v(A,e,t,n){var i=t?"":n.css;if(A.styleSheet)A.styleSheet.cssText=E(e,i);else{var o=document.createTextNode(i),l=A.childNodes;l[e]&&A.removeChild(l[e]),l.length?A.insertBefore(o,l[e]):A.appendChild(o)}}function f(A,e){var t=e.css,n=e.media,i=e.sourceMap;if(n&&A.setAttribute("media",n),c.ssrId&&A.setAttribute(u,e.id),i&&(t+="\n/*# sourceURL="+i.sources[0]+" */\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),A.styleSheet)A.styleSheet.cssText=t;else{for(;A.firstChild;)A.removeChild(A.firstChild);A.appendChild(document.createTextNode(t))}}},601:A=>{"use strict";A.exports=function(A){return A[1]}},802:A=>{"use strict";A.exports="data:font/woff;base64,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"},912:A=>{"use strict";A.exports="data:application/vnd.ms-fontobject;base64,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"},919:(A,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>E});var n=t(601),i=t.n(n),o=t(314),l=t.n(o),s=t(417),a=t.n(s),r=new URL(t(89),t.b),d=new URL(t(106),t.b),c=new URL(t(802),t.b),u=new URL(t(912),t.b),B=l()(i()),g=a()(r,{hash:"#iconcool"}),h=a()(d),p=a()(c),m=a()(u,{hash:"?#iefix"});B.push([A.id,`@font-face {
1
+ import*as A from"vue";import*as e from"bkui-vue";var t,n,o,i,a,s,l,r,d,c,u,B,g={84:()=>{var A;A='<svg xmlns="http://www.w3.org/2000/svg" data-name="ai-ui-sdk" xmlns:xlink="http://www.w3.org/1999/xlink" style="position:absolute;width:0;height:0;visibility:hidden"><symbol id="ai-ui-sdk-angle-up" viewBox="0 0 32 32"><path fill="#63656e" d="M16 11.5l7 7-1.5 1.5-5.5-5.5-5.5 5.5L9 18.5l7-7z"/></symbol><symbol id="ai-ui-sdk-links" viewBox="0 0 1024 1024"><path d="M263.04 760.96a148.48 148.48 0 01-1.92-224l92.48-92.48-45.12-45.76L216 491.2a212.8 212.8 0 001.92 314.88A212.8 212.8 0 00532.8 808l92.48-92.48L579.84 672l-92.48 92.48a148.48 148.48 0 01-224.32-3.52zM491.2 216l-92.48 92.48 45.44 45.12 92.48-92.48a148.48 148.48 0 01224 1.92 148.48 148.48 0 011.92 224L672 579.84l45.12 45.44 92.48-92.48a212.8 212.8 0 00-1.92-314.88A212.8 212.8 0 00491.2 216z"/><path d="M398.786 579.888l181.019-181.02 45.255 45.255-181.02 181.02-45.254-45.255z"/></symbol><symbol id="ai-ui-sdk-zhishiku" viewBox="0 0 1024 1024"><path d="M320.986 203.315H191.622c-17.248 0-31.622 14.503-31.622 31.905v639.542c0 17.403 14.374 31.905 31.622 31.905h129.364c17.249 0 31.623-14.502 31.623-31.905V235.22c0-17.402-14.374-31.905-31.623-31.905zm-35.934 130.52h-57.495c-15.811 0-28.748-13.053-28.748-29.005 0-15.952 12.937-29.004 28.748-29.004h57.495c15.811 0 28.747 13.052 28.747 29.004 0 15.952-12.936 29.004-28.747 29.004zM578.277 96H448.913c-17.249 0-31.622 14.502-31.622 31.905v746.857c0 17.403 14.373 31.905 31.622 31.905h129.364c17.248 0 31.622-14.502 31.622-31.905V127.905C611.337 110.502 596.963 96 578.277 96zM543.78 227.969h-57.495c-15.811 0-28.748-13.052-28.748-29.004 0-15.952 12.937-29.004 28.748-29.004h57.495c15.811 0 28.747 13.052 28.747 29.004 0 15.952-12.936 29.004-28.747 29.004zm383.78 613.438l-120.74-627.94c-4.312-15.952-17.249-26.104-33.06-26.104h-5.75l-126.488 24.654c-17.249 2.9-28.748 20.303-25.873 37.705l122.177 629.39c2.875 15.953 15.811 26.104 31.622 26.104h5.75l126.489-24.653c17.248-4.35 28.748-21.753 25.873-39.156zM762.26 312.081l-57.495 11.602h-5.75c-12.936 0-25.872-10.152-28.747-23.204-2.875-15.952 7.187-31.904 22.998-34.805l57.495-11.601c15.811-2.9 31.623 7.25 34.497 23.203 2.875 15.952-7.187 31.905-22.998 34.805z"/></symbol><symbol id="ai-ui-sdk-sikao" viewBox="0 0 1024 1024"><path d="M528 96c61.856 0 112 50.144 112 112 0 .376-.002.751-.006 1.126C774.73 260.666 870.4 391.16 870.4 544c0 22.55-2.082 44.612-6.066 66.007C883.94 630.144 896 657.663 896 688c0 61.856-50.144 112-112 112a112.7 112.7 0 01-19.49-1.69C699.754 862.65 610.519 902.4 512 902.4s-187.753-39.75-252.539-104.088A112.33 112.33 0 01240 800c-61.856 0-112-50.144-112-112 0-30.337 12.061-57.856 31.65-78.025A361.172 361.172 0 01153.6 544c0-164.845 111.29-303.696 262.836-345.518C421.232 141.079 469.35 96 528 96zm-91.48 176.633l-4.469 1.278C315.47 308.366 230.4 416.249 230.4 544c0 10.923.622 21.7 1.832 32.3l1.623-.134L240 576c61.856 0 112 50.144 112 112 0 26.132-8.95 50.173-23.95 69.226C377.36 799.817 441.67 825.6 512 825.6c70.33 0 134.639-25.783 183.99-68.412C680.95 738.173 672 714.132 672 688c0-61.856 50.144-112 112-112 2.607 0 5.194.09 7.757.264A280.989 280.989 0 00793.6 544c0-119.973-75.025-222.422-180.718-262.99C592.35 304.904 561.938 320 528 320c-37.782 0-71.195-18.708-91.48-47.367z"/></symbol><symbol id="ai-ui-sdk-wenzhang" viewBox="0 0 1024 1024"><path fill="#3D4265" d="M708.923 157.538h275.692c21.752 0 39.385 17.634 39.385 39.385v748.308c0 43.503-35.266 78.769-78.77 78.769H708.924V157.538z"/><path fill="#3A84FF" d="M0 984.615A39.385 39.385 0 0039.385 1024H945.23c-43.503 0-78.77-35.266-78.77-78.77V39.386C866.462 17.633 848.829 0 827.078 0H39.385C17.633 0 0 17.633 0 39.385v945.23z"/><path fill="#FFF" d="M196.923 288.82c-21.751 0-39.385 17.634-39.385 39.385 0 21.752 17.634 39.385 39.385 39.385h157.539c21.751 0 39.384-17.633 39.384-39.385 0-21.751-17.633-39.384-39.384-39.384H196.923zm0 236.308c-21.751 0-39.385 17.633-39.385 39.385 0 21.751 17.634 39.384 39.385 39.384h472.615c21.752 0 39.385-17.633 39.385-39.384 0-21.752-17.633-39.385-39.385-39.385H196.923zm0 236.308c-21.751 0-39.385 17.633-39.385 39.385 0 21.751 17.634 39.384 39.385 39.384h236.308c21.751 0 39.384-17.633 39.384-39.384 0-21.752-17.633-39.385-39.384-39.385H196.923z"/></g></symbol><symbol id="ai-ui-sdk-yanjing-kejian" viewBox="0 0 1024 1024"><path fill-rule="evenodd" d="M512 192c247.4 0 448 143.3 448 320S759.4 832 512 832 64 688.7 64 512s200.6-320 448-320zm0 64c-54.2 0-106.6 7.5-155.9 22.4-46.6 14.1-88.3 34.1-123.7 59.4C165.1 385.9 128 447.8 128 512c0 64.2 37.1 126.1 104.4 174.2 35.4 25.3 77.1 45.3 123.7 59.4C405.4 760.5 457.8 768 512 768s106.6-7.5 155.9-22.4c46.6-14.1 88.3-34.1 123.7-59.4C858.9 638.1 896 576.2 896 512c0-64.2-37.1-126.1-104.4-174.2-35.4-25.3-77.1-45.3-123.7-59.4C618.6 263.5 566.2 256 512 256zm0 96c88.4 0 160 71.6 160 160s-71.6 160-160 160-160-71.6-160-160 71.6-160 160-160zm0 64c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96z"/></symbol></svg>',document.body?document.body.insertAdjacentHTML("afterbegin",A):document.addEventListener("DOMContentLoaded",function(){document.body.insertAdjacentHTML("afterbegin",A)})},86:(A,e,t)=>{var n=t(919);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[A.id,n,""]]),n.locals&&(A.exports=n.locals),(0,t(534).A)("31b80a08",n,!0,{})},89:(A,e,t)=>{A.exports=t.p+"svg/iconcool.99d41d1a.svg"},106:A=>{A.exports="data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kHdAAABfAAAAFZjbWFwxE6SfgAAAfQAAAHMZ2x5Zifqlp4AAAPUAAAEZGhlYWQrGmdpAAAA4AAAADZoaGVhB4oDNQAAALwAAAAkaG10eBxkAAAAAAHUAAAAIGxvY2EEKgL0AAADwAAAABJtYXhwARgAZgAAARgAAAAgbmFtZZAIaAsAAAg4AAAChXBvc3Qo9+vJAAAKwAAAAGcAAQAAAyz/LABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAgAAQAAAAEAAFtiS51fDzz1AAsEAAAAAADj/ZIKAAAAAOP9kgoAAP8sBAADLAAAAAgAAgAAAAAAAAABAAAACABaAAYAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQONAZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjhBgMs/ywAXAMsANQAAAABAAAAAAAABAAAAABkAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAFAAAAAwAAACwAAAAEAAABaAABAAAAAABiAAMAAQAAACwAAwAKAAABaAAEADYAAAAGAAQAAQACAHjhBv//AAAAeOEB//8AAAAAAAEABgAGAAAAAQAGAAUAAgAEAAMABwAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAZAAAAAAAAAAHAAAAeAAAAHgAAAABAADhAQAA4QEAAAAGAADhAgAA4QIAAAAFAADhAwAA4QMAAAACAADhBAAA4QQAAAAEAADhBQAA4QUAAAADAADhBgAA4QYAAAAHAAAAAAAMAB4AegEEAXIB0gIyAAAAAQAA/+wAMgAUAAIAADczFRQeFCgAAAAAAQAAAAAC4AG8AAUAAAEXBycHJwIA4DCwsDABvOAwsLAwAAAAAwAA/78DbwKaABkAMwA3AAAlLgI2PwEnBw4BHgEXHgI2PwEnBw4BLgETBxc3PgEeARceAgYPARc3PgE0JicuAgYDNxcHAQcZGgEaGF0uXCEkASQiHlJaUh9cLV0WOkE6z1wtXRU7QTkWGBsBGhhbLV0hIyUhH1FcUnu1LbUzFTpBOhZdLVwfUlpSHiIkASQhXCxcGRkBGwI6XC5dGBoBGhkVOkE6Fl0tXB9SWlIeIiUBJP5ytS21AAYAAP+hA6ICzAAPABsAKwA3AEoAWQAAASMOARURFBYXMz4BNxEuAQcjIiY0NjsBMhYUBiUjIgYHER4BFzM+ATURNiYHIyImNDY7ATIWFAYBAy4BKwEHDgEXEx4BOwE3PgEnAwcjLgEnJjY/ATYeAQYHAUGBDhISDoENEgEBEjE5DRAQDTkMEBABGYENEgEBEg2BDhIBEjE6DBAQDDoMEBABdHkEEQwGfg4OAnoCEQwGfw0OAaY5BgoQAwINDDoMFAQNDAJhARIN/YANEgEBEg0CgA0SghEYEREYEe4SDv0VDRIBARINAusOEoQRGBERGBH9mwJ0DA4ZAxUO/YsMDhgEFg4CEQwBDQoMFAIMAg0ZEwMAAAIAAP+lA4ACzAAlAEcAAAEeARcVHgEXFAceARUOAQciJw4BIiYnBiMuASc0NjcmNT4BNz4BDwEOAQcUFzMeARcGBx4BMjY3Jic+ATczNjUuAScOASMiJgIQMD8BZ34BBg8RAT8wCgkygZSBMgkKMD8BEQ8GApFzBT4uBVlvAgIIMD8BARclXmpeJRcBAT8wCAICYlEQKxodLwLMAT8wASmydCIgDygXMD8BAjE3NzECAT8wFygPICJ+uiIsObABG5JhEBABPzAoHSAkJCAdKDA/ARAQW4wgEhUaAAAFAAD/LAQAAywACQAZACUAMQA9AAABITIWFREOAQcjJRQWMyEuAScRNCYjISIGFRciBhQWFzM+ATQmIwcOARQWFyE+ATQmJwUOARQWOwEyNjQmJwLFARQQFwEsIuz9OxcQA4ohLQEWEfzsEBfFERYWEZ0RFhYRnREWFhEB2RAXFxD+JxEWFhHsERYWEQKOFhH9FCIsAScQFwEsIgOKEBcXEPoWIhYBARYiFuwBFiEWAQEWIRYB7AEWIhYWIhYBAAAEAAD/7APAAmwACwAkADAAOQAAAR4BFw4BBy4BJz4BFyIHBgcOARQWFxYXFjI3Njc+ATQmJyYnJgceARcOAQcuASc+ARcOARQWMjY0JgIAvv0FBf2+vv0FBf2+UkpGNjI2NjI2RkqkSkY2MjY2MjZGSlJEWgICWkREWgICWkQpNjZSNjYCbAO1iIi1AwO1iIi1PRYWJiRZYlkkJhYWFhYmJFliWSQmFhZgAlpERFoCAlpERFo+ATZSNjZSNgAAAAAAABIA3gABAAAAAAAAAB0AAAABAAAAAAABAAgAHQABAAAAAAACAAcAJQABAAAAAAADAAgALAABAAAAAAAEAAgANAABAAAAAAAFAAsAPAABAAAAAAAGAAgARwABAAAAAAAKACsATwABAAAAAAALABMAegADAAEECQAAADoAjQADAAEECQABABAAxwADAAEECQACAA4A1wADAAEECQADABAA5QADAAEECQAEABAA9QADAAEECQAFABYBBQADAAEECQAGABABGwADAAEECQAKAFYBKwADAAEECQALACYBgQogIENyZWF0ZWQgYnkgZm9udC1jYXJyaWVyCiAgaWNvbmZvbnRSZWd1bGFyaWNvbmZvbnRpY29uZm9udFZlcnNpb24gMS4waWNvbmZvbnRHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQAKACAAIABDAHIAZQBhAHQAZQBkACAAYgB5ACAAZgBvAG4AdAAtAGMAYQByAHIAaQBlAHIACgAgACAAaQBjAG8AbgBmAG8AbgB0AFIAZQBnAHUAbABhAHIAaQBjAG8AbgBmAG8AbgB0AGkAYwBvAG4AZgBvAG4AdABWAGUAcgBzAGkAbwBuACAAMQAuADAAaQBjAG8AbgBmAG8AbgB0AEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgBAgEDAQQBBQEGAQcBCAEJAAF4B3VuaUUxMDMHdW5pRTEwNQd1bmlFMTA0B3VuaUUxMDIHdW5pRTEwMQd1bmlFMTA2AAAA"},314:A=>{A.exports=function(A){var e=[];return e.toString=function(){return this.map(function(e){var t="",n=void 0!==e[5];return e[4]&&(t+="@supports (".concat(e[4],") {")),e[2]&&(t+="@media ".concat(e[2]," {")),n&&(t+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),t+=A(e),n&&(t+="}"),e[2]&&(t+="}"),e[4]&&(t+="}"),t}).join("")},e.i=function(A,t,n,o,i){"string"==typeof A&&(A=[[null,A,void 0]]);var a={};if(n)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(a[l]=!0)}for(var r=0;r<A.length;r++){var d=[].concat(A[r]);n&&a[d[0]]||(void 0!==i&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=i),t&&(d[2]&&(d[1]="@media ".concat(d[2]," {").concat(d[1],"}")),d[2]=t),o&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=o):d[4]="".concat(o)),e.push(d))}},e}},417:A=>{A.exports=function(A,e){return(e||(e={}),A&&(A=String(A.__esModule?A.default:A),/^['"].*['"]$/.test(A)&&(A=A.slice(1,-1)),e.hash&&(A+=e.hash),/["'() \t\n]|(%20)/.test(A)||e.needQuotes))?'"'.concat(A.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):A}},534:(A,e,t)=>{function n(A,e){for(var t=[],n={},o=0;o<e.length;o++){var i=e[o],a=i[0],s={id:A+":"+o,css:i[1],media:i[2],sourceMap:i[3]};n[a]?n[a].parts.push(s):t.push(n[a]={id:a,parts:[s]})}return t}t.d(e,{A:()=>p});var o,i="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!i)throw Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var a={},s=i&&(document.head||document.getElementsByTagName("head")[0]),l=null,r=0,d=!1,c=function(){},u=null,B="data-vue-ssr-id",g="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function p(A,e,t,o){d=t,u=o||{};var i=n(A,e);return h(i),function(e){for(var t=[],o=0;o<i.length;o++){var s=a[i[o].id];s.refs--,t.push(s)}e?h(i=n(A,e)):i=[];for(var o=0;o<t.length;o++){var s=t[o];if(0===s.refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete a[s.id]}}}}function h(A){for(var e=0;e<A.length;e++){var t=A[e],n=a[t.id];if(n){n.refs++;for(var o=0;o<n.parts.length;o++)n.parts[o](t.parts[o]);for(;o<t.parts.length;o++)n.parts.push(E(t.parts[o]));n.parts.length>t.parts.length&&(n.parts.length=t.parts.length)}else{for(var i=[],o=0;o<t.parts.length;o++)i.push(E(t.parts[o]));a[t.id]={id:t.id,refs:1,parts:i}}}}function m(){var A=document.createElement("style");return A.type="text/css",s.appendChild(A),A}function E(A){var e,t,n=document.querySelector("style["+B+'~="'+A.id+'"]');if(n){if(d)return c;n.parentNode.removeChild(n)}if(g){var o=r++;e=v.bind(null,n=l||(l=m()),o,!1),t=v.bind(null,n,o,!0)}else e=Q.bind(null,n=m()),t=function(){n.parentNode.removeChild(n)};return e(A),function(n){n?(n.css!==A.css||n.media!==A.media||n.sourceMap!==A.sourceMap)&&e(A=n):t()}}var f=(o=[],function(A,e){return o[A]=e,o.filter(Boolean).join("\n")});function v(A,e,t,n){var o=t?"":n.css;if(A.styleSheet)A.styleSheet.cssText=f(e,o);else{var i=document.createTextNode(o),a=A.childNodes;a[e]&&A.removeChild(a[e]),a.length?A.insertBefore(i,a[e]):A.appendChild(i)}}function Q(A,e){var t=e.css,n=e.media,o=e.sourceMap;if(n&&A.setAttribute("media",n),u.ssrId&&A.setAttribute(B,e.id),o&&(t+="\n/*# sourceURL="+o.sources[0]+" */\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */"),A.styleSheet)A.styleSheet.cssText=t;else{for(;A.firstChild;)A.removeChild(A.firstChild);A.appendChild(document.createTextNode(t))}}},601:A=>{A.exports=function(A){return A[1]}},802:A=>{A.exports="data:font/woff;base64,d09GRgABAAAAAAdgAAsAAAAACygAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kHdY21hcAAAAYAAAAB4AAABzMROkn5nbHlmAAAB+AAAAz0AAARkJ+qWnmhlYWQAAAU4AAAALwAAADYrGmdpaGhlYQAABWgAAAAcAAAAJAeKAzVobXR4AAAFhAAAABIAAAAgHGQAAGxvY2EAAAWYAAAAEgAAABIEKgL0bWF4cAAABawAAAAfAAAAIAEYAGZuYW1lAAAFzAAAAVcAAAKFkAhoC3Bvc3QAAAckAAAAOwAAAGco9+vJeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk7mWcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGBwYKh6yMev812GIYdZhuAIUZgTJAQD1ggtaeJzFkcsNxDAIRB/xJ1KUUva8Ba32sCW4XSpJBuPLVhCkZzRjkC0AGlDES1SwH0bER65Nv3BMv/KW7srGxvB+XdLDbWaV6K6v3FRR1blLdh4Le+7p/zjn+V1KU2Es9EVfxPR8S2IvXhLCq0nsyFsSe/OesN/vURUReJxVVM9v00gUfm+c2LTEjp3aM0mrprET20FNTJq0ttKKVJUqkHojt5YE0V5WWiEhQS+7SIUiDggQ0q44sdoDiN1zhdQLQuxeuCFx5sZ9o/0DEKG8qVm2xPabb773Pev9GAcQ4GgEbbCBASQdxy7bdaAfSsM+4CvI0kZooRYy+NA6OGjhq+OF3ArF/qVcY0+gBB1IAPyIxasYagaWUZT/wxFOaSLppZyaR4kXgzBiqpIIDbXSNE4Xh9HArWHNK/e3+nOD5pAvry2/o9VZWevy4gwpLjWHbtV35y4O+jcPm4cdhxR82BzMUUTZo1h30BiUSjjDlgfRsEgvLX0v8bH2+TpFgkp5P1WesbeQhxmYp8w3YJOqrBroWDYXnR4mVoRa1QsW4xVsc1v1q56qWVQB+ZasODjpQyXCeaRCxVQZV5CqCxWtGmEYUAPiMqoaru0bhYKxrxcQCwtd3TT1bs40sZQyOnmJXyYqJw3u/pSxcuqeYbCfGYFbuoF/dtVJU2E6CeyMnmPbFDa+nYYzWu9YRYvufwvG2PnK/mMU7qbs+De2mzNKimOMH+SMYoYb9FrUJ3M2yzG9NEWDpOkf/aHcpp74cIF6QaU69NhaGR0DNS800AtCVZa1GCfBUk/WmUdy2aJDQpWEbXKE5OjESyQzkHrEzNYq/rCHat7C1dbkRHv/8X57YpJIK6+yX25ke1F28xpjp4hB4V/+8bIvkJSnGNu5aM5Pz55lb2mLZ17sepV8XZCMLSTJAiNS1PMVb++l1+ge4Myv29S31VZ9tlKrVWbrpDPNSw8rBWca5Ak+amRAacAEnVQfFuAcVei2uWNR/lXf5h2XErYWg6rrqY7w1PQQ0J6mStg9PrBZiWnkMWH2Bm1TYMMbjVeEqdx3m8itTyNTvLE4t37/ZvC9KYT5OZR4JA17xK2x7TUwPA5X7kv/R+5xRDIj5K5EZEZyL3mAjPxGlb/ZVTgNNWhBN50P5U5Z91B4mprmSVc7idPPiy7tpEgKZOoMXo+z2fHr1PY3zsftmO7zG8//h/31Lca21lN7Jo77ccyuKof37h0qx/Yc50Ftc2ezFnB+Al75FrO+1UMZ1Y/pb+ILLOK6uQAAAHicY2BkYGAA4ugk77nx/DZfGbhZGEDg8d9JXAj6vw4LA7MOkMvBwAQSBQAeEQm2AHicY2BkYGDW+a/DEMPCAAJAkpEBFXAAADNeAcl4nGNhAIIUBgYWBuwYAAx8AIEAAAAAAAAADAAeAHoBBAFyAdICMgAAeJxjYGRgYOBgiGJgYwABJiDmAkIGhv9gPgMAEnYBfwB4nGWRu27CQBRExzzyAClCiZQmirRN0hDMQ6lQOiQoI1HQG7MGI7+0XpBIlw/Id+UT0qXLJ6TPYK4bxyvvnjszd30lA7jGNxycnnu+J3ZwwerENZzjQbhO/Um4QX4WbqKNF+Ez6jPhFrp4FW7jBm+8wWlcshrjQ9hBB5/CNVzhS7hO/Ue4Qf4VbuLWaQqfoePcCbewcLrCbTw67y2lJkZ7Vq/U8qCCNLE93zMm1IZO6KfJUZrr9S7yTFmW50KbPEwTNXQHpTTTiTblbfl+PbI2UIFJYzWlq6MoVZlJt9q37sbabNzvB6K7fhpzPMU1gYGGB8t9xXqJA/cAKRJqPfj0DFdI30hPSPXol6k5vTV2iIps1a3Wi+KmnPqxVhjCxeBfasZUUiSrs+XY82sjqpbp46yGPTFpKr2ak0RkhazwtlR86i42RVfGn93nCip5t5gh/gPYnXLBAHicY2BigAAuBuyAg5GJkZmRhZGVkY2RnZGDkZOBsYK9NC/T1dDAGEqbQmkTKG0EpQ2htBkDAwCH5w3NAA=="},912:A=>{A.exports="data:application/vnd.ms-fontobject;base64,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"},919:(A,e,t)=>{t.r(e),t.d(e,{default:()=>E});var n=t(601),o=t.n(n),i=t(314),a=t.n(i),s=t(417),l=t.n(s),r=new URL(t(89),t.b),d=new URL(t(106),t.b),c=new URL(t(802),t.b),u=new URL(t(912),t.b),B=a()(o()),g=l()(r,{hash:"#iconcool"}),p=l()(d),h=l()(c),m=l()(u,{hash:"?#iefix"});B.push([A.id,`@font-face {
2
2
  font-family: "ai-ui-sdk";
3
3
  src: url(${g}) format("svg"),
4
- url(${h}) format("truetype"),
5
- url(${p}) format("woff"),
4
+ url(${p}) format("truetype"),
5
+ url(${h}) format("woff"),
6
6
  url(${m}) format("embedded-opentype");
7
7
  font-weight: normal;
8
8
  font-style: normal;
@@ -41,7 +41,7 @@ url(${m}) format("embedded-opentype");
41
41
  .ai-ui-sdk-yanjing-kejian:before {
42
42
  content: "\\e106";
43
43
  }
44
- `,""]);let E=B}},n={};function i(A){var e=n[A];if(void 0!==e)return e.exports;var o=n[A]={id:A,exports:{}};return t[A](o,o.exports,i),o.exports}i.m=t,i.n=A=>{var e=A&&A.__esModule?()=>A.default:()=>A;return i.d(e,{a:e}),e},i.d=(A,e)=>{for(var t in e)i.o(e,t)&&!i.o(A,t)&&Object.defineProperty(A,t,{enumerable:!0,get:e[t]})},i.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),i.r=A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},i.p="/",i.b=document.baseURI||self.location.href;var o={};return(()=>{"use strict";i.r(o),i.d(o,{HttpErrorCode:()=>n,SessionContentRole:()=>t,SessionContentStatus:()=>e,SessionPromptRole:()=>A,default:()=>I,transferSessionContent2SessionPrompt:()=>s,useChat:()=>k,useClickProxy:()=>u,useStyle:()=>y,useSummary:()=>C});var A,e,t,n,l={};i.r(l),i.d(l,{eo:()=>n,In:()=>t,c_:()=>e,bJ:()=>A,DA:()=>s,Y_:()=>k,a2:()=>u,X3:()=>y,S0:()=>C}),function(A){A.System="system",A.Assistant="assistant",A.User="user",A.Guide="guide",A.Pause="pause",A.UserImage="user-image",A.Hidden="hidden",A.HiddenUser="hidden-user",A.HiddenAssistant="hidden-assistant",A.HiddenSystem="hidden-system",A.HiddenGuide="hidden-guide",A.TemplateUser="template-user",A.TemplateAssistant="template-assistant",A.TemplateSystem="template-system",A.TemplateGuide="template-guide",A.TemplateHidden="template-hidden"}(A||(A={})),function(A){A.Fail="fail",A.Loading="loading",A.Success="success"}(e||(e={})),function(A){A.Ai="ai",A.User="user",A.Time="time",A.System="system",A.Role="role",A.Hidden="hidden",A.Guide="guide",A.Pause="pause",A.TokenExpired="token-expired",A.UserImage="user-image",A.HiddenUser="hidden-user",A.HiddenAi="hidden-ai",A.HiddenRole="hidden-role",A.HiddenGuide="hidden-guide",A.TemplateUser="template-user",A.TemplateAi="template-ai",A.TemplateRole="template-role",A.TemplateGuide="template-guide",A.TemplateHidden="template-hidden",A.ImageNotSupported="image-not-supported"}(t||(t={})),function(A){A.TokenExpired="80003",A.ImageNotSupported="82003",A.UnAuthorizedPreviewFile="80401",A.TagRepeat="1513405",A[A.Aborted=20]="Aborted",A[A.UnLogin=401]="UnLogin",A.IamNoPermission="IAM_NO_PERMISSION"}(n||(n={}));let s=e=>{let n={[t.Ai]:A.Assistant,[t.User]:A.User,[t.System]:A.System,[t.Hidden]:A.Hidden,[t.Guide]:A.Guide,[t.Time]:A.System,[t.Role]:A.System,[t.HiddenAi]:A.HiddenAssistant,[t.HiddenGuide]:A.HiddenGuide,[t.HiddenRole]:A.HiddenSystem,[t.HiddenUser]:A.HiddenUser,[t.TemplateAi]:A.TemplateAssistant,[t.TemplateGuide]:A.TemplateGuide,[t.TemplateRole]:A.TemplateSystem,[t.TemplateUser]:A.TemplateUser,[t.TemplateHidden]:A.TemplateHidden,[t.Pause]:A.Pause,[t.TokenExpired]:A.Pause,[t.ImageNotSupported]:A.Pause,[t.UserImage]:A.UserImage};return{content:e.content,role:n[e.role]}};var a=i(380),r=i(472);let d=A=>{try{return JSON.parse(A),!0}catch(A){return!1}},c=A=>{let e=document.createElement("textarea");e.value=A,document.body.appendChild(e),e.select(),document.execCommand("copy"),(0,r.Message)({theme:"success",message:"复制成功"}),document.body.removeChild(e)},u=()=>{let A=A=>{var e,t,n,i;let o=A.target;if(null==o?void 0:o.classList.contains("bkaidev-angle-up")){let A=null==o?void 0:o.parentElement;(null==A?void 0:A.classList.contains("closed"))?null==A||A.classList.remove("closed"):null==A||A.classList.add("closed")}if((null==o?void 0:o.classList.contains("click-close"))&&((null==o?void 0:o.classList.contains("closed"))?null==o||o.classList.remove("closed"):null==o||o.classList.add("closed")),null==o?void 0:o.classList.contains("click-full-screen")){let A=null==o?void 0:null===(t=o.parentElement)||void 0===t?void 0:null===(e=t.parentElement)||void 0===e?void 0:e.parentElement;null==A||A.classList.add("full-screen"),A._originalParent||(A._originalParent=A.parentNode,A._originalNextSibling=A.nextSibling),document.body.appendChild(A)}if(null==o?void 0:o.classList.contains("click-un-full-screen")){let A=null==o?void 0:null===(i=o.parentElement)||void 0===i?void 0:null===(n=i.parentElement)||void 0===n?void 0:n.parentElement;null==A||A.classList.remove("full-screen"),A._originalNextSibling?A._originalParent.insertBefore(A,A._originalNextSibling):A._originalParent.appendChild(A)}if(null==o?void 0:o.classList.contains("click-copy")){let A=null==o?void 0:o.getAttribute("data-clipboard-text");A&&c(decodeURIComponent(A))}if(null==o?void 0:o.classList.contains("click-download")){let A=null==o?void 0:o.getAttribute("data-clipboard-text"),e=null==o?void 0:o.getAttribute("data-file-name");A&&e&&function(A,e="ai.txt"){let t=document.createElement("a"),n=new Blob([A]);t.download=e,t.href=URL.createObjectURL(n),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)}(decodeURIComponent(A),e)}},e=()=>{window.addEventListener("click",A)},t=()=>{window.removeEventListener("click",A)};(0,a.onBeforeMount)(()=>{e()}),(0,a.onBeforeUnmount)(()=>{t()})},B=A=>{let e=`<section class="knowledge-head click-close">
44
+ `,""]);let E=B}},p={};function h(A){var e=p[A];if(void 0!==e)return e.exports;var t=p[A]={id:A,exports:{}};return g[A](t,t.exports,h),t.exports}h.m=g,h.n=A=>{var e=A&&A.__esModule?()=>A.default:()=>A;return h.d(e,{a:e}),e},h.d=(A,e)=>{for(var t in e)h.o(e,t)&&!h.o(A,t)&&Object.defineProperty(A,t,{enumerable:!0,get:e[t]})},h.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),h.r=A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},h.p="/",h.b=new URL("./",import.meta.url);var m={};h.d(m,{eo:()=>B,In:()=>u,c_:()=>c,bJ:()=>d,Ay:()=>W,DA:()=>f,Y_:()=>U,a2:()=>k,X3:()=>Z,S0:()=>H});var E={};h.r(E),h.d(E,{eo:()=>B,In:()=>u,c_:()=>c,bJ:()=>d,DA:()=>f,Y_:()=>U,a2:()=>k,X3:()=>Z,S0:()=>H}),(t=d||(d={})).System="system",t.Assistant="assistant",t.User="user",t.Guide="guide",t.Pause="pause",t.UserImage="user-image",t.Hidden="hidden",t.HiddenUser="hidden-user",t.HiddenAssistant="hidden-assistant",t.HiddenSystem="hidden-system",t.HiddenGuide="hidden-guide",t.TemplateUser="template-user",t.TemplateAssistant="template-assistant",t.TemplateSystem="template-system",t.TemplateGuide="template-guide",t.TemplateHidden="template-hidden",(n=c||(c={})).Fail="fail",n.Loading="loading",n.Success="success",(o=u||(u={})).Ai="ai",o.User="user",o.Time="time",o.System="system",o.Role="role",o.Hidden="hidden",o.Guide="guide",o.Pause="pause",o.TokenExpired="token-expired",o.UserImage="user-image",o.HiddenUser="hidden-user",o.HiddenAi="hidden-ai",o.HiddenRole="hidden-role",o.HiddenGuide="hidden-guide",o.TemplateUser="template-user",o.TemplateAi="template-ai",o.TemplateRole="template-role",o.TemplateGuide="template-guide",o.TemplateHidden="template-hidden",o.ImageNotSupported="image-not-supported",(i=B||(B={})).TokenExpired="80003",i.ImageNotSupported="82003",i.UnAuthorizedPreviewFile="80401",i.TagRepeat="1513405",i[i.Aborted=20]="Aborted",i[i.UnLogin=401]="UnLogin",i.IamNoPermission="IAM_NO_PERMISSION";let f=A=>{let e={[u.Ai]:d.Assistant,[u.User]:d.User,[u.System]:d.System,[u.Hidden]:d.Hidden,[u.Guide]:d.Guide,[u.Time]:d.System,[u.Role]:d.System,[u.HiddenAi]:d.HiddenAssistant,[u.HiddenGuide]:d.HiddenGuide,[u.HiddenRole]:d.HiddenSystem,[u.HiddenUser]:d.HiddenUser,[u.TemplateAi]:d.TemplateAssistant,[u.TemplateGuide]:d.TemplateGuide,[u.TemplateRole]:d.TemplateSystem,[u.TemplateUser]:d.TemplateUser,[u.TemplateHidden]:d.TemplateHidden,[u.Pause]:d.Pause,[u.TokenExpired]:d.Pause,[u.ImageNotSupported]:d.Pause,[u.UserImage]:d.UserImage};return{content:A.content,role:e[A.role]}},v=(a={computed:()=>A.computed,onBeforeMount:()=>A.onBeforeMount,onBeforeUnmount:()=>A.onBeforeUnmount,ref:()=>A.ref},s={},h.d(s,a),s),Q=(l={Message:()=>e.Message},r={},h.d(r,l),r),w=A=>{try{return JSON.parse(A),!0}catch(A){return!1}},b=A=>{let e=document.createElement("textarea");e.value=A,document.body.appendChild(e),e.select(),document.execCommand("copy"),(0,Q.Message)({theme:"success",message:"复制成功"}),document.body.removeChild(e)},k=()=>{let A=A=>{var e,t,n,o;let i=A.target;if(null==i?void 0:i.classList.contains("bkaidev-angle-up")){let A=null==i?void 0:i.parentElement;(null==A?void 0:A.classList.contains("closed"))?null==A||A.classList.remove("closed"):null==A||A.classList.add("closed")}if((null==i?void 0:i.classList.contains("click-close"))&&((null==i?void 0:i.classList.contains("closed"))?null==i||i.classList.remove("closed"):null==i||i.classList.add("closed")),null==i?void 0:i.classList.contains("click-full-screen")){let A=null==i?void 0:null===(t=i.parentElement)||void 0===t?void 0:null===(e=t.parentElement)||void 0===e?void 0:e.parentElement;null==A||A.classList.add("full-screen"),A._originalParent||(A._originalParent=A.parentNode,A._originalNextSibling=A.nextSibling),document.body.appendChild(A)}if(null==i?void 0:i.classList.contains("click-un-full-screen")){let A=null==i?void 0:null===(o=i.parentElement)||void 0===o?void 0:null===(n=o.parentElement)||void 0===n?void 0:n.parentElement;null==A||A.classList.remove("full-screen"),A._originalNextSibling?A._originalParent.insertBefore(A,A._originalNextSibling):A._originalParent.appendChild(A)}if(null==i?void 0:i.classList.contains("click-copy")){let A=null==i?void 0:i.getAttribute("data-clipboard-text");A&&b(decodeURIComponent(A))}if(null==i?void 0:i.classList.contains("click-download")){let A=null==i?void 0:i.getAttribute("data-clipboard-text"),e=null==i?void 0:i.getAttribute("data-file-name");A&&e&&function(A,e="ai.txt"){let t=document.createElement("a"),n=new Blob([A]);t.download=e,t.href=URL.createObjectURL(n),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)}(decodeURIComponent(A),e)}},e=()=>{window.addEventListener("click",A)},t=()=>{window.removeEventListener("click",A)};(0,v.onBeforeMount)(()=>{e()}),(0,v.onBeforeUnmount)(()=>{t()})},C=A=>{let e=`<section class="knowledge-head click-close">
45
45
  <svg
46
46
  class="ai-ui-sdk-wenzhang"
47
47
  >
@@ -50,17 +50,17 @@ url(${m}) format("embedded-opentype");
50
50
  找到 ${A.length} 篇资料参考
51
51
  <i class="ai-ui-sdk-icon ai-ui-sdk-angle-up"></i>
52
52
  </section>
53
- <ul class="knowledge-body">`;return A.forEach(A=>{let{path:t,file_path:n,display_name:i,preview_path:o}=A.metadata,l=i||n.split("/").pop();e+=`<li
53
+ <ul class="knowledge-body">`;return A.forEach(A=>{let{path:t,file_path:n,display_name:o,preview_path:i}=A.metadata,a=o||n.split("/").pop();e+=`<li
54
54
  class="knowledge-item"
55
55
  >
56
56
  <i class="ai-ui-sdk-icon ai-ui-sdk-zhishiku"></i>
57
- <a href="${o}" title="${l} (${o})" target="_blank" class="knowledge-link g-flex-truncate">
58
- ${l}
57
+ <a href="${i}" title="${a} (${i})" target="_blank" class="knowledge-link g-flex-truncate">
58
+ ${a}
59
59
  </a>
60
60
  <a href="${t}" title="预览原文" target="_blank" class="knowledge-link hover-show">
61
61
  <i class="ai-ui-sdk-icon ai-ui-sdk-yanjing-kejian"></i>
62
62
  </a>
63
- </li>`}),e+="</ul>"},g=A=>A.replace(/<section class="knowledge-head click-close">[\s\S]*?<\/section>/,"").replace(/<ul class="knowledge-body">[\s\S]*?<\/ul>/,"").replace(/<section class="knowledge-tips">[\s\S]*?<\/section>/,""),h=()=>{let A=null,e=()=>{let e=`.knowledge-tips {
63
+ </li>`}),e+="</ul>"},y=A=>A.replace(/<section class="knowledge-head click-close">[\s\S]*?<\/section>/,"").replace(/<ul class="knowledge-body">[\s\S]*?<\/ul>/,"").replace(/<section class="knowledge-tips">[\s\S]*?<\/section>/,""),I=()=>{let A=null,e=()=>{let e=`.knowledge-tips {
64
64
  position: relative;
65
65
  padding: 6px 8px;
66
66
  margin-bottom: 14px;
@@ -189,13 +189,13 @@ url(${m}) format("embedded-opentype");
189
189
  }
190
190
  }
191
191
  }
192
- }`;(A=document.createElement("style")).textContent=e+t,document.head.appendChild(A)},t=()=>{A&&(A.remove(),A=null)};(0,a.onBeforeMount)(()=>{e()}),(0,a.onBeforeUnmount)(()=>{t()})},p=(A,e,t,n)=>{let i="内容正在生成中..."===A||t?"":A;if(i.includes('<section class="think-head click-close">')){let A=i.match(/<section class="think-body">([\s\S]*?)<\/section>/);if(A){let t=A[1],n=t.replace(/\n$/g,`${e}
193
- `);i=i.replace(t,n)}}else i+=`<section class="think-head click-close">
192
+ }`;(A=document.createElement("style")).textContent=e+t,document.head.appendChild(A)},t=()=>{A&&(A.remove(),A=null)};(0,v.onBeforeMount)(()=>{e()}),(0,v.onBeforeUnmount)(()=>{t()})},x=(A,e,t,n)=>{let o="内容正在生成中..."===A||t?"":A;if(o.includes('<section class="think-head click-close">')){let A=o.match(/<section class="think-body">([\s\S]*?)<\/section>/);if(A){let t=A[1],n=t.replace(/\n$/g,`${e}
193
+ `);o=o.replace(t,n)}}else o+=`<section class="think-head click-close">
194
194
  <i class="ai-ui-sdk-icon ai-ui-sdk-sikao"></i>思考中...<i class="ai-ui-sdk-icon ai-ui-sdk-angle-up"></i>
195
195
  </section>
196
196
  <section class="think-body">
197
197
  ${e}
198
- </section>`;return n&&(i=i.replace("思考中...",`已完成思考 (耗时:${function(A){let e=Math.floor(A/36e5),t=Math.floor(A%36e5/6e4),n=Math.floor(A%6e4/1e3),i=A%1e3,o=[];return e>0&&o.push(`${e}h`),t>0&&o.push(`${t}min`),n>0&&o.push(`${n}s`),i>0&&o.push(`${i.toFixed(2)}ms`),o.join(" ")}(n)})`)),i},m=A=>{let e=A.replace(/<section class="think-head click-close">[\s\S]*<\/section>/,"").replace(/<section class="think-body">[\s\S]*<\/section>/,"");if(""===e.trim()){let t=A.match(/<section class="think-body">([\s\S]*?)<\/section>/);t&&([,e]=t)}return e},E=A=>{let e="正在思考..."===A,t=A.match(/<section class="think-body">([\s\S]*?)<\/section>$/),n=t&&""===t[1].trim();return e||n},v=()=>{let A=null,e=()=>{let e=`.think-head {
198
+ </section>`;return n&&(o=o.replace("思考中...",`已完成思考 (耗时:${function(A){let e=Math.floor(A/36e5),t=Math.floor(A%36e5/6e4),n=Math.floor(A%6e4/1e3),o=A%1e3,i=[];return e>0&&i.push(`${e}h`),t>0&&i.push(`${t}min`),n>0&&i.push(`${n}s`),o>0&&i.push(`${o.toFixed(2)}ms`),i.join(" ")}(n)})`)),o},G=A=>{let e=A.replace(/<section class="think-head click-close">[\s\S]*<\/section>/,"").replace(/<section class="think-body">[\s\S]*<\/section>/,"");if(""===e.trim()){let t=A.match(/<section class="think-body">([\s\S]*?)<\/section>/);t&&([,e]=t)}return e},Y=A=>{let e="正在思考..."===A,t=A.match(/<section class="think-body">([\s\S]*?)<\/section>$/),n=t&&""===t[1].trim();return e||n},R=()=>{let A=null,e=()=>{let e=`.think-head {
199
199
  display: flex;
200
200
  align-items: center;
201
201
  padding: 0 8px 0 6px;
@@ -243,6 +243,6 @@ url(${m}) format("embedded-opentype");
243
243
  &~ .knowledge-head {
244
244
  margin-bottom: 8px;
245
245
  }
246
- }`;(A=document.createElement("style")).textContent=e,document.head.appendChild(A)},t=()=>{A&&(A.remove(),A=null)};(0,a.onBeforeMount)(()=>{e()}),(0,a.onBeforeUnmount)(()=>{t()})};function f(A,e,t,n,i,o,l){try{var s=A[o](l),a=s.value}catch(A){t(A);return}s.done?e(a):Promise.resolve(a).then(n,i)}function Q(A){return function(){var e=this,t=arguments;return new Promise(function(n,i){var o=A.apply(e,t);function l(A){f(o,n,i,l,s,"next",A)}function s(A){f(o,n,i,l,s,"throw",A)}l(void 0)})}}function w(A,e,t){return e in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}class b{stream({sessionCode:A,url:e,headers:t,data:n}){var i=this;return Q(function*(){var o,l;yield null===(o=i.handleStart)||void 0===o?void 0:o.call(i,A);let s=new AbortController;i.controllerMap[A]=s,fetch(e,{method:"post",signal:s.signal,headers:function(A){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(A){return Object.getOwnPropertyDescriptor(t,A).enumerable}))),n.forEach(function(e){w(A,e,t[e])})}return A}({"Content-Type":"application/json"},t),mode:"cors",credentials:"include",body:JSON.stringify(n)}).then((l=Q(function*(e){let t=e.body.pipeThrough(new window.TextDecoderStream).getReader(),n="";for(;;)try{let{value:o,done:l}=yield t.read();if(!e.ok){i.handleError(A,o||e.statusText,e.status);break}if(l){i.handleEnd(A);break}(n+o.toString()).split("\n").forEach(t=>{let o=t.replace("data:","").trim();if(d(o)){var l,s;let{event:t,content:a,cover:r,documents:d,result:c,code:u,elapsed_time:B,message:g}=JSON.parse(o);if(!1===c||200!==e.status){i.handleError(A,g||"模型调用失败",u);return}switch(t){case"text":i.handleText(A,a,r);break;case"reference_doc":null===(l=i.handleReferenceDoc)||void 0===l||l.call(i,A,d,r);break;case"think":null===(s=i.handleThink)||void 0===s||s.call(i,A,a,r,B);break;case"done":i.handleEnd(A,r?a:"");break;case"error":i.handleError(A,g||"模型调用失败",u)}n=""}else o&&(n=o)})}catch(e){(null==e?void 0:e.code)!==20&&i.handleError(A,`模型调用失败:${e.message}`,e.code);break}}),function(A){return l.apply(this,arguments)}))})()}stop(A){var e,t;return null===(t=this.controllerMap[A])||void 0===t||null===(e=t.abort)||void 0===e||e.call(t),this.handleEnd(A)}constructor({handleStart:A,handleText:e,handleReferenceDoc:t,handleThink:n,handleEnd:i,handleError:o}){w(this,"handleStart",void 0),w(this,"handleText",void 0),w(this,"handleReferenceDoc",void 0),w(this,"handleThink",void 0),w(this,"handleEnd",void 0),w(this,"handleError",void 0),w(this,"controllerMap",void 0),this.handleStart=A,this.handleText=e,this.handleReferenceDoc=t,this.handleThink=n,this.handleEnd=i,this.handleError=o,this.controllerMap={}}}let k=({handleStart:A,handleText:i,handleReferenceDoc:o,handleThink:l,handleEnd:r,handleError:d,requestOptions:c}={})=>{let u="内容正在生成中...",h=(0,a.ref)(),v=(0,a.ref)({}),f=(0,a.ref)([]),Q={},w=(0,a.computed)(()=>{let A=[];for(let n=f.value.length-1;n>=0;n--){let i=f.value[n],o=n+1,l=f.value[o];for(;l&&![t.Ai,t.TokenExpired,t.ImageNotSupported,t.Pause,t.Guide].includes(l.role);)o+=1,l=f.value[o];if(i.role===t.System)break;i.status===e.Fail||(null==l?void 0:l.status)===e.Fail&&[t.User,t.UserImage].includes(i.role)||[t.Time,t.System].includes(i.role)||A.unshift(i)}return A}),k=(0,a.computed)(()=>{var A;let e=null===(A=h.value)||void 0===A?void 0:A.sessionCode;return!!e&&v.value[e]}),C=(0,a.computed)(()=>{var A,e,n;let i=[],o=[],l=[],a=f.value.findLastIndex(A=>A.role===t.System&&["已启用角色","已启用模型"].some(e=>A.content.includes(e))),r=0;null===(n=h.value)||void 0===n||null===(e=n.roleInfo)||void 0===e||null===(A=e.content)||void 0===A||A.forEach(A=>{let e=f.value[a+1+r],n=f.value[a+2+r];if((null==e?void 0:e.content)===A.content&&e.role!==t.System&&(i.push(s(e)),r+=1,(null==e?void 0:e.role)===t.Pause)){for(;n&&n.role===t.System;)r+=1,n=f.value[a+1+r];for(;n&&[t.User,t.UserImage].includes(n.role);)i.push(s(n)),r+=1,n=f.value[a+1+r]}}),o.push(...w.value.map(s));let d=A=>{let e=!0;for(let n=A;n<i.length;n++){var t;i[n].content!==(null===(t=o[n-A])||void 0===t?void 0:t.content)&&(e=!1)}return e};for(let A=0;A<i.length;A++){let e=i[A];if(d(A))break;l.push(e)}return l.push(...o),l.forEach(A=>{A.content=m(A.content),A.content=g(A.content)}),l}),y=new b({handleStart:R,handleText:function(A,t,n){let o=I(A);if(o.content===u)o.content=t;else{if(o.status!==e.Loading)return;o.content=n?t:o.content+t}return null==i?void 0:i(A,o)},handleReferenceDoc:function(A,e,t){let n=I(A),i=B(e);return n.content=t?i:n.content+i,null==o?void 0:o(A,n)},handleThink:function(A,e,t,n){let i=I(A);return i.content=p(i.content,e,t,n),null==l?void 0:l(A,i)},handleEnd:function(A,t){let n=I(A);if(n.status===e.Loading)return v.value[A]=!1,t&&(n.content=t),n.status=e.Success,null==r?void 0:r(A,n);(n.content===u||E(n.content))&&D(A,"聊天内容已中断")},handleError:D});function I(A){var e,t;return(null===(e=h.value)||void 0===e?void 0:e.sessionCode)===A?f.value.at(-1):null===(t=Q[A])||void 0===t?void 0:t.at(-1)}function G(A){var e;return(null===(e=h.value)||void 0===e?void 0:e.sessionCode)===A?f.value:Q[A]}function x(A,e){G(A).push(e)}function Y(A,e,n){var i;let o=(null===(i=h.value)||void 0===i?void 0:i.sessionCode)===A?f.value:Q[A],l=[];return e.forEach(A=>{let e=o.findIndex(e=>e.id===A);if(e>-1){let i=o[e-1],s=o[e+1],a=o[e+2];if(o.splice(e,1),l.push(A),[t.Hidden].includes(null==i?void 0:i.role)){let A=o.findIndex(A=>A.id===i.id);o.splice(A,1),l.push(i.id)}if((null==s?void 0:s.role)===t.Ai||n&&[t.Ai,t.Guide,t.TokenExpired,t.ImageNotSupported,t.Pause].includes(null==s?void 0:s.role)){let A=o.findIndex(A=>A.id===s.id);o.splice(A,1),l.push(s.id)}if([t.Guide].includes(null==a?void 0:a.role)&&n){let A=o.findIndex(A=>A.id===a.id);o.splice(A,1),l.push(a.id)}}}),l}function R(n){v.value[n]=!0;let i={sessionCode:n,role:t.Ai,status:e.Loading,content:u};return x(n,i),null==A?void 0:A(n,i)}function D(A,i,o){let l=I(A);return l.status=e.Fail,l.content=i,v.value[A]=!1,o===n.TokenExpired&&(l.content="抱歉,您的剩余 Token 不足,无法返回回答内容,请先清空当前会话(上下文仍会作为历史记录保留))",l.role=t.TokenExpired),o===n.ImageNotSupported&&(l.content="抱歉,当前模型不支持图片内容解析",l.role=t.ImageNotSupported),null==d?void 0:d(A,l,o)}function F(A,n){var i,o,l;if(!(null===(i=h.value)||void 0===i?void 0:i.sessionCode)||!(null==c?void 0:c.url)||k.value)return;let{message:s,cite:a}=A;f.value.push({sessionCode:null===(o=h.value)||void 0===o?void 0:o.sessionCode,content:s,role:t.User,status:e.Success,cite:a});let r=a?`${s}: "${a}"`:s;y.stream({sessionCode:null===(l=h.value)||void 0===l?void 0:l.sessionCode,url:c.url,headers:null==c?void 0:c.headers,data:{inputs:{chat_history:C.value.slice(0,C.value.length-1),input:r}}}),null==n||n()}return{currentSession:h,sessionContents:f,sessionContentsMap:Q,sessionLoadingMap:v,prompts:C,currentSessionLoading:k,chat:function({sessionCode:A,data:e,url:t,headers:n}){y.stream({sessionCode:A,url:t,data:e,headers:n||(null==c?void 0:c.headers)})},sendChat:F,stopChat:function(A){y.stop(A)},plusSessionContent:x,updateSessionContent:function(A){var e;let t=((null===(e=h.value)||void 0===e?void 0:e.sessionCode)===A.sessionCode?f.value:Q[A.sessionCode]).find(e=>+(e.id||0)==+(A.id||0));t&&Object.assign(t,A)},getSessionContentById:function(A,e){return G(e).find(e=>e.id===A)},getLastSessionContentBySessionCode:I,getSessionContentsBySessionCode:G,setCurrentSession:function(A){h.value=A,(null==A?void 0:A.sessionCode)&&(Q[A.sessionCode]||(Q[A.sessionCode]=[]),f.value=Q[A.sessionCode])},setSessionContents:function(A){h.value&&(Q[h.value.sessionCode]=A,f.value=A)},deleteSessionContent:function(A,e){return Y(A,[e],!0)},deleteSessionContents:function(A,e){return Y(A,e,!1)},handleStartChat:R,handleErrorChat:D,reGenerateChat:function(A){if(f.value[A].role!==t.Ai)return;let e=f.value[A-1].content,n=f.value[A-1].cite;f.value.splice(A-1,2),F({message:e,cite:n})},reSendChat:function(A,{message:e,cite:n},i){f.value[A].role===t.User&&(f.value.splice(A,f.value.length-A),F({message:e,cite:n},i))}}},C=({handleStart:e,handleEnd:t,handleError:n}={})=>{let i="",o=new b({handleStart:()=>(i="",null==e?void 0:e()),handleText:(A,e,t)=>{t||"正在思考..."===i?i=e:i+=e},handleEnd:()=>("无话可说"===i&&(i=""),null==t?void 0:t(i)),handleError:(A,e,t)=>null==n?void 0:n(e,t)});return{summary:({content:e,url:t,headers:n,model:i})=>{let l=m(g(e)),s=[{role:A.User,content:`你是一个总结大师,请帮助我对下面这段话进行总结。要求总结精炼,不超过 15 个字!且末尾没有标点符号!请注意:如果你无法总结,请回复“无话可说”!
246
+ }`;(A=document.createElement("style")).textContent=e,document.head.appendChild(A)},t=()=>{A&&(A.remove(),A=null)};(0,v.onBeforeMount)(()=>{e()}),(0,v.onBeforeUnmount)(()=>{t()})};function D(A,e,t,n,o,i,a){try{var s=A[i](a),l=s.value}catch(A){t(A);return}s.done?e(l):Promise.resolve(l).then(n,o)}function F(A){return function(){var e=this,t=arguments;return new Promise(function(n,o){var i=A.apply(e,t);function a(A){D(i,n,o,a,s,"next",A)}function s(A){D(i,n,o,a,s,"throw",A)}a(void 0)})}}function M(A,e,t){return e in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}class S{stream({sessionCode:A,url:e,headers:t,data:n}){var o=this;return F(function*(){var i,a;yield null===(i=o.handleStart)||void 0===i?void 0:i.call(o,A);let s=new AbortController;o.controllerMap[A]=s,fetch(e,{method:"post",signal:s.signal,headers:function(A){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(A){return Object.getOwnPropertyDescriptor(t,A).enumerable}))),n.forEach(function(e){M(A,e,t[e])})}return A}({"Content-Type":"application/json"},t),mode:"cors",credentials:"include",body:JSON.stringify(n)}).then((a=F(function*(e){let t=e.body.pipeThrough(new window.TextDecoderStream).getReader(),n="";for(;;)try{let{value:i,done:a}=yield t.read();if(!e.ok){o.handleError(A,i||e.statusText,e.status);break}if(a){o.handleEnd(A);break}(n+i.toString()).split("\n").forEach(t=>{let i=t.replace("data:","").trim();if(w(i)){var a,s;let{event:t,content:l,cover:r,documents:d,result:c,code:u,elapsed_time:B,message:g}=JSON.parse(i);if(!1===c||200!==e.status){o.handleError(A,g||"模型调用失败",u);return}switch(t){case"text":o.handleText(A,l,r);break;case"reference_doc":null===(a=o.handleReferenceDoc)||void 0===a||a.call(o,A,d,r);break;case"think":null===(s=o.handleThink)||void 0===s||s.call(o,A,l,r,B);break;case"done":o.handleEnd(A,r?l:"");break;case"error":o.handleError(A,g||"模型调用失败",u)}n=""}else i&&(n=i)})}catch(e){(null==e?void 0:e.code)!==20&&o.handleError(A,`模型调用失败:${e.message}`,e.code);break}}),function(A){return a.apply(this,arguments)}))})()}stop(A){var e,t;return null===(t=this.controllerMap[A])||void 0===t||null===(e=t.abort)||void 0===e||e.call(t),this.handleEnd(A)}constructor({handleStart:A,handleText:e,handleReferenceDoc:t,handleThink:n,handleEnd:o,handleError:i}){M(this,"handleStart",void 0),M(this,"handleText",void 0),M(this,"handleReferenceDoc",void 0),M(this,"handleThink",void 0),M(this,"handleEnd",void 0),M(this,"handleError",void 0),M(this,"controllerMap",void 0),this.handleStart=A,this.handleText=e,this.handleReferenceDoc=t,this.handleThink=n,this.handleEnd=o,this.handleError=i,this.controllerMap={}}}let U=({handleStart:A,handleText:e,handleReferenceDoc:t,handleThink:n,handleEnd:o,handleError:i}={})=>{let a="内容正在生成中...",s=(0,v.ref)(),l=(0,v.ref)({}),r=(0,v.ref)([]),d={},g=(0,v.computed)(()=>{let A=[];for(let e=r.value.length-1;e>=0;e--){let t=r.value[e],n=e+1,o=r.value[n];for(;o&&![u.Ai,u.TokenExpired,u.ImageNotSupported,u.Pause,u.Guide].includes(o.role);)n+=1,o=r.value[n];if(t.role===u.System)break;t.status===c.Fail||(null==o?void 0:o.status)===c.Fail&&[u.User,u.UserImage].includes(t.role)||[u.Time,u.System].includes(t.role)||A.unshift(t)}return A}),p=(0,v.computed)(()=>{var A,e,t;let n=[],o=[],i=[],a=r.value.findLastIndex(A=>A.role===u.System&&["已启用角色","已启用模型"].some(e=>A.content.includes(e))),l=0;null===(t=s.value)||void 0===t||null===(e=t.roleInfo)||void 0===e||null===(A=e.content)||void 0===A||A.forEach(A=>{let e=r.value[a+1+l],t=r.value[a+2+l];if((null==e?void 0:e.content)===A.content&&e.role!==u.System&&(n.push(f(e)),l+=1,(null==e?void 0:e.role)===u.Pause)){for(;t&&t.role===u.System;)l+=1,t=r.value[a+1+l];for(;t&&[u.User,u.UserImage].includes(t.role);)n.push(f(t)),l+=1,t=r.value[a+1+l]}}),o.push(...g.value.map(f));let d=A=>{let e=!0;for(let i=A;i<n.length;i++){var t;n[i].content!==(null===(t=o[i-A])||void 0===t?void 0:t.content)&&(e=!1)}return e};for(let A=0;A<n.length;A++){let e=n[A];if(d(A))break;i.push(e)}return i.push(...o),i.forEach(A=>{A.content=G(A.content),A.content=y(A.content)}),i}),h=new S({handleStart:b,handleText:function(A,t,n){let o=m(A);if(o.content===a)o.content=t;else{if(o.status!==c.Loading)return;o.content=n?t:o.content+t}return null==e?void 0:e(A,o)},handleReferenceDoc:function(A,e,n){let o=m(A),i=C(e);return o.content=n?i:o.content+i,null==t?void 0:t(A,o)},handleThink:function(A,e,t,o){let i=m(A);return i.content=x(i.content,e,t,o),null==n?void 0:n(A,i)},handleEnd:function(A,e){let t=m(A);if(t.status===c.Loading)return l.value[A]=!1,e&&(t.content=e),t.status=c.Success,null==o?void 0:o(A,t);(t.content===a||Y(t.content))&&k(A,"聊天内容已中断")},handleError:k});function m(A){var e,t;return(null===(e=s.value)||void 0===e?void 0:e.sessionCode)===A?r.value.at(-1):null===(t=d[A])||void 0===t?void 0:t.at(-1)}function E(A){var e;return(null===(e=s.value)||void 0===e?void 0:e.sessionCode)===A?r.value:d[A]}function Q(A,e){E(A).push(e)}function w(A,e,t){var n;let o=(null===(n=s.value)||void 0===n?void 0:n.sessionCode)===A?r.value:d[A],i=[];return e.forEach(A=>{let e=o.findIndex(e=>e.id===A);if(e>-1){let n=o[e-1],a=o[e+1],s=o[e+2];if(o.splice(e,1),i.push(A),[u.Hidden].includes(null==n?void 0:n.role)){let A=o.findIndex(A=>A.id===n.id);o.splice(A,1),i.push(n.id)}if((null==a?void 0:a.role)===u.Ai||t&&[u.Ai,u.Guide,u.TokenExpired,u.ImageNotSupported,u.Pause].includes(null==a?void 0:a.role)){let A=o.findIndex(A=>A.id===a.id);o.splice(A,1),i.push(a.id)}if([u.Guide].includes(null==s?void 0:s.role)&&t){let A=o.findIndex(A=>A.id===s.id);o.splice(A,1),i.push(s.id)}}}),i}function b(e){l.value[e]=!0;let t={sessionCode:e,role:u.Ai,status:c.Loading,content:a};return Q(e,t),null==A?void 0:A(e,t)}function k(A,e,t){let n=m(A);return n.status=c.Fail,n.content=e,l.value[A]=!1,t===B.TokenExpired&&(n.content="抱歉,您的剩余 Token 不足,无法返回回答内容,请先清空当前会话(上下文仍会作为历史记录保留))",n.role=u.TokenExpired),t===B.ImageNotSupported&&(n.content="抱歉,当前模型不支持图片内容解析",n.role=u.ImageNotSupported),null==i?void 0:i(A,n,t)}return{currentSession:s,sessionContents:r,sessionContentsMap:d,sessionLoadingMap:l,prompts:p,chat:function({sessionCode:A,data:e,url:t,headers:n}){h.stream({sessionCode:A,url:t,data:e,headers:n})},stopChat:function(A){h.stop(A)},plusSessionContent:Q,updateSessionContent:function(A){var e;let t=((null===(e=s.value)||void 0===e?void 0:e.sessionCode)===A.sessionCode?r.value:d[A.sessionCode]).find(e=>+(e.id||0)==+(A.id||0));t&&Object.assign(t,A)},getSessionContentById:function(A,e){return E(e).find(e=>e.id===A)},getLastSessionContentBySessionCode:m,getSessionContentsBySessionCode:E,setCurrentSession:function(A){s.value=A,(null==A?void 0:A.sessionCode)&&(d[A.sessionCode]||(d[A.sessionCode]=[]),r.value=d[A.sessionCode])},setSessionContents:function(A){s.value&&(d[s.value.sessionCode]=A,r.value=A)},deleteSessionContent:function(A,e){return w(A,[e],!0)},deleteSessionContents:function(A,e){return w(A,e,!1)},handleStartChat:b,handleErrorChat:k}},H=({handleStart:A,handleEnd:e,handleError:t}={})=>{let n="",o=new S({handleStart:()=>(n="",null==A?void 0:A()),handleText:(A,e,t)=>{t||"正在思考..."===n?n=e:n+=e},handleEnd:()=>("无话可说"===n&&(n=""),null==e?void 0:e(n)),handleError:(A,e,n)=>null==t?void 0:t(e,n)});return{summary:({content:A,url:e,headers:t,model:n})=>{let i=G(y(A)),a=[{role:d.User,content:`你是一个总结大师,请帮助我对下面这段话进行总结。要求总结精炼,不超过 15 个字!且末尾没有标点符号!请注意:如果你无法总结,请回复“无话可说”!
247
247
  文字如下:
248
- ${l}`}];o.stream({sessionCode:"summary",url:t,data:{prompts:s,model:i},headers:n})}}},y=()=>{i(86),i(84),h(),v()},I=l.default;if("undefined"!=typeof window){let{currentScript:A}=window.document,e=A&&A.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);e&&(i.p=e[1])}})(),o})());
248
+ ${i}`}];o.stream({sessionCode:"summary",url:e,data:{prompts:a,model:n},headers:t})}}},Z=()=>{h(86),h(84),I(),R()},W=E.default;if("undefined"!=typeof window){let{currentScript:A}=window.document,e=A&&A.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);e&&(h.p=e[1])}var N=m.eo,T=m.In,L=m.c_,j=m.bJ,z=m.Ay,J=m.DA,O=m.Y_,P=m.a2,_=m.X3,X=m.S0;export{N as HttpErrorCode,T as SessionContentRole,L as SessionContentStatus,j as SessionPromptRole,z as default,J as transferSessionContent2SessionPrompt,O as useChat,P as useClickProxy,_ as useStyle,X as useSummary};
@@ -34,8 +34,6 @@ export interface ISessionContent {
34
34
  rate?: number;
35
35
  status?: SessionContentStatus;
36
36
  sessionCode: string;
37
- cite?: string;
38
- time?: string;
39
37
  }
40
38
  export interface ISessionPrompt {
41
39
  content: string;
@@ -48,10 +46,6 @@ export interface ChatCallbacks {
48
46
  handleThink?: (sessionCode: string, sessionContent: ISessionContent) => void;
49
47
  handleEnd?: (sessionCode: string, sessionContent: ISessionContent) => void;
50
48
  handleError?: (sessionCode: string, sessionContent: ISessionContent, code: string | undefined) => void;
51
- requestOptions?: {
52
- url: string;
53
- headers?: Record<string, string>;
54
- };
55
49
  }
56
50
  export interface SummaryCallbacks {
57
51
  handleStart?: () => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blueking/ai-ui-sdk",
3
- "version": "0.0.4",
3
+ "version": "0.0.5-beta.1",
4
4
  "description": "蓝鲸AI UI SDK",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/main.d.ts",
package/README.md DELETED
@@ -1,328 +0,0 @@
1
- # 蓝鲸 AI UI SDK
2
-
3
- ## 介绍
4
-
5
- 蓝鲸 AI UI SDK (@blueking/ai-ui-sdk) 是一个用于快速构建 AI 应用前端界面的工具包。它提供了一系列组件和 hooks,帮助开发者简化 AI 聊天界面的开发过程,包括聊天功能、引用资料展示、AI 思考过程可视化等功能。
6
-
7
- ## 安装
8
-
9
- ```bash
10
- npm install @blueking/ai-ui-sdk
11
- ```
12
-
13
- ## 主要功能
14
-
15
- - **聊天功能**:管理 AI 对话的完整生命周期
16
- - **引用资料展示**:显示 AI 在回答中引用的文档资料
17
- - **思考过程可视化**:展示 AI 的思考过程和推理步骤
18
- - **内容总结**:快速对对话内容进行摘要总结
19
- - **统一样式**:提供一致的 UI 样式和图标
20
-
21
- ## 使用指南
22
-
23
- ### 基本设置
24
-
25
- ```typescript
26
- import { useStyle, useChat, useClickProxy } from '@blueking/ai-ui-sdk';
27
-
28
- // 引入样式和图标
29
- useStyle();
30
-
31
- // 设置全局点击代理事件(用于处理折叠/展开、复制等操作)
32
- useClickProxy();
33
-
34
- // 初始化聊天
35
- const {
36
- currentSession,
37
- sessionContents,
38
- chat,
39
- stopChat,
40
- setCurrentSession
41
- } = useChat({
42
- handleStart: (sessionCode, sessionContent) => {
43
- console.log('聊天开始', sessionCode);
44
- },
45
- handleText: (sessionCode, sessionContent) => {
46
- console.log('收到文本消息', sessionContent.content);
47
- },
48
- handleReferenceDoc: (sessionCode, sessionContent) => {
49
- console.log('收到引用资料');
50
- },
51
- handleThink: (sessionCode, sessionContent) => {
52
- console.log('AI 思考过程');
53
- },
54
- handleEnd: (sessionCode, sessionContent) => {
55
- console.log('聊天结束');
56
- },
57
- handleError: (sessionCode, sessionContent, code) => {
58
- console.error('聊天出错', sessionContent.content, code);
59
- }
60
- });
61
- ```
62
-
63
- ### 创建聊天会话
64
-
65
- ```typescript
66
- // 设置当前会话
67
- setCurrentSession({
68
- sessionCode: 'session_123',
69
- sessionName: '新的对话',
70
- model: 'your-ai-model-id'
71
- });
72
-
73
- // 发送聊天请求
74
- chat({
75
- sessionCode: 'session_123',
76
- url: 'https://your-ai-api-endpoint.com/chat',
77
- data: {
78
- // 可添加额外参数
79
- prompts: [...],
80
- temperature: 0.7
81
- },
82
- headers: {
83
- 'Authorization': 'Bearer your-api-token'
84
- }
85
- });
86
-
87
- // 停止正在进行的聊天
88
- stopChat('session_123');
89
- ```
90
-
91
- ### 使用内容总结功能
92
-
93
- ```typescript
94
- import { useSummary } from '@blueking/ai-ui-sdk';
95
-
96
- const { summary } = useSummary({
97
- handleStart: () => {
98
- console.log('开始生成摘要');
99
- },
100
- handleEnd: (text) => {
101
- console.log('摘要生成完成:', text);
102
- },
103
- handleError: (message, code) => {
104
- console.error('摘要生成失败:', message, code);
105
- }
106
- });
107
-
108
- // 生成摘要
109
- summary({
110
- content: '需要总结的长文本内容...',
111
- url: 'https://your-ai-api-endpoint.com/summary',
112
- headers: {
113
- 'Authorization': 'Bearer your-api-token'
114
- },
115
- model: 'your-ai-model-id' // 可选
116
- });
117
- ```
118
-
119
- ## 组件说明
120
-
121
- ### 会话内容展示
122
-
123
- SDK 可以将 AI 回复渲染为包含以下元素的富文本内容:
124
-
125
- 1. **引用资料**:显示 AI 回答中引用的文档
126
- ```html
127
- <section class="knowledge-head click-close">
128
- 找到 X 篇资料参考
129
- <i class="ai-ui-sdk-icon icon-angle-up"></i>
130
- </section>
131
- <ul class="knowledge-body">
132
- <!-- 引用资料列表 -->
133
- </ul>
134
- ```
135
-
136
- 2. **思考过程**:展示 AI 的思考过程
137
- ```html
138
- <section class="think-head click-close">
139
- <i class="ai-ui-sdk-icon icon-sikao"></i>思考中...
140
- <i class="ai-ui-sdk-icon icon-angle-up"></i>
141
- </section>
142
- <section class="think-body">
143
- <!-- 思考内容 -->
144
- </section>
145
- ```
146
-
147
- ## 开发者指南
148
-
149
- ### 架构概览
150
-
151
- SDK 主要由以下模块组成:
152
-
153
- - **核心 hooks**:
154
- - `useChat`: 管理聊天功能
155
- - `useSummary`: 处理内容总结
156
- - `useReferenceDoc`: 处理引用资料展示
157
- - `useThink`: 处理思考过程展示
158
- - `useClickProxy`: 处理点击事件代理
159
- - `useStyle`: 加载样式和图标
160
-
161
- - **工具类**:
162
- - `ChatHelper`: 处理与 AI 服务的通信
163
- - `type-transform`: 处理类型转换
164
-
165
- ### 自定义聊天流程
166
-
167
- 可以通过覆盖 `useChat` 的回调函数来自定义聊天流程的各个环节:
168
-
169
- ```typescript
170
- const {
171
- chat,
172
- // 其他方法...
173
- } = useChat({
174
- // 开始时的处理
175
- handleStart: (sessionCode, sessionContent) => {
176
- // 自定义实现
177
- },
178
-
179
- // 接收文本时的处理
180
- handleText: (sessionCode, sessionContent) => {
181
- // 自定义实现
182
- },
183
-
184
- // 接收引用资料时的处理
185
- handleReferenceDoc: (sessionCode, sessionContent) => {
186
- // 自定义实现
187
- },
188
-
189
- // 接收思考过程时的处理
190
- handleThink: (sessionCode, sessionContent) => {
191
- // 自定义实现
192
- },
193
-
194
- // 结束时的处理
195
- handleEnd: (sessionCode, sessionContent) => {
196
- // 自定义实现
197
- },
198
-
199
- // 出错时的处理
200
- handleError: (sessionCode, sessionContent, code) => {
201
- // 自定义实现
202
- }
203
- });
204
- ```
205
-
206
- ### 会话内容状态管理
207
-
208
- SDK 使用 Vue 3 的响应式系统管理会话内容状态:
209
-
210
- ```typescript
211
- const {
212
- currentSession, // 当前会话
213
- sessionContents, // 当前会话内容
214
- sessionContentsMap, // 所有会话内容的映射
215
- sessionLoadingMap, // 会话加载状态的映射
216
- prompts, // 计算得到的所有提示
217
- // 其他方法...
218
- } = useChat();
219
- ```
220
-
221
- ### 后端流式响应格式
222
-
223
- SDK 期望后端返回的流式响应格式如下:
224
-
225
- ```
226
- data: {"event":"text","content":"文本内容","cover":false}
227
-
228
- data: {"event":"reference_doc","documents":[{"metadata":{"file_path":"文件路径","path":"路径","preview_path":"预览路径"}}]}
229
-
230
- data: {"event":"think","content":"思考内容","cover":false,"elapsed_time":1000}
231
-
232
- data: {"event":"done"}
233
-
234
- data: {"event":"error","message":"错误信息","code":"错误码"}
235
- ```
236
-
237
- ## 示例应用
238
-
239
- 以下是一个简单的 AI 聊天应用示例:
240
-
241
- ```vue
242
- <template>
243
- <div class="chat-container">
244
- <div class="chat-messages" ref="messagesRef">
245
- <div v-for="message in sessionContents" :key="message.id"
246
- :class="['message', message.role]">
247
- <div v-if="message.role === 'user'" class="user-message">
248
- {{ message.content }}
249
- </div>
250
- <div v-else-if="message.role === 'ai'" class="ai-message"
251
- v-html="message.content"></div>
252
- </div>
253
- </div>
254
-
255
- <div class="chat-input">
256
- <input v-model="inputMessage" @keyup.enter="sendMessage"
257
- placeholder="输入您的问题..."/>
258
- <button @click="sendMessage">发送</button>
259
- </div>
260
- </div>
261
- </template>
262
-
263
- <script setup>
264
- import { ref, onMounted } from 'vue';
265
- import { useStyle, useChat, useClickProxy, SessionContentRole } from '@blueking/ai-ui-sdk';
266
-
267
- useStyle();
268
- useClickProxy();
269
-
270
- const inputMessage = ref('');
271
- const messagesRef = ref(null);
272
-
273
- const {
274
- sessionContents,
275
- chat,
276
- setCurrentSession,
277
- plusSessionContent
278
- } = useChat();
279
-
280
- // 设置当前会话
281
- onMounted(() => {
282
- setCurrentSession({
283
- sessionCode: 'demo_session',
284
- sessionName: '演示对话',
285
- model: 'your-model-id'
286
- });
287
- });
288
-
289
- // 发送消息
290
- const sendMessage = () => {
291
- if (!inputMessage.value.trim()) return;
292
-
293
- // 添加用户消息
294
- plusSessionContent('demo_session', {
295
- sessionCode: 'demo_session',
296
- role: SessionContentRole.User,
297
- content: inputMessage.value
298
- });
299
-
300
- // 发送聊天请求
301
- chat({
302
- sessionCode: 'demo_session',
303
- url: 'https://your-api-endpoint/chat',
304
- data: {
305
- model: 'your-model-id',
306
- message: inputMessage.value
307
- }
308
- });
309
-
310
- // 清空输入框
311
- inputMessage.value = '';
312
- }
313
- </script>
314
- ```
315
-
316
- ## API 参考
317
-
318
- 请参考源代码中的类型定义获取完整 API 参考。
319
-
320
- ## 注意事项
321
-
322
- - SDK 依赖 Vue 3 和 bkui-vue,请确保项目中已安装这些依赖
323
- - 确保 AI 服务支持流式响应格式
324
- - 处理复杂的 markdown 或代码展示时,建议使用专门的渲染库
325
-
326
- ## 许可证
327
-
328
- ISC