File: /www/server/panel/BTPanel/static/js/terminal-ai.js
import{c as A,aK as S,r as B,o as I,j as _,k as u,q as s,e as i,p as o,Q as m,J as E,K as P,v as r,F as U,B as D,s as L,aD as q,ap as F,U as M,aW as O,ag as G,bB as K}from"./base-lib.js?v=1777008528";import{u as N}from"./index98.js?v=1777008528";import{c as j,cZ as z}from"./utils-lib.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index.vue_vue_type_style_index_0_lang.js?v=1777008528";import"./add-host.vue_vue_type_script_setup_true_lang.js?v=1777008528";import"./form-item.js?v=1777008528";import"./index119.js?v=1777008528";import"./useController3.js?v=1777008528";import"./marked.esm.js?v=1777008528";import"./default.js?v=1777008528";import"./useStore.js?v=1777008528";import"./config.js?v=1777008528";import"./index3.js?v=1777008528";import"./index116.js?v=1777008528";import"./index118.js?v=1777008528";const J={class:"terminal-theme-settings"},Q={class:"terminal-theme-settings__item !mb-[1rem]"},R={class:"flex items-center"},W={class:"terminal-theme-settings__item !mb-[1rem]"},Z={class:"flex items-center"},H={class:"tools-section"},X={class:"tools-body"},Y={class:"tools-card-content"},$={class:"tools-card-name"},ee={class:"terminal-theme-settings__item mt-[1.6rem] !mb-0"},se={class:"terminal-theme-settings__item-content"},te=A({__name:"terminal-ai",setup(oe){const{setTerminalBg:g,getPanelTheme:k,aiTerminalStatus:a,aiTerminalTips:n,setAiTerminalStatus:y,setAiTerminalTips:h}=N(),{globalTheme:p}=j(),l=S("termAiTools",["get_sites","get_sites_logs","get_mysql_list","get_site_analysis","get_sites_conf","get_server_ip","get_top_processes"]),v=[{key:"get_server_ip",name:"获取服务器IP",risk:"medium",description:"获取服务器的内网和公网 IP 地址"},{key:"get_sites",name:"获取网站列表(不包含Docker站点)",risk:"medium",description:"获取在宝塔面板部署的全部网站列表(域名)"},{key:"get_sites_conf",name:"获取网站配置",risk:"medium",description:"获取网站的nginx或apache配置文件内容"},{key:"get_sites_logs",name:"获取网站访问日志",risk:"medium",description:"获取网站的访问日志(最大1000行)"},{key:"get_site_analysis",name:"获取全部网站流量分析数据",risk:"medium",description:"获取全部网站的流量分析数据(最近7天)"},{key:"get_mysql_list",name:"获取Mysql数据库列表",risk:"medium",description:"获取面板中所有数据库列表(已对密码脱敏)"},{key:"get_top_processes",name:"获取资源占用TOP10进程",risk:"low",description:"获取系统中 CPU 和 内存 占用率最高的 TOP 10 进程"}];B({});const x=q(async d=>{await g("ai_opacity",d)},300),f=async()=>{await y(),a.value||setTimeout(()=>{window.location.reload()},2e3)},T=async()=>{await h()};return I(()=>{k()}),(d,e)=>{const c=F,w=M,b=O,V=G,C=K;return _(),u("div",J,[s("div",Q,[s("span",R,[e[4]||(e[4]=s("span",{class:"mr-[1rem]"},"开启AI分析",-1)),s("span",null,[i(c,{modelValue:o(n),"onUpdate:modelValue":e[0]||(e[0]=t=>m(n)?n.value=t:null),onChange:T},null,8,["modelValue"])]),e[5]||(e[5]=s("span",{class:"text-small text-secondary ml-[10px]"},"选中终端文本可点击发送给右下角AI助手",-1))])]),s("div",W,[s("span",Z,[e[6]||(e[6]=s("span",{class:"mr-[1rem]"},"开启AI终端",-1)),s("span",null,[i(c,{modelValue:o(a),"onUpdate:modelValue":e[1]||(e[1]=t=>m(a)?a.value=t:null),onChange:f},null,8,["modelValue"])]),e[7]||(e[7]=s("span",{class:"text-small text-secondary ml-[10px]"},"智能识别输入的自然语言发送给ai,给出相应的回答",-1))])]),E(s("div",H,[e[11]||(e[11]=s("div",{class:"tools-header"},[s("span",{class:"tools-title"},"工具列表"),s("span",{class:"tools-desc"},"选择需要使用的工具,可以向AI提供更多的信息")],-1)),s("div",X,[i(V,{modelValue:o(l),"onUpdate:modelValue":e[2]||(e[2]=t=>m(l)?l.value=t:null),class:"tools-checkbox-group"},{default:r(()=>[(_(),u(U,null,D(v,t=>i(b,{key:t.key,content:t.description,placement:"top","show-after":300},{default:r(()=>[i(w,{value:t.key,class:"tools-checkbox-card"},{default:r(()=>[s("div",Y,[s("span",$,L(t.name),1)]),e[8]||(e[8]=s("div",{class:"card-check-mark"},[s("svg",{viewBox:"0 0 1024 1024",width:"14",height:"14"},[s("path",{d:"M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z",fill:"currentColor"})])],-1))]),_:2},1032,["value"])]),_:2},1032,["content"])),64))]),_:1},8,["modelValue"])]),s("div",ee,[e[10]||(e[10]=s("div",{class:"terminal-theme-settings__item-label"},"助手卡片背景透明度",-1)),s("div",se,[i(C,{modelValue:o(p).terminal.ai_opacity,"onUpdate:modelValue":e[3]||(e[3]=t=>o(p).terminal.ai_opacity=t),min:0,max:100,step:5,"show-input":"",style:{width:"300px"},onChange:o(x)},null,8,["modelValue","onChange"]),e[9]||(e[9]=s("span",{class:"terminal-theme-settings__tip"},"(1-100,数值越小越透明)",-1))])])],512),[[P,o(a)]])])}}}),xe=z(te,[["__scopeId","data-v-ae09dc33"]]);export{xe as default};