[{"data":1,"prerenderedAt":1383},["ShallowReactive",2],{"nav-docs":3,"page-/docs/webspace/examples/ai-support-chat":964,"surround-/docs/webspace/examples/ai-support-chat":1377,"raw-/docs/webspace/examples/ai-support-chat":1380},[4,56,287,615,718,857,890,947],{"title":5,"path":6,"stem":7,"children":8,"page":55},"Space Builder","/getting-started","00.getting-started",[9,13,17,23,29,33,38,42,46,50],{"title":10,"path":11,"stem":12,"children":-1},"Introducing SpaceBuilder","/getting-started/overview","00.getting-started/00.overview",{"title":14,"path":15,"stem":16,"children":-1},"Create a SetFN Account","/getting-started/create-setfn-account","00.getting-started/05.create-setfn-account",{"title":18,"path":19,"stem":20,"tags":21,"children":-1},"Installing on Linux","/getting-started/install-linux","00.getting-started/10.install-linux",[22],"recommended",{"title":24,"path":25,"stem":26,"tags":27,"children":-1},"Installing with Docker","/getting-started/install-docker","00.getting-started/12.install-docker",[28],"preparing",{"title":30,"path":31,"stem":32,"children":-1},"Installing on Windows","/getting-started/install-windows","00.getting-started/14.install-windows",{"title":34,"path":35,"stem":36,"tags":37,"children":-1},"Installing on macOS","/getting-started/install-macos","00.getting-started/16.install-macos",[28],{"title":39,"path":40,"stem":41,"children":-1},"Initial Setup","/getting-started/initial-setup","00.getting-started/20.initial-setup",{"title":43,"path":44,"stem":45,"children":-1},"License Activation","/getting-started/license-activation","00.getting-started/30.license-activation",{"title":47,"path":48,"stem":49,"children":-1},"Checking Your Access Address (Local/Internal Network)","/getting-started/access-url","00.getting-started/35.access-url",{"title":51,"path":52,"stem":53,"tags":54,"children":-1},"Choosing an External Access Method","/getting-started/access-domain","00.getting-started/40.access-domain",[22],false,{"title":57,"path":58,"stem":59,"children":60,"page":-1},"Space management","/admin","10.admin",[61,64,77,135,164,201,221,234,241,270],{"title":62,"path":58,"stem":63,"children":-1},"Explore the Administrator Menus","10.admin/00.index",{"title":65,"path":66,"stem":67,"children":68,"page":55},"Admin Home","/admin/home","10.admin/00.home",[69,73],{"title":70,"path":71,"stem":72,"children":-1},"Accessing the Admin Page","/admin/home/admin-page-access","10.admin/00.home/00.admin-page-access",{"title":74,"path":75,"stem":76,"children":-1},"License Management","/admin/home/license","10.admin/00.home/20.license",{"title":78,"path":79,"stem":80,"children":81,"page":55},"User management","/admin/user-management","10.admin/10.user-management",[82,86,92,96,100,104,108,112,116,120,125,130],{"title":83,"path":84,"stem":85,"children":-1},"Set signup policy and default permissions","/admin/user-management/signup-policy","10.admin/10.user-management/02.signup-policy",{"title":87,"path":88,"stem":89,"tags":90,"children":-1},"Register signup terms","/admin/user-management/signup-terms","10.admin/10.user-management/04.signup-terms",[91],"new",{"title":93,"path":94,"stem":95,"children":-1},"Creating a User Account","/admin/user-management/invite-new-member","10.admin/10.user-management/10.invite-new-member",{"title":97,"path":98,"stem":99,"children":-1},"Editing a User Account","/admin/user-management/edit-member","10.admin/10.user-management/11.edit-member",{"title":101,"path":102,"stem":103,"children":-1},"Adding an Admin","/admin/user-management/add-new-admin","10.admin/10.user-management/12.add-new-admin",{"title":105,"path":106,"stem":107,"children":-1},"Team Management","/admin/user-management/team","10.admin/10.user-management/22.team",{"title":109,"path":110,"stem":111,"children":-1},"Level management","/admin/user-management/level","10.admin/10.user-management/24.level",{"title":113,"path":114,"stem":115,"children":-1},"Checking Access Logs","/admin/user-management/access-log","10.admin/10.user-management/30.access-log",{"title":117,"path":118,"stem":119,"children":-1},"Configure Account & Security policies","/admin/user-management/account-security","10.admin/10.user-management/32.account-security",{"title":121,"path":122,"stem":123,"tags":124,"children":-1},"Configure CAPTCHA","/admin/user-management/captcha","10.admin/10.user-management/33.captcha",[91],{"title":126,"path":127,"stem":128,"tags":129,"children":-1},"Configure notice delivery","/admin/user-management/notice-settings","10.admin/10.user-management/34.notice-settings",[91],{"title":131,"path":132,"stem":133,"tags":134,"children":-1},"Send bulk notices to members","/admin/user-management/bulk-mail","10.admin/10.user-management/36.bulk-mail",[91],{"title":136,"path":137,"stem":138,"children":139,"page":55},"Service Configuration","/admin/service-config","10.admin/20.service-config",[140,144,148,152,156,160],{"title":141,"path":142,"stem":143,"children":-1},"File Area Settings","/admin/service-config/file-area","10.admin/20.service-config/10.file-area",{"title":145,"path":146,"stem":147,"children":-1},"Webhook Settings","/admin/service-config/webhook-settings","10.admin/20.service-config/16.webhook-settings",{"title":149,"path":150,"stem":151,"children":-1},"Community Settings","/admin/service-config/community-space","10.admin/20.service-config/22.community-space",{"title":153,"path":154,"stem":155,"children":-1},"AI Chatbot Policy Settings","/admin/service-config/community-ai-chatbot","10.admin/20.service-config/24.community-ai-chatbot",{"title":157,"path":158,"stem":159,"children":-1},"Email Settings","/admin/service-config/email-settings","10.admin/20.service-config/30.email-settings",{"title":161,"path":162,"stem":163,"children":-1},"Branding Settings","/admin/service-config/brand","10.admin/20.service-config/40.brand",{"title":165,"path":166,"stem":167,"children":168},"Knowledge Services","/admin/knowledge","10.admin/30.knowledge/00.index",[169,171,177,181,185,189,193,197],{"title":170,"path":166,"stem":167,"children":-1},"Knowledge Services overview",{"title":172,"path":173,"stem":174,"children":175},"Ingestion & Indexing","/admin/knowledge/indexing","10.admin/30.knowledge/10.indexing",[176],{"title":172,"path":173,"stem":174,"children":-1},{"title":178,"path":179,"stem":180,"children":-1},"Search Management","/admin/knowledge/search","10.admin/30.knowledge/20.search",{"title":182,"path":183,"stem":184,"children":-1},"Knowledge Storage","/admin/knowledge/storage","10.admin/30.knowledge/30.storage",{"title":186,"path":187,"stem":188,"children":-1},"Operating Knowledge Storage","/admin/knowledge/storage-operations","10.admin/30.knowledge/32.storage-operations",{"title":190,"path":191,"stem":192,"children":-1},"Connect Qdrant","/admin/knowledge/qdrant","10.admin/30.knowledge/34.qdrant",{"title":194,"path":195,"stem":196,"children":-1},"Setting Up a Qdrant Server","/admin/knowledge/qdrant-server-setup","10.admin/30.knowledge/35.qdrant-server-setup",{"title":198,"path":199,"stem":200,"children":-1},"Connect Milvus","/admin/knowledge/milvus","10.admin/30.knowledge/36.milvus",{"title":202,"path":203,"stem":204,"children":205},"AI Services","/admin/ai","10.admin/35.ai/00.index",[206,208,212,217],{"title":207,"path":203,"stem":204,"children":-1},"Manage AI Services",{"title":209,"path":210,"stem":211,"children":-1},"Configure Models & Runtime","/admin/ai/models","10.admin/35.ai/10.models",{"title":213,"path":214,"stem":215,"tags":216,"children":-1},"Configure Tools & Integrations","/admin/ai/integrations","10.admin/35.ai/20.integrations",[91],{"title":218,"path":219,"stem":220,"children":-1},"Manage the MCP Server","/admin/ai/mcp","10.admin/35.ai/30.mcp",{"title":222,"path":223,"stem":224,"children":225,"page":55},"plugin","/admin/plugin","10.admin/40.plugin",[226,230],{"title":227,"path":228,"stem":229,"children":-1},"Managing Plugins","/admin/plugin/overview","10.admin/40.plugin/00.overview",{"title":231,"path":232,"stem":233,"children":-1},"Extension Plugin Settings","/admin/plugin/settings","10.admin/40.plugin/10.settings",{"title":235,"path":236,"stem":237,"children":238,"tags":240},"Review Operations & Audit Logs","/admin/operations","10.admin/45.operations/00.index",[239],{"title":235,"path":236,"stem":237,"tags":240,"children":-1},[91],{"title":242,"path":243,"stem":244,"children":245,"page":55},"Security Management","/admin/security","10.admin/50.security",[246,250,254,258,262,266],{"title":247,"path":248,"stem":249,"children":-1},"Security Overview","/admin/security/overview","10.admin/50.security/00.overview",{"title":251,"path":252,"stem":253,"children":-1},"Checking the Audit Log","/admin/security/audit-log","10.admin/50.security/05.audit-log",{"title":255,"path":256,"stem":257,"children":-1},"Block Management","/admin/security/block-management","10.admin/50.security/10.block-management",{"title":259,"path":260,"stem":261,"children":-1},"Security Settings","/admin/security/security-setting","10.admin/50.security/12.security-setting",{"title":263,"path":264,"stem":265,"children":-1},"Process pending device approvals","/admin/security/device-approvals","10.admin/50.security/14.device-approvals",{"title":267,"path":268,"stem":269,"children":-1},"IP Access Restriction","/admin/security/ip-restriction","10.admin/50.security/16.ip-restriction",{"title":271,"path":272,"stem":273,"children":274,"page":55},"System management","/admin/system-admin","10.admin/60.system-admin",[275,279,283],{"title":276,"path":277,"stem":278,"children":-1},"Device Information","/admin/system-admin/device-info","10.admin/60.system-admin/10.device-info",{"title":280,"path":281,"stem":282,"children":-1},"Server Restart and System Maintenance","/admin/system-admin/server-restart","10.admin/60.system-admin/12.server-restart",{"title":284,"path":285,"stem":286,"children":-1},"Background Services","/admin/system-admin/background-service","10.admin/60.system-admin/14.background-service",{"title":288,"path":289,"stem":290,"children":291,"page":55},"Use workspace","/workspace","20.workspace",[292,325,342,404,520,567,597],{"title":293,"path":294,"stem":295,"children":296,"page":55},"menu","/workspace/menu","20.workspace/05.menu",[297,301,305,309,313,317,321],{"title":298,"path":299,"stem":300,"children":-1},"Workspace Overview","/workspace/menu/overview","20.workspace/05.menu/00.overview",{"title":302,"path":303,"stem":304,"children":-1},"Team Space","/workspace/menu/team-space","20.workspace/05.menu/05.team-space",{"title":306,"path":307,"stem":308,"children":-1},"Client Space","/workspace/menu/client-space","20.workspace/05.menu/06.client-space",{"title":310,"path":311,"stem":312,"children":-1},"Favorites","/workspace/menu/favorites","20.workspace/05.menu/10.favorites",{"title":314,"path":315,"stem":316,"children":-1},"Recent Documents","/workspace/menu/recent","20.workspace/05.menu/20.recent",{"title":318,"path":319,"stem":320,"children":-1},"External Share","/workspace/menu/external-share","20.workspace/05.menu/30.external-share",{"title":322,"path":323,"stem":324,"children":-1},"Trash","/workspace/menu/trash","20.workspace/05.menu/40.trash",{"title":326,"path":327,"stem":328,"children":329,"page":55},"Account","/workspace/account","20.workspace/10.account",[330,334,338],{"title":331,"path":332,"stem":333,"children":-1},"Sign Up and Log In","/workspace/account/signup","20.workspace/10.account/10.signup",{"title":335,"path":336,"stem":337,"children":-1},"Resetting Your Password","/workspace/account/reset-password","20.workspace/10.account/20.reset-password",{"title":339,"path":340,"stem":341,"children":-1},"Account Settings","/workspace/account/account-settings","20.workspace/10.account/30.account-settings",{"title":343,"path":344,"stem":345,"children":346,"page":55},"folder","/workspace/folder","20.workspace/20.folder",[347,351,355,359,363,369,373,377,382,386,390,394,400],{"title":348,"path":349,"stem":350,"children":-1},"Folder Basics","/workspace/folder/basic","20.workspace/20.folder/10.basic",{"title":352,"path":353,"stem":354,"children":-1},"Creating Multiple Folders at Once","/workspace/folder/bulk-folder-creation","20.workspace/20.folder/12.bulk-folder-creation",{"title":356,"path":357,"stem":358,"children":-1},"Filter","/workspace/folder/filter","20.workspace/20.folder/13.filter",{"title":360,"path":361,"stem":362,"children":-1},"Configuring Folder View Options","/workspace/folder/folder-view-options","20.workspace/20.folder/14.folder-view-options",{"title":364,"path":365,"stem":366,"tags":367,"children":-1},"Folder Web View","/workspace/folder/folder-web-view","20.workspace/20.folder/16.folder-web-view",[368],"hot",{"title":370,"path":371,"stem":372,"children":-1},"Folder Organization","/workspace/folder/folder-organize","20.workspace/20.folder/17.folder-organize",{"title":374,"path":375,"stem":376,"children":-1},"Folder Notice (README)","/workspace/folder/folder-readme","20.workspace/20.folder/18.folder-readme",{"title":378,"path":379,"stem":380,"tags":381,"children":-1},"Exporting Folder/File Lists","/workspace/folder/folder-export","20.workspace/20.folder/20.folder-export",[368],{"title":383,"path":384,"stem":385,"children":-1},"Setting Level-Based Access Permissions","/workspace/folder/level-access-permissions","20.workspace/20.folder/24.level-access-permissions",{"title":387,"path":388,"stem":389,"children":-1},"Setting Team-Based Access Permissions","/workspace/folder/team-access-permissions","20.workspace/20.folder/26.team-access-permissions",{"title":391,"path":392,"stem":393,"children":-1},"Folder Webhooks","/workspace/folder/webhook","20.workspace/20.folder/30.webhook",{"title":395,"path":396,"stem":397,"children":398},"Configure folder knowledge indexing","/workspace/folder/knowledge-index","20.workspace/20.folder/32.knowledge-index",[399],{"title":395,"path":396,"stem":397,"children":-1},{"title":401,"path":402,"stem":403,"children":-1},"Work Automation Folder","/workspace/folder/automation","20.workspace/20.folder/40.automation",{"title":405,"path":406,"stem":407,"children":408,"page":55},"file","/workspace/file","20.workspace/30.file",[409,413,418,422,426,430,434,438,442,447,451,455,460,464,468,472,476,480,484,488,492,496,500,504,508,512,516],{"title":410,"path":411,"stem":412,"children":-1},"File Management Basics","/workspace/file/overview","20.workspace/30.file/00.overview",{"title":414,"path":415,"stem":416,"tags":417,"children":-1},"Checking the List While Viewing a File","/workspace/file/list-in-file","20.workspace/30.file/05.list-in-file",[368],{"title":419,"path":420,"stem":421,"children":-1},"Viewing and Editing Markdown and Text Files","/workspace/file/text-file-viewer","20.workspace/30.file/10.text-file-viewer",{"title":423,"path":424,"stem":425,"children":-1},"Viewing HTML Files","/workspace/file/html-viewer","20.workspace/30.file/11.html-viewer",{"title":427,"path":428,"stem":429,"children":-1},"Viewing and Editing CSV Files","/workspace/file/csv-viewer","20.workspace/30.file/12.csv-viewer",{"title":431,"path":432,"stem":433,"children":-1},"Viewing Image/Video Files","/workspace/file/image-file-viewer","20.workspace/30.file/13.image-file-viewer",{"title":435,"path":436,"stem":437,"children":-1},"Viewing Office/PDF Files","/workspace/file/office-viewer","20.workspace/30.file/14.office-viewer",{"title":439,"path":440,"stem":441,"children":-1},"Pasting Web Pages (HTML)","/workspace/file/paste-html","20.workspace/30.file/20.paste-html",{"title":443,"path":444,"stem":445,"tags":446,"children":-1},"Pasting Screenshots","/workspace/file/paste-screenshot","20.workspace/30.file/21.paste-screenshot",[368],{"title":448,"path":449,"stem":450,"children":-1},"Pasting Markdown (MD)","/workspace/file/paste-md","20.workspace/30.file/22.paste-md",{"title":452,"path":453,"stem":454,"children":-1},"Screen Recording","/workspace/file/screen-recording","20.workspace/30.file/23.screen-recording",{"title":456,"path":457,"stem":458,"tags":459,"children":-1},"Quick Note","/workspace/file/quick-note","20.workspace/30.file/24.quick-note",[91,368],{"title":461,"path":462,"stem":463,"children":-1},"File Tags","/workspace/file/file-tag","20.workspace/30.file/33.file-tag",{"title":465,"path":466,"stem":467,"children":-1},"Bulk Renaming Files","/workspace/file/bulk-name-revise","20.workspace/30.file/34.bulk-name-revise",{"title":469,"path":470,"stem":471,"children":-1},"File Conversion","/workspace/file/file-convert-overview","20.workspace/30.file/40.file-convert-overview",{"title":473,"path":474,"stem":475,"children":-1},"Template Files","/workspace/file/templates","20.workspace/30.file/41.templates",{"title":477,"path":478,"stem":479,"children":-1},"To-Do List","/workspace/file/template-todo","20.workspace/30.file/42.template-todo",{"title":481,"path":482,"stem":483,"children":-1},"Approval Form","/workspace/file/template-approval","20.workspace/30.file/43.template-approval",{"title":485,"path":486,"stem":487,"children":-1},"Kanban Board","/workspace/file/template-kanban","20.workspace/30.file/44.template-kanban",{"title":489,"path":490,"stem":491,"children":-1},"Timeline","/workspace/file/template-timeline","20.workspace/30.file/45.template-timeline",{"title":493,"path":494,"stem":495,"children":-1},"Memo","/workspace/file/template-memo","20.workspace/30.file/46.template-memo",{"title":497,"path":498,"stem":499,"children":-1},"AI Chat File","/workspace/file/ai-chat-file","20.workspace/30.file/47.ai-chat-file",{"title":501,"path":502,"stem":503,"children":-1},"Checking the File Change History","/workspace/file/audit-trail","20.workspace/30.file/50.audit-trail",{"title":505,"path":506,"stem":507,"children":-1},"File Version Control","/workspace/file/version-trail","20.workspace/30.file/51.version-trail",{"title":509,"path":510,"stem":511,"children":-1},"Edit Lock","/workspace/file/file-lock","20.workspace/30.file/52.file-lock",{"title":513,"path":514,"stem":515,"children":-1},"File Encryption","/workspace/file/file-encrypt","20.workspace/30.file/53.file-encrypt",{"title":517,"path":518,"stem":519,"children":-1},"Register disk files","/workspace/file/disk-file-registration","20.workspace/30.file/60.disk-file-registration",{"title":521,"path":522,"stem":523,"children":524,"page":55},"Collaboration","/workspace/cooperation","20.workspace/35.cooperation",[525,529,533,537,542,546,550,554,559,563],{"title":526,"path":527,"stem":528,"children":-1},"File/Folder Comments","/workspace/cooperation/file-comments","20.workspace/35.cooperation/00.file-comments",{"title":530,"path":531,"stem":532,"children":-1},"Chat","/workspace/cooperation/chat","20.workspace/35.cooperation/10.chat",{"title":534,"path":535,"stem":536,"children":-1},"Collaboration Chat and Edit Lock","/workspace/cooperation/collaboration-chat","20.workspace/35.cooperation/11.collaboration-chat",{"title":538,"path":539,"stem":540,"tags":541,"children":-1},"Following a Team Member's Location","/workspace/cooperation/follow-team-location","20.workspace/35.cooperation/12.follow-team-location",[368],{"title":543,"path":544,"stem":545,"children":-1},"Mentions","/workspace/cooperation/mention","20.workspace/35.cooperation/14.mention",{"title":547,"path":548,"stem":549,"children":-1},"Direct Messages","/workspace/cooperation/dm","20.workspace/35.cooperation/16.dm",{"title":551,"path":552,"stem":553,"children":-1},"Notification Inbox","/workspace/cooperation/notification-inbox","20.workspace/35.cooperation/18.notification-inbox",{"title":555,"path":556,"stem":557,"tags":558,"children":-1},"Checking Team Activity","/workspace/cooperation/file-activity","20.workspace/35.cooperation/30.file-activity",[368],{"title":560,"path":561,"stem":562,"children":-1},"Creating an External Share Link","/workspace/cooperation/share-link-creation","20.workspace/35.cooperation/40.share-link-creation",{"title":564,"path":565,"stem":566,"children":-1},"Sending an External Share Link by Email","/workspace/cooperation/share-link-email","20.workspace/35.cooperation/42.share-link-email",{"title":568,"path":569,"stem":570,"children":571,"page":55},"Search","/workspace/search","20.workspace/40.search",[572,576,581,585,589,593],{"title":573,"path":574,"stem":575,"children":-1},"File Search","/workspace/search/search","20.workspace/40.search/00.search",{"title":577,"path":578,"stem":579,"tags":580,"children":-1},"Context Search (AI Search)","/workspace/search/context-search","20.workspace/40.search/10.context-search",[368],{"title":582,"path":583,"stem":584,"children":-1},"Image Search","/workspace/search/image-search","20.workspace/40.search/20.image-search",{"title":586,"path":587,"stem":588,"children":-1},"Chat Search","/workspace/search/chat-search","20.workspace/40.search/30.chat-search",{"title":590,"path":591,"stem":592,"children":-1},"Comment Search","/workspace/search/comment-search","20.workspace/40.search/40.comment-search",{"title":594,"path":595,"stem":596,"children":-1},"Synonym Search","/workspace/search/synonym-search","20.workspace/40.search/50.synonym-search",{"title":598,"path":599,"stem":600,"children":601,"page":55},"AI","/workspace/ai","20.workspace/50.ai",[602,606,611],{"title":603,"path":604,"stem":605,"children":-1},"AI Features Summary","/workspace/ai/overview","20.workspace/50.ai/00.overview",{"title":607,"path":608,"stem":609,"tags":610,"children":-1},"Requesting Work from the Local AI","/workspace/ai/ai-work","20.workspace/50.ai/10.ai-work",[368],{"title":612,"path":613,"stem":614,"children":-1},"Using External AI","/workspace/ai/external-ai","20.workspace/50.ai/20.external-ai",{"title":616,"path":617,"stem":618,"children":619,"page":55},"Webspace","/webspace","40.webspace",[620,624,628,632,636,640,645,649,653,657,661,690],{"title":621,"path":622,"stem":623,"children":-1},"What is WebSpace?","/webspace/overview","40.webspace/00.overview",{"title":625,"path":626,"stem":627,"children":-1},"Deploying a Website","/webspace/website-release","40.webspace/10.website-release",{"title":629,"path":630,"stem":631,"children":-1},"Create a schema file (.sfn)","/webspace/create-database","40.webspace/20.create-database",{"title":633,"path":634,"stem":635,"children":-1},"Build APIs and deploy a database","/webspace/api-overview","40.webspace/24.api-overview",{"title":637,"path":638,"stem":639,"children":-1},"Checking the Frontend Sample","/webspace/frontend-example","40.webspace/26.frontend-example",{"title":641,"path":642,"stem":643,"tags":644,"children":-1},"Building an Internal Team Web Service","/webspace/internal-webservice","40.webspace/32.internal-webservice",[368],{"title":646,"path":647,"stem":648,"children":-1},"Building a Publicly Accessible Web Service","/webspace/external-webservice","40.webspace/34.external-webservice",{"title":650,"path":651,"stem":652,"children":-1},"Import and export SQL","/webspace/sql-converter","40.webspace/42.sql-converter",{"title":654,"path":655,"stem":656,"children":-1},"Developer Tip 2: Code Converter","/webspace/code-converter","40.webspace/44.code-converter",{"title":658,"path":659,"stem":660,"children":-1},"Performance and scaling","/webspace/performance","40.webspace/48.performance",{"title":662,"path":663,"stem":664,"children":665,"page":55},"Webspace Management","/webspace/admin","40.webspace/50.admin",[666,670,674,678,682,686],{"title":667,"path":668,"stem":669,"children":-1},"Get started with WebSpace administration","/webspace/admin/overview","40.webspace/50.admin/00.overview",{"title":671,"path":672,"stem":673,"children":-1},"Operations","/webspace/admin/operations","40.webspace/50.admin/10.operations",{"title":675,"path":676,"stem":677,"children":-1},"Workspace access","/webspace/admin/workspace-access","40.webspace/50.admin/20.workspace-access",{"title":679,"path":680,"stem":681,"children":-1},"API & site security","/webspace/admin/api-site-security","40.webspace/50.admin/30.api-site-security",{"title":683,"path":684,"stem":685,"children":-1},"Services and capacity","/webspace/admin/service-capacity","40.webspace/50.admin/40.service-capacity",{"title":687,"path":688,"stem":689,"children":-1},"Deployment management and frontend releases","/webspace/admin/deployments","40.webspace/50.admin/50.deployments",{"title":691,"path":692,"stem":693,"children":694,"page":55},"Try WebSpace","/webspace/examples","40.webspace/60.examples",[695,699,703,708,713],{"title":696,"path":697,"stem":698,"children":-1},"WebSpace examples","/webspace/examples/overview","40.webspace/60.examples/00.overview",{"title":700,"path":701,"stem":702,"children":-1},"Build a real-time Gomoku game","/webspace/examples/realtime-gomoku","40.webspace/60.examples/20.realtime-gomoku",{"title":704,"path":705,"stem":706,"tags":707,"children":-1},"Build a resource board from folder files","/webspace/examples/folder-board","40.webspace/60.examples/30.folder-board",[91],{"title":709,"path":710,"stem":711,"tags":712,"children":-1},"Build a shared monster raid","/webspace/examples/monster-raid","40.webspace/60.examples/40.monster-raid",[91],{"title":714,"path":715,"stem":716,"tags":717,"children":-1},"Deploy an AI support chat sample","/webspace/examples/ai-support-chat","40.webspace/60.examples/50.ai-support-chat",[91],{"title":719,"path":720,"stem":721,"children":722,"page":55},"Using plugin","/plugin","50.plugin",[723,727,744,788,806,836],{"title":724,"path":725,"stem":726,"children":-1},"Plugin Overview","/plugin/overview","50.plugin/00.overview",{"title":728,"path":729,"stem":730,"children":731,"page":55},"Calendar","/plugin/calendar","50.plugin/10.calendar",[732,736,740],{"title":733,"path":734,"stem":735,"children":-1},"Calendar Introduction","/plugin/calendar/overview","50.plugin/10.calendar/00.overview",{"title":737,"path":738,"stem":739,"children":-1},"Creating, Editing, and Deleting Events","/plugin/calendar/create-event","50.plugin/10.calendar/10.create-event",{"title":741,"path":742,"stem":743,"children":-1},"Checking Activity History","/plugin/calendar/file-activity","50.plugin/10.calendar/40.file-activity",{"title":745,"path":746,"stem":747,"children":748,"page":55},"Email","/plugin/email","50.plugin/20.email",[749,753,756,760,764,768,772,776,780,784],{"title":750,"path":751,"stem":752,"children":-1},"Email Introduction","/plugin/email/overview","50.plugin/20.email/00.overview",{"title":157,"path":754,"stem":755,"children":-1},"/plugin/email/setfn-email-setting","50.plugin/20.email/05.setfn-email-setting",{"title":757,"path":758,"stem":759,"children":-1},"Connect an External Email Account","/plugin/email/external-email","50.plugin/20.email/07.external-email",{"title":761,"path":762,"stem":763,"children":-1},"Basic Email Functionality","/plugin/email/email-basic","50.plugin/20.email/10.email-basic",{"title":765,"path":766,"stem":767,"children":-1},"Composing and Sending Email","/plugin/email/email-compose","50.plugin/20.email/20.email-compose",{"title":769,"path":770,"stem":771,"children":-1},"Attaching Files","/plugin/email/email-attachment","50.plugin/20.email/30.email-attachment",{"title":773,"path":774,"stem":775,"children":-1},"Mail Folder Management","/plugin/email/email-folders","50.plugin/20.email/40.email-folders",{"title":777,"path":778,"stem":779,"children":-1},"Automatic Email Classification","/plugin/email/email-auto-classify","50.plugin/20.email/50.email-auto-classify",{"title":781,"path":782,"stem":783,"children":-1},"Email File Archiving and Sharing","/plugin/email/email-open-in-space","50.plugin/20.email/60.email-open-in-space",{"title":785,"path":786,"stem":787,"children":-1},"Email Security","/plugin/email/email-security","50.plugin/20.email/70.email-security",{"title":789,"path":790,"stem":791,"children":792,"page":55},"Workflow","/plugin/workflow","50.plugin/30.workflow",[793,797,802],{"title":794,"path":795,"stem":796,"children":-1},"Workflow Introduction","/plugin/workflow/overview","50.plugin/30.workflow/00.overview",{"title":798,"path":799,"stem":800,"tags":801,"children":-1},"Creating a New Workflow","/plugin/workflow/new-workflow","50.plugin/30.workflow/10.new-workflow",[368],{"title":803,"path":804,"stem":805,"children":-1},"Checking Execution History","/plugin/workflow/execution-history","50.plugin/30.workflow/20.execution-history",{"title":807,"path":808,"stem":809,"children":810,"page":55},"Pinetuning (AI learning)","/plugin/fine-tuning","50.plugin/40.fine-tuning",[811,816,820,824,828,832],{"title":812,"path":813,"stem":814,"tags":815,"children":-1},"Fine-tuning Introduction","/plugin/fine-tuning/overview","50.plugin/40.fine-tuning/00.overview",[368],{"title":817,"path":818,"stem":819,"children":-1},"Preprocessing Training Data","/plugin/fine-tuning/pre-processing","50.plugin/40.fine-tuning/10.pre-processing",{"title":821,"path":822,"stem":823,"children":-1},"Training","/plugin/fine-tuning/training","50.plugin/40.fine-tuning/20.training",{"title":825,"path":826,"stem":827,"children":-1},"Evaluation","/plugin/fine-tuning/evaluation","50.plugin/40.fine-tuning/30.evaluation",{"title":829,"path":830,"stem":831,"children":-1},"Chat Test","/plugin/fine-tuning/chat-test","50.plugin/40.fine-tuning/40.chat-test",{"title":833,"path":834,"stem":835,"children":-1},"Export","/plugin/fine-tuning/export","50.plugin/40.fine-tuning/50.export",{"title":837,"path":838,"stem":839,"children":840,"page":55},"EDC (data collection)","/plugin/edc","50.plugin/50.edc",[841,845,849,853],{"title":842,"path":843,"stem":844,"children":-1},"EDC Introduction","/plugin/edc/overview","50.plugin/50.edc/00.overview",{"title":846,"path":847,"stem":848,"children":-1},"Data Entry, Audit Trail","/plugin/edc/data-entry","50.plugin/50.edc/10.data-entry",{"title":850,"path":851,"stem":852,"children":-1},"Builder","/plugin/edc/builder","50.plugin/50.edc/20.builder",{"title":854,"path":855,"stem":856,"children":-1},"User/Site Settings","/plugin/edc/account","50.plugin/50.edc/30.account",{"title":858,"path":859,"stem":860,"children":861,"page":55},"FAQ","/faq","99.FAQ",[862,866,870,874,878,882,886],{"title":863,"path":864,"stem":865,"children":-1},"SetFN vs Cloud Services Comparison","/faq/comparison-cloud","99.FAQ/10.comparison-cloud",{"title":867,"path":868,"stem":869,"children":-1},"SetFN vs NAS Comparison","/faq/comparison-nas","99.FAQ/20.comparison-nas",{"title":871,"path":872,"stem":873,"children":-1},"Security Policy","/faq/security-policy","99.FAQ/30.security-policy",{"title":875,"path":876,"stem":877,"children":-1},"Why Is SetFN Fast","/faq/why-fast","99.FAQ/40.why-fast",{"title":879,"path":880,"stem":881,"children":-1},"License FAQ","/faq/license-faq","99.FAQ/50.license-faq",{"title":883,"path":884,"stem":885,"children":-1},"AI Features FAQ","/faq/ai-faq","99.FAQ/60.ai-faq",{"title":887,"path":888,"stem":889,"children":-1},"Troubleshooting Guide","/faq/troubleshooting","99.FAQ/70.troubleshooting",{"title":891,"path":892,"stem":893,"children":894,"page":55},"Applied (draft)","/draft","draft",[895,899,903,907,911,915,919,923,927,931,935,939,943],{"title":896,"path":897,"stem":898,"children":-1},"Example 1. Building an Introduction Page","/draft/static-intro","draft/05.static-intro",{"title":900,"path":901,"stem":902,"children":-1},"Example 2. Building a Notice Board","/draft/public-notice-board","draft/07.public-notice-board",{"title":904,"path":905,"stem":906,"children":-1},"Example 3. Building a Coffee Chat Booking System","/draft/coffee-chat-booking","draft/08.coffee-chat-booking",{"title":908,"path":909,"stem":910,"children":-1},"Example 4. Building a Leave Request System","/draft/leave-request","draft/09.leave-request",{"title":912,"path":913,"stem":914,"children":-1},"Example 5. Building Real-Time Team Chat","/draft/team-chat","draft/10.team-chat",{"title":916,"path":917,"stem":918,"children":-1},"Example 6. Building a Job Application Intake","/draft/client-submission","draft/11.client-submission",{"title":920,"path":921,"stem":922,"children":-1},"Example 7. Building an Issue Tracker with Team and Level Conditions","/draft/crm-basic","draft/12.crm-basic",{"title":924,"path":925,"stem":926,"children":-1},"Example 8. Building a Status Filter and Stats Summary Screen","/draft/crm-search-filter","draft/13.crm-search-filter",{"title":928,"path":929,"stem":930,"children":-1},"Example 9. Building Real-Time Community Chat with Moderation","/draft/community-moderation","draft/14.community-moderation",{"title":932,"path":933,"stem":934,"children":-1},"Example 10. Building a Real-Time Attendance Check / Poll","/draft/attendance-poll","draft/15.attendance-poll",{"title":936,"path":937,"stem":938,"children":-1},"Example 11. Building a Debate Battle","/draft/debate-battle","draft/16.debate-battle",{"title":940,"path":941,"stem":942,"children":-1},"Example 13. Building an Announcement Read Receipt","/draft/announcement-read","draft/18.announcement-read",{"title":944,"path":945,"stem":946,"children":-1},"Example 14. Building an Inventory Management System","/draft/inventory-management","draft/19.inventory-management",{"title":948,"path":949,"stem":950,"children":951,"page":55},"SJAUTO","/sjauto","sjauto",[952,956,960],{"title":953,"path":954,"stem":955,"children":-1},"Access the Administrator Page","/sjauto/admin-page-access","sjauto/00.admin-page-access",{"title":957,"path":958,"stem":959,"children":-1},"Sign Up and Sign In","/sjauto/signup","sjauto/10.signup",{"title":961,"path":962,"stem":963,"children":-1},"AI Chat Files","/sjauto/ai-chat-file","sjauto/ai-chat-file",{"id":965,"title":714,"body":966,"cover":1360,"description":1361,"extension":1362,"image":1360,"meta":1363,"navigation":1365,"path":715,"seo":1366,"stem":716,"tags":1375,"thumbnail":1360,"__hash__":1376},"docs_en/40.webspace/60.examples/50.ai-support-chat.md",{"type":967,"value":968,"toc":1351},"minimal",[969,973,982,987,1013,1017,1028,1043,1047,1057,1095,1098,1193,1199,1203,1228,1236,1242,1265,1269,1275,1278,1282,1322,1326,1347],[970,971,714],"h1",{"id":972},"deploy-an-ai-support-chat-sample",[974,975,976,977,981],"p",{},"Enable advanced Webspace AI support and test the support flow in the generated ",[978,979,980],"code",{},"chat.html",". This setup uses the model and Agent execution pipeline already configured by an administrator instead of creating a separate model or Agent for each Webspace deployment.",[983,984,986],"h2",{"id":985},"before-you-begin","Before you begin",[988,989,990,994,997,1004,1010],"ul",{},[991,992,993],"li",{},"You need permission to deploy schemas and APIs.",[991,995,996],{},"A server administrator must connect an AI provider, then register and enable a chat model.",[991,998,999,1000,1003],{},"Decide which members, levels, teams, or administrators receive the AI chat ",[978,1001,1002],{},"Use"," permission.",[991,1005,1006,1007,1009],{},"Members who open ",[978,1008,980],{}," must be able to sign in to the same SetFN site.",[991,1011,1012],{},"Review the visibility of support data and the system instructions.",[983,1014,1016],{"id":1015},"prepare-administrator-ai-models","Prepare administrator AI models",[974,1018,1019,1020,1023,1024,1027],{},"Connect an AI provider in the administrator settings, then register and enable a chat model for support. If ",[978,1021,1022],{},"Primary model"," and ",[978,1025,1026],{},"Fallback model"," are blank in Webspace, the server automatically prioritizes enabled chat models that are ready to use. For requests that include an image, it also applies the administrator's OCR/VL model priorities.",[974,1029,1030,1031,1023,1033,1035,1036,1039,1040,1042],{},"Set ",[978,1032,1022],{},[978,1034,1026],{}," under ",[978,1037,1038],{},"Advanced settings"," only when a Webspace needs explicit model overrides. Do not place provider keys or model secrets in Webspace pages or ",[978,1041,980],{},". The support page calls the deployed AI feature connection, while model selection and Agent execution use the existing server pipeline.",[983,1044,1046],{"id":1045},"configure-advanced-ai-chat-settings","Configure advanced AI chat settings",[974,1048,1049,1050,1053,1054,1056],{},"Enable ",[978,1051,1052],{},"AI chat"," in the schema's feature connections, then open ",[978,1055,1038],{},".",[1058,1059,1060,1068,1076,1082,1085,1090],"ol",{},[991,1061,1030,1062,1064,1065,1056],{},[978,1063,1052],{}," to ",[978,1066,1067],{},"Enabled",[991,1069,1070,1071,1023,1073,1075],{},"Leave ",[978,1072,1022],{},[978,1074,1026],{}," blank unless you need explicit model overrides.",[991,1077,1049,1078,1081],{},[978,1079,1080],{},"Use tools"," only if the support flow needs tools. It is off by default.",[991,1083,1084],{},"Enter the support scope and response rules in the system instructions.",[991,1086,1087,1088,1003],{},"Configure the ",[978,1089,1002],{},[991,1091,1049,1092,1056],{},[978,1093,1094],{},"Generate a support chat sample",[974,1096,1097],{},"The schema stores the setting in this structure:",[1099,1100,1105],"pre",{"className":1101,"code":1102,"language":1103,"meta":1104,"style":1104},"language-json shiki shiki-themes github-light github-dark monokai","{\n  \"apiBuild\": {\n    \"features\": {\n      \"ai-chat\": {\n        \"enabled\": true,\n        \"sampleChat\": true\n      }\n    }\n  }\n}\n","json","",[978,1106,1107,1116,1126,1134,1142,1158,1169,1175,1181,1187],{"__ignoreMap":1104},[1108,1109,1112],"span",{"class":1110,"line":1111},"line",1,[1108,1113,1115],{"class":1114},"sMOD_","{\n",[1108,1117,1119,1123],{"class":1110,"line":1118},2,[1108,1120,1122],{"class":1121},"s-m8C","  \"apiBuild\"",[1108,1124,1125],{"class":1114},": {\n",[1108,1127,1129,1132],{"class":1110,"line":1128},3,[1108,1130,1131],{"class":1121},"    \"features\"",[1108,1133,1125],{"class":1114},[1108,1135,1137,1140],{"class":1110,"line":1136},4,[1108,1138,1139],{"class":1121},"      \"ai-chat\"",[1108,1141,1125],{"class":1114},[1108,1143,1145,1148,1151,1155],{"class":1110,"line":1144},5,[1108,1146,1147],{"class":1121},"        \"enabled\"",[1108,1149,1150],{"class":1114},": ",[1108,1152,1154],{"class":1153},"s7F3e","true",[1108,1156,1157],{"class":1114},",\n",[1108,1159,1161,1164,1166],{"class":1110,"line":1160},6,[1108,1162,1163],{"class":1121},"        \"sampleChat\"",[1108,1165,1150],{"class":1114},[1108,1167,1168],{"class":1153},"true\n",[1108,1170,1172],{"class":1110,"line":1171},7,[1108,1173,1174],{"class":1114},"      }\n",[1108,1176,1178],{"class":1110,"line":1177},8,[1108,1179,1180],{"class":1114},"    }\n",[1108,1182,1184],{"class":1110,"line":1183},9,[1108,1185,1186],{"class":1114},"  }\n",[1108,1188,1190],{"class":1110,"line":1189},10,[1108,1191,1192],{"class":1114},"}\n",[974,1194,1195,1198],{},[978,1196,1197],{},"sampleChat"," controls only sample generation. It does not copy or overwrite the existing administrator model and Agent settings.",[983,1200,1202],{"id":1201},"generate-chathtml-during-deployment","Generate chat.html during deployment",[974,1204,1205,1206,1208,1209,1023,1212,1214,1215,1217,1218,1220,1221,1023,1224,1227],{},"Webspace generates ",[978,1207,980],{}," when both ",[978,1210,1211],{},"enabled",[978,1213,1197],{}," are ",[978,1216,1154],{}," for AI chat and the deployment includes frontend samples. Select a client deployment path and deploy the schema. ",[978,1219,980],{}," is stored in the current frontend sample output folder alongside ",[978,1222,1223],{},"index.html",[978,1225,1226],{},"test.html","; deployment does not create a separate folder for AI support.",[1099,1229,1234],{"className":1230,"code":1232,"language":1233,"meta":1104},[1231],"language-text","support-service/\n├── index.html\n├── test.html\n├── chat.html\n├── style.css\n└── README.md\n","text",[978,1235,1232],{"__ignoreMap":1104},[974,1237,1238,1239,1241],{},"Sign in as a member on the same SetFN site, then open ",[978,1240,980],{},". The sample bootstraps member information from the current session, so do not assume that it works as anonymous public chat.",[1058,1243,1244,1250,1253,1256,1262],{},[991,1245,1246,1247,1249],{},"Confirm that a member without the AI chat ",[978,1248,1002],{}," permission cannot send a request.",[991,1251,1252],{},"Send a message from an account with permission.",[991,1254,1255],{},"Confirm that the response arrives through the existing administrator model or Agent pipeline.",[991,1257,1258,1259,1261],{},"If ",[978,1260,1080],{}," is enabled, confirm that only allowed tools can run.",[991,1263,1264],{},"Disconnect the connection and confirm that the page shows an error state without duplicating the message.",[983,1266,1268],{"id":1267},"adapt-the-support-page","Adapt the support page",[974,1270,1271,1272,1274],{},"The generated ",[978,1273,980],{}," is a starting point for testing the connection and permissions. You can adapt the guidance, suggested questions, and visual style. Do not replace the connection, authentication, or server-managed model selection with client-controlled configuration.",[974,1276,1277],{},"In the system instructions, define the support scope and how to handle questions that cannot be verified. Before launch, test questions, tool calls, and error responses with accounts representing each permission level.",[983,1279,1281],{"id":1280},"notes","Notes",[988,1283,1284,1289,1297,1300,1303,1308,1311,1316,1319],{},[991,1285,1286,1288],{},[978,1287,980],{}," is a sample client. It does not create a separate AI model or Agent.",[991,1290,1291,1292,1023,1294,1296],{},"When ",[978,1293,1022],{},[978,1295,1026],{}," are blank, the server selects a model automatically from the administrator configuration and available model state.",[991,1298,1299],{},"Sample generation and Agent protocol connectivity do not guarantee a response from a live AI provider. Before launch, send a real message through the provider, model, or Agent configured on the server.",[991,1301,1302],{},"The sample uses the existing AI Agent protocol and displays tool status, approval-pending, and input-pending notices. It does not provide controls that complete an approval or supply the requested input.",[991,1304,1305,1307],{},[978,1306,1080],{}," is off by default. Before enabling it, confirm that a separate UI can handle any approval or additional input required by the Agent.",[991,1309,1310],{},"The sample requires member sign-in and session bootstrap; anonymous public use is not guaranteed.",[991,1312,1313,1314,1003],{},"Review tool permission separately from the AI chat ",[978,1315,1002],{},[991,1317,1318],{},"Add guidance that prevents users from entering personal data or secrets in support messages.",[991,1320,1321],{},"Check which files may be overwritten before redeploying a modified sample.",[983,1323,1325],{"id":1324},"related-documentation","Related documentation",[988,1327,1328,1335,1341],{},[991,1329,1330],{},[1331,1332,1334],"a",{"href":1333},"../frontend-example","Review the frontend sample",[991,1336,1337],{},[1331,1338,1340],{"href":1339},"../api-overview","Build and deploy an API and database",[991,1342,1343],{},[1331,1344,1346],{"href":1345},"../../admin/ai/models","Manage AI models",[1348,1349,1350],"style",{},"html pre.shiki code .sMOD_, html code.shiki .sMOD_{--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .s-m8C, html code.shiki .s-m8C{--shiki-default:#005CC5;--shiki-default-font-style:inherit;--shiki-dark:#79B8FF;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .s7F3e, html code.shiki .s7F3e{--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}",{"title":1104,"searchDepth":1118,"depth":1128,"links":1352},[1353,1354,1355,1356,1357,1358,1359],{"id":985,"depth":1118,"text":986},{"id":1015,"depth":1118,"text":1016},{"id":1045,"depth":1118,"text":1046},{"id":1201,"depth":1118,"text":1202},{"id":1267,"depth":1118,"text":1268},{"id":1280,"depth":1118,"text":1281},{"id":1324,"depth":1118,"text":1325},null,"Enable advanced Webspace AI support and deploy a chat.html sample that reuses the administrator's existing model and Agent pipeline.","md",{"slug":1364},"/webspace/examples/ai-support-chat/",true,{"title":1367,"description":1368,"ogType":1369,"twitterCard":1370,"keywords":1371},"Deploy an AI support chat sample | Webspace examples","Configure AI support permissions and a server-managed model, then generate the chat.html sample during deployment.","article","summary_large_image",[1372,980,1373,1374],"Webspace AI support","AI Agent","SetFN",[91],"q2MuB8AJa1PHz21c9E3BzhH6yUays4I9pRK_tuDayt8",[1378,1379],{"title":709,"path":710,"stem":711,"children":-1},{"title":724,"path":725,"stem":726,"children":-1},{"title":714,"filename":1381,"content":1382},"ai-support-chat","# Deploy an AI support chat sample\r\n\r\nEnable advanced Webspace AI support and test the support flow in the generated `chat.html`. This setup uses the model and Agent execution pipeline already configured by an administrator instead of creating a separate model or Agent for each Webspace deployment.\r\n\r\n## Before you begin\r\n\r\n- You need permission to deploy schemas and APIs.\r\n- A server administrator must connect an AI provider, then register and enable a chat model.\r\n- Decide which members, levels, teams, or administrators receive the AI chat `Use` permission.\r\n- Members who open `chat.html` must be able to sign in to the same SetFN site.\r\n- Review the visibility of support data and the system instructions.\r\n\r\n## Prepare administrator AI models\r\n\r\nConnect an AI provider in the administrator settings, then register and enable a chat model for support. If `Primary model` and `Fallback model` are blank in Webspace, the server automatically prioritizes enabled chat models that are ready to use. For requests that include an image, it also applies the administrator's OCR/VL model priorities.\r\n\r\nSet `Primary model` and `Fallback model` under `Advanced settings` only when a Webspace needs explicit model overrides. Do not place provider keys or model secrets in Webspace pages or `chat.html`. The support page calls the deployed AI feature connection, while model selection and Agent execution use the existing server pipeline.\r\n\r\n## Configure advanced AI chat settings\r\n\r\nEnable `AI chat` in the schema's feature connections, then open `Advanced settings`.\r\n\r\n1. Set `AI chat` to `Enabled`.\r\n2. Leave `Primary model` and `Fallback model` blank unless you need explicit model overrides.\r\n3. Enable `Use tools` only if the support flow needs tools. It is off by default.\r\n4. Enter the support scope and response rules in the system instructions.\r\n5. Configure the `Use` permission.\r\n6. Enable `Generate a support chat sample`.\r\n\r\nThe schema stores the setting in this structure:\r\n\r\n```json\r\n{\r\n  \"apiBuild\": {\r\n    \"features\": {\r\n      \"ai-chat\": {\r\n        \"enabled\": true,\r\n        \"sampleChat\": true\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n`sampleChat` controls only sample generation. It does not copy or overwrite the existing administrator model and Agent settings.\r\n\r\n## Generate chat.html during deployment\r\n\r\nWebspace generates `chat.html` when both `enabled` and `sampleChat` are `true` for AI chat and the deployment includes frontend samples. Select a client deployment path and deploy the schema. `chat.html` is stored in the current frontend sample output folder alongside `index.html` and `test.html`; deployment does not create a separate folder for AI support.\r\n\r\n```text\r\nsupport-service/\r\n├── index.html\r\n├── test.html\r\n├── chat.html\r\n├── style.css\r\n└── README.md\r\n```\r\n\r\nSign in as a member on the same SetFN site, then open `chat.html`. The sample bootstraps member information from the current session, so do not assume that it works as anonymous public chat.\r\n\r\n1. Confirm that a member without the AI chat `Use` permission cannot send a request.\r\n2. Send a message from an account with permission.\r\n3. Confirm that the response arrives through the existing administrator model or Agent pipeline.\r\n4. If `Use tools` is enabled, confirm that only allowed tools can run.\r\n5. Disconnect the connection and confirm that the page shows an error state without duplicating the message.\r\n\r\n## Adapt the support page\r\n\r\nThe generated `chat.html` is a starting point for testing the connection and permissions. You can adapt the guidance, suggested questions, and visual style. Do not replace the connection, authentication, or server-managed model selection with client-controlled configuration.\r\n\r\nIn the system instructions, define the support scope and how to handle questions that cannot be verified. Before launch, test questions, tool calls, and error responses with accounts representing each permission level.\r\n\r\n## Notes\r\n\r\n- `chat.html` is a sample client. It does not create a separate AI model or Agent.\r\n- When `Primary model` and `Fallback model` are blank, the server selects a model automatically from the administrator configuration and available model state.\r\n- Sample generation and Agent protocol connectivity do not guarantee a response from a live AI provider. Before launch, send a real message through the provider, model, or Agent configured on the server.\r\n- The sample uses the existing AI Agent protocol and displays tool status, approval-pending, and input-pending notices. It does not provide controls that complete an approval or supply the requested input.\r\n- `Use tools` is off by default. Before enabling it, confirm that a separate UI can handle any approval or additional input required by the Agent.\r\n- The sample requires member sign-in and session bootstrap; anonymous public use is not guaranteed.\r\n- Review tool permission separately from the AI chat `Use` permission.\r\n- Add guidance that prevents users from entering personal data or secrets in support messages.\r\n- Check which files may be overwritten before redeploying a modified sample.\r\n\r\n## Related documentation\r\n\r\n- [Review the frontend sample](../26.frontend-example.md)\r\n- [Build and deploy an API and database](../24.api-overview.md)\r\n- [Manage AI models](../../10.admin/35.ai/10.models.md)\n",1791199130494]