';if(regularKeys.length===0&&Object.keys(sourceMap).length===0&&Object.keys(mcpServerMap).length===0&&state.selectedSection!=='plugin.mcp'){html+='
'+escHtml(state.selectedSection)+'
暂无设置?/p>
'}else{regularKeys.forEach(k=>{let v=state.settings[k];let sv=typeof v==='object'?JSON.stringify(v):String(v);let m=state.meta?.[k];let label=m?.display_name||'?;let desc=m?.description||'';let typ=m?.type||'string';let ph=m?.placeholder||'';let opts=m?.options||[];let inpId='inp-'+k.replace(/\./g,'_');let inp='';if(typ==='bool'){let chk=sv==='true'?'checked':'';inp='
'}else if(typ==='password'){inp='
'}else if(typ==='text'){inp='
'}else if(typ==='select'&&opts.length>0){let sel='
';inp=sel}else if(typ==='int'){inp='
'}else{inp='
'}html+='
'+escHtml(k)+'
'+inp;if(desc){html+='
'+escHtml(desc)+'
'}html+='
'})}if(state.selectedSection==='core'){let srcNames=Object.keys(sourceMap).sort();srcNames.forEach(sn=>{let baseKey='core.llm.sources.'+sn;let srcHtml='
🌐 '+escHtml(sn)+'
';let fields=[{key:'adapter',label:'适配?},{key:'base_url',label:'API 地址'},{key:'model',label:'模型'},{key:'api_key',label:'API 密钥',typ:'password'},{key:'thinking_enabled',label:'深度思?,typ:'bool'}];fields.forEach(f=>{let fk=baseKey+'.'+f.key;let fv=state.settings[fk];let fsv=typeof fv==='object'?JSON.stringify(fv):String(fv||'');let fm=state.meta?.[fk];let ftyp=f.typ||fm?.type||'string';let finpId='inp-'+(baseKey+'.'+f.key).replace(/\./g,'_');let finp='';if(ftyp==='bool'){let chk=fsv==='true'?'checked':'';finp=''}else if(ftyp==='password'){finp=''}else if(f.key==='adapter'&&window._adapters&&window._adapters.length){let sel='';finp=sel}else{finp=''}srcHtml+=finp});srcHtml+='';html+=srcHtml});html+='
'};if(state.selectedSection==='plugin.mcp'){Object.keys(mcpServerMap).sort().forEach(sn=>{let baseKey='plugin.mcp.servers.'+sn;let cmd=state.settings[baseKey+'.command'],url=state.settings[baseKey+'.url'];if((!cmd||cmd==='
')&&(!url||url===''))return;let html2='⚙ '+escHtml(sn)+'
';let fields=[{key:'command',label:'命令'},{key:'url',label:'URL'},{key:'args',label:'参数(JSON)'},{key:'env',label:'环境变量(JSON)'}];fields.forEach(f=>{let fk=baseKey+'.'+f.key;let fv=state.settings[fk];let fsv=typeof fv==='object'?JSON.stringify(fv):String(fv||'');let finpId='inp-'+fk.replace(/\./g,'_');let finp='';if(f.key==='args'||f.key==='env'){finp=''}else{finp=''}html2+=finp});html2+='';html+=html2});html+=''}}html+='