File: /www/server/panel/BTPanel/static/js/index9.js
import{_ as R}from"./index175.js?v=1777008528";import{M as r,cZ as U,c as B,iA as J,iB as q,dp as K,a as Z}from"./utils-lib.js?v=1777008528";import{c as S,r as y,o as j,j as u,k as _,q as e,F as $,B as I,e as h,v as C,L,s as b,y as D,x as E,bM as F,bk as G,z as H,g as P,R as Q,J as X,K as Y,ap as O,aI as N,p as W,C as ss}from"./base-lib.js?v=1777008528";import{h as ts}from"./index3.js?v=1777008528";import{k as es,l as z,m as os,n as as,o as V}from"./ai.js?v=1777008528";import"./index119.js?v=1777008528";import"./index.vue_vue_type_style_index_0_scoped_cdc7f4d3_lang.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index116.js?v=1777008528";const ls={class:"flex flex-col h-full pt-[1rem]"},ns={key:0,class:"flex-1"},is={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-[2rem]"},rs={class:"flex justify-between items-start"},cs={class:"flex-1 flex flex-col"},ds={key:1,class:"flex-1"},us={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-[2rem]"},_s=["onClick"],fs={class:"flex justify-between items-start"},ps={class:"text-[1.4rem] font-bold text-default mb-[1rem]"},hs={class:"text-small text-secondary"},vs={key:0,class:"w-[2rem] h-[2rem] bg-primary rounded-circle flex items-center justify-center text-white shrink-0"},gs={class:"flex justify-end mt-[3rem] gap-[1rem]"},ms=S({__name:"model-tab",setup(M){const v=y([]),f=y([]),p=y({}),g=y(!0),n=y(!1),w=y(!1),x=async()=>{var t;g.value=!0;try{const{data:s}=await es({type:""});s.status&&((t=s.data)!=null&&t.config)&&(p.value=s.data.config,f.value=s.data.config.models||[]);const{data:o}=await z();o.status&&Array.isArray(o.data)&&(v.value=o.data.map(a=>{let l="其他";return a.startsWith("doubao")?l="字节跳动":a.startsWith("glm")?l="智谱AI":a.startsWith("deepseek")?l="DeepSeek":a.startsWith("kimi")?l="Moonshot":a.startsWith("gpt")||a.startsWith("o")?l="OpenAI":a.startsWith("claude")?l="Anthropic":a.startsWith("gemini")&&(l="Google"),{id:a,name:a,provider:l}}))}catch(s){r.error("加载配置失败")}finally{g.value=!1}},A=t=>{const s=f.value.indexOf(t);s>-1?f.value.splice(s,1):f.value.push(t)},m=async()=>{n.value=!0;try{const{data:t}=await z();t.status&&Array.isArray(t.data)&&(v.value=t.data.map(s=>{let o="其他";return s.startsWith("doubao")?o="字节跳动":s.startsWith("glm")?o="智谱AI":s.startsWith("deepseek")?o="DeepSeek":s.startsWith("kimi")?o="Moonshot":s.startsWith("gpt")||s.startsWith("o")?o="OpenAI":s.startsWith("claude")?o="Anthropic":s.startsWith("gemini")&&(o="Google"),{id:s,name:s,provider:o}}),r.success("模型列表已刷新"))}catch(t){r.error("刷新模型列表失败")}finally{n.value=!1}},d=async()=>{if(f.value.length===0){r.error("请至少选择一个模型");return}w.value=!0;try{const t={...p.value,models:f.value};(await os({config:JSON.stringify(t)})).status?(r.success("模型配置已保存"),p.value=t):r.error("保存失败")}catch(t){r.error("保存配置失败")}finally{w.value=!1}};return j(()=>{x()}),(t,s)=>{const o=F,a=G,l=H;return u(),_("div",ls,[g.value?(u(),_("div",ns,[e("div",is,[(u(),_($,null,I(8,i=>e("div",{key:i,class:"border border-base rounded-base p-[1.6rem]"},[h(a,{animated:""},{template:C(()=>[e("div",rs,[e("div",cs,[h(o,{variant:"text",style:{width:"60%",height:"2rem"}}),h(o,{variant:"text",style:{width:"40%","margin-top":"1rem"}})]),h(o,{variant:"circle",style:{width:"2rem",height:"2rem"}})])]),_:1})])),64))])])):(u(),_("div",ds,[e("div",us,[(u(!0),_($,null,I(v.value,i=>(u(),_("div",{key:i.id,onClick:k=>A(i.id),class:L(["border rounded-base p-[1.6rem] cursor-pointer relative transition-colors duration-200",f.value.includes(i.id)?"border-primary":"border-base hover:border-primary opacity-80"])},[e("div",fs,[e("div",null,[e("div",ps,b(i.name),1),e("div",hs,b(i.provider),1)]),f.value.includes(i.id)?(u(),_("div",vs,[...s[0]||(s[0]=[e("svg",{class:"w-[1.2rem] h-[1.2rem]",viewBox:"0 0 1024 1024",fill:"currentColor"},[e("path",{d:"M433.067 853.333c-14.934 0-29.867-6.4-40.534-17.066L98.133 541.867c-21.333-21.334-21.333-57.6 0-78.934s57.6-21.334 78.934 0l253.866 253.867L844.8 288c21.333-21.333 55.467-21.333 76.8 0 21.333 21.333 21.333 57.6 0 78.933L473.6 836.267c-10.667 10.666-25.6 17.066-40.533 17.066z"})],-1)])])):D("",!0)])],10,_s))),128))])])),e("div",gs,[h(l,{onClick:m,loading:n.value},{default:C(()=>[...s[1]||(s[1]=[E("刷新模型列表",-1)])]),_:1},8,["loading"]),h(l,{type:"primary",onClick:d,loading:w.value},{default:C(()=>[...s[2]||(s[2]=[E("保存设置",-1)])]),_:1},8,["loading"])])])}}}),ys={class:"flex flex-col h-full pt-[1rem]"},ws={class:"flex-1"},ks={key:0,class:"tool-groups"},xs={class:"tool-group"},bs={class:"tool-group-header"},Cs={class:"tool-card-grid"},As={key:1,class:"empty-skills"},$s={key:2,class:"tool-groups"},Is=["onClick"],Ts={class:"tool-group-left"},Ws={class:"tool-group-name"},Ss={class:"tool-group-count"},Ms={class:"tool-card-grid"},Vs=["onClick"],Bs={class:"tool-card-content"},Ls={class:"tool-card-title"},Es={class:"tool-card-name"},Us=["title"],js=S({__name:"tool-tab",setup(M){const v=y([]),f=y(!1),p=y({}),g=P(()=>{const t={};for(const s of v.value)t[s.category]||(t[s.category]=[]),t[s.category].push(s);return t});function n(t){return t.some(s=>s.show)}const w=async()=>{var t,s;f.value=!0;try{const o=await as(),a=(s=(t=o.data)==null?void 0:t.data)!=null?s:o.data;v.value=Array.isArray(a)?a:[];const l=Object.keys(g.value),i={};l.forEach((k,c)=>{i[k]=c!==0}),p.value=i}catch(o){}finally{f.value=!1}};function x(t){p.value[t]=!p.value[t]}async function A(t){var o;t._loading=!0;const s=!t.show;try{const a=await V({tool_id:t.id,show:s?"True":"False"});a.status?(t.show=s,r.success(s?"已开启":"已关闭")):r.error(((o=a.data)==null?void 0:o.data)||"操作失败")}catch(a){r.error("操作失败")}finally{t._loading=!1}}async function m(t,s){var o;s._loading=!0;try{const a=await V({tool_id:s.id,show:t?"True":"False"});a.status?r.success(t?"已开启":"已关闭"):(s.show=!t,r.error(((o=a.data)==null?void 0:o.data)||"操作失败"))}catch(a){s.show=!t,r.error("操作失败")}finally{s._loading=!1}}async function d(t,s){var a;const o=g.value[t];if(o){o.forEach(l=>{l._loading=!0});try{const l=await V({category:t,show:s?"True":"False"});l.status?(o.forEach(i=>{i.show=s}),r.success(s?"已全部开启":"已全部关闭")):r.error(((a=l.data)==null?void 0:a.data)||"操作失败")}catch(l){r.error("操作失败")}finally{o.forEach(l=>{l._loading=!1})}}}return j(()=>{w()}),(t,s)=>{const o=F,a=G,l=O;return u(),_("div",ys,[e("div",ws,[f.value?(u(),_("div",ks,[e("div",xs,[e("div",bs,[h(a,{animated:"",rows:0},{template:C(()=>[h(o,{variant:"text",style:{width:"120px",height:"16px"}})]),_:1})]),e("div",Cs,[(u(),_($,null,I(6,i=>e("div",{key:i,class:"tool-card"},[h(a,{animated:"",rows:2},{template:C(()=>[h(o,{variant:"text",style:{width:"60%",height:"20px","margin-bottom":"12px"}}),h(o,{variant:"text",style:{width:"90%",height:"14px"}})]),_:1})])),64))])])])):v.value.length?(u(),_("div",$s,[(u(!0),_($,null,I(g.value,(i,k)=>(u(),_("div",{key:k,class:"tool-group"},[e("div",{class:"tool-group-header",onClick:c=>x(k)},[e("div",Ts,[(u(),_("svg",{class:L(["collapse-chevron",{collapsed:p.value[k]}]),width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5"},[...s[1]||(s[1]=[e("polyline",{points:"6 9 12 15 18 9"},null,-1)])],2)),e("span",Ws,b(k),1),e("span",Ss,b(i.filter(c=>c.show).length)+"/"+b(i.length),1)]),h(l,{"model-value":n(i),style:{"--el-switch-on-color":"var(--el-color-primary)"},disabled:i.some(c=>c._loading),onClick:s[0]||(s[0]=Q(()=>{},["stop"])),onChange:c=>d(k,!n(i))},null,8,["model-value","disabled","onChange"])],8,Is),X(e("div",Ms,[(u(!0),_($,null,I(i,c=>(u(),_("div",{key:c.id,class:L(["tool-card",{"tool-card-active":c.show,"tool-card-loading":c._loading}]),onClick:T=>!c._loading&&A(c)},[e("div",Bs,[e("div",Ls,[e("span",Es,b(c.name_cn||c.id),1)]),e("div",{class:"tool-card-desc",title:c.description},b(c.description),9,Us)]),h(l,{modelValue:c.show,"onUpdate:modelValue":T=>c.show=T,style:{"--el-switch-on-color":"var(--el-color-primary)"},disabled:c._loading,onChange:T=>m(!!T,c)},null,8,["modelValue","onUpdate:modelValue","disabled","onChange"])],10,Vs))),128))],512),[[Y,!p.value[k]]])]))),128))])):(u(),_("div",As," 暂无可用工具 "))])])}}}),zs=U(js,[["__scopeId","data-v-bdf1b3f8"]]),Ds={class:"flex flex-col h-full pt-[1rem]"},Fs={class:"flex-1"},Gs={class:"setting-list"},Os={class:"setting-row"},Rs={class:"setting-row"},Js=S({__name:"assistant-tab",setup(M){const{panel:v}=N(B()),{getGlobalInfo:f}=B(),p=y(!1),g=y(!1),n=y(!1),w=y(!1);j(()=>{p.value=v.value.isShowCustomer,g.value=v.value.showAiTip});const x=async m=>{n.value=!0;try{(await J()).status?(v.value.isShowCustomer=m,r.success(m?"已开启AI助手":"已关闭AI助手")):(p.value=!m,r.error("操作失败")),f()}catch(d){p.value=!m,r.error("操作失败")}finally{n.value=!1}},A=async m=>{w.value=!0;try{(await q()).status?(v.value.showAiTip=m,r.success(m?"已开启AI提示":"已关闭AI提示"),f()):(g.value=!m,r.error("操作失败"))}catch(d){g.value=!m,r.error("操作失败")}finally{w.value=!1}};return(m,d)=>{const t=O;return u(),_("div",Ds,[e("div",Fs,[e("div",Gs,[e("div",Os,[d[2]||(d[2]=e("span",{class:"setting-title"},"AI助手",-1)),h(t,{modelValue:p.value,"onUpdate:modelValue":d[0]||(d[0]=s=>p.value=s),style:{"--el-switch-on-color":"var(--el-color-primary)"},loading:n.value,onChange:x},null,8,["modelValue","loading"]),d[3]||(d[3]=e("span",{class:"setting-desc"},"显示右下角AI助手",-1))]),e("div",Rs,[d[4]||(d[4]=e("span",{class:"setting-title"},"AI提示",-1)),h(t,{modelValue:g.value,"onUpdate:modelValue":d[1]||(d[1]=s=>g.value=s),style:{"--el-switch-on-color":"var(--el-color-primary)"},loading:w.value,onChange:A},null,8,["modelValue","loading"]),d[5]||(d[5]=e("span",{class:"setting-desc"},"为面板中部分功能添加AI分析按钮",-1))])])])])}}}),qs=U(Js,[["__scopeId","data-v-89a3ca45"]]),Ks={class:"setting-container h-full relative min-h-[50rem]"},Zs={class:"ai-install-restricted"},Hs={class:"action-buttons"},Ps={class:"rounded-base h-full"},Qs=S({__name:"index",setup(M){const{payment:v}=B(),f=y(!1),{BtTabs:p}=K({type:"card",options:[...v.value.bindUser?[{label:"AI模型",name:"model",lazy:!0,render:ms},{label:"可用工具",name:"tool",lazy:!0,render:zs}]:[],{label:"AI助手设置",name:"assistant",lazy:!0,render:qs}]});return(g,n)=>{const w=Z,x=R;return u(),_("div",Ks,[!W(v).bindUser&&!W(f)?(u(),ss(x,{key:0,class:"ai-install-mask"},{content:C(()=>[e("div",Zs,[e("span",{class:"svgtofont-el-close",onClick:n[0]||(n[0]=A=>f.value=!0)}),n[3]||(n[3]=e("div",{class:"warning-icon"},[e("i",{class:"svgtofont-el-warning text-warning !text-titleLarge"})],-1)),n[4]||(n[4]=e("h3",{class:"title"},"请先绑定宝塔账号",-1)),n[5]||(n[5]=e("p",{class:"instruction"},"使用AI功能需要先绑定宝塔账号,绑定后可享受更多服务",-1)),e("div",Hs,[h(w,{type:"primary",onClick:n[1]||(n[1]=()=>W(ts)())},{default:C(()=>[...n[2]||(n[2]=[E("立即绑定账号",-1)])]),_:1})])])]),_:1})):D("",!0),e("div",Ps,[h(W(p))])])}}}),nt=U(Qs,[["__scopeId","data-v-da4d1432"]]);export{nt as default};