astrion-website/demo/static/dist/assets/PersonalizationDrawer.js

2 lines
80 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{d as It,o as ps,a as Lt,w as gs,k as m,b as d,e as Rt,s as K,u as l,c as r,A as h,g as e,F as w,r as F,n as c,y as S,t as a,q as p,T as X,f as C,i as _,h as vs,j as ms,l as k,N as Ot}from"./runtime-dom.esm-bundler.js";import{a as jt,b as Vt,c as Et,d as Ut,s as zt,e as Ht,f as qt,h as Gt,I as Jt,i as Y}from"./main.js";import{F as v}from"./FancyCheck.js";import{_ as Wt}from"./_plugin-vue_export-helper.js";import"./useMarkdownRenderer.js";const Qt={class:"personal-page-card settings-redesign-card","data-tutorial":"personal-card"},Kt={key:0,class:"personalization-body settings-redesign-body"},Xt={class:"personal-form settings-redesign-form"},Yt={class:"settings-redesign-layout"},Zt={class:"settings-redesign-tabs","aria-label":"个人空间分组切换"},en=["data-tutorial","aria-pressed","onClick"],sn={key:0,class:"settings-tab-icon settings-tab-icon--chat","aria-hidden":"true"},tn={class:"settings-redesign-content","data-tutorial":"personal-content-shell"},nn={class:"settings-redesign-content-header"},ln={class:"settings-redesign-scroll"},on={key:"general",class:"settings-page"},an={class:"settings-toggle-row"},dn=["checked"],rn={key:0,class:"settings-action-row"},un={class:"settings-row-copy"},cn={class:"settings-row-desc"},pn={class:"settings-inline-actions"},gn=["disabled"],vn={class:"settings-action-row danger-zone"},mn={key:"preferences",class:"settings-page","data-tutorial":"personal-page-preferences"},kn={class:"settings-toggle-row"},yn=["checked","disabled"],bn={class:"settings-input-row"},wn=["value"],_n={class:"settings-input-row"},hn=["value"],fn={class:"settings-input-row"},Cn=["value"],xn={class:"settings-input-row stackable"},Mn={class:"settings-input-stack"},Sn=["value"],$n={class:"settings-chip-row"},Fn=["onClick"],Bn={class:"settings-textarea-row"},Pn=["value"],Tn={key:0,class:"settings-toggle-row"},An=["checked"],Dn={key:1,class:"settings-toggle-row"},Nn=["checked"],In={class:"settings-select-row"},Ln={class:"settings-select-row"},Rn={key:"model",class:"settings-page","data-tutorial":"personal-page-model"},On={class:"settings-select-row"},jn=["disabled","onClick"],Vn={class:"settings-select-row"},En=["onClick"],Un={class:"settings-select-row"},zn=["onClick"],Hn={key:"appearance",class:"settings-page"},qn={class:"settings-select-row"},Gn=["onClick"],Jn={class:"settings-toggle-row"},Wn=["checked"],Qn={class:"settings-toggle-row"},Kn=["checked"],Xn={class:"settings-toggle-row"},Yn=["checked"],Zn={class:"settings-toggle-row"},el=["checked"],sl={class:"settings-toggle-row"},tl=["checked"],nl={class:"settings-toggle-row"},ll=["checked"],ol={class:"settings-toggle-row"},il=["checked"],al={class:"settings-toggle-row"},dl=["checked"],rl={class:"settings-toggle-row"},ul=["checked"],cl={class:"settings-toggle-row"},pl=["checked"],gl={class:"settings-select-row"},vl=["onClick"],ml={key:0,class:"settings-toggle-row"},kl=["checked"],yl={key:1,class:"settings-toggle-row"},bl=["checked"],wl={class:"settings-select-row"},_l=["onClick"],hl={key:"workspace",class:"settings-page","data-tutorial":"personal-page-workspace"},fl={class:"settings-select-row"},Cl=["onClick"],xl={class:"settings-select-row"},Ml=["onClick"],Sl={class:"settings-toggle-row"},$l=["checked"],Fl={class:"settings-toggle-row"},Bl=["checked"],Pl={class:"settings-toggle-row"},Tl=["checked"],Al={class:"settings-select-row"},Dl={class:"settings-toggle-row"},Nl=["checked"],Il={class:"settings-select-row"},Ll=["value"],Rl={class:"settings-toggle-row"},Ol=["checked"],jl={key:0,class:"settings-select-row"},Vl=["value"],El={key:"context",class:"settings-page"},Ul={class:"settings-toggle-row"},zl=["checked"],Hl={key:0,class:"settings-input-row"},ql={class:"settings-number-row"},Gl=["min","max","value"],Jl={class:"settings-input-row"},Wl={class:"settings-number-row"},Ql=["min","value"],Kl={class:"settings-group-block"},Xl={class:"settings-toggle-row inner"},Yl=["checked"],Zl={class:"settings-toggle-row inner"},eo=["checked"],so={class:"settings-compression-grid"},to=["value"],no=["value"],lo=["value"],oo=["value"],io=["value"],ao=["value"],ro={class:"settings-toggle-row inner"},uo=["checked"],co={key:"tools",class:"settings-page"},po={class:"settings-toggle-row"},go=["checked"],vo={class:"settings-toggle-row"},mo=["checked"],ko={class:"settings-toggle-row"},yo=["checked"],bo={class:"settings-toggle-row"},wo=["checked"],_o={class:"settings-group-block"},ho={class:"settings-toggle-row inner"},fo=["checked"],Co={class:"settings-toggle-row inner"},xo=["checked"],Mo={class:"settings-toggle-row inner"},So=["checked"],$o={class:"settings-toggle-row inner"},Fo=["checked"],Bo={key:0,class:"settings-group-block"},Po={class:"settings-check-grid"},To={class:"settings-row-title"},Ao=["checked","onChange"],Do={key:1,class:"settings-group-block"},No={class:"settings-check-grid"},Io={class:"settings-row-title"},Lo=["checked","onChange"],Ro={key:"files",class:"settings-page","data-tutorial":"personal-page-image"},Oo={class:"settings-select-row"},jo=["onClick"],Vo={key:"data",class:"settings-page usage-summary-page","data-tutorial":"personal-page-usage"},Eo={class:"usage-summary-card settings-stats-card"},Uo={class:"usage-summary-grid usage-summary-grid--tokens"},zo={class:"usage-summary-item"},Ho={class:"value value--success"},qo={class:"usage-summary-item"},Go={class:"value value--warning"},Jo={class:"usage-summary-grid usage-summary-grid--counts"},Wo={class:"usage-summary-item"},Qo={class:"value"},Ko={class:"usage-summary-item"},Xo={class:"value"},Yo={class:"usage-summary-item"},Zo={class:"value"},ei={class:"usage-summary-meta"},si={key:0,class:"usage-summary-error"},ti={key:1},ni={key:2},li=["disabled"],oi={key:"voice",class:"settings-page"},ii={class:"settings-action-row"},ai={class:"settings-row-copy"},di={class:"settings-row-desc"},ri={style:{display:"flex",gap:"6px"}},ui=["disabled"],ci=["disabled"],pi={key:0,class:"voice-download-bar",style:{margin:"8px 0 0"}},gi={class:"voice-download-track"},vi={style:{"font-size":"11px",color:"var(--text-secondary)","margin-top":"4px"}},mi={key:"sub-agents",class:"settings-page"},ki={class:"settings-action-row",style:{"margin-bottom":"16px"}},yi={style:{display:"flex",gap:"6px","align-items":"center"}},bi=["disabled"],wi={class:"settings-action-row",style:{"margin-bottom":"16px"}},_i={style:{display:"flex",gap:"6px","align-items":"center"}},hi=["disabled"],fi={class:"settings-section-header",style:{"margin-bottom":"8px"}},Ci={key:0,class:"settings-empty-hint"},xi={key:1,class:"settings-empty-hint"},Mi={key:2,class:"sub-agent-role-list"},Si={class:"sub-agent-role-info"},$i={class:"sub-agent-role-name"},Fi={class:"sub-agent-role-desc"},Bi={class:"sub-agent-role-meta"},Pi={class:"sub-agent-role-actions"},Ti=["onClick"],Ai=["onClick"],Di={class:"role-editor-header"},Ni={class:"settings-input-row"},Ii=["value"],Li={key:1,class:"settings-row-desc",style:{"text-align":"right","font-size":"14px"}},Ri={class:"settings-input-row"},Oi=["value"],ji={class:"settings-input-row"},Vi=["value"],Ei={class:"settings-select-row"},Ui={class:"settings-select-row"},zi=["onClick"],Hi={class:"settings-textarea-row"},qi=["value"],Gi={class:"role-editor-footer"},Ji=["disabled"],Wi={key:"review-agents",class:"settings-page"},Qi={class:"settings-section-divider"},Ki={class:"settings-section-divider__label"},Xi={style:{margin:"-4px 0 12px",color:"var(--text-secondary)","font-size":"12px","line-height":"1.5"}},Yi={class:"settings-select-row"},Zi=["onClick"],ea=["onClick"],sa=["onClick"],ta={class:"settings-select-row"},na=["onClick"],la=["onClick"],oa=["onClick"],ia={class:"settings-select-row"},aa=["value","onChange"],da={class:"settings-select-row"},ra=["value","onChange"],ua={class:"settings-select-row",style:{"margin-bottom":"8px"}},ca=["value","onChange"],pa={key:"admin",class:"settings-page admin-monitor-page"},ga={key:0,class:"settings-action-row"},va={class:"settings-save-bar"},ma={class:"personal-status-group"},ka={key:0,class:"status success"},ya={key:0,class:"status error"},ba={key:1,class:"personalization-loading"},wa=It({name:"PersonalizationDrawer",__name:"PersonalizationDrawer",setup(_a){const i=jt(),Be=Vt(),Pe=Et(),Te=Ut(),{visible:Ae,loading:ks,form:o,tonePresets:ys,status:De,error:Ne,saving:ha,toggleUpdating:bs,toolCategories:Ie,skillsCatalog:Le,recentConversationsPromptLimitRange:Re,projectMemoryInjectLimitMin:ws,experiments:_s}=zt(i),de=k(()=>typeof o.value.goal_max_tokens=="number"&&o.value.goal_max_tokens>0),hs=n=>{const s=Math.round(Number(n));return Number.isFinite(s)?Math.min(100,Math.max(1,s)):5},fs=n=>{const s=Math.round(Number(n));return Number.isFinite(s)?Math.min(1e8,Math.max(1e3,s)):1e5},Cs=n=>{i.updateField({key:"goal_max_tokens",value:n?o.value.goal_max_tokens||1e5:null})},xs=[{id:"general",label:"常规",icon:"settings"},{id:"preferences",label:"个性化",icon:"userPen"},{id:"model",label:"模型与思考",icon:"brainCog"},{id:"appearance",label:"外观与显示",icon:"monitor"},{id:"workspace",label:"工作区与权限",icon:"folder"},{id:"context",label:"上下文",icon:"chatBubble"},{id:"tools",label:"工具与 Skills",icon:"wrench"},{id:"files",label:"文件与图片",icon:"file"},{id:"data",label:"数据管理",icon:"layers"},{id:"voice",label:"语音模型",icon:"mic"},{id:"sub-agents",label:"子智能体",icon:"bot"},{id:"review-agents",label:"审核智能体",icon:"checkbox"}],re=m(""),Oe=m(!1),je=k(()=>{const n=(Be.usageQuota.role||"").toLowerCase(),s=(re.value||"").toLowerCase();return n==="admin"||s==="admin"}),Ms=k(()=>{var s;const n=(((s=Be.containerStatus)==null?void 0:s.mode)||"").toLowerCase();return n?n==="host":Oe.value}),Ss=k(()=>je.value&&Ms.value),Ve=k(()=>typeof window>"u"?!1:new URLSearchParams(window.location.search).has("app_shell")?!0:!!(window!=null&&window.AndroidThemeBridge)),Ee=k(()=>{const n=[...xs];return je.value&&n.push({id:"admin",label:"管理员",icon:"wrench"}),n}),$=m("general"),g=m(null),x=m({}),$s=k(()=>{var n;return((n=Ee.value.find(s=>s.id===$.value))==null?void 0:n.label)||"常规"}),A=m(!1),L=m(!1),D=m(!1),R=m(0),Z=m(""),Fs=()=>{const n=window==null?void 0:window.AndroidVoiceBridge;if(n)try{typeof n.isModelReady=="function"&&(A.value=n.isModelReady()),!A.value&&typeof n.isModelPartial=="function"&&(L.value=n.isModelPartial())}catch{}},Bs=()=>{const n=window==null?void 0:window.AndroidVoiceBridge;if(!n){alert("仅在 App 内支持下载语音模型");return}D.value=!0,R.value=0,Z.value="准备下载...",L.value=!1,window.__onVoiceDownloadProgress=(s,t)=>{R.value=s,Z.value=t,s>=100&&(D.value=!1,A.value=!0,L.value=!1)},window.__onVoiceModelReady=()=>{A.value=!0,D.value=!1,L.value=!1},n.downloadModel()},Ps=()=>{const n=window==null?void 0:window.AndroidVoiceBridge;n&&(typeof n.deleteModel=="function"&&n.deleteModel(),A.value=!1,L.value=!1,R.value=0,Z.value="")};Fs();const J=async()=>{if(!g.value||typeof window>"u"){x.value={};return}await Ot();const n=document.querySelector(".settings-select-wrap.open .settings-select-button"),s=document.querySelector(".settings-select-wrap.open .settings-floating-menu");if(!n)return;const t=n.getBoundingClientRect(),u=Math.min(300,Math.max(240,window.innerWidth-32)),M=Math.max(16,Math.min(t.right-u,window.innerWidth-u-16)),I=16,T=10,ie=s==null?void 0:s.querySelector(".settings-menu-option"),Nt=ie?ie.getBoundingClientRect().height:44,cs=Math.round(Nt*4)+12;s&&(s.style.maxHeight=`${cs}px`);const Me=(s==null?void 0:s.getBoundingClientRect().height)||cs,Se=window.innerHeight-t.bottom-I,$e=t.top-I;let Q,ae;if(Se>=Me)Q=t.bottom+T;else if($e>=Me)Q=t.top-Me-T;else if(Se>=$e)ae=Math.max(80,Se-T),Q=t.bottom+T;else{const Fe=Math.max(80,$e-T);ae=Fe,Q=Math.max(I,t.top-Fe-T)}x.value={position:"fixed",top:`${Math.round(Q)}px`,left:`${Math.round(M)}px`,right:"auto",width:`${Math.round(u)}px`,zIndex:"2147483647",...ae!==void 0?{maxHeight:`${Math.round(ae)}px`}:{}}},B=async n=>{g.value=g.value===n?null:n,await J()},b=()=>{g.value=null,x.value={}},Ts=n=>({"--icon-src":`url(${Jt[n]})`});ps(()=>{window.addEventListener("resize",J),window.addEventListener("scroll",J,!0)}),Lt(()=>{window.removeEventListener("resize",J),window.removeEventListener("scroll",J,!0)});const Ue=[{id:"fast",label:"快速模式",desc:"追求响应速度,跳过思考模型",value:"fast"},{id:"thinking",label:"思考模式",desc:"整轮对话都使用思考模型",value:"thinking"}],ze=[{id:"default",label:"默认",desc:"不指定强度,使用 API 默认行为",value:null},{id:"low",label:"low",desc:"最低推理,响应最快",value:"low"},{id:"medium",label:"medium",desc:"较低推理",value:"medium"},{id:"high",label:"high",desc:"均衡推理",value:"high"},{id:"xhigh",label:"xhigh",desc:"更高推理",value:"xhigh"},{id:"max",label:"max",desc:"最高推理,适合最复杂任务",value:"max"}],He=[{id:"readonly",label:"只读",desc:"仅允许读取/检索类工具,修改操作将被拒绝"},{id:"approval",label:"批准",desc:"对工作区文件进行修改的工具需人工批准后执行"},{id:"auto_approval",label:"自动审核",desc:"工作区内写入直通;高风险操作由后台审核智能体自动审批"},{id:"unrestricted",label:"无限制",desc:"工具按常规流程直接执行"}],qe=[{id:"plan",label:"计划",desc:"只制定计划,批准后执行"},{id:"ask",label:"询问",desc:"先讨论确认,再开工"},{id:"execute",label:"执行",desc:"自行补全细节,直接开工"}],Ge=Ht(),As=qt(),ue=k(()=>(As.models||[]).map(n=>{const s=String(n.multimodal||"none");return{id:n.key,value:n.key,label:n.label,desc:n.description||"",badge:s==="image,video"?"图文":n.thinkingOnly?"思考":void 0,thinkingOnly:!!n.thinkingOnly,fastOnly:!!n.fastOnly,disabled:Ge.disabledModelSet.has(n.key)}})),Je=[{id:"original",label:"原图",desc:"不压缩"},{id:"1080p",label:"1080p",desc:"最长边不超过 1080p 等比缩放"},{id:"720p",label:"720p",desc:"最长边不超过 720p 等比缩放"},{id:"540p",label:"540p",desc:"最长边不超过 540p 等比缩放"}],Ds=k(()=>{var n;return((n=ue.value.find(s=>s.value===o.value.default_model))==null?void 0:n.label)||"未设置"}),Ns=k(()=>{var n;return((n=Ue.find(s=>ts(s.value)))==null?void 0:n.label)||"未设置"}),We=n=>n===null?!o.value.default_reasoning_effort:o.value.default_reasoning_effort===n,Is=k(()=>{var n;return((n=ze.find(s=>We(s.value)))==null?void 0:n.label)||"默认"}),Ls=n=>{i.setDefaultReasoningEffort(n),b()},Rs=k(()=>{var n;return((n=He.find(s=>s.id===o.value.default_permission_mode))==null?void 0:n.label)||"未设置"}),Os=k(()=>{var n;return((n=qe.find(s=>s.id===o.value.default_work_mode))==null?void 0:n.label)||"未设置"}),js=k(()=>o.value.versioning_backup_mode==="full"?"完全备份":"浅备份"),Vs=k(()=>{var n;return((n=Je.find(s=>s.id===o.value.image_compression))==null?void 0:n.label)||"未设置"}),Es=k(()=>o.value.communication_style==="human_like"?"拟人":o.value.communication_style==="auto"?"自动":"默认"),Us=k(()=>o.value.conversation_continuity==="high"?"高":o.value.conversation_continuity==="low"?"低":"中"),O=k(()=>_s.value.blockDisplayMode),ee=k(()=>o.value.stacked_hide_borders),se=k(()=>o.value.minimal_expand_height_limited),zs=k(()=>{var n;return((n=os.find(s=>s.value===O.value))==null?void 0:n.label)||"堆叠动画"}),Qe=k(()=>o.value.compact_message_display||"full"),Hs=k(()=>{var n;return((n=ds.find(s=>s.value===Qe.value))==null?void 0:n.label)||"完整信息"}),j=m({total_input_tokens:0,total_output_tokens:0,total_conversations:0,total_user_messages:0,total_tools:0}),V=m(!1),te=m(""),ce=m(null),qs=k(()=>{if(!ce.value)return"尚未刷新";const n=new Date(ce.value);return Number.isNaN(n.getTime())?"时间未知":n.toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}),E=m(null),pe=m(""),U=m(!1),ge=m(""),ve=m(null),N=m(null);if(typeof window<"u"){const n=new URLSearchParams(window.location.search),s=n.get("app_vc")||"",t=n.get("app_vn")||"",u=window==null?void 0:window.AndroidThemeBridge,M=u&&typeof u.getAppVersionCode=="function"?String(u.getAppVersionCode()||""):"",I=u&&typeof u.getAppVersionName=="function"?String(u.getAppVersionName()||""):"",T=M||s,ie=I||t;E.value=/^\d+$/.test(T)?Number(T):null,pe.value=ie||""}const Ke=()=>{if(typeof window>"u")return;const n=window==null?void 0:window.AndroidThemeBridge;if(n)try{const s=typeof n.getAppVersionCode=="function"?String(n.getAppVersionCode()||""):"",t=typeof n.getAppVersionName=="function"?String(n.getAppVersionName()||""):"";s&&/^\d+$/.test(s)&&(E.value=Number(s)),t&&(pe.value=t)}catch{}},Gs=k(()=>pe.value||"未知"),me=k(()=>N.value?typeof N.value.hasUpdate=="boolean"?N.value.hasUpdate:E.value==null?!1:Number(N.value.latestVersionCode||0)>E.value:!1),Js=k(()=>{var n;return((n=N.value)==null?void 0:n.apkUrl)||""}),Ws=k(()=>N.value?me.value?"发现新版本":"已是最新":"未检查"),Qs=k(()=>{if(!ve.value)return"尚未检查更新";const n=new Date(ve.value);return Number.isNaN(n.getTime())?"刚刚检查过":`最近检查:${n.toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}`}),Xe=async()=>{if(!V.value){V.value=!0,te.value="";try{const n=await fetch("/api/conversations/statistics"),s=await n.json();if(!n.ok||!s.success)throw new Error(s.error||s.message||"获取用量统计失败");const t=s.data||{},u=t.token_statistics||{};j.value={total_input_tokens:Number(u.total_input_tokens||0),total_output_tokens:Number(u.total_output_tokens||0),total_conversations:Number(t.total_conversations||0),total_user_messages:Number(t.total_user_messages||0),total_tools:Number(t.total_tools||0)},ce.value=new Date().toISOString()}catch(n){te.value=(n==null?void 0:n.message)||"获取用量统计失败"}finally{V.value=!1}}},Ye=async()=>{if(!U.value){Ke(),U.value=!0,ge.value="";try{const n=new URLSearchParams;E.value!=null&&n.set("currentVersionCode",String(E.value));const s=n.toString()?`?${n.toString()}`:"",t=await fetch(`/api/app/version${s}`),u=await t.json();if(!t.ok||!(u!=null&&u.success))throw new Error((u==null?void 0:u.error)||"检查更新失败");const M=(u==null?void 0:u.data)||{};N.value={latestVersionCode:Number(M.latestVersionCode||0),latestVersionName:String(M.latestVersionName||""),apkUrl:String(M.apkUrl||""),fileSizeBytes:Number(M.fileSizeBytes||0),changelog:String(M.changelog||""),publishedAt:M.publishedAt||null,hasUpdate:typeof M.hasUpdate=="boolean"?M.hasUpdate:null},ve.value=new Date().toISOString()}catch(n){ge.value=(n==null?void 0:n.message)||"检查更新失败"}finally{U.value=!1}}},Ks=()=>{const n=Js.value;if(!n){ge.value="未拿到下载地址";return}window.location.href=n};ps(async()=>{Ke();try{const n=await fetch("/api/session-status",{credentials:"same-origin"});if(!n.ok)return;const s=await n.json(),t=(s==null?void 0:s.session)||{};re.value=String(t.role||""),Oe.value=!!t.host_mode}catch{re.value=""}}),gs(()=>[$.value,Ae.value],([n,s])=>{s&&n==="data"&&Xe(),s&&n==="sub-agents"&&(_e(),Ys(),Ze()),s&&n==="review-agents"&&Ze(),s&&n==="general"&&Ve.value&&!N.value&&!U.value&&Ye()});const ke=m([]),ye=m(!1),ne=m(15e4),z=m(null),H=m(!1),be=m([]),we=m(!1),q=m(null),le=m(!1),y=m({role_id:"",name:"",description:"",body_prompt:"",thinking_mode:"fast",model_key:""}),_e=async()=>{ye.value=!0;try{const s=await(await fetch("/api/multiagent/roles",{credentials:"same-origin"})).json();s.success&&(ke.value=s.roles||[])}catch{}finally{ye.value=!1}},Ze=async()=>{try{const s=await(await fetch("/api/multiagent/models",{credentials:"same-origin"})).json();s.success&&(be.value=s.models||[])}catch{}},Xs=[{key:"auto_approval",name:"自动审批智能体",desc:"自动审批模式下判断工具调用是否越权/危险"},{key:"goal_review",name:"目标审核智能体",desc:"目标模式下判断长期目标是否真正达成"},{key:"workflow_review",name:"工作流审核智能体",desc:"工作流审核节点判断阶段产出是否达标"}],P=n=>{const s=o.value.review_agents;return(s==null?void 0:s[n])||{model:"",thinking:!1,timeout_seconds:60,max_rounds:3,max_command_timeout:60}},W=(n,s)=>{const t={...o.value.review_agents||{}};t[n]={...P(n),...s},i.updateField({key:"review_agents",value:t})},he=(n,s,t,u,M)=>{const I=parseInt(t,10);Number.isFinite(I)&&W(n,{[s]:Math.max(u,Math.min(I,M))})},Ys=async()=>{try{const s=await(await fetch("/api/multiagent/settings",{credentials:"same-origin"})).json();s.success&&s.settings&&(ne.value=s.settings.sub_agent_compress_threshold_tokens||15e4,z.value=s.settings.sub_agent_max_turns??null)}catch{}},es=async()=>{H.value=!0;try{await fetch("/api/multiagent/settings",{method:"PUT",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify({settings:{sub_agent_compress_threshold_tokens:ne.value,sub_agent_max_turns:z.value===null||z.value===""?null:Number(z.value)}})})}finally{H.value=!1}},ss=n=>{n?(q.value=n,y.value={role_id:n.role_id||"",name:n.name||"",description:n.description||"",body_prompt:n.body_prompt||"",thinking_mode:n.thinking_mode||"fast",model_key:n.model_key||""}):(q.value=null,y.value={role_id:"",name:"",description:"",body_prompt:"",thinking_mode:"fast",model_key:""}),b(),we.value=!0},oe=()=>{we.value=!1,q.value=null,b()},fe=m(!1),Zs=n=>{fe.value=n.target===n.currentTarget&&n.button===0},et=n=>{const s=fe.value&&n.target===n.currentTarget;fe.value=!1,s&&oe()},st=async()=>{le.value=!0;try{const n=!!q.value,s=n?`/api/multiagent/roles/${y.value.role_id}`:"/api/multiagent/roles";(await(await fetch(s,{method:n?"PUT":"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify({...y.value,model_key:y.value.model_key||null})})).json()).success&&(oe(),await _e())}finally{le.value=!1}},tt=async n=>{if(confirm(`确认删除角色「${n.name}」?`))try{(await(await fetch(`/api/multiagent/roles/${n.role_id}`,{method:"DELETE",credentials:"same-origin"})).json()).success&&await _e()}catch{}},nt=n=>{$.value=n,b()},lt=()=>{fetch("/api/tutorial-status",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify({tutorial_completed:!0})}).catch(()=>{}),Te.markCompleted(),i.closeDrawer(),window.setTimeout(()=>{Te.startTutorial()},320)},ts=n=>n===null?!o.value.default_run_mode:o.value.default_run_mode===n,ot=n=>{ls(n,o.value.default_model)||i.setDefaultRunMode(n)},it=n=>{if(Ge.disabledModelSet.has(n)){Pe.pushToast({title:"模型被禁用",message:"已被管理员禁用,无法选择",type:"warning"});return}ls(o.value.default_run_mode,n)||i.setDefaultModel(n)},at=n=>{i.setDefaultPermissionMode(n)},dt=n=>{i.setCommunicationStyle(n)},rt=n=>{i.setConversationContinuity(n)},ut=n=>{it(n),b()},ct=n=>{ot(n),b()},pt=n=>{at(n),b()},gt=n=>{i.setDefaultWorkMode(n),b()},ns=n=>{i.setVersioningBackupMode(n),b()},Ce=n=>{dt(n),b()},xe=n=>{rt(n),b()},vt=n=>{i.setImageCompression(n),b()},mt=n=>{xt(n),b()},ls=(n,s)=>{const t=(ue.value||[]).find(M=>M.value===s),u=[];return t!=null&&t.thinkingOnly&&n&&n!=="thinking"&&u.push(`${t.label} 仅支持思考模式,已保持原设置。`),t!=null&&t.fastOnly&&n&&n!=="fast"&&u.push(`${t.label} 仅支持快速模式,已保持原设置。`),u.length?(Pe.pushToast({title:"模型/思考模式不兼容",message:u.join(" "),type:"warning",duration:6e3}),!0):!1},kt=n=>{const s=n.target;s&&i.updateField({key:"recent_conversations_prompt_limit",value:s.value})},yt=n=>{const s=n.target;if(!s||!s.value){i.setRecentConversationsPromptLimit(null);return}const t=Number(s.value);i.setRecentConversationsPromptLimit(Number.isNaN(t)?null:t)},bt=()=>{i.setRecentConversationsPromptLimit(null)},wt=n=>{const s=n.target;s&&i.updateField({key:"project_memory_inject_limit",value:s.value})},_t=n=>{const s=n.target;if(!s||!s.value){i.setProjectMemoryInjectLimit(null);return}const t=Number(s.value);i.setProjectMemoryInjectLimit(Number.isNaN(t)?null:t)},ht=()=>{i.restoreProjectMemoryInjectLimit()},G=(n,s)=>{const t=s.target;if(!t||!t.value){i.updateField({key:n,value:null});return}const u=Number(t.value);if(!Number.isFinite(u)){i.updateField({key:n,value:null});return}i.updateField({key:n,value:Math.round(u)})},ft=()=>{i.updateField({key:"shallow_compress_trigger_tokens",value:null}),i.updateField({key:"shallow_compress_keep_recent_tools",value:null}),i.updateField({key:"shallow_compress_max_replace_per_round",value:null}),i.updateField({key:"shallow_compress_trigger_tool_calls_interval",value:null}),i.updateField({key:"deep_compress_trigger_tokens",value:null})},Ct=n=>{i.toggleDefaultToolCategory(n)},os=[{id:"traditional",label:"传统列表",desc:"按时间顺序垂直排列,经典样式",value:"traditional"},{id:"stacked",label:"堆叠动画",desc:'超过 6 条自动收纳为"更多",动态展示',value:"stacked",badge:"推荐"},{id:"minimal",label:"极简模式",desc:"摘要行 + 无缝展开,流式输出效果",value:"minimal",badge:"新"}],xt=n=>{i.setBlockDisplayMode(n)},is=n=>{const s=n.target;i.updateField({key:"stacked_hide_borders",value:s.checked})},as=n=>{const s=n.target;i.updateField({key:"minimal_expand_height_limited",value:s.checked})},ds=[{id:"full",label:"完整信息",desc:"审核、子智能体等系统消息显示完整原始内容",value:"full"},{id:"brief",label:"简略信息",desc:"用一行横线概要替代系统消息",value:"brief"}],Mt=n=>{i.setCompactMessageDisplay(n),b()},St=()=>{window.open("/admin/monitor","_blank","noopener"),i.closeDrawer()},$t=()=>{window.open("/admin/custom-tools","_blank","noopener"),i.closeDrawer()},Ft=()=>{window.open("/admin/api","_blank","noopener"),i.closeDrawer()},Bt=()=>{window.open("/admin/policy","_blank","noopener"),i.closeDrawer()},{setTheme:rs,loadTheme:Pt}=Gt(),us=[{id:"classic",label:"经典",desc:"米色质感,柔和高对比",swatches:["#eeece2","#f7f3ea","#da7756"]},{id:"light",label:"明亮",desc:"纯白底色 + 优雅灰,简洁清爽",swatches:["#ffffff","#f7f7f8","#6b7280"]},{id:"dark",label:"夜间",desc:"深灰 + 黑,低亮度并保持彩色点缀",swatches:["#1a1a1a","#2a2a2a","#3a3a3a"]}],f=m(Pt()),Tt=k(()=>{var n;return((n=us.find(s=>s.id===f.value))==null?void 0:n.label)||"经典"});gs(()=>i.form.theme,n=>{n&&n!==f.value&&(f.value=n,rs(n))},{immediate:!0});const At=n=>{Dt(n),b()},Dt=async n=>{f.value=n,rs(n),i.updateField({key:"theme",value:n});try{const s=await fetch("/api/personalization",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({theme:n})}),t=await s.json();(!s.ok||!t.success)&&console.warn("保存主题到后端失败:",t.error)}catch(s){console.warn("保存主题到后端失败:",s)}};return(n,s)=>(d(),Rt(X,{name:"personal-page-fade",appear:""},{default:K(()=>[l(Ae)?(d(),r("div",{key:0,class:"personal-page-overlay",onClick:b,onMousedown:s[102]||(s[102]=t=>l(i).handleOverlayPressStart(t)),onMouseup:s[103]||(s[103]=t=>l(i).handleOverlayPressEnd(t)),onMouseleave:s[104]||(s[104]=h((...t)=>l(i).handleOverlayPressCancel&&l(i).handleOverlayPressCancel(...t),["self"])),onTouchstart:s[105]||(s[105]=h(t=>l(i).handleOverlayPressStart(t),["self","prevent"])),onTouchend:s[106]||(s[106]=t=>l(i).handleOverlayPressEnd(t)),onTouchcancel:s[107]||(s[107]=h((...t)=>l(i).handleOverlayPressCancel&&l(i).handleOverlayPressCancel(...t),["self"]))},[e("div",Qt,[e("button",{type:"button",class:"settings-close-button","data-tutorial":"personal-close","aria-label":"关闭个人空间",onClick:s[0]||(s[0]=t=>l(i).closeDrawer())},[...s[108]||(s[108]=[e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-linecap":"round"},[e("path",{d:"M6 6l12 12M18 6 6 18"})],-1)])]),l(ks)?(d(),r("div",ba,"正在加载个性化配置...")):(d(),r("div",Kt,[e("form",Xt,[e("div",Yt,[e("nav",Zt,[(d(!0),r(w,null,F(Ee.value,t=>(d(),r("button",{key:t.id,type:"button",class:c(["settings-redesign-tab",{active:$.value===t.id}]),"data-tutorial":`personal-tab-${t.id}`,"aria-pressed":$.value===t.id,onClick:h(u=>nt(t.id),["prevent"])},[t.id==="context"?(d(),r("span",sn,[...s[109]||(s[109]=[e("svg",{viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M5 6.5c0-1.38 1.12-2.5 2.5-2.5h13c1.38 0 2.5 1.12 2.5 2.5v8.5c0 1.38-1.12 2.5-2.5 2.5h-5.6l-3.4 3.2.6-3.2H7.5c-1.38 0-2.5-1.12-2.5-2.5V6.5z",stroke:"currentColor","stroke-width":"1.7","stroke-linejoin":"round"}),e("path",{d:"M9 9.5h10",stroke:"currentColor","stroke-width":"1.7","stroke-linecap":"round"}),e("path",{d:"M9 13h6",stroke:"currentColor","stroke-width":"1.7","stroke-linecap":"round"})],-1)])])):(d(),r("span",{key:1,class:"icon settings-tab-icon",style:S(Ts(t.icon)),"aria-hidden":"true"},null,4)),e("span",null,a(t.label),1)],10,en))),128))]),e("section",tn,[e("header",nn,[e("h2",null,a($s.value),1)]),s[248]||(s[248]=e("div",{class:"settings-redesign-title-line","aria-hidden":"true"},null,-1)),e("div",ln,[p(X,{name:"personal-page-vertical",mode:"out-in"},{default:K(()=>[$.value==="general"?(d(),r("section",on,[e("label",an,[s[110]||(s[110]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"自动生成对话标题"),e("span",{class:"settings-row-desc"},"默认开启;关闭后标题将沿用首条消息")],-1)),e("input",{type:"checkbox",checked:l(o).auto_generate_title,onChange:s[1]||(s[1]=t=>l(i).updateField({key:"auto_generate_title",value:t.target.checked}))},null,40,dn),p(v,{checked:l(o).auto_generate_title},null,8,["checked"])]),e("div",{class:"settings-action-row"},[s[111]||(s[111]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"新手教程"),e("span",{class:"settings-row-desc"},"通过高亮与说明窗了解主要功能入口和常用设置")],-1)),e("button",{type:"button",class:"settings-secondary-button",onClick:lt}," 开始教程 ")]),Ve.value?(d(),r("div",rn,[e("span",un,[s[112]||(s[112]=e("span",{class:"settings-row-title"},"软件更新",-1)),e("span",cn,"当前版本:"+a(Gs.value)+" · "+a(Qs.value),1)]),e("div",pn,[e("span",{class:c(["settings-mini-status",{warning:me.value}])},a(Ws.value),3),e("button",{type:"button",class:"settings-secondary-button",disabled:U.value,onClick:Ye},a(U.value?"检查中...":"检查更新"),9,gn),me.value?(d(),r("button",{key:0,type:"button",class:"settings-primary-button",onClick:Ks}," 下载 ")):C("",!0)])])):C("",!0),e("div",vn,[s[113]||(s[113]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"退出登录"),e("span",{class:"settings-row-desc"},"结束当前账号会话")],-1)),e("button",{type:"button",class:"settings-secondary-button danger",onClick:s[2]||(s[2]=t=>l(i).logout())}," 退出登录 ")])])):$.value==="preferences"?(d(),r("section",mn,[e("label",kn,[s[114]||(s[114]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"启用个性化提示"),e("span",{class:"settings-row-desc"},"开启后才会注入您的偏好")],-1)),e("input",{type:"checkbox",checked:l(o).enabled,disabled:l(bs),onChange:s[3]||(s[3]=t=>l(i).toggleEnabled())},null,40,yn),p(v,{checked:l(o).enabled},null,8,["checked"])]),e("label",bn,[s[115]||(s[115]=e("span",{class:"settings-row-title"},"AI 智能体自称",-1)),e("input",{type:"text",value:l(o).self_identify,maxlength:"20",placeholder:"如小秘、助理小A",onInput:s[4]||(s[4]=t=>l(i).updateField({key:"self_identify",value:t.target.value})),onFocus:s[5]||(s[5]=t=>l(i).clearFeedback())},null,40,wn)]),e("label",_n,[s[116]||(s[116]=e("span",{class:"settings-row-title"},"用户称呼",-1)),e("input",{type:"text",value:l(o).user_name,maxlength:"20",placeholder:"如Jojo、老师",onInput:s[6]||(s[6]=t=>l(i).updateField({key:"user_name",value:t.target.value})),onFocus:s[7]||(s[7]=t=>l(i).clearFeedback())},null,40,hn)]),e("label",fn,[s[117]||(s[117]=e("span",{class:"settings-row-title"},"职业",-1)),e("input",{type:"text",value:l(o).profession,maxlength:"20",placeholder:"如:产品经理、设计师",onInput:s[8]||(s[8]=t=>l(i).updateField({key:"profession",value:t.target.value})),onFocus:s[9]||(s[9]=t=>l(i).clearFeedback())},null,40,Cn)]),e("div",xn,[s[118]||(s[118]=e("span",{class:"settings-row-title"},"交流语气",-1)),e("div",Mn,[e("input",{type:"text",value:l(o).tone,maxlength:"20",placeholder:"请选择或输入语气",onInput:s[10]||(s[10]=t=>l(i).updateField({key:"tone",value:t.target.value})),onFocus:s[11]||(s[11]=t=>l(i).clearFeedback())},null,40,Sn),e("div",$n,[(d(!0),r(w,null,F(l(ys),t=>(d(),r("button",{key:t,type:"button",onClick:h(u=>l(i).applyTonePreset(t),["prevent"])},a(t),9,Fn))),128))])])]),e("div",Bn,[s[119]||(s[119]=e("div",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"回答时必须考虑的信息"),e("span",{class:"settings-row-desc"},"每次回答前都会参考这些背景信息")],-1)),e("textarea",{value:l(o).considerations,rows:"6",maxlength:"2000",placeholder:"例如用户家有一只泰迪犬棕色公狗2014年开始养的...",onInput:s[12]||(s[12]=t=>l(i).updateConsiderations(t.target.value)),onFocus:s[13]||(s[13]=t=>l(i).clearFeedback())},null,40,Pn)]),O.value==="stacked"?(d(),r("label",Tn,[s[120]||(s[120]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"隐藏块间边线"),e("span",{class:"settings-row-desc"},"去掉堆叠块之间的分割线,更简洁")],-1)),e("input",{type:"checkbox",checked:ee.value,onChange:s[14]||(s[14]=t=>is(t))},null,40,An),p(v,{checked:ee.value},null,8,["checked"])])):C("",!0),O.value==="minimal"?(d(),r("label",Dn,[s[121]||(s[121]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"限制展开高度"),e("span",{class:"settings-row-desc"},"极简模式展开摘要行时限制最大高度,超出可在内部滚动")],-1)),e("input",{type:"checkbox",checked:se.value,onChange:s[15]||(s[15]=t=>as(t))},null,40,Nn),p(v,{checked:se.value},null,8,["checked"])])):C("",!0),e("div",In,[s[126]||(s[126]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"智能体交流风格"),e("span",{class:"settings-row-desc"},"智能体和您交流时使用何种形式")],-1)),e("div",{class:c(["settings-select-wrap",{open:g.value==="communication"}]),onClick:s[20]||(s[20]=h(()=>{},["stop"]))},[e("button",{type:"button",class:"settings-select-button",onClick:s[16]||(s[16]=t=>B("communication"))},[_(a(Es.value)+" ",1),s[122]||(s[122]=e("span",{class:"select-chevron","aria-hidden":"true"},null,-1))]),e("div",{class:c(["settings-floating-menu",{dark:f.value==="dark"}]),style:S(g.value?x.value:void 0)},[e("button",{type:"button",class:c(["settings-menu-option",{selected:l(o).communication_style==="default"}]),onClick:s[17]||(s[17]=t=>Ce("default"))},[...s[123]||(s[123]=[e("strong",null,"默认",-1),e("span",null,"标准 AI 风格",-1),e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1)])],2),e("button",{type:"button",class:c(["settings-menu-option",{selected:l(o).communication_style==="human_like"}]),onClick:s[18]||(s[18]=t=>Ce("human_like"))},[...s[124]||(s[124]=[e("strong",null,"拟人",-1),e("span",null,"像聊天一样模仿人类语言风格",-1),e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1)])],2),e("button",{type:"button",class:c(["settings-menu-option",{selected:l(o).communication_style==="auto"}]),onClick:s[19]||(s[19]=t=>Ce("auto"))},[...s[125]||(s[125]=[e("strong",null,"自动",-1),e("span",null,"聊天时自然,复杂问题正常结构化回答",-1),e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1)])],2)],6)],2)]),e("div",Ln,[s[131]||(s[131]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"对话连续性"),e("span",{class:"settings-row-desc"},"控制智能体延续历史对话和记忆的程度")],-1)),e("div",{class:c(["settings-select-wrap",{open:g.value==="conversation-continuity"}]),onClick:s[25]||(s[25]=h(()=>{},["stop"]))},[e("button",{type:"button",class:"settings-select-button",onClick:s[21]||(s[21]=t=>B("conversation-continuity"))},[_(a(Us.value)+" ",1),s[127]||(s[127]=e("span",{class:"select-chevron","aria-hidden":"true"},null,-1))]),e("div",{class:c(["settings-floating-menu",{dark:f.value==="dark"}]),style:S(g.value?x.value:void 0)},[e("button",{type:"button",class:c(["settings-menu-option",{selected:l(o).conversation_continuity==="high"}]),onClick:s[22]||(s[22]=t=>xe("high"))},[...s[128]||(s[128]=[e("strong",null,"高",-1),e("span",null,"更积极延续历史、记忆与项目背景",-1),e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1)])],2),e("button",{type:"button",class:c(["settings-menu-option",{selected:l(o).conversation_continuity==="medium"}]),onClick:s[23]||(s[23]=t=>xe("medium"))},[...s[129]||(s[129]=[e("strong",null,"中",-1),e("span",null,"当前对话优先,必要时参考历史",-1),e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1)])],2),e("button",{type:"button",class:c(["settings-menu-option",{selected:l(o).conversation_continuity==="low"}]),onClick:s[24]||(s[24]=t=>xe("low"))},[...s[130]||(s[130]=[e("strong",null,"低",-1),e("span",null,"当前对话尽量独立,少主动翻历史",-1),e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1)])],2)],6)],2)])])):$.value==="model"?(d(),r("section",Rn,[e("div",On,[s[134]||(s[134]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"默认模型"),e("span",{class:"settings-row-desc"},"为新对话/登录后首次请求选择首选模型")],-1)),e("div",{class:c(["settings-select-wrap",{open:g.value==="model"}]),onClick:s[27]||(s[27]=h(()=>{},["stop"]))},[e("button",{type:"button",class:"settings-select-button",onClick:s[26]||(s[26]=t=>B("model"))},[_(a(Ds.value)+" ",1),s[132]||(s[132]=e("span",{class:"select-chevron","aria-hidden":"true"},null,-1))]),e("div",{class:c(["settings-floating-menu",{dark:f.value==="dark"}]),style:S(g.value?x.value:void 0)},[(d(!0),r(w,null,F(ue.value,t=>(d(),r("button",{key:t.id,type:"button",class:c(["settings-menu-option",{selected:l(o).default_model===t.value,disabled:t.disabled}]),disabled:t.disabled,onClick:u=>ut(t.value)},[e("strong",null,a(t.label),1),e("span",null,a(t.disabled?"已被管理员禁用":t.desc),1),s[133]||(s[133]=e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1))],10,jn))),128))],6)],2)]),e("div",Vn,[s[137]||(s[137]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"默认运行模式"),e("span",{class:"settings-row-desc"},"登录或新建任务时的初始运行模式")],-1)),e("div",{class:c(["settings-select-wrap",{open:g.value==="run-mode"}]),onClick:s[29]||(s[29]=h(()=>{},["stop"]))},[e("button",{type:"button",class:"settings-select-button",onClick:s[28]||(s[28]=t=>B("run-mode"))},[_(a(Ns.value)+" ",1),s[135]||(s[135]=e("span",{class:"select-chevron","aria-hidden":"true"},null,-1))]),e("div",{class:c(["settings-floating-menu",{dark:f.value==="dark"}]),style:S(g.value?x.value:void 0)},[(d(),r(w,null,F(Ue,t=>e("button",{key:t.id,type:"button",class:c(["settings-menu-option",{selected:ts(t.value)}]),onClick:u=>ct(t.value)},[e("strong",null,a(t.label),1),e("span",null,a(t.desc),1),s[136]||(s[136]=e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1))],10,En)),64))],6)],2)]),e("div",Un,[s[140]||(s[140]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"默认推理强度"),e("span",{class:"settings-row-desc"},"思考模式下请求模型时附带的推理强度参数")],-1)),e("div",{class:c(["settings-select-wrap",{open:g.value==="reasoning-effort"}]),onClick:s[31]||(s[31]=h(()=>{},["stop"]))},[e("button",{type:"button",class:"settings-select-button",onClick:s[30]||(s[30]=t=>B("reasoning-effort"))},[_(a(Is.value)+" ",1),s[138]||(s[138]=e("span",{class:"select-chevron","aria-hidden":"true"},null,-1))]),e("div",{class:c(["settings-floating-menu",{dark:f.value==="dark"}]),style:S(g.value?x.value:void 0)},[(d(),r(w,null,F(ze,t=>e("button",{key:t.id,type:"button",class:c(["settings-menu-option",{selected:We(t.value)}]),onClick:u=>Ls(t.value)},[e("strong",null,a(t.label),1),e("span",null,a(t.desc),1),s[139]||(s[139]=e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1))],10,zn)),64))],6)],2)])])):$.value==="appearance"?(d(),r("section",Hn,[e("div",qn,[s[143]||(s[143]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"主题切换"),e("span",{class:"settings-row-desc"},"在经典、明亮和夜间之间切换")],-1)),e("div",{class:c(["settings-select-wrap",{open:g.value==="theme"}]),onClick:s[33]||(s[33]=h(()=>{},["stop"]))},[e("button",{type:"button",class:"settings-select-button",onClick:s[32]||(s[32]=t=>B("theme"))},[_(a(Tt.value)+" ",1),s[141]||(s[141]=e("span",{class:"select-chevron","aria-hidden":"true"},null,-1))]),e("div",{class:c(["settings-floating-menu",{dark:f.value==="dark"}]),style:S(g.value?x.value:void 0)},[(d(),r(w,null,F(us,t=>e("button",{key:t.id,type:"button",class:c(["settings-menu-option",{selected:f.value===t.id}]),onClick:u=>At(t.id)},[e("strong",null,a(t.label),1),e("span",null,a(t.desc),1),s[142]||(s[142]=e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1))],10,Gn)),64))],6)],2)]),e("label",Jn,[s[144]||(s[144]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"按项目分组对话"),e("span",{class:"settings-row-desc"},"侧边栏对话记录按工作区/项目折叠展示")],-1)),e("input",{type:"checkbox",checked:l(o).group_sidebar_by_workspace,onChange:s[34]||(s[34]=t=>l(i).updateField({key:"group_sidebar_by_workspace",value:t.target.checked}))},null,40,Wn),p(v,{checked:l(o).group_sidebar_by_workspace},null,8,["checked"])]),e("label",Qn,[s[145]||(s[145]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"新建对话跳转空白页"),e("span",{class:"settings-row-desc"},"开启后点击「新建对话」跳转新对话页,发送首条消息时才创建;关闭则立即创建空对话")],-1)),e("input",{type:"checkbox",checked:l(o).new_chat_button_behavior==="route",onChange:s[35]||(s[35]=t=>l(i).updateField({key:"new_chat_button_behavior",value:t.target.checked?"route":"blank"}))},null,40,Kn),p(v,{checked:l(o).new_chat_button_behavior==="route"},null,8,["checked"])]),e("label",Xn,[s[146]||(s[146]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"使用自定义称呼"),e("span",{class:"settings-row-desc"},"对话区域使用个性化设置中的自称和称呼")],-1)),e("input",{type:"checkbox",checked:l(o).use_custom_names,onChange:s[36]||(s[36]=t=>l(i).updateField({key:"use_custom_names",value:t.target.checked}))},null,40,Yn),p(v,{checked:l(o).use_custom_names},null,8,["checked"])]),e("label",Zn,[s[147]||(s[147]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"增强工具显示"),e("span",{class:"settings-row-desc"},"工具块显示格式化内容,关闭则显示原始 JSON")],-1)),e("input",{type:"checkbox",checked:l(o).enhanced_tool_display,onChange:s[37]||(s[37]=t=>l(i).updateField({key:"enhanced_tool_display",value:t.target.checked}))},null,40,el),p(v,{checked:l(o).enhanced_tool_display},null,8,["checked"])]),e("label",sl,[s[148]||(s[148]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"显示助手状态形象"),e("span",{class:"settings-row-desc"},"在欢迎页和对话末尾显示空闲、思考、工具调用等状态动画")],-1)),e("input",{type:"checkbox",checked:l(o).show_status_avatar,onChange:s[38]||(s[38]=t=>l(i).updateField({key:"show_status_avatar",value:t.target.checked}))},null,40,tl),p(v,{checked:l(o).show_status_avatar},null,8,["checked"])]),e("label",nl,[s[149]||(s[149]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"显示 Git 状态栏"),e("span",{class:"settings-row-desc"},"工作区存在 Git 仓库时,在输入栏上方显示分支和变更统计")],-1)),e("input",{type:"checkbox",checked:l(o).show_git_status_bar,onChange:s[39]||(s[39]=t=>l(i).updateField({key:"show_git_status_bar",value:t.target.checked}))},null,40,ll),p(v,{checked:l(o).show_git_status_bar},null,8,["checked"])]),e("label",ol,[s[150]||(s[150]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"自动打开终端面板"),e("span",{class:"settings-row-desc"},"创建终端时自动打开侧边栏终端面板")],-1)),e("input",{type:"checkbox",checked:l(o).auto_open_terminal_panel,onChange:s[40]||(s[40]=t=>l(i).updateField({key:"auto_open_terminal_panel",value:t.target.checked}))},null,40,il),p(v,{checked:l(o).auto_open_terminal_panel},null,8,["checked"])]),e("label",al,[s[151]||(s[151]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"快捷窗口自动展开"),e("span",{class:"settings-row-desc"},"有内容时自动展开快捷窗口;关闭后只能通过右侧按钮手动展开")],-1)),e("input",{type:"checkbox",checked:l(o).quick_dock_auto_expand,onChange:s[41]||(s[41]=t=>l(i).updateField({key:"quick_dock_auto_expand",value:t.target.checked}))},null,40,dl),p(v,{checked:l(o).quick_dock_auto_expand},null,8,["checked"])]),e("label",rl,[s[152]||(s[152]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"编辑摘要实时显示"),e("span",{class:"settings-row-desc"},"工作运行期间实时显示本次编辑过的文件;关闭时仅在每次工作完成后显示")],-1)),e("input",{type:"checkbox",checked:l(o).edit_summary_live_display,onChange:s[42]||(s[42]=t=>l(i).updateField({key:"edit_summary_live_display",value:t.target.checked}))},null,40,ul),p(v,{checked:l(o).edit_summary_live_display},null,8,["checked"])]),e("label",cl,[s[153]||(s[153]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"预览窗口自动换行显示"),e("span",{class:"settings-row-desc"},"文件预览按面板宽度自动换行;关闭时长行横向滚动")],-1)),e("input",{type:"checkbox",checked:l(o).file_preview_auto_wrap,onChange:s[43]||(s[43]=t=>l(i).updateField({key:"file_preview_auto_wrap",value:t.target.checked}))},null,40,pl),p(v,{checked:l(o).file_preview_auto_wrap},null,8,["checked"])]),e("div",gl,[s[156]||(s[156]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"堆叠块显示模式"),e("span",{class:"settings-row-desc"},"选择思考/工具块的显示方式")],-1)),e("div",{class:c(["settings-select-wrap",{open:g.value==="block-display"}]),onClick:s[45]||(s[45]=h(()=>{},["stop"]))},[e("button",{type:"button",class:"settings-select-button",onClick:s[44]||(s[44]=t=>B("block-display"))},[_(a(zs.value)+" ",1),s[154]||(s[154]=e("span",{class:"select-chevron","aria-hidden":"true"},null,-1))]),e("div",{class:c(["settings-floating-menu",{dark:f.value==="dark"}]),style:S(g.value?x.value:void 0)},[(d(),r(w,null,F(os,t=>e("button",{key:t.id,type:"button",class:c(["settings-menu-option",{selected:O.value===t.value}]),onClick:u=>mt(t.value)},[e("strong",null,a(t.label),1),e("span",null,a(t.desc),1),s[155]||(s[155]=e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1))],10,vl)),64))],6)],2)]),O.value==="stacked"?(d(),r("label",ml,[s[157]||(s[157]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"隐藏块间边线"),e("span",{class:"settings-row-desc"},"去掉堆叠块之间的分割线,更简洁")],-1)),e("input",{type:"checkbox",checked:ee.value,onChange:s[46]||(s[46]=t=>is(t))},null,40,kl),p(v,{checked:ee.value},null,8,["checked"])])):C("",!0),O.value==="minimal"?(d(),r("label",yl,[s[158]||(s[158]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"限制展开高度"),e("span",{class:"settings-row-desc"},"极简模式展开摘要行时限制最大高度,超出可在内部滚动")],-1)),e("input",{type:"checkbox",checked:se.value,onChange:s[47]||(s[47]=t=>as(t))},null,40,bl),p(v,{checked:se.value},null,8,["checked"])])):C("",!0),e("div",wl,[s[161]||(s[161]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"简略消息显示"),e("span",{class:"settings-row-desc"},"审核、子智能体等紧凑系统消息的显示形式")],-1)),e("div",{class:c(["settings-select-wrap",{open:g.value==="compact-message"}]),onClick:s[49]||(s[49]=h(()=>{},["stop"]))},[e("button",{type:"button",class:"settings-select-button",onClick:s[48]||(s[48]=t=>B("compact-message"))},[_(a(Hs.value)+" ",1),s[159]||(s[159]=e("span",{class:"select-chevron","aria-hidden":"true"},null,-1))]),e("div",{class:c(["settings-floating-menu",{dark:f.value==="dark"}]),style:S(g.value?x.value:void 0)},[(d(),r(w,null,F(ds,t=>e("button",{key:t.id,type:"button",class:c(["settings-menu-option",{selected:Qe.value===t.value}]),onClick:u=>Mt(t.value)},[e("strong",null,a(t.label),1),e("span",null,a(t.desc),1),s[160]||(s[160]=e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1))],10,_l)),64))],6)],2)])])):$.value==="workspace"?(d(),r("section",hl,[e("div",fl,[s[164]||(s[164]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"默认权限"),e("span",{class:"settings-row-desc"},"新建对话时的默认权限模式")],-1)),e("div",{class:c(["settings-select-wrap",{open:g.value==="permission"}]),onClick:s[51]||(s[51]=h(()=>{},["stop"]))},[e("button",{type:"button",class:"settings-select-button",onClick:s[50]||(s[50]=t=>B("permission"))},[_(a(Rs.value)+" ",1),s[162]||(s[162]=e("span",{class:"select-chevron","aria-hidden":"true"},null,-1))]),e("div",{class:c(["settings-floating-menu",{dark:f.value==="dark"}]),style:S(g.value?x.value:void 0)},[(d(),r(w,null,F(He,t=>e("button",{key:t.id,type:"button",class:c(["settings-menu-option",{selected:l(o).default_permission_mode===t.id}]),onClick:u=>pt(t.id)},[e("strong",null,a(t.label),1),e("span",null,a(t.desc),1),s[163]||(s[163]=e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1))],10,Cl)),64))],6)],2)]),e("div",xl,[s[167]||(s[167]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"默认运行模式"),e("span",{class:"settings-row-desc"},"新建对话时的默认运行模式;计划模式下权限锁定为只读")],-1)),e("div",{class:c(["settings-select-wrap",{open:g.value==="work-mode"}]),onClick:s[53]||(s[53]=h(()=>{},["stop"]))},[e("button",{type:"button",class:"settings-select-button",onClick:s[52]||(s[52]=t=>B("work-mode"))},[_(a(Os.value)+" ",1),s[165]||(s[165]=e("span",{class:"select-chevron","aria-hidden":"true"},null,-1))]),e("div",{class:c(["settings-floating-menu",{dark:f.value==="dark"}]),style:S(g.value?x.value:void 0)},[(d(),r(w,null,F(qe,t=>e("button",{key:t.id,type:"button",class:c(["settings-menu-option",{selected:l(o).default_work_mode===t.id}]),onClick:u=>gt(t.id)},[e("strong",null,a(t.label),1),e("span",null,a(t.desc),1),s[166]||(s[166]=e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1))],10,Ml)),64))],6)],2)]),e("label",Sl,[s[168]||(s[168]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"AGENTS.md 自动注入"),e("span",{class:"settings-row-desc"},"工作区根目录存在 AGENTS.md 时自动注入系统提示词")],-1)),e("input",{type:"checkbox",checked:l(o).agents_md_auto_inject,onChange:s[54]||(s[54]=t=>l(i).updateField({key:"agents_md_auto_inject",value:t.target.checked}))},null,40,$l),p(v,{checked:l(o).agents_md_auto_inject},null,8,["checked"])]),e("label",Fl,[s[169]||(s[169]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"文件修改留痕"),e("span",{class:"settings-row-desc"},"每次任务完成后,把本轮 write/edit 的文件修改以 diff 形式保存到工作区 .astrion/modify_history/,误操作(如被 git checkout 覆盖)后可据此人工恢复")],-1)),e("input",{type:"checkbox",checked:l(o).modify_history_enabled,onChange:s[55]||(s[55]=t=>l(i).updateField({key:"modify_history_enabled",value:t.target.checked}))},null,40,Bl),p(v,{checked:l(o).modify_history_enabled},null,8,["checked"])]),s[179]||(s[179]=e("div",{class:"settings-section-divider"},[e("span",{class:"settings-section-divider__label"},"版本控制")],-1)),e("label",Pl,[s[170]||(s[170]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"新对话默认开启版本控制"),e("span",{class:"settings-row-desc"},"创建新对话时自动启用,可在输入栏下方手动关闭")],-1)),e("input",{type:"checkbox",checked:l(o).versioning_enabled_by_default,onChange:s[56]||(s[56]=t=>l(i).updateField({key:"versioning_enabled_by_default",value:t.target.checked}))},null,40,Tl),p(v,{checked:l(o).versioning_enabled_by_default},null,8,["checked"])]),e("div",Al,[s[174]||(s[174]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"文件备份方式"),e("span",{class:"settings-row-desc"},"浅备份只记录 AI 编辑的文件,完全备份会保存整个工作区快照")],-1)),e("div",{class:c(["settings-select-wrap",{open:g.value==="versioning-backup-mode"}]),onClick:s[60]||(s[60]=h(()=>{},["stop"]))},[e("button",{type:"button",class:"settings-select-button",onClick:s[57]||(s[57]=t=>B("versioning-backup-mode"))},[_(a(js.value)+" ",1),s[171]||(s[171]=e("span",{class:"select-chevron","aria-hidden":"true"},null,-1))]),e("div",{class:c(["settings-floating-menu",{dark:f.value==="dark"}]),style:S(g.value?x.value:void 0)},[e("button",{type:"button",class:c(["settings-menu-option",{selected:l(o).versioning_backup_mode==="shallow"}]),onClick:s[58]||(s[58]=t=>ns("shallow"))},[...s[172]||(s[172]=[e("strong",null,"浅备份",-1),e("span",null,"速度快,只回溯被编辑过的文件",-1),e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1)])],2),e("button",{type:"button",class:c(["settings-menu-option",{selected:l(o).versioning_backup_mode==="full"}]),onClick:s[59]||(s[59]=t=>ns("full"))},[...s[173]||(s[173]=[e("strong",null,"完全备份",-1),e("span",null,"完整工作区快照,首次创建可能较慢",-1),e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1)])],2)],6)],2)]),s[180]||(s[180]=e("div",{class:"settings-section-divider"},[e("span",{class:"settings-section-divider__label"},"目标模式")],-1)),e("label",Dl,[s[175]||(s[175]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"审核智能体主动取证"),e("span",{class:"settings-row-desc"},"开启后可运行只读命令核实目标,关闭则仅依据对话判断")],-1)),e("input",{type:"checkbox",checked:l(o).goal_review_mode==="active",onChange:s[61]||(s[61]=t=>l(i).updateField({key:"goal_review_mode",value:t.target.checked?"active":"readonly"}))},null,40,Nl),p(v,{checked:l(o).goal_review_mode==="active"},null,8,["checked"])]),e("div",Il,[s[176]||(s[176]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"最大自动续命轮数"),e("span",{class:"settings-row-desc"},"主模型停下后最多自动继续 1-100 轮")],-1)),e("input",{type:"number",class:"settings-number-input",min:"1",max:"100",value:l(o).goal_max_turns,onChange:s[62]||(s[62]=t=>l(i).updateField({key:"goal_max_turns",value:hs(t.target.value)}))},null,40,Ll)]),e("label",Rl,[s[177]||(s[177]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"启用累计 token 上限"),e("span",{class:"settings-row-desc"},"累计输入输出超过上限时停止目标模式")],-1)),e("input",{type:"checkbox",checked:de.value,onChange:s[63]||(s[63]=t=>Cs(t.target.checked))},null,40,Ol),p(v,{checked:de.value},null,8,["checked"])]),de.value?(d(),r("div",jl,[s[178]||(s[178]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"累计 token 上限"),e("span",{class:"settings-row-desc"},"达到该累计消耗即停止目标模式")],-1)),e("input",{type:"number",class:"settings-number-input",min:"1000",step:"1000",value:l(o).goal_max_tokens||1e5,onChange:s[64]||(s[64]=t=>l(i).updateField({key:"goal_max_tokens",value:fs(t.target.value)}))},null,40,Vl)])):C("",!0)])):$.value==="context"?(d(),r("section",El,[e("label",Ul,[s[181]||(s[181]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"最近对话提示"),e("span",{class:"settings-row-desc"},"把当前工作区最近若干个非空对话注入系统提示词")],-1)),e("input",{type:"checkbox",checked:l(o).recent_conversations_prompt_enabled,onChange:s[65]||(s[65]=t=>l(i).updateField({key:"recent_conversations_prompt_enabled",value:t.target.checked}))},null,40,zl),p(v,{checked:l(o).recent_conversations_prompt_enabled},null,8,["checked"])]),l(o).recent_conversations_prompt_enabled?(d(),r("div",Hl,[s[182]||(s[182]=e("span",{class:"settings-row-title"},"最近对话注入数量",-1)),e("div",ql,[e("input",{type:"number",min:l(Re).min,max:l(Re).max,value:l(o).recent_conversations_prompt_limit,onInput:kt,onBlur:yt},null,40,Gl),e("button",{type:"button",onClick:bt}," 恢复默认 ")])])):C("",!0),e("div",Jl,[s[183]||(s[183]=e("span",{class:"settings-row-title"},"最大记忆注入",-1)),e("div",Wl,[e("input",{type:"number",min:l(ws),value:l(o).project_memory_inject_limit??"",placeholder:"无上限",onInput:wt,onBlur:_t},null,40,Ql),e("button",{type:"button",onClick:ht}," 恢复默认 ")])]),e("div",Kl,[s[193]||(s[193]=e("div",{class:"settings-group-title"},[e("span",{class:"settings-row-title"},"上下文压缩策略"),e("span",{class:"settings-row-desc"},"可分别控制自动浅层压缩与自动深层压缩")],-1)),e("label",Xl,[s[184]||(s[184]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"自动浅层压缩")],-1)),e("input",{type:"checkbox",checked:l(o).auto_shallow_compress_enabled,onChange:s[66]||(s[66]=t=>l(i).updateField({key:"auto_shallow_compress_enabled",value:t.target.checked}))},null,40,Yl),p(v,{checked:l(o).auto_shallow_compress_enabled},null,8,["checked"])]),e("label",Zl,[s[185]||(s[185]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"自动深层压缩")],-1)),e("input",{type:"checkbox",checked:l(o).auto_deep_compress_enabled,onChange:s[67]||(s[67]=t=>l(i).updateField({key:"auto_deep_compress_enabled",value:t.target.checked}))},null,40,eo),p(v,{checked:l(o).auto_deep_compress_enabled},null,8,["checked"])]),e("div",so,[e("label",null,[s[186]||(s[186]=e("span",null,"浅压缩触发上下文",-1)),e("input",{type:"number",value:l(o).shallow_compress_trigger_tokens??"",onInput:s[68]||(s[68]=t=>G("shallow_compress_trigger_tokens",t))},null,40,to)]),e("label",null,[s[187]||(s[187]=e("span",null,"浅压缩保留最近工具数",-1)),e("input",{type:"number",value:l(o).shallow_compress_keep_recent_tools??"",onInput:s[69]||(s[69]=t=>G("shallow_compress_keep_recent_tools",t))},null,40,no)]),e("label",null,[s[188]||(s[188]=e("span",null,"浅压缩保留当前轮工具数",-1)),e("input",{type:"number",value:l(o).shallow_compress_keep_user_turn_tools??"",onInput:s[70]||(s[70]=t=>G("shallow_compress_keep_user_turn_tools",t))},null,40,lo)]),e("label",null,[s[189]||(s[189]=e("span",null,"每轮最大替换数量",-1)),e("input",{type:"number",value:l(o).shallow_compress_max_replace_per_round??"",onInput:s[71]||(s[71]=t=>G("shallow_compress_max_replace_per_round",t))},null,40,oo)]),e("label",null,[s[190]||(s[190]=e("span",null,"工具调用间隔触发",-1)),e("input",{type:"number",value:l(o).shallow_compress_trigger_tool_calls_interval??"",onInput:s[72]||(s[72]=t=>G("shallow_compress_trigger_tool_calls_interval",t))},null,40,io)]),e("label",null,[s[191]||(s[191]=e("span",null,"深压缩触发上下文",-1)),e("input",{type:"number",value:l(o).deep_compress_trigger_tokens??"",onInput:s[73]||(s[73]=t=>G("deep_compress_trigger_tokens",t))},null,40,ao)])]),e("label",ro,[s[192]||(s[192]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"深压缩直接注入"),e("span",{class:"settings-row-desc"},"开启后直接注入历次压缩全文,关闭则只提示文件位置")],-1)),e("input",{type:"checkbox",checked:l(o).deep_compress_form==="inject",onChange:s[74]||(s[74]=t=>l(i).updateField({key:"deep_compress_form",value:t.target.checked?"inject":"file"}))},null,40,uo),p(v,{checked:l(o).deep_compress_form==="inject"},null,8,["checked"])]),e("div",{class:"settings-inline-actions right"},[e("button",{type:"button",class:"settings-secondary-button",onClick:ft}," 恢复压缩默认值 ")])])])):$.value==="tools"?(d(),r("section",co,[e("label",po,[s[194]||(s[194]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"静默禁用工具"),e("span",{class:"settings-row-desc"},"禁用工具时不再注入提示消息,模型不会感知被禁用项")],-1)),e("input",{type:"checkbox",checked:l(o).silent_tool_disable,onChange:s[75]||(s[75]=t=>l(i).updateField({key:"silent_tool_disable",value:t.target.checked}))},null,40,go),p(v,{checked:l(o).silent_tool_disable},null,8,["checked"])]),e("label",vo,[s[195]||(s[195]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"隐藏工具审核面板"),e("span",{class:"settings-row-desc"},"自动审核模式下,后台审核工具时不再自动展开审核面板")],-1)),e("input",{type:"checkbox",checked:l(o).hide_tool_approval_panel,onChange:s[76]||(s[76]=t=>l(i).updateField({key:"hide_tool_approval_panel",value:t.target.checked}))},null,40,mo),p(v,{checked:l(o).hide_tool_approval_panel},null,8,["checked"])]),e("label",ko,[s[196]||(s[196]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"工具意图提示"),e("span",{class:"settings-row-desc"},"调用工具时先用简短文字告诉你要做什么")],-1)),e("input",{type:"checkbox",checked:l(o).tool_intent_enabled,onChange:s[77]||(s[77]=t=>l(i).updateField({key:"tool_intent_enabled",value:t.target.checked}))},null,40,yo),p(v,{checked:l(o).tool_intent_enabled},null,8,["checked"])]),e("label",bo,[s[197]||(s[197]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"Skill 提示系统"),e("span",{class:"settings-row-desc"},"检测到特定关键词时自动提示模型阅读相关 skill")],-1)),e("input",{type:"checkbox",checked:l(o).skill_hints_enabled,onChange:s[78]||(s[78]=t=>l(i).updateField({key:"skill_hints_enabled",value:t.target.checked}))},null,40,wo),p(v,{checked:l(o).skill_hints_enabled},null,8,["checked"])]),e("div",_o,[s[202]||(s[202]=e("div",{class:"settings-group-title"},[e("span",{class:"settings-row-title"},"强约束系统"),e("span",{class:"settings-row-desc"},"仅对个人空间中已启用的 skill 生效")],-1)),e("label",ho,[s[198]||(s[198]=e("span",{class:"settings-row-title"},"Terminal 系列工具",-1)),e("input",{type:"checkbox",checked:l(o).skill_strict_terminal_enabled,onChange:s[79]||(s[79]=t=>l(i).updateField({key:"skill_strict_terminal_enabled",value:t.target.checked}))},null,40,fo),p(v,{checked:l(o).skill_strict_terminal_enabled},null,8,["checked"])]),e("label",Co,[s[199]||(s[199]=e("span",{class:"settings-row-title"},"子智能体系列工具",-1)),e("input",{type:"checkbox",checked:l(o).skill_strict_sub_agent_enabled,onChange:s[80]||(s[80]=t=>l(i).updateField({key:"skill_strict_sub_agent_enabled",value:t.target.checked}))},null,40,xo),p(v,{checked:l(o).skill_strict_sub_agent_enabled},null,8,["checked"])]),e("label",Mo,[s[200]||(s[200]=e("span",{class:"settings-row-title"},"run_command 前台模式",-1)),e("input",{type:"checkbox",checked:l(o).skill_strict_run_command_foreground_enabled,onChange:s[81]||(s[81]=t=>l(i).updateField({key:"skill_strict_run_command_foreground_enabled",value:t.target.checked}))},null,40,So),p(v,{checked:l(o).skill_strict_run_command_foreground_enabled},null,8,["checked"])]),e("label",$o,[s[201]||(s[201]=e("span",{class:"settings-row-title"},"run_command 后台模式",-1)),e("input",{type:"checkbox",checked:l(o).skill_strict_run_command_background_enabled,onChange:s[82]||(s[82]=t=>l(i).updateField({key:"skill_strict_run_command_background_enabled",value:t.target.checked}))},null,40,Fo),p(v,{checked:l(o).skill_strict_run_command_background_enabled},null,8,["checked"])])]),l(Le).length?(d(),r("div",Bo,[s[203]||(s[203]=e("div",{class:"settings-group-title"},[e("span",{class:"settings-row-title"},"可用 Skills"),e("span",{class:"settings-row-desc"},"勾选后会注入 system prompt并同步到工作区的 .astrion/skills/ 目录")],-1)),e("div",Po,[(d(!0),r(w,null,F(l(Le),t=>(d(),r("label",{key:t.id,class:"settings-toggle-row inner"},[e("span",To,a(t.label),1),e("input",{type:"checkbox",checked:l(o).enabled_skills.includes(t.id),onChange:u=>l(i).toggleSkill(t.id)},null,40,Ao),p(v,{checked:l(o).enabled_skills.includes(t.id)},null,8,["checked"])]))),128))])])):C("",!0),l(Ie).length?(d(),r("div",Do,[s[204]||(s[204]=e("div",{class:"settings-group-title"},[e("span",{class:"settings-row-title"},"默认禁用工具类别"),e("span",{class:"settings-row-desc"},"选择后,这些类别在新任务中保持关闭")],-1)),e("div",No,[(d(!0),r(w,null,F(l(Ie),t=>(d(),r("label",{key:t.id,class:"settings-toggle-row inner"},[e("span",Io,a(t.label),1),e("input",{type:"checkbox",checked:l(o).disabled_tool_categories.includes(t.id),onChange:u=>Ct(t.id)},null,40,Lo),p(v,{checked:l(o).disabled_tool_categories.includes(t.id)},null,8,["checked"])]))),128))])])):C("",!0)])):$.value==="files"?(d(),r("section",Ro,[e("div",Oo,[s[207]||(s[207]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"图片压缩"),e("span",{class:"settings-row-desc"},"发送图片或调用 view_image 时自动等比缩放")],-1)),e("div",{class:c(["settings-select-wrap",{open:g.value==="image"}]),onClick:s[84]||(s[84]=h(()=>{},["stop"]))},[e("button",{type:"button",class:"settings-select-button",onClick:s[83]||(s[83]=t=>B("image"))},[_(a(Vs.value)+" ",1),s[205]||(s[205]=e("span",{class:"select-chevron","aria-hidden":"true"},null,-1))]),e("div",{class:c(["settings-floating-menu",{dark:f.value==="dark"}]),style:S(g.value?x.value:void 0)},[(d(),r(w,null,F(Je,t=>e("button",{key:t.id,type:"button",class:c(["settings-menu-option",{selected:l(o).image_compression===t.id}]),onClick:u=>vt(t.id)},[e("strong",null,a(t.label),1),e("span",null,a(t.desc),1),s[206]||(s[206]=e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1))],10,jo)),64))],6)],2)])])):$.value==="data"?(d(),r("section",Vo,[e("div",Eo,[s[213]||(s[213]=e("div",{class:"usage-summary-header"},[e("div",null,[e("p",{class:"usage-summary-eyebrow"},"对话用量"),e("h3",null,"用量统计"),e("p",{class:"usage-summary-desc"}," 累计统计所有对话的输入/输出 Token、对话数量、用户消息与工具调用 ")])],-1)),e("div",Uo,[e("div",zo,[s[208]||(s[208]=e("div",{class:"label"},"累计输入",-1)),e("div",Ho,a(l(Y)(j.value.total_input_tokens)),1)]),e("div",qo,[s[209]||(s[209]=e("div",{class:"label"},"累计输出",-1)),e("div",Go,a(l(Y)(j.value.total_output_tokens)),1)])]),e("div",Jo,[e("div",Wo,[s[210]||(s[210]=e("div",{class:"label"},"总对话数",-1)),e("div",Qo,a(l(Y)(j.value.total_conversations)),1)]),e("div",Ko,[s[211]||(s[211]=e("div",{class:"label"},"用户消息数",-1)),e("div",Xo,a(l(Y)(j.value.total_user_messages)),1)]),e("div",Yo,[s[212]||(s[212]=e("div",{class:"label"},"工具调用次数",-1)),e("div",Zo,a(l(Y)(j.value.total_tools)),1)])]),e("div",ei,[te.value?(d(),r("span",si,a(te.value),1)):V.value?(d(),r("span",ti,"正在同步最新统计...")):(d(),r("span",ni,"最近更新:"+a(qs.value),1)),e("button",{type:"button",class:"usage-summary-refresh",onClick:Xe,disabled:V.value},a(V.value?"刷新中...":"刷新数据"),9,li)])])])):$.value==="voice"?(d(),r("section",oi,[s[215]||(s[215]=e("div",{class:"settings-section",style:{"margin-bottom":"16px"}},[e("p",{class:"settings-section-desc",style:{margin:"0",color:"var(--text-secondary)","font-size":"13px","line-height":"1.6"}}," 端侧语音识别模型SenseVoice int8支持中英混说 + 自动标点。 模型约 228MB仅在手机本地运行无需网络。 ")],-1)),e("div",ii,[e("span",ai,[s[214]||(s[214]=e("span",{class:"settings-row-title"},"语音识别模型",-1)),e("span",di,[A.value?(d(),r(w,{key:0},[_("已下载 (228MB)")],64)):D.value?(d(),r(w,{key:1},[_("下载中 "+a(R.value)+"% — "+a(Z.value),1)],64)):L.value?(d(),r(w,{key:2},[_("下载不完整,请重新下载")],64)):(d(),r(w,{key:3},[_("未下载 — 点击下载")],64))])]),e("div",ri,[e("button",{type:"button",class:"settings-secondary-button",disabled:D.value,onClick:Bs},a(D.value?"下载中...":A.value?"重新下载":"下载模型"),9,ui),A.value||L.value?(d(),r("button",{key:0,type:"button",class:"settings-secondary-button",style:{color:"var(--state-error)"},disabled:D.value,onClick:Ps}," 删除 ",8,ci)):C("",!0)])]),D.value?(d(),r("div",pi,[e("div",gi,[e("div",{class:"voice-download-fill",style:S({width:R.value+"%"})},null,4)]),e("span",vi,a(R.value)+"%",1)])):C("",!0)])):$.value==="sub-agents"?(d(),r("section",mi,[s[231]||(s[231]=e("div",{class:"settings-section-desc",style:{margin:"0 0 16px",color:"var(--text-secondary)","font-size":"13px","line-height":"1.6"}}," 管理多智能体模式下的子智能体角色。预设角色可编辑(创建自定义覆盖),自定义角色可创建/编辑/删除。 ",-1)),e("div",ki,[s[216]||(s[216]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"上下文压缩阈值"),e("span",{class:"settings-row-desc"}," 子智能体上下文 tokens 超过此值时触发深度压缩(默认 150000 ")],-1)),e("div",yi,[vs(e("input",{type:"number",class:"settings-number-input","onUpdate:modelValue":s[85]||(s[85]=t=>ne.value=t),min:1e4,step:1e4,style:{width:"120px"}},null,512),[[ms,ne.value,void 0,{number:!0}]]),e("button",{type:"button",class:"settings-secondary-button",disabled:H.value,onClick:es},a(H.value?"保存中...":"保存"),9,bi)])]),e("div",wi,[s[217]||(s[217]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"最大执行轮次"),e("span",{class:"settings-row-desc"}," 传统后台子智能体单次任务的最大执行轮次(一轮 = 一次模型调用)。留空默认 50 轮;填 0 表示无上限(慎用,失控任务会持续消耗 API 额度)。多智能体模式的团队成员是长期协作角色,不受此限制 ")],-1)),e("div",_i,[vs(e("input",{type:"number",class:"settings-number-input","onUpdate:modelValue":s[86]||(s[86]=t=>z.value=t),min:0,step:10,placeholder:"50",style:{width:"120px"}},null,512),[[ms,z.value,void 0,{number:!0}]]),e("button",{type:"button",class:"settings-secondary-button",disabled:H.value,onClick:es},a(H.value?"保存中...":"保存"),9,hi)])]),e("div",fi,[s[218]||(s[218]=e("span",{class:"settings-section-title"},"角色列表",-1)),e("button",{type:"button",class:"settings-secondary-button",onClick:s[87]||(s[87]=t=>ss())}," + 新建角色 ")]),ye.value?(d(),r("div",Ci,"加载中...")):ke.value.length===0?(d(),r("div",xi," 暂无角色 ")):(d(),r("div",Mi,[(d(!0),r(w,null,F(ke.value,t=>(d(),r("div",{key:t.role_id,class:"sub-agent-role-card"},[e("div",Si,[e("div",$i,[_(a(t.name)+" ",1),e("span",{class:c(["sub-agent-role-tag",t.is_custom?"tag-custom":"tag-preset"])},a(t.is_custom?"自定义":"预设"),3)]),e("div",Fi,a(t.description||"无描述"),1),e("div",Bi,[_(" ID: "+a(t.role_id)+" · 思考模式: "+a(t.thinking_mode),1),t.model_key?(d(),r(w,{key:0},[_(" · 模型: "+a(t.model_key),1)],64)):C("",!0)])]),e("div",Pi,[e("button",{type:"button",class:"settings-secondary-button",onClick:u=>ss(t)},"编辑",8,Ti),t.is_custom?(d(),r("button",{key:0,type:"button",class:"settings-secondary-button danger",onClick:u=>tt(t)},"删除",8,Ai)):C("",!0)])]))),128))])),p(X,{name:"personal-page-fade",appear:""},{default:K(()=>[we.value?(d(),r("div",{key:0,class:"role-editor-drawer-overlay",onClick:b,onMousedown:Zs,onMouseup:et},[e("div",{class:"role-editor-drawer-card settings-redesign-card",style:{padding:"30px 42px 24px","border-radius":"32px"},onClick:s[99]||(s[99]=h(()=>{},["stop"]))},[e("div",Di,[e("h2",null,a(q.value?"编辑角色":"新建角色"),1),e("button",{type:"button",class:"settings-secondary-button",onClick:oe},"关闭")]),e("div",{class:"role-editor-body",onClick:b},[e("label",Ni,[s[219]||(s[219]=e("span",{class:"settings-row-title"},"角色 ID",-1)),q.value?(d(),r("span",Li,a(y.value.role_id),1)):(d(),r("input",{key:0,type:"text",value:y.value.role_id,maxlength:"40",placeholder:"英文小写下划线,如 api-designer",onInput:s[88]||(s[88]=t=>y.value.role_id=t.target.value)},null,40,Ii))]),e("label",Ri,[s[220]||(s[220]=e("span",{class:"settings-row-title"},"显示名",-1)),e("input",{type:"text",value:y.value.name,maxlength:"40",placeholder:"如 API Designer",onInput:s[89]||(s[89]=t=>y.value.name=t.target.value)},null,40,Oi)]),e("label",ji,[s[221]||(s[221]=e("span",{class:"settings-row-title"},"描述",-1)),e("input",{type:"text",value:y.value.description,maxlength:"100",placeholder:"一句话描述职责",onInput:s[90]||(s[90]=t=>y.value.description=t.target.value)},null,40,Vi)]),e("div",Ei,[s[225]||(s[225]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"思考模式"),e("span",{class:"settings-row-desc"},"fast = 快速响应thinking = 思考推理")],-1)),e("div",{class:c(["settings-select-wrap",{open:g.value==="role-thinking"}]),onClick:s[94]||(s[94]=h(()=>{},["stop"]))},[e("button",{type:"button",class:"settings-select-button",onClick:s[91]||(s[91]=t=>B("role-thinking"))},[_(a(y.value.thinking_mode==="thinking"?"thinking":"fast")+" ",1),s[222]||(s[222]=e("span",{class:"select-chevron","aria-hidden":"true"},null,-1))]),e("div",{class:c(["settings-floating-menu",{dark:f.value==="dark"}]),style:S(g.value==="role-thinking"?x.value:void 0)},[e("button",{type:"button",class:c(["settings-menu-option",{selected:y.value.thinking_mode==="fast"}]),onClick:s[92]||(s[92]=t=>{y.value.thinking_mode="fast",b()})},[...s[223]||(s[223]=[e("strong",null,"fast",-1),e("span",null,"快速响应模式",-1),e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1)])],2),e("button",{type:"button",class:c(["settings-menu-option",{selected:y.value.thinking_mode==="thinking"}]),onClick:s[93]||(s[93]=t=>{y.value.thinking_mode="thinking",b()})},[...s[224]||(s[224]=[e("strong",null,"thinking",-1),e("span",null,"思考推理模式",-1),e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1)])],2)],6)],2)]),e("div",Ui,[s[229]||(s[229]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"模型"),e("span",{class:"settings-row-desc"},"留空则使用默认模型")],-1)),e("div",{class:c(["settings-select-wrap",{open:g.value==="role-model"}]),onClick:s[97]||(s[97]=h(()=>{},["stop"]))},[e("button",{type:"button",class:"settings-select-button",onClick:s[95]||(s[95]=t=>B("role-model"))},[_(a(y.value.model_key||"默认模型")+" ",1),s[226]||(s[226]=e("span",{class:"select-chevron","aria-hidden":"true"},null,-1))]),e("div",{class:c(["settings-floating-menu",{dark:f.value==="dark"}]),style:S(g.value==="role-model"?x.value:void 0)},[e("button",{type:"button",class:c(["settings-menu-option",{selected:!y.value.model_key}]),onClick:s[96]||(s[96]=t=>{y.value.model_key="",b()})},[...s[227]||(s[227]=[e("strong",null,"默认模型",-1),e("span",null,"使用配置文件中的 default_model",-1),e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1)])],2),(d(!0),r(w,null,F(be.value,t=>(d(),r("button",{key:t.name,type:"button",class:c(["settings-menu-option",{selected:y.value.model_key===t.name}]),onClick:u=>{y.value.model_key=t.name,b()}},[e("strong",null,a(t.name),1),e("span",null,a(t.modes)+" · "+a(t.multimodal||"纯文本"),1),s[228]||(s[228]=e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1))],10,zi))),128))],6)],2)]),e("div",Hi,[s[230]||(s[230]=e("span",{class:"settings-row-title"},"Prompt BodyMarkdown",-1)),e("textarea",{value:y.value.body_prompt,placeholder:"角色的自定义 prompt body...",onInput:s[98]||(s[98]=t=>y.value.body_prompt=t.target.value)},null,40,qi)])]),e("div",Gi,[e("button",{type:"button",class:"settings-secondary-button",onClick:oe},"取消"),e("button",{type:"button",class:"settings-primary-button",disabled:le.value||!y.value.role_id||!y.value.name||!y.value.body_prompt,onClick:st},a(le.value?"保存中...":"保存"),9,Ji)])])],32)):C("",!0)]),_:1})])):$.value==="review-agents"?(d(),r("section",Wi,[s[243]||(s[243]=e("div",{class:"settings-section-desc",style:{margin:"0 0 16px",color:"var(--text-secondary)","font-size":"13px","line-height":"1.6"}}," 统一配置三个审核智能体的模型与运行参数。模型与子智能体共用模型库,留空则使用模型库默认模型。 ",-1)),(d(),r(w,null,F(Xs,t=>(d(),r(w,{key:t.key},[e("div",Qi,[e("span",Ki,a(t.name),1)]),e("div",Xi,a(t.desc),1),e("div",Yi,[s[235]||(s[235]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"模型"),e("span",{class:"settings-row-desc"},"留空则使用模型库默认模型")],-1)),e("div",{class:c(["settings-select-wrap",{open:g.value===`review-model-${t.key}`}]),onClick:s[100]||(s[100]=h(()=>{},["stop"]))},[e("button",{type:"button",class:"settings-select-button",onClick:u=>B(`review-model-${t.key}`)},[_(a(P(t.key).model||"默认模型")+" ",1),s[232]||(s[232]=e("span",{class:"select-chevron","aria-hidden":"true"},null,-1))],8,Zi),e("div",{class:c(["settings-floating-menu",{dark:f.value==="dark"}]),style:S(g.value===`review-model-${t.key}`?x.value:void 0)},[e("button",{type:"button",class:c(["settings-menu-option",{selected:!P(t.key).model}]),onClick:u=>{W(t.key,{model:""}),b()}},[...s[233]||(s[233]=[e("strong",null,"默认模型",-1),e("span",null,"使用模型库的 default_model",-1),e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1)])],10,ea),(d(!0),r(w,null,F(be.value,u=>(d(),r("button",{key:u.name,type:"button",class:c(["settings-menu-option",{selected:P(t.key).model===u.name}]),onClick:M=>{W(t.key,{model:u.name}),b()}},[e("strong",null,a(u.name),1),e("span",null,a(u.modes)+" · "+a(u.multimodal||"纯文本"),1),s[234]||(s[234]=e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1))],10,sa))),128))],6)],2)]),e("div",ta,[s[239]||(s[239]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"思考模式"),e("span",{class:"settings-row-desc"},"模型不支持思考时自动回落快速模式")],-1)),e("div",{class:c(["settings-select-wrap",{open:g.value===`review-thinking-${t.key}`}]),onClick:s[101]||(s[101]=h(()=>{},["stop"]))},[e("button",{type:"button",class:"settings-select-button",onClick:u=>B(`review-thinking-${t.key}`)},[_(a(P(t.key).thinking?"thinking":"fast")+" ",1),s[236]||(s[236]=e("span",{class:"select-chevron","aria-hidden":"true"},null,-1))],8,na),e("div",{class:c(["settings-floating-menu",{dark:f.value==="dark"}]),style:S(g.value===`review-thinking-${t.key}`?x.value:void 0)},[e("button",{type:"button",class:c(["settings-menu-option",{selected:!P(t.key).thinking}]),onClick:u=>{W(t.key,{thinking:!1}),b()}},[...s[237]||(s[237]=[e("strong",null,"fast",-1),e("span",null,"快速响应模式",-1),e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1)])],10,la),e("button",{type:"button",class:c(["settings-menu-option",{selected:P(t.key).thinking}]),onClick:u=>{W(t.key,{thinking:!0}),b()}},[...s[238]||(s[238]=[e("strong",null,"thinking",-1),e("span",null,"思考推理模式",-1),e("svg",{viewBox:"0 0 24 24"},[e("path",{d:"M5 12.5 9.5 17 19 7"})],-1)])],10,oa)],6)],2)]),e("div",ia,[s[240]||(s[240]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"审核请求超时"),e("span",{class:"settings-row-desc"},"单次模型请求超时5-3600 秒)")],-1)),e("input",{type:"number",class:"settings-number-input",min:"5",max:"3600",value:P(t.key).timeout_seconds,onChange:u=>he(t.key,"timeout_seconds",u.target.value,5,3600)},null,40,aa)]),e("div",da,[s[241]||(s[241]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"最大审核轮次"),e("span",{class:"settings-row-desc"},"超过该轮次未产出结论时按兜底处理1-50 轮)")],-1)),e("input",{type:"number",class:"settings-number-input",min:"1",max:"50",value:P(t.key).max_rounds,onChange:u=>he(t.key,"max_rounds",u.target.value,1,50)},null,40,ra)]),e("div",ua,[s[242]||(s[242]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"取证命令超时"),e("span",{class:"settings-row-desc"},"只读取证命令的单次超时1-600 秒)")],-1)),e("input",{type:"number",class:"settings-number-input",min:"1",max:"600",value:P(t.key).max_command_timeout,onChange:u=>he(t.key,"max_command_timeout",u.target.value,1,600)},null,40,ca)])],64))),64))])):C("",!0),e("section",pa,[Ss.value?(d(),r("div",ga,[s[244]||(s[244]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"MCP 服务器管理"),e("span",{class:"settings-row-desc"},"统一配置 MCP Server集中管理工具扩展能力")],-1)),e("button",{type:"button",class:"settings-secondary-button",onClick:Bt}," 打开 ")])):C("",!0),e("div",{class:"settings-action-row"},[s[245]||(s[245]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"管理员监控入口"),e("span",{class:"settings-row-desc"},"展示配额趋势、容器运行、项目存储与上传安全")],-1)),e("button",{type:"button",class:"settings-secondary-button",onClick:St}," 打开 ")]),e("div",{class:"settings-action-row"},[s[246]||(s[246]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"API 管理"),e("span",{class:"settings-row-desc"},"管理 API 调用与账户")],-1)),e("button",{type:"button",class:"settings-secondary-button",onClick:Ft}," 打开 ")]),e("div",{class:"settings-action-row"},[s[247]||(s[247]=e("span",{class:"settings-row-copy"},[e("span",{class:"settings-row-title"},"自定义工具管理"),e("span",{class:"settings-row-desc"},"在线创建/编辑自定义工具文件")],-1)),e("button",{type:"button",class:"settings-secondary-button",onClick:$t}," 打开 ")])])]),_:1})]),e("div",va,[e("div",ma,[p(X,{name:"personal-status-fade"},{default:K(()=>[l(De)?(d(),r("span",ka,a(l(De)),1)):C("",!0)]),_:1}),p(X,{name:"personal-status-fade"},{default:K(()=>[l(Ne)?(d(),r("span",ya,a(l(Ne)),1)):C("",!0)]),_:1})])])])])])]))])],32)):C("",!0)]),_:1}))}}),Fa=Wt(wa,[["__scopeId","data-v-6ee16aed"]]);export{Fa as default};