[{"data":1,"prerenderedAt":2225},["ShallowReactive",2],{"nav-docs-zh":3,"page-/zh/docs/workspace/folder/webhook":1157,"surround-/zh/docs/workspace/folder/webhook":2219,"raw-/zh/docs/workspace/folder/webhook":2222},[4,67,374,775,903,1075,1085,1110],{"title":5,"tags":6,"slug":6,"path":7,"stem":8,"children":9,"page":66,"sourcePath":7},"SpaceBuilder 入门",null,"/getting-started","00.getting-started",[10,15,20,27,34,39,45,50,55,60],{"title":11,"path":12,"stem":13,"tags":6,"slug":14,"sourcePath":12},"SpaceBuilder 简介","/getting-started/overview","00.getting-started/00.overview","/getting-started/overview/",{"title":16,"path":17,"stem":18,"tags":6,"slug":19,"sourcePath":17},"创建 SetFN 账户","/getting-started/create-setfn-account","00.getting-started/05.create-setfn-account","/getting-started/create-setfn-account/",{"title":21,"path":22,"stem":23,"tags":24,"slug":26,"sourcePath":22},"在 Linux 上安装","/getting-started/install-linux","00.getting-started/10.install-linux",[25],"recommended","/getting-started/install-linux/",{"title":28,"path":29,"stem":30,"tags":31,"slug":33,"sourcePath":29},"使用 Docker 安装","/getting-started/install-docker","00.getting-started/12.install-docker",[32],"preparing","/getting-started/install-docker/",{"title":35,"path":36,"stem":37,"tags":6,"slug":38,"sourcePath":36},"在 Windows 上安装","/getting-started/install-windows","00.getting-started/14.install-windows","/getting-started/install-windows/",{"title":40,"path":41,"stem":42,"tags":43,"slug":44,"sourcePath":41},"在 macOS 上安装","/getting-started/install-macos","00.getting-started/16.install-macos",[32],"/getting-started/install-macos/",{"title":46,"path":47,"stem":48,"tags":6,"slug":49,"sourcePath":47},"初始设置","/getting-started/initial-setup","00.getting-started/20.initial-setup","/getting-started/initial-setup/",{"title":51,"path":52,"stem":53,"tags":6,"slug":54,"sourcePath":52},"许可证激活","/getting-started/license-activation","00.getting-started/30.license-activation","/getting-started/license-activation/",{"title":56,"path":57,"stem":58,"tags":6,"slug":59,"sourcePath":57},"查看访问地址（本地/内网）","/getting-started/access-url","00.getting-started/35.access-url","/getting-started/access-url/",{"title":61,"path":62,"stem":63,"tags":64,"slug":65,"sourcePath":62},"选择外部访问方式","/getting-started/access-domain","00.getting-started/40.access-domain",[25],"/getting-started/access-domain/",false,{"title":68,"tags":6,"slug":6,"path":69,"stem":70,"children":71,"page":66,"sourcePath":69},"管理空间","/admin","10.admin",[72,92,162,197,249,274,289,299,339],{"title":73,"tags":6,"slug":6,"path":74,"stem":75,"children":76,"page":66,"sourcePath":74},"管理员首页","/admin/home","10.admin/00.home",[77,82,87],{"title":78,"path":79,"stem":80,"tags":6,"slug":81,"sourcePath":79},"访问管理员页面","/admin/home/admin-page-access","10.admin/00.home/00.admin-page-access","/admin/home/admin-page-access/",{"title":83,"path":69,"stem":84,"tags":6,"slug":85,"sourcePath":86},"管理员菜单导览","10.admin/00.home/00.overview","/admin/","/admin/home/overview",{"title":88,"path":89,"stem":90,"tags":6,"slug":91,"sourcePath":89},"许可证管理","/admin/home/license","10.admin/00.home/20.license","/admin/home/license/",{"title":93,"tags":6,"slug":6,"path":94,"stem":95,"children":96,"page":66,"sourcePath":94},"用户管理","/admin/user-management","10.admin/10.user-management",[97,102,107,112,117,122,127,132,137,142,147,152,157],{"title":98,"path":99,"stem":100,"tags":6,"slug":101,"sourcePath":99},"设置注册策略和默认权限","/admin/user-management/signup-policy","10.admin/10.user-management/02.signup-policy","/admin/user-management/signup-policy/",{"title":103,"path":104,"stem":105,"tags":6,"slug":106,"sourcePath":104},"登记注册条款","/admin/user-management/signup-terms","10.admin/10.user-management/04.signup-terms","/admin/user-management/signup-terms/",{"title":108,"path":109,"stem":110,"tags":6,"slug":111,"sourcePath":109},"创建用户账户","/admin/user-management/invite-new-member","10.admin/10.user-management/10.invite-new-member","/admin/user-management/invite-new-member/",{"title":113,"path":114,"stem":115,"tags":6,"slug":116,"sourcePath":114},"修改用户账户","/admin/user-management/edit-member","10.admin/10.user-management/11.edit-member","/admin/user-management/edit-member/",{"title":118,"path":119,"stem":120,"tags":6,"slug":121,"sourcePath":119},"添加管理员","/admin/user-management/add-new-admin","10.admin/10.user-management/12.add-new-admin","/admin/user-management/add-new-admin/",{"title":123,"path":124,"stem":125,"tags":6,"slug":126,"sourcePath":124},"团队管理","/admin/user-management/team","10.admin/10.user-management/22.team","/admin/user-management/team/",{"title":128,"path":129,"stem":130,"tags":6,"slug":131,"sourcePath":129},"等级管理","/admin/user-management/level","10.admin/10.user-management/24.level","/admin/user-management/level/",{"title":133,"path":134,"stem":135,"tags":6,"slug":136,"sourcePath":134},"查看访问日志","/admin/user-management/access-log","10.admin/10.user-management/30.access-log","/admin/user-management/access-log/",{"title":138,"path":139,"stem":140,"tags":6,"slug":141,"sourcePath":139},"管理活跃设备","/admin/user-management/active-devices","10.admin/10.user-management/31.active-devices","/admin/user-management/active-devices/",{"title":143,"path":144,"stem":145,"tags":6,"slug":146,"sourcePath":144},"设置账户与安全策略","/admin/user-management/account-security","10.admin/10.user-management/32.account-security","/admin/user-management/account-security/",{"title":148,"path":149,"stem":150,"tags":6,"slug":151,"sourcePath":149},"设置人机验证（CAPTCHA）","/admin/user-management/captcha","10.admin/10.user-management/33.captcha","/admin/user-management/captcha/",{"title":153,"path":154,"stem":155,"tags":6,"slug":156,"sourcePath":154},"设置通知发送","/admin/user-management/notice-settings","10.admin/10.user-management/34.notice-settings","/admin/user-management/notice-settings/",{"title":158,"path":159,"stem":160,"tags":6,"slug":161,"sourcePath":159},"向成员群发通知邮件","/admin/user-management/bulk-mail","10.admin/10.user-management/36.bulk-mail","/admin/user-management/bulk-mail/",{"title":163,"tags":6,"slug":6,"path":164,"stem":165,"children":166,"page":66,"sourcePath":164},"服务配置","/admin/service-config","10.admin/20.service-config",[167,172,177,182,187,192],{"title":168,"path":169,"stem":170,"tags":6,"slug":171,"sourcePath":169},"文件区域设置","/admin/service-config/file-area","10.admin/20.service-config/10.file-area","/admin/service-config/file-area/",{"title":173,"path":174,"stem":175,"tags":6,"slug":176,"sourcePath":174},"Webhook 设置","/admin/service-config/webhook-settings","10.admin/20.service-config/16.webhook-settings","/admin/service-config/webhook-settings/",{"title":178,"path":179,"stem":180,"tags":6,"slug":181,"sourcePath":179},"社区设置","/admin/service-config/community-space","10.admin/20.service-config/22.community-space","/admin/service-config/community-space/",{"title":183,"path":184,"stem":185,"tags":6,"slug":186,"sourcePath":184},"AI 聊天机器人策略设置","/admin/service-config/community-ai-chatbot","10.admin/20.service-config/24.community-ai-chatbot","/admin/service-config/community-ai-chatbot/",{"title":188,"path":189,"stem":190,"tags":6,"slug":191,"sourcePath":189},"邮件设置","/admin/service-config/email-settings","10.admin/20.service-config/30.email-settings","/admin/service-config/email-settings/",{"title":193,"path":194,"stem":195,"tags":6,"slug":196,"sourcePath":194},"品牌设置","/admin/service-config/brand","10.admin/20.service-config/40.brand","/admin/service-config/brand/",{"title":198,"tags":6,"slug":6,"path":199,"stem":200,"children":201,"page":66,"sourcePath":199},"知识服务","/admin/knowledge","10.admin/30.knowledge",[202,207,214,219,224,229,234,239,244],{"title":203,"path":199,"stem":204,"tags":6,"slug":205,"sourcePath":206},"了解知识服务","10.admin/30.knowledge/00.overview","/admin/knowledge/","/admin/knowledge/overview",{"title":208,"path":209,"stem":210,"children":211,"tags":6,"slug":213,"sourcePath":209},"采集与索引","/admin/knowledge/indexing","10.admin/30.knowledge/10.indexing",[212],{"title":208,"path":209,"stem":210,"tags":6,"slug":213,"sourcePath":209},"/admin/knowledge/indexing/",{"title":215,"path":216,"stem":217,"tags":6,"slug":218,"sourcePath":216},"搜索质量与语言","/admin/knowledge/search","10.admin/30.knowledge/20.search","/admin/knowledge/search/",{"title":220,"path":221,"stem":222,"tags":6,"slug":223,"sourcePath":221},"知识存储","/admin/knowledge/storage","10.admin/30.knowledge/30.storage","/admin/knowledge/storage/",{"title":225,"path":226,"stem":227,"tags":6,"slug":228,"sourcePath":226},"知识存储运维","/admin/knowledge/storage-operations","10.admin/30.knowledge/32.storage-operations","/admin/knowledge/storage-operations/",{"title":230,"path":231,"stem":232,"tags":6,"slug":233,"sourcePath":231},"连接 Qdrant","/admin/knowledge/qdrant","10.admin/30.knowledge/34.qdrant","/admin/knowledge/qdrant/",{"title":235,"path":236,"stem":237,"tags":6,"slug":238,"sourcePath":236},"准备 Qdrant 服务器","/admin/knowledge/qdrant-server-setup","10.admin/30.knowledge/35.qdrant-server-setup","/admin/knowledge/qdrant-server-setup/",{"title":240,"path":241,"stem":242,"tags":6,"slug":243,"sourcePath":241},"连接 Milvus","/admin/knowledge/milvus","10.admin/30.knowledge/36.milvus","/admin/knowledge/milvus/",{"title":245,"path":246,"stem":247,"tags":6,"slug":248,"sourcePath":246},"外部搜索与依据","/admin/knowledge/web-search","10.admin/30.knowledge/40.web-search","/admin/knowledge/web-search/",{"title":250,"tags":6,"slug":6,"path":251,"stem":252,"children":253,"page":66,"sourcePath":251},"AI 服务","/admin/ai","10.admin/35.ai",[254,259,264,269],{"title":255,"path":251,"stem":256,"tags":6,"slug":257,"sourcePath":258},"管理 AI 服务","10.admin/35.ai/00.overview","/admin/ai/","/admin/ai/overview",{"title":260,"path":261,"stem":262,"tags":6,"slug":263,"sourcePath":261},"设置模型与运行时","/admin/ai/models","10.admin/35.ai/10.models","/admin/ai/models/",{"title":265,"path":266,"stem":267,"tags":6,"slug":268,"sourcePath":266},"设置工具与集成","/admin/ai/integrations","10.admin/35.ai/20.integrations","/admin/ai/integrations/",{"title":270,"path":271,"stem":272,"tags":6,"slug":273,"sourcePath":271},"管理 MCP 服务器","/admin/ai/mcp","10.admin/35.ai/30.mcp","/admin/ai/mcp/",{"title":275,"tags":6,"slug":6,"path":276,"stem":277,"children":278,"page":66,"sourcePath":276},"插件","/admin/plugin","10.admin/40.plugin",[279,284],{"title":280,"path":281,"stem":282,"tags":6,"slug":283,"sourcePath":281},"管理插件","/admin/plugin/overview","10.admin/40.plugin/00.overview","/admin/plugin/overview/",{"title":285,"path":286,"stem":287,"tags":6,"slug":288,"sourcePath":286},"扩展插件设置","/admin/plugin/settings","10.admin/40.plugin/10.settings","/admin/plugin/settings/",{"title":290,"path":291,"stem":292,"children":293,"page":66,"sourcePath":291},"Operations","/admin/operations","10.admin/45.operations",[294],{"title":295,"path":291,"stem":296,"tags":6,"slug":297,"sourcePath":298},"查看运维与审计记录","10.admin/45.operations/00.overview","/admin/operations/","/admin/operations/overview",{"title":300,"tags":6,"slug":6,"path":301,"stem":302,"children":303,"page":66,"sourcePath":301},"安全管理","/admin/security","10.admin/50.security",[304,309,314,319,324,329,334],{"title":305,"path":306,"stem":307,"tags":6,"slug":308,"sourcePath":306},"安全概览","/admin/security/overview","10.admin/50.security/00.overview","/admin/security/overview/",{"title":310,"path":311,"stem":312,"tags":6,"slug":313,"sourcePath":311},"查看审计日志","/admin/security/audit-log","10.admin/50.security/05.audit-log","/admin/security/audit-log/",{"title":315,"path":316,"stem":317,"tags":6,"slug":318,"sourcePath":316},"屏蔽管理","/admin/security/block-management","10.admin/50.security/10.block-management","/admin/security/block-management/",{"title":320,"path":321,"stem":322,"tags":6,"slug":323,"sourcePath":321},"安全设置","/admin/security/security-setting","10.admin/50.security/12.security-setting","/admin/security/security-setting/",{"title":325,"path":326,"stem":327,"tags":6,"slug":328,"sourcePath":326},"处理待批准设备","/admin/security/device-approvals","10.admin/50.security/14.device-approvals","/admin/security/device-approvals/",{"title":330,"path":331,"stem":332,"tags":6,"slug":333,"sourcePath":331},"IP 访问限制","/admin/security/ip-restriction","10.admin/50.security/16.ip-restriction","/admin/security/ip-restriction/",{"title":335,"path":336,"stem":337,"tags":6,"slug":338,"sourcePath":336},"设置管理员两步验证","/admin/security/two-factor-auth","10.admin/50.security/18.two-factor-auth","/admin/security/two-factor-auth/",{"title":340,"tags":6,"slug":6,"path":341,"stem":342,"children":343,"page":66,"sourcePath":341},"系统管理","/admin/system-admin","10.admin/60.system-admin",[344,349,354,359,364,369],{"title":345,"path":346,"stem":347,"tags":6,"slug":348,"sourcePath":346},"设备信息","/admin/system-admin/device-info","10.admin/60.system-admin/10.device-info","/admin/system-admin/device-info/",{"title":350,"path":351,"stem":352,"tags":6,"slug":353,"sourcePath":351},"服务器重启与系统维护","/admin/system-admin/server-restart","10.admin/60.system-admin/12.server-restart","/admin/system-admin/server-restart/",{"title":355,"path":356,"stem":357,"tags":6,"slug":358,"sourcePath":356},"后台服务","/admin/system-admin/background-service","10.admin/60.system-admin/14.background-service","/admin/system-admin/background-service/",{"title":360,"path":361,"stem":362,"tags":6,"slug":363,"sourcePath":361},"更新 SpaceBuilder","/admin/system-admin/update","10.admin/60.system-admin/16.update","/admin/system-admin/update/",{"title":365,"path":366,"stem":367,"tags":6,"slug":368,"sourcePath":366},"卸载 SpaceBuilder","/admin/system-admin/uninstall","10.admin/60.system-admin/18.uninstall","/admin/system-admin/uninstall/",{"title":370,"path":371,"stem":372,"tags":6,"slug":373,"sourcePath":371},"迁移服务器","/admin/system-admin/server-migration","10.admin/60.system-admin/20.server-migration","/admin/system-admin/server-migration/",{"title":375,"tags":6,"slug":6,"path":376,"stem":377,"children":378,"page":66,"sourcePath":376},"使用工作空间","/workspace","20.workspace",[379,419,439,523,662,718,754],{"title":380,"tags":6,"slug":6,"path":381,"stem":382,"children":383,"page":66,"sourcePath":381},"菜单","/workspace/menu","20.workspace/05.menu",[384,389,394,399,404,409,414],{"title":385,"path":386,"stem":387,"tags":6,"slug":388,"sourcePath":386},"工作空间简介","/workspace/menu/overview","20.workspace/05.menu/00.overview","/workspace/menu/overview/",{"title":390,"path":391,"stem":392,"tags":6,"slug":393,"sourcePath":391},"团队空间","/workspace/menu/team-space","20.workspace/05.menu/05.team-space","/workspace/menu/team-space/",{"title":395,"path":396,"stem":397,"tags":6,"slug":398,"sourcePath":396},"客户端空间","/workspace/menu/client-space","20.workspace/05.menu/06.client-space","/workspace/menu/client-space/",{"title":400,"path":401,"stem":402,"tags":6,"slug":403,"sourcePath":401},"收藏夹","/workspace/menu/favorites","20.workspace/05.menu/10.favorites","/workspace/menu/favorites/",{"title":405,"path":406,"stem":407,"tags":6,"slug":408,"sourcePath":406},"最近文档","/workspace/menu/recent","20.workspace/05.menu/20.recent","/workspace/menu/recent/",{"title":410,"path":411,"stem":412,"tags":6,"slug":413,"sourcePath":411},"外部共享","/workspace/menu/external-share","20.workspace/05.menu/30.external-share","/workspace/menu/external-share/",{"title":415,"path":416,"stem":417,"tags":6,"slug":418,"sourcePath":416},"回收站","/workspace/menu/trash","20.workspace/05.menu/40.trash","/workspace/menu/trash/",{"title":420,"tags":6,"slug":6,"path":421,"stem":422,"children":423,"page":66,"sourcePath":421},"账户","/workspace/account","20.workspace/10.account",[424,429,434],{"title":425,"path":426,"stem":427,"tags":6,"slug":428,"sourcePath":426},"注册与登录","/workspace/account/signup","20.workspace/10.account/10.signup","/workspace/account/signup/",{"title":430,"path":431,"stem":432,"tags":6,"slug":433,"sourcePath":431},"重置密码","/workspace/account/reset-password","20.workspace/10.account/20.reset-password","/workspace/account/reset-password/",{"title":435,"path":436,"stem":437,"tags":6,"slug":438,"sourcePath":436},"账户设置","/workspace/account/account-settings","20.workspace/10.account/30.account-settings","/workspace/account/account-settings/",{"title":440,"tags":6,"slug":6,"path":441,"stem":442,"children":443,"page":66,"sourcePath":441},"文件夹","/workspace/folder","20.workspace/20.folder",[444,449,454,459,464,471,476,481,486,491,496,501,506,511,518],{"title":445,"path":446,"stem":447,"tags":6,"slug":448,"sourcePath":446},"文件夹基本功能","/workspace/folder/basic","20.workspace/20.folder/10.basic","/workspace/folder/basic/",{"title":450,"path":451,"stem":452,"tags":6,"slug":453,"sourcePath":451},"一次创建多个文件夹","/workspace/folder/bulk-folder-creation","20.workspace/20.folder/12.bulk-folder-creation","/workspace/folder/bulk-folder-creation/",{"title":455,"path":456,"stem":457,"tags":6,"slug":458,"sourcePath":456},"筛选","/workspace/folder/filter","20.workspace/20.folder/13.filter","/workspace/folder/filter/",{"title":460,"path":461,"stem":462,"tags":6,"slug":463,"sourcePath":461},"文件夹视图选项设置","/workspace/folder/folder-view-options","20.workspace/20.folder/14.folder-view-options","/workspace/folder/folder-view-options/",{"title":465,"path":466,"stem":467,"tags":468,"slug":470,"sourcePath":466},"将文件夹用作公告板","/workspace/folder/board-view","20.workspace/20.folder/15.board-view",[469],"hot","/workspace/folder/board-view/",{"title":472,"path":473,"stem":474,"tags":6,"slug":475,"sourcePath":473},"文件夹网页视图","/workspace/folder/folder-web-view","20.workspace/20.folder/16.folder-web-view","/workspace/folder/folder-web-view/",{"title":477,"path":478,"stem":479,"tags":6,"slug":480,"sourcePath":478},"整理文件夹","/workspace/folder/folder-organize","20.workspace/20.folder/17.folder-organize","/workspace/folder/folder-organize/",{"title":482,"path":483,"stem":484,"tags":6,"slug":485,"sourcePath":483},"文件夹公告（README）","/workspace/folder/folder-readme","20.workspace/20.folder/18.folder-readme","/workspace/folder/folder-readme/",{"title":487,"path":488,"stem":489,"tags":6,"slug":490,"sourcePath":488},"导出文件夹/文件列表","/workspace/folder/folder-export","20.workspace/20.folder/20.folder-export","/workspace/folder/folder-export/",{"title":492,"path":493,"stem":494,"tags":6,"slug":495,"sourcePath":493},"按等级设置访问权限","/workspace/folder/level-access-permissions","20.workspace/20.folder/24.level-access-permissions","/workspace/folder/level-access-permissions/",{"title":497,"path":498,"stem":499,"tags":6,"slug":500,"sourcePath":498},"按团队设置访问权限","/workspace/folder/team-access-permissions","20.workspace/20.folder/26.team-access-permissions","/workspace/folder/team-access-permissions/",{"title":502,"path":503,"stem":504,"tags":6,"slug":505,"sourcePath":503},"设置文件规则","/workspace/folder/file-rules","20.workspace/20.folder/28.file-rules","/workspace/folder/file-rules/",{"title":507,"path":508,"stem":509,"tags":6,"slug":510,"sourcePath":508},"文件夹 Webhook","/workspace/folder/webhook","20.workspace/20.folder/30.webhook","/workspace/folder/webhook/",{"title":512,"path":513,"stem":514,"children":515,"tags":6,"slug":517,"sourcePath":513},"设置文件夹知识索引","/workspace/folder/knowledge-index","20.workspace/20.folder/32.knowledge-index",[516],{"title":512,"path":513,"stem":514,"tags":6,"slug":517,"sourcePath":513},"/workspace/folder/knowledge-index/",{"title":519,"path":520,"stem":521,"tags":6,"slug":522,"sourcePath":520},"业务自动化文件夹","/workspace/folder/automation","20.workspace/20.folder/40.automation","/workspace/folder/automation/",{"title":524,"tags":6,"slug":6,"path":525,"stem":526,"children":527,"page":66,"sourcePath":525},"文件","/workspace/file","20.workspace/30.file",[528,533,538,543,548,553,558,563,568,573,578,583,588,593,598,603,608,613,618,623,628,633,637,642,647,652,657],{"title":529,"path":530,"stem":531,"tags":6,"slug":532,"sourcePath":530},"文件管理基本功能","/workspace/file/overview","20.workspace/30.file/00.overview","/workspace/file/overview/",{"title":534,"path":535,"stem":536,"tags":6,"slug":537,"sourcePath":535},"边看文件边查看列表","/workspace/file/list-in-file","20.workspace/30.file/05.list-in-file","/workspace/file/list-in-file/",{"title":539,"path":540,"stem":541,"tags":6,"slug":542,"sourcePath":540},"查看和编辑 Markdown、文本文件","/workspace/file/text-file-viewer","20.workspace/30.file/10.text-file-viewer","/workspace/file/text-file-viewer/",{"title":544,"path":545,"stem":546,"tags":6,"slug":547,"sourcePath":545},"查看 HTML 文件","/workspace/file/html-viewer","20.workspace/30.file/11.html-viewer","/workspace/file/html-viewer/",{"title":549,"path":550,"stem":551,"tags":6,"slug":552,"sourcePath":550},"查看和编辑 CSV 文件","/workspace/file/csv-viewer","20.workspace/30.file/12.csv-viewer","/workspace/file/csv-viewer/",{"title":554,"path":555,"stem":556,"tags":6,"slug":557,"sourcePath":555},"查看图片/视频文件","/workspace/file/image-file-viewer","20.workspace/30.file/13.image-file-viewer","/workspace/file/image-file-viewer/",{"title":559,"path":560,"stem":561,"tags":6,"slug":562,"sourcePath":560},"查看 Office/PDF 文件","/workspace/file/office-viewer","20.workspace/30.file/14.office-viewer","/workspace/file/office-viewer/",{"title":564,"path":565,"stem":566,"tags":6,"slug":567,"sourcePath":565},"粘贴网页 (HTML)","/workspace/file/paste-html","20.workspace/30.file/20.paste-html","/workspace/file/paste-html/",{"title":569,"path":570,"stem":571,"tags":6,"slug":572,"sourcePath":570},"粘贴截图","/workspace/file/paste-screenshot","20.workspace/30.file/21.paste-screenshot","/workspace/file/paste-screenshot/",{"title":574,"path":575,"stem":576,"tags":6,"slug":577,"sourcePath":575},"粘贴 Markdown (MD)","/workspace/file/paste-md","20.workspace/30.file/22.paste-md","/workspace/file/paste-md/",{"title":579,"path":580,"stem":581,"tags":6,"slug":582,"sourcePath":580},"屏幕录制","/workspace/file/screen-recording","20.workspace/30.file/23.screen-recording","/workspace/file/screen-recording/",{"title":584,"path":585,"stem":586,"tags":6,"slug":587,"sourcePath":585},"快捷笔记","/workspace/file/quick-note","20.workspace/30.file/24.quick-note","/workspace/file/quick-note/",{"title":589,"path":590,"stem":591,"tags":6,"slug":592,"sourcePath":590},"文件标签","/workspace/file/file-tag","20.workspace/30.file/33.file-tag","/workspace/file/file-tag/",{"title":594,"path":595,"stem":596,"tags":6,"slug":597,"sourcePath":595},"批量重命名文件","/workspace/file/bulk-name-revise","20.workspace/30.file/34.bulk-name-revise","/workspace/file/bulk-name-revise/",{"title":599,"path":600,"stem":601,"tags":6,"slug":602,"sourcePath":600},"文件转换","/workspace/file/file-convert-overview","20.workspace/30.file/40.file-convert-overview","/workspace/file/file-convert-overview/",{"title":604,"path":605,"stem":606,"tags":6,"slug":607,"sourcePath":605},"模板文件","/workspace/file/templates","20.workspace/30.file/41.templates","/workspace/file/templates/",{"title":609,"path":610,"stem":611,"tags":6,"slug":612,"sourcePath":610},"待办列表 (Todo)","/workspace/file/template-todo","20.workspace/30.file/42.template-todo","/workspace/file/template-todo/",{"title":614,"path":615,"stem":616,"tags":6,"slug":617,"sourcePath":615},"审批表单","/workspace/file/template-approval","20.workspace/30.file/43.template-approval","/workspace/file/template-approval/",{"title":619,"path":620,"stem":621,"tags":6,"slug":622,"sourcePath":620},"看板 (Kanban)","/workspace/file/template-kanban","20.workspace/30.file/44.template-kanban","/workspace/file/template-kanban/",{"title":624,"path":625,"stem":626,"tags":6,"slug":627,"sourcePath":625},"时间线","/workspace/file/template-timeline","20.workspace/30.file/45.template-timeline","/workspace/file/template-timeline/",{"title":629,"path":630,"stem":631,"tags":6,"slug":632,"sourcePath":630},"记事本","/workspace/file/template-memo","20.workspace/30.file/46.template-memo","/workspace/file/template-memo/",{"title":634,"path":635,"stem":636,"tags":6,"slug":635,"sourcePath":635},"AI 聊天文件","/workspace/file/ai-chat-file","20.workspace/30.file/47.ai-chat-file",{"title":638,"path":639,"stem":640,"tags":6,"slug":641,"sourcePath":639},"查看文件更改记录","/workspace/file/audit-trail","20.workspace/30.file/50.audit-trail","/workspace/file/audit-trail/",{"title":643,"path":644,"stem":645,"tags":6,"slug":646,"sourcePath":644},"文件版本管理","/workspace/file/version-trail","20.workspace/30.file/51.version-trail","/workspace/file/version-trail/",{"title":648,"path":649,"stem":650,"tags":6,"slug":651,"sourcePath":649},"编辑锁定","/workspace/file/file-lock","20.workspace/30.file/52.file-lock","/workspace/file/file-lock/",{"title":653,"path":654,"stem":655,"tags":6,"slug":656,"sourcePath":654},"文件加密","/workspace/file/file-encrypt","20.workspace/30.file/53.file-encrypt","/workspace/file/file-encrypt/",{"title":658,"path":659,"stem":660,"tags":6,"slug":661,"sourcePath":659},"注册磁盘文件","/workspace/file/disk-file-registration","20.workspace/30.file/60.disk-file-registration","/workspace/file/disk-file-registration/",{"title":663,"tags":6,"slug":6,"path":664,"stem":665,"children":666,"page":66,"sourcePath":664},"协作","/workspace/cooperation","20.workspace/35.cooperation",[667,672,677,682,687,692,697,702,707,713],{"title":668,"path":669,"stem":670,"tags":6,"slug":671,"sourcePath":669},"文件与文件夹评论","/workspace/cooperation/file-comments","20.workspace/35.cooperation/00.file-comments","/workspace/cooperation/file-comments/",{"title":673,"path":674,"stem":675,"tags":6,"slug":676,"sourcePath":674},"聊天","/workspace/cooperation/chat","20.workspace/35.cooperation/10.chat","/workspace/cooperation/chat/",{"title":678,"path":679,"stem":680,"tags":6,"slug":681,"sourcePath":679},"协作聊天与编辑锁定","/workspace/cooperation/collaboration-chat","20.workspace/35.cooperation/11.collaboration-chat","/workspace/cooperation/collaboration-chat/",{"title":683,"path":684,"stem":685,"tags":6,"slug":686,"sourcePath":684},"跟随团队成员的工作位置","/workspace/cooperation/follow-team-location","20.workspace/35.cooperation/12.follow-team-location","/workspace/cooperation/follow-team-location/",{"title":688,"path":689,"stem":690,"tags":6,"slug":691,"sourcePath":689},"提及","/workspace/cooperation/mention","20.workspace/35.cooperation/14.mention","/workspace/cooperation/mention/",{"title":693,"path":694,"stem":695,"tags":6,"slug":696,"sourcePath":694},"私信","/workspace/cooperation/dm","20.workspace/35.cooperation/16.dm","/workspace/cooperation/dm/",{"title":698,"path":699,"stem":700,"tags":6,"slug":701,"sourcePath":699},"通知存档","/workspace/cooperation/notification-inbox","20.workspace/35.cooperation/18.notification-inbox","/workspace/cooperation/notification-inbox/",{"title":703,"path":704,"stem":705,"tags":6,"slug":706,"sourcePath":704},"查看团队动态","/workspace/cooperation/file-activity","20.workspace/35.cooperation/30.file-activity","/workspace/cooperation/file-activity/",{"title":708,"path":709,"stem":710,"tags":711,"slug":712,"sourcePath":709},"创建外部共享链接","/workspace/cooperation/share-link-creation","20.workspace/35.cooperation/40.share-link-creation",[469],"/workspace/cooperation/share-link-creation/",{"title":714,"path":715,"stem":716,"tags":6,"slug":717,"sourcePath":715},"通过电子邮件发送外部共享链接","/workspace/cooperation/share-link-email","20.workspace/35.cooperation/42.share-link-email","/workspace/cooperation/share-link-email/",{"title":719,"tags":6,"slug":6,"path":720,"stem":721,"children":722,"page":66,"sourcePath":720},"搜索","/workspace/search","20.workspace/40.search",[723,728,734,739,744,749],{"title":724,"path":725,"stem":726,"tags":6,"slug":727,"sourcePath":725},"文件搜索","/workspace/search/search","20.workspace/40.search/00.search","/workspace/search/search/",{"title":729,"path":730,"stem":731,"tags":732,"slug":733,"sourcePath":730},"上下文搜索（AI 搜索）","/workspace/search/context-search","20.workspace/40.search/10.context-search",[469],"/workspace/search/context-search/",{"title":735,"path":736,"stem":737,"tags":6,"slug":738,"sourcePath":736},"图片搜索","/workspace/search/image-search","20.workspace/40.search/20.image-search","/workspace/search/image-search/",{"title":740,"path":741,"stem":742,"tags":6,"slug":743,"sourcePath":741},"聊天搜索","/workspace/search/chat-search","20.workspace/40.search/30.chat-search","/workspace/search/chat-search/",{"title":745,"path":746,"stem":747,"tags":6,"slug":748,"sourcePath":746},"评论搜索","/workspace/search/comment-search","20.workspace/40.search/40.comment-search","/workspace/search/comment-search/",{"title":750,"path":751,"stem":752,"tags":6,"slug":753,"sourcePath":751},"同义词搜索","/workspace/search/synonym-search","20.workspace/40.search/50.synonym-search","/workspace/search/synonym-search/",{"title":755,"tags":6,"slug":6,"path":756,"stem":757,"children":758,"page":66,"sourcePath":756},"AI","/workspace/ai","20.workspace/50.ai",[759,764,770],{"title":760,"path":761,"stem":762,"tags":6,"slug":763,"sourcePath":761},"AI 功能概览","/workspace/ai/overview","20.workspace/50.ai/00.overview","/workspace/ai/overview/",{"title":765,"path":766,"stem":767,"tags":768,"slug":769,"sourcePath":766},"向本地 AI 委托工作","/workspace/ai/ai-work","20.workspace/50.ai/10.ai-work",[469],"/workspace/ai/ai-work/",{"title":771,"path":772,"stem":773,"tags":6,"slug":774,"sourcePath":772},"使用外部 AI","/workspace/ai/external-ai","20.workspace/50.ai/20.external-ai","/workspace/ai/external-ai/",{"title":776,"tags":6,"slug":6,"path":777,"stem":778,"children":779,"page":66,"sourcePath":777},"Webspace","/webspace","40.webspace",[780,785,790,795,800,805,811,816,821,826,831,866],{"title":781,"path":782,"stem":783,"tags":6,"slug":784,"sourcePath":782},"什么是 Webspace？","/webspace/overview","40.webspace/00.overview","/webspace/overview/",{"title":786,"path":787,"stem":788,"tags":6,"slug":789,"sourcePath":787},"部署网站","/webspace/website-release","40.webspace/10.website-release","/webspace/website-release/",{"title":791,"path":792,"stem":793,"tags":6,"slug":794,"sourcePath":792},"创建架构文件（.sfn）","/webspace/create-database","40.webspace/20.create-database","/webspace/create-database/",{"title":796,"path":797,"stem":798,"tags":6,"slug":799,"sourcePath":797},"构建 API 并部署数据库","/webspace/api-overview","40.webspace/24.api-overview","/webspace/api-overview/",{"title":801,"path":802,"stem":803,"tags":6,"slug":804,"sourcePath":802},"查看前端示例","/webspace/frontend-example","40.webspace/26.frontend-example","/webspace/frontend-example/",{"title":806,"path":807,"stem":808,"tags":809,"slug":810,"sourcePath":807},"创建团队内部 Web 服务","/webspace/internal-webservice","40.webspace/32.internal-webservice",[469],"/webspace/internal-webservice/",{"title":812,"path":813,"stem":814,"tags":6,"slug":815,"sourcePath":813},"创建对外公开的 Web 服务","/webspace/external-webservice","40.webspace/34.external-webservice","/webspace/external-webservice/",{"title":817,"path":818,"stem":819,"tags":6,"slug":820,"sourcePath":818},"SQL 导入与导出","/webspace/sql-converter","40.webspace/42.sql-converter","/webspace/sql-converter/",{"title":822,"path":823,"stem":824,"tags":6,"slug":825,"sourcePath":823},"将架构转换为代码","/webspace/code-converter","40.webspace/44.code-converter","/webspace/code-converter/",{"title":827,"path":828,"stem":829,"tags":6,"slug":830,"sourcePath":828},"性能与扩展","/webspace/performance","40.webspace/48.performance","/webspace/performance/",{"title":832,"tags":6,"slug":6,"path":833,"stem":834,"children":835,"page":66,"sourcePath":833},"Webspace 管理","/webspace/admin","40.webspace/50.admin",[836,841,846,851,856,861],{"title":837,"path":838,"stem":839,"tags":6,"slug":840,"sourcePath":838},"开始使用 Webspace 管理","/webspace/admin/overview","40.webspace/50.admin/00.overview","/webspace/admin/overview/",{"title":842,"path":843,"stem":844,"tags":6,"slug":845,"sourcePath":843},"运营概览","/webspace/admin/operations","40.webspace/50.admin/10.operations","/webspace/admin/operations/",{"title":847,"path":848,"stem":849,"tags":6,"slug":850,"sourcePath":848},"工作空间访问","/webspace/admin/workspace-access","40.webspace/50.admin/20.workspace-access","/webspace/admin/workspace-access/",{"title":852,"path":853,"stem":854,"tags":6,"slug":855,"sourcePath":853},"API · 站点安全","/webspace/admin/api-site-security","40.webspace/50.admin/30.api-site-security","/webspace/admin/api-site-security/",{"title":857,"path":858,"stem":859,"tags":6,"slug":860,"sourcePath":858},"服务与容量","/webspace/admin/service-capacity","40.webspace/50.admin/40.service-capacity","/webspace/admin/service-capacity/",{"title":862,"path":863,"stem":864,"tags":6,"slug":865,"sourcePath":863},"部署管理与前端发布","/webspace/admin/deployments","40.webspace/50.admin/50.deployments","/webspace/admin/deployments/",{"title":867,"tags":868,"slug":6,"path":869,"stem":870,"children":871,"page":66,"sourcePath":869},"Webspace 实操教程",[469],"/webspace/examples","40.webspace/60.examples",[872,877,882,888,893,898],{"title":873,"path":869,"stem":874,"tags":6,"slug":875,"sourcePath":876},"Webspace 应用篇","40.webspace/60.examples/00.overview","/webspace/examples/","/webspace/examples/overview",{"title":878,"path":879,"stem":880,"tags":6,"slug":881,"sourcePath":879},"打造自己的业务系统","/webspace/examples/my-own-system","40.webspace/60.examples/10.my-own-system","/webspace/examples/my-own-system/",{"title":883,"path":884,"stem":885,"tags":886,"slug":887,"sourcePath":884},"制作实时五子棋游戏","/webspace/examples/realtime-gomoku","40.webspace/60.examples/20.realtime-gomoku",[469],"/webspace/examples/realtime-gomoku/",{"title":889,"path":890,"stem":891,"tags":6,"slug":892,"sourcePath":890},"用文件夹文件搭建资料公告板","/webspace/examples/folder-board","40.webspace/60.examples/30.folder-board","/webspace/examples/folder-board/",{"title":894,"path":895,"stem":896,"tags":6,"slug":897,"sourcePath":895},"搭建多人协同怪物讨伐","/webspace/examples/monster-raid","40.webspace/60.examples/40.monster-raid","/webspace/examples/monster-raid/",{"title":899,"path":900,"stem":901,"tags":6,"slug":902,"sourcePath":900},"部署 AI 咨询聊天示例","/webspace/examples/ai-support-chat","40.webspace/60.examples/50.ai-support-chat","/webspace/examples/ai-support-chat/",{"title":904,"tags":6,"slug":6,"path":905,"stem":906,"children":907,"page":66,"sourcePath":905},"使用插件","/plugin","50.plugin",[908,913,933,994,1015,1050],{"title":909,"path":910,"stem":911,"tags":6,"slug":912,"sourcePath":910},"插件概述","/plugin/overview","50.plugin/00.overview","/plugin/overview/",{"title":914,"tags":6,"slug":6,"path":915,"stem":916,"children":917,"page":66,"sourcePath":915},"日历","/plugin/calendar","50.plugin/10.calendar",[918,923,928],{"title":919,"path":920,"stem":921,"tags":6,"slug":922,"sourcePath":920},"日历介绍","/plugin/calendar/overview","50.plugin/10.calendar/00.overview","/plugin/calendar/overview/",{"title":924,"path":925,"stem":926,"tags":6,"slug":927,"sourcePath":925},"创建、修改和删除日程","/plugin/calendar/create-event","50.plugin/10.calendar/10.create-event","/plugin/calendar/create-event/",{"title":929,"path":930,"stem":931,"tags":6,"slug":932,"sourcePath":930},"查看活动记录","/plugin/calendar/file-activity","50.plugin/10.calendar/40.file-activity","/plugin/calendar/file-activity/",{"title":934,"tags":6,"slug":6,"path":935,"stem":936,"children":937,"page":66,"sourcePath":935},"电子邮件","/plugin/email","50.plugin/20.email",[938,943,948,953,958,964,969,974,979,984,989],{"title":939,"path":940,"stem":941,"tags":6,"slug":942,"sourcePath":940},"电子邮件介绍","/plugin/email/overview","50.plugin/20.email/00.overview","/plugin/email/overview/",{"title":944,"path":945,"stem":946,"tags":6,"slug":947,"sourcePath":945},"电子邮件设置","/plugin/email/setfn-email-setting","50.plugin/20.email/05.setfn-email-setting","/plugin/email/setfn-email-setting/",{"title":949,"path":950,"stem":951,"tags":6,"slug":952,"sourcePath":950},"连接外部电子邮件","/plugin/email/external-email","50.plugin/20.email/07.external-email","/plugin/email/external-email/",{"title":954,"path":955,"stem":956,"tags":6,"slug":957,"sourcePath":955},"电子邮件基本功能","/plugin/email/email-basic","50.plugin/20.email/10.email-basic","/plugin/email/email-basic/",{"title":959,"path":960,"stem":961,"tags":6,"slug":962,"sourcePath":963},"使用邮件 AI 助手","/plugin/email/ai-assistant","50.plugin/20.email/15.email-ai-assistant","/plugin/email/ai-assistant/","/plugin/email/email-ai-assistant",{"title":965,"path":966,"stem":967,"tags":6,"slug":968,"sourcePath":966},"撰写和发送电子邮件","/plugin/email/email-compose","50.plugin/20.email/20.email-compose","/plugin/email/email-compose/",{"title":970,"path":971,"stem":972,"tags":6,"slug":973,"sourcePath":971},"附加文件","/plugin/email/email-attachment","50.plugin/20.email/30.email-attachment","/plugin/email/email-attachment/",{"title":975,"path":976,"stem":977,"tags":6,"slug":978,"sourcePath":976},"电子邮件文件夹管理","/plugin/email/email-folders","50.plugin/20.email/40.email-folders","/plugin/email/email-folders/",{"title":980,"path":981,"stem":982,"tags":6,"slug":983,"sourcePath":981},"自动分类电子邮件","/plugin/email/email-auto-classify","50.plugin/20.email/50.email-auto-classify","/plugin/email/email-auto-classify/",{"title":985,"path":986,"stem":987,"tags":6,"slug":988,"sourcePath":986},"电子邮件文件的保管与共享","/plugin/email/email-open-in-space","50.plugin/20.email/60.email-open-in-space","/plugin/email/email-open-in-space/",{"title":990,"path":991,"stem":992,"tags":6,"slug":993,"sourcePath":991},"电子邮件安全","/plugin/email/email-security","50.plugin/20.email/70.email-security","/plugin/email/email-security/",{"title":995,"tags":6,"slug":6,"path":996,"stem":997,"children":998,"page":66,"sourcePath":996},"工作流（业务自动化）","/plugin/workflow","50.plugin/30.workflow",[999,1004,1010],{"title":1000,"path":1001,"stem":1002,"tags":6,"slug":1003,"sourcePath":1001},"工作流简介","/plugin/workflow/overview","50.plugin/30.workflow/00.overview","/plugin/workflow/overview/",{"title":1005,"path":1006,"stem":1007,"tags":1008,"slug":1009,"sourcePath":1006},"创建新工作流","/plugin/workflow/new-workflow","50.plugin/30.workflow/10.new-workflow",[469],"/plugin/workflow/new-workflow/",{"title":1011,"path":1012,"stem":1013,"tags":6,"slug":1014,"sourcePath":1012},"查看执行记录","/plugin/workflow/execution-history","50.plugin/30.workflow/20.execution-history","/plugin/workflow/execution-history/",{"title":1016,"tags":6,"slug":6,"path":1017,"stem":1018,"children":1019,"page":66,"sourcePath":1017},"微调（AI 训练）","/plugin/fine-tuning","50.plugin/40.fine-tuning",[1020,1025,1030,1035,1040,1045],{"title":1021,"path":1022,"stem":1023,"tags":6,"slug":1024,"sourcePath":1022},"微调简介","/plugin/fine-tuning/overview","50.plugin/40.fine-tuning/00.overview","/plugin/fine-tuning/overview/",{"title":1026,"path":1027,"stem":1028,"tags":6,"slug":1029,"sourcePath":1027},"训练数据预处理","/plugin/fine-tuning/pre-processing","50.plugin/40.fine-tuning/10.pre-processing","/plugin/fine-tuning/pre-processing/",{"title":1031,"path":1032,"stem":1033,"tags":6,"slug":1034,"sourcePath":1032},"训练","/plugin/fine-tuning/training","50.plugin/40.fine-tuning/20.training","/plugin/fine-tuning/training/",{"title":1036,"path":1037,"stem":1038,"tags":6,"slug":1039,"sourcePath":1037},"评估","/plugin/fine-tuning/evaluation","50.plugin/40.fine-tuning/30.evaluation","/plugin/fine-tuning/evaluation/",{"title":1041,"path":1042,"stem":1043,"tags":6,"slug":1044,"sourcePath":1042},"聊天测试","/plugin/fine-tuning/chat-test","50.plugin/40.fine-tuning/40.chat-test","/plugin/fine-tuning/chat-test/",{"title":1046,"path":1047,"stem":1048,"tags":6,"slug":1049,"sourcePath":1047},"导出","/plugin/fine-tuning/export","50.plugin/40.fine-tuning/50.export","/plugin/fine-tuning/export/",{"title":1051,"tags":6,"slug":6,"path":1052,"stem":1053,"children":1054,"page":66,"sourcePath":1052},"EDC（数据收集）","/plugin/edc","50.plugin/50.edc",[1055,1060,1065,1070],{"title":1056,"path":1057,"stem":1058,"tags":6,"slug":1059,"sourcePath":1057},"EDC 简介","/plugin/edc/overview","50.plugin/50.edc/00.overview","/plugin/edc/overview/",{"title":1061,"path":1062,"stem":1063,"tags":6,"slug":1064,"sourcePath":1062},"数据录入、Audit Trail","/plugin/edc/data-entry","50.plugin/50.edc/10.data-entry","/plugin/edc/data-entry/",{"title":1066,"path":1067,"stem":1068,"tags":6,"slug":1069,"sourcePath":1067},"构建器","/plugin/edc/builder","50.plugin/50.edc/20.builder","/plugin/edc/builder/",{"title":1071,"path":1072,"stem":1073,"tags":6,"slug":1074,"sourcePath":1072},"用户/机构设置","/plugin/edc/account","50.plugin/50.edc/30.account","/plugin/edc/account/",{"title":1076,"tags":6,"slug":6,"path":1077,"stem":1078,"children":1079,"page":66,"sourcePath":1077},"命令行工具","/cli","90.cli",[1080],{"title":1081,"path":1082,"stem":1083,"tags":6,"slug":1084,"sourcePath":1082},"使用命令管理服务器","/cli/commands","90.cli/10.commands","/cli/commands/",{"title":1086,"tags":6,"slug":6,"path":1087,"stem":1088,"children":1089,"page":66,"sourcePath":1087},"安全更新","/security-updates","95.security-updates",[1090,1095,1100,1105],{"title":1091,"path":1092,"stem":1093,"tags":6,"slug":1094,"sourcePath":1092},"了解安全检查与更新方式","/security-updates/overview","95.security-updates/00.overview","/security-updates/overview/",{"title":1096,"path":1097,"stem":1098,"tags":6,"slug":1099,"sourcePath":1097},"安全检查记录","/security-updates/review-log","95.security-updates/10.review-log","/security-updates/review-log/",{"title":1101,"path":1102,"stem":1103,"tags":6,"slug":1104,"sourcePath":1102},"主要漏洞检查状态","/security-updates/vulnerability-status","95.security-updates/20.vulnerability-status","/security-updates/vulnerability-status/",{"title":1106,"path":1107,"stem":1108,"tags":6,"slug":1109,"sourcePath":1107},"检查服务器安全更新","/security-updates/server-checklist","95.security-updates/30.server-checklist","/security-updates/server-checklist/",{"title":1111,"tags":6,"slug":6,"path":1112,"stem":1113,"children":1114,"page":66,"sourcePath":1112},"FAQ","/faq","99.FAQ",[1115,1121,1127,1133,1139,1145,1151],{"title":1116,"path":1117,"stem":1118,"tags":6,"slug":1119,"sourcePath":1120},"SetFN 与云服务对比","/FAQ/comparison-cloud","99.FAQ/10.comparison-cloud","/FAQ/comparison-cloud/","/faq/comparison-cloud",{"title":1122,"path":1123,"stem":1124,"tags":6,"slug":1125,"sourcePath":1126},"SetFN 与 NAS 对比","/FAQ/comparison-nas","99.FAQ/20.comparison-nas","/FAQ/comparison-nas/","/faq/comparison-nas",{"title":1128,"path":1129,"stem":1130,"tags":6,"slug":1131,"sourcePath":1132},"安全政策","/FAQ/security-policy","99.FAQ/30.security-policy","/FAQ/security-policy/","/faq/security-policy",{"title":1134,"path":1135,"stem":1136,"tags":6,"slug":1137,"sourcePath":1138},"SetFN 为什么这么快","/FAQ/why-fast","99.FAQ/40.why-fast","/FAQ/why-fast/","/faq/why-fast",{"title":1140,"path":1141,"stem":1142,"tags":6,"slug":1143,"sourcePath":1144},"许可证 FAQ","/FAQ/license-faq","99.FAQ/50.license-faq","/FAQ/license-faq/","/faq/license-faq",{"title":1146,"path":1147,"stem":1148,"tags":6,"slug":1149,"sourcePath":1150},"AI 功能 FAQ","/FAQ/ai-faq","99.FAQ/60.ai-faq","/FAQ/ai-faq/","/faq/ai-faq",{"title":1152,"path":1153,"stem":1154,"tags":6,"slug":1155,"sourcePath":1156},"问题排查指南","/FAQ/troubleshooting","99.FAQ/70.troubleshooting","/FAQ/troubleshooting/","/faq/troubleshooting",{"id":1158,"title":507,"body":1159,"cover":6,"description":2206,"extension":2207,"image":6,"meta":2208,"navigation":1489,"path":508,"reviewSummary":6,"reviewedAt":6,"seo":2209,"slug":510,"stem":509,"tags":6,"thumbnail":6,"thumbnailPosition":6,"thumbnailScale":6,"__hash__":2218},"docs_zh/20.workspace/20.folder/30.webhook.md",{"type":1160,"value":1161,"toc":2193},"minimal",[1162,1166,1170,1173,1177,1199,1203,1270,1273,1282,1335,1341,1392,1401,1905,1908,1915,1958,1961,1964,1978,1984,1987,1992,2009,2012,2024,2082,2097,2100,2103,2107,2132,2138,2147,2180,2183,2189],[1163,1164,507],"h1",{"id":1165},"文件夹-webhook",[1167,1168,1169],"p",{},"可以将外部发送的文件自动接收到指定文件夹。每个文件夹都会生成专属的接收地址，外部向该地址发送数据后，数据会自动保存到文件夹中。",[1171,1172],"hr",{},[1174,1175,1176],"h2",{"id":1176},"开始之前",[1178,1179,1180],"ul",{},[1181,1182,1183,1184,1189,1190,1194,1195,1198],"li",{},"管理员设置：需要在",[1185,1186,1188],"a",{"href":1187},"../../admin/service-config/webhook-settings","设置 Webhook 策略","中同时开启 ",[1191,1192,1193],"code",{},"启用入站 Webhook"," 和 ",[1191,1196,1197],{},"允许用户签发 API 密钥","。",[1174,1200,1202],{"id":1201},"在文件夹中创建-webhook","在文件夹中创建 Webhook",[1204,1205,1206,1214,1225,1232,1259,1262],"ol",{},[1181,1207,1208,1209],{},"选择要接收 Webhook 的文件夹名称旁的设置（⚙️）图标。\n",[1210,1211],"img",{"alt":1212,"src":1213},"文件夹设置","./_screenshots/folder-setting-icon-webhook_en.png",[1181,1215,1216,1217,1220,1221,1224],{},"在 ",[1191,1218,1219],{},"Webhook 接收"," 选项卡中选择 ",[1191,1222,1223],{},"添加"," 按钮。",[1181,1226,1227,1228],{},"选择认证方式和冲突策略。这两个值将在下文详细说明。\n",[1210,1229],{"alt":1230,"src":1231},"创建 Webhook","./_screenshots/webhook-simple-create_zh.png",[1181,1233,1234,1235,1238,1239,1242,1243,1246,1247,1250,1251,1255],{},"选择 ",[1191,1236,1237],{},"创建"," 按钮后，会生成该文件夹专属的接收地址（",[1191,1240,1241],{},"Endpoint URL","）。如果选择了 ",[1191,1244,1245],{},"Secure","，还会一并生成 ",[1191,1248,1249],{},"签名密钥","（signing secret）。",[1252,1253,1254],"strong",{},"这些值只在此时显示，之后无法再次查看，请复制并保存到安全的地方。",[1210,1256],{"alt":1257,"src":1258},"使用 Simple 认证创建的 Webhook","./_screenshots/webhook-simple-url-reveal_en.png",[1181,1260,1261],{},"按照界面上显示的接收地址和示例指南，在外部系统中设置 Webhook。各认证方式的请求示例请参见下文\"选择认证方式\"。",[1181,1263,1264,1265,1269],{},"已设置 Webhook 的文件夹会显示 ",[1266,1267],"icon",{"name":1268},"webhooks-logo"," 图标。",[1174,1271,1272],{"id":1272},"选择认证方式",[1167,1274,1275,1276,1279,1280,1198],{},"创建 Webhook 时，选择 ",[1191,1277,1278],{},"Simple"," 或 ",[1191,1281,1245],{},[1283,1284,1285,1298],"table",{},[1286,1287,1288],"thead",{},[1289,1290,1291,1295],"tr",{},[1292,1293,1294],"th",{},"认证方式",[1292,1296,1297],{},"行为",[1299,1300,1301,1315],"tbody",{},[1289,1302,1303,1308],{},[1304,1305,1306],"td",{},[1191,1307,1278],{},[1304,1309,1310,1311,1314],{},"接收地址（URL）本身就是认证信息。无需额外签名，只需向发放的地址发送 ",[1191,1312,1313],{},"POST"," 请求即可保存文件。",[1289,1316,1317,1321],{},[1304,1318,1319],{},[1191,1320,1245],{},[1304,1322,1323,1324,1327,1328,1327,1331,1334],{},"每次请求都必须计算 HMAC 签名，并通过 ",[1191,1325,1326],{},"X-Webhook-Timestamp","、",[1191,1329,1330],{},"X-Webhook-Nonce",[1191,1332,1333],{},"X-Webhook-Signature"," 标头一同发送。即使接收地址泄露到外部，没有签名的请求也会被拒绝。",[1167,1336,1337,1338,1340],{},"使用 ",[1191,1339,1278],{}," 创建的 Webhook 仅凭 URL 即可发送请求。",[1342,1343,1348],"pre",{"className":1344,"code":1345,"language":1346,"meta":1347,"style":1347},"language-bash shiki shiki-themes github-light github-dark monokai","# Upload a file via multipart\ncurl -i -X POST \"https://\u003C接收地址>?filename=photo.jpg\" \\\n  -F \"file=@./photo.jpg\"\n","bash","",[1191,1349,1350,1359,1383],{"__ignoreMap":1347},[1351,1352,1355],"span",{"class":1353,"line":1354},"line",1,[1351,1356,1358],{"class":1357},"s8-w5","# Upload a file via multipart\n",[1351,1360,1362,1366,1370,1373,1377,1380],{"class":1353,"line":1361},2,[1351,1363,1365],{"class":1364},"srTi1","curl",[1351,1367,1369],{"class":1368},"s7F3e"," -i",[1351,1371,1372],{"class":1368}," -X",[1351,1374,1376],{"class":1375},"sstjo"," POST",[1351,1378,1379],{"class":1375}," \"https://\u003C接收地址>?filename=photo.jpg\"",[1351,1381,1382],{"class":1368}," \\\n",[1351,1384,1386,1389],{"class":1353,"line":1385},3,[1351,1387,1388],{"class":1368},"  -F",[1351,1390,1391],{"class":1375}," \"file=@./photo.jpg\"\n",[1167,1393,1337,1394,1396,1397],{},[1191,1395,1245],{}," 创建的 Webhook 必须将请求正文（对整个 multipart 正文，包括边界和各部分标头，计算得到的 SHA-256 哈希值）包含在签名中。\n",[1210,1398],{"alt":1399,"src":1400},"Secure Webhook 设置界面","./_screenshots/webhook-secure-settings_en.png",[1342,1402,1404],{"className":1344,"code":1403,"language":1346,"meta":1347,"style":1347},"# Upload a file via multipart (with HMAC signature)\nTS=$(date +%s)\nNONCE=$(cat /proc/sys/kernel/random/uuid)\nBOUNDARY=\"------------------------$(cat /proc/sys/kernel/random/uuid)\"\nTMP=$(mktemp /tmp/multipart.XXXXXX)\n\n# Build the raw multipart body first, then hash that body.\nprintf -- --%s$'\\r\\n' \"$BOUNDARY\" > \"$TMP\"\nprintf 'Content-Disposition: form-data; name=\"file\"; filename=\"photo.jpg\"' >> \"$TMP\"\nprintf $'\\r\\n' >> \"$TMP\"\nprintf 'Content-Type: application/octet-stream' >> \"$TMP\"\nprintf $'\\r\\n\\r\\n' >> \"$TMP\"\ncat ./photo.jpg >> \"$TMP\"\nprintf $'\\r\\n' >> \"$TMP\"\nprintf -- --%s--$'\\r\\n' \"$BOUNDARY\" >> \"$TMP\"\n\nBODY_SHA=$(sha256sum \"$TMP\" | awk '{print $1}')\nSIG=$(printf 'POST\\n\u003C接收路径>\\n%s\\n%s\\n%s' \"$TS\" \"$NONCE\" \"$BODY_SHA\" \\\n  | openssl dgst -sha256 -hmac \"$SECRET\" -binary | xxd -p -c 256)\n\ncurl -i -X POST \"https://\u003C接收地址>?filename=photo.jpg\" \\\n  -H \"Content-Type: multipart/form-data; boundary=$BOUNDARY\" \\\n  -H \"X-Webhook-Timestamp: $TS\" \\\n  -H \"X-Webhook-Nonce: $NONCE\" \\\n  -H \"X-Webhook-Signature: sha256=$SIG\" \\\n  --data-binary @\"$TMP\"\n\nrm -f \"$TMP\"\n",[1191,1405,1406,1411,1433,1450,1466,1484,1491,1497,1539,1556,1576,1592,1612,1628,1647,1677,1682,1712,1750,1794,1799,1814,1829,1843,1857,1872,1885,1890],{"__ignoreMap":1347},[1351,1407,1408],{"class":1353,"line":1354},[1351,1409,1410],{"class":1357},"# Upload a file via multipart (with HMAC signature)\n",[1351,1412,1413,1417,1421,1424,1427,1430],{"class":1353,"line":1361},[1351,1414,1416],{"class":1415},"sMOD_","TS",[1351,1418,1420],{"class":1419},"sC2Qs","=",[1351,1422,1423],{"class":1415},"$(",[1351,1425,1426],{"class":1364},"date",[1351,1428,1429],{"class":1375}," +%s",[1351,1431,1432],{"class":1415},")\n",[1351,1434,1435,1438,1440,1442,1445,1448],{"class":1353,"line":1385},[1351,1436,1437],{"class":1415},"NONCE",[1351,1439,1420],{"class":1419},[1351,1441,1423],{"class":1415},[1351,1443,1444],{"class":1364},"cat",[1351,1446,1447],{"class":1375}," /proc/sys/kernel/random/uuid",[1351,1449,1432],{"class":1415},[1351,1451,1453,1456,1458,1461,1463],{"class":1353,"line":1452},4,[1351,1454,1455],{"class":1415},"BOUNDARY",[1351,1457,1420],{"class":1419},[1351,1459,1460],{"class":1375},"\"------------------------$(",[1351,1462,1444],{"class":1364},[1351,1464,1465],{"class":1375}," /proc/sys/kernel/random/uuid)\"\n",[1351,1467,1469,1472,1474,1476,1479,1482],{"class":1353,"line":1468},5,[1351,1470,1471],{"class":1415},"TMP",[1351,1473,1420],{"class":1419},[1351,1475,1423],{"class":1415},[1351,1477,1478],{"class":1364},"mktemp",[1351,1480,1481],{"class":1375}," /tmp/multipart.XXXXXX",[1351,1483,1432],{"class":1415},[1351,1485,1487],{"class":1353,"line":1486},6,[1351,1488,1490],{"emptyLinePlaceholder":1489},true,"\n",[1351,1492,1494],{"class":1353,"line":1493},7,[1351,1495,1496],{"class":1357},"# Build the raw multipart body first, then hash that body.\n",[1351,1498,1500,1504,1507,1510,1513,1516,1519,1522,1525,1528,1531,1533,1536],{"class":1353,"line":1499},8,[1351,1501,1503],{"class":1502},"sTrkL","printf",[1351,1505,1506],{"class":1368}," --",[1351,1508,1509],{"class":1368}," --%s",[1351,1511,1512],{"class":1375},"$'",[1351,1514,1515],{"class":1368},"\\r\\n",[1351,1517,1518],{"class":1375},"'",[1351,1520,1521],{"class":1375}," \"",[1351,1523,1524],{"class":1415},"$BOUNDARY",[1351,1526,1527],{"class":1375},"\"",[1351,1529,1530],{"class":1419}," >",[1351,1532,1521],{"class":1375},[1351,1534,1535],{"class":1415},"$TMP",[1351,1537,1538],{"class":1375},"\"\n",[1351,1540,1542,1544,1547,1550,1552,1554],{"class":1353,"line":1541},9,[1351,1543,1503],{"class":1502},[1351,1545,1546],{"class":1375}," 'Content-Disposition: form-data; name=\"file\"; filename=\"photo.jpg\"'",[1351,1548,1549],{"class":1419}," >>",[1351,1551,1521],{"class":1375},[1351,1553,1535],{"class":1415},[1351,1555,1538],{"class":1375},[1351,1557,1559,1561,1564,1566,1568,1570,1572,1574],{"class":1353,"line":1558},10,[1351,1560,1503],{"class":1502},[1351,1562,1563],{"class":1375}," $'",[1351,1565,1515],{"class":1368},[1351,1567,1518],{"class":1375},[1351,1569,1549],{"class":1419},[1351,1571,1521],{"class":1375},[1351,1573,1535],{"class":1415},[1351,1575,1538],{"class":1375},[1351,1577,1579,1581,1584,1586,1588,1590],{"class":1353,"line":1578},11,[1351,1580,1503],{"class":1502},[1351,1582,1583],{"class":1375}," 'Content-Type: application/octet-stream'",[1351,1585,1549],{"class":1419},[1351,1587,1521],{"class":1375},[1351,1589,1535],{"class":1415},[1351,1591,1538],{"class":1375},[1351,1593,1595,1597,1599,1602,1604,1606,1608,1610],{"class":1353,"line":1594},12,[1351,1596,1503],{"class":1502},[1351,1598,1563],{"class":1375},[1351,1600,1601],{"class":1368},"\\r\\n\\r\\n",[1351,1603,1518],{"class":1375},[1351,1605,1549],{"class":1419},[1351,1607,1521],{"class":1375},[1351,1609,1535],{"class":1415},[1351,1611,1538],{"class":1375},[1351,1613,1615,1617,1620,1622,1624,1626],{"class":1353,"line":1614},13,[1351,1616,1444],{"class":1364},[1351,1618,1619],{"class":1375}," ./photo.jpg",[1351,1621,1549],{"class":1419},[1351,1623,1521],{"class":1375},[1351,1625,1535],{"class":1415},[1351,1627,1538],{"class":1375},[1351,1629,1631,1633,1635,1637,1639,1641,1643,1645],{"class":1353,"line":1630},14,[1351,1632,1503],{"class":1502},[1351,1634,1563],{"class":1375},[1351,1636,1515],{"class":1368},[1351,1638,1518],{"class":1375},[1351,1640,1549],{"class":1419},[1351,1642,1521],{"class":1375},[1351,1644,1535],{"class":1415},[1351,1646,1538],{"class":1375},[1351,1648,1650,1652,1654,1657,1659,1661,1663,1665,1667,1669,1671,1673,1675],{"class":1353,"line":1649},15,[1351,1651,1503],{"class":1502},[1351,1653,1506],{"class":1368},[1351,1655,1656],{"class":1368}," --%s--",[1351,1658,1512],{"class":1375},[1351,1660,1515],{"class":1368},[1351,1662,1518],{"class":1375},[1351,1664,1521],{"class":1375},[1351,1666,1524],{"class":1415},[1351,1668,1527],{"class":1375},[1351,1670,1549],{"class":1419},[1351,1672,1521],{"class":1375},[1351,1674,1535],{"class":1415},[1351,1676,1538],{"class":1375},[1351,1678,1680],{"class":1353,"line":1679},16,[1351,1681,1490],{"emptyLinePlaceholder":1489},[1351,1683,1685,1688,1690,1692,1695,1697,1699,1701,1704,1707,1710],{"class":1353,"line":1684},17,[1351,1686,1687],{"class":1415},"BODY_SHA",[1351,1689,1420],{"class":1419},[1351,1691,1423],{"class":1415},[1351,1693,1694],{"class":1364},"sha256sum",[1351,1696,1521],{"class":1375},[1351,1698,1535],{"class":1415},[1351,1700,1527],{"class":1375},[1351,1702,1703],{"class":1419}," |",[1351,1705,1706],{"class":1364}," awk",[1351,1708,1709],{"class":1375}," '{print $1}'",[1351,1711,1432],{"class":1415},[1351,1713,1715,1718,1720,1722,1724,1727,1729,1732,1734,1736,1739,1741,1743,1746,1748],{"class":1353,"line":1714},18,[1351,1716,1717],{"class":1415},"SIG",[1351,1719,1420],{"class":1419},[1351,1721,1423],{"class":1415},[1351,1723,1503],{"class":1502},[1351,1725,1726],{"class":1375}," 'POST\\n\u003C接收路径>\\n%s\\n%s\\n%s'",[1351,1728,1521],{"class":1375},[1351,1730,1731],{"class":1415},"$TS",[1351,1733,1527],{"class":1375},[1351,1735,1521],{"class":1375},[1351,1737,1738],{"class":1415},"$NONCE",[1351,1740,1527],{"class":1375},[1351,1742,1521],{"class":1375},[1351,1744,1745],{"class":1415},"$BODY_SHA",[1351,1747,1527],{"class":1375},[1351,1749,1382],{"class":1368},[1351,1751,1753,1756,1759,1762,1765,1768,1770,1773,1775,1778,1780,1783,1786,1789,1792],{"class":1353,"line":1752},19,[1351,1754,1755],{"class":1419},"  |",[1351,1757,1758],{"class":1364}," openssl",[1351,1760,1761],{"class":1375}," dgst",[1351,1763,1764],{"class":1368}," -sha256",[1351,1766,1767],{"class":1368}," -hmac",[1351,1769,1521],{"class":1375},[1351,1771,1772],{"class":1415},"$SECRET",[1351,1774,1527],{"class":1375},[1351,1776,1777],{"class":1368}," -binary",[1351,1779,1703],{"class":1419},[1351,1781,1782],{"class":1364}," xxd",[1351,1784,1785],{"class":1368}," -p",[1351,1787,1788],{"class":1368}," -c",[1351,1790,1791],{"class":1368}," 256",[1351,1793,1432],{"class":1415},[1351,1795,1797],{"class":1353,"line":1796},20,[1351,1798,1490],{"emptyLinePlaceholder":1489},[1351,1800,1802,1804,1806,1808,1810,1812],{"class":1353,"line":1801},21,[1351,1803,1365],{"class":1364},[1351,1805,1369],{"class":1368},[1351,1807,1372],{"class":1368},[1351,1809,1376],{"class":1375},[1351,1811,1379],{"class":1375},[1351,1813,1382],{"class":1368},[1351,1815,1817,1820,1823,1825,1827],{"class":1353,"line":1816},22,[1351,1818,1819],{"class":1368},"  -H",[1351,1821,1822],{"class":1375}," \"Content-Type: multipart/form-data; boundary=",[1351,1824,1524],{"class":1415},[1351,1826,1527],{"class":1375},[1351,1828,1382],{"class":1368},[1351,1830,1832,1834,1837,1839,1841],{"class":1353,"line":1831},23,[1351,1833,1819],{"class":1368},[1351,1835,1836],{"class":1375}," \"X-Webhook-Timestamp: ",[1351,1838,1731],{"class":1415},[1351,1840,1527],{"class":1375},[1351,1842,1382],{"class":1368},[1351,1844,1846,1848,1851,1853,1855],{"class":1353,"line":1845},24,[1351,1847,1819],{"class":1368},[1351,1849,1850],{"class":1375}," \"X-Webhook-Nonce: ",[1351,1852,1738],{"class":1415},[1351,1854,1527],{"class":1375},[1351,1856,1382],{"class":1368},[1351,1858,1860,1862,1865,1868,1870],{"class":1353,"line":1859},25,[1351,1861,1819],{"class":1368},[1351,1863,1864],{"class":1375}," \"X-Webhook-Signature: sha256=",[1351,1866,1867],{"class":1415},"$SIG",[1351,1869,1527],{"class":1375},[1351,1871,1382],{"class":1368},[1351,1873,1875,1878,1881,1883],{"class":1353,"line":1874},26,[1351,1876,1877],{"class":1368},"  --data-binary",[1351,1879,1880],{"class":1375}," @\"",[1351,1882,1535],{"class":1415},[1351,1884,1538],{"class":1375},[1351,1886,1888],{"class":1353,"line":1887},27,[1351,1889,1490],{"emptyLinePlaceholder":1489},[1351,1891,1893,1896,1899,1901,1903],{"class":1353,"line":1892},28,[1351,1894,1895],{"class":1364},"rm",[1351,1897,1898],{"class":1368}," -f",[1351,1900,1521],{"class":1375},[1351,1902,1535],{"class":1415},[1351,1904,1538],{"class":1375},[1174,1906,1907],{"id":1907},"选择冲突策略",[1167,1909,1910,1911,1914],{},"确定再次收到同名文件时的处理方式。在创建 Webhook 时选择；创建后也可以在同一界面中重新调整并选择 ",[1191,1912,1913],{},"应用"," 来更改。",[1283,1916,1917,1926],{},[1286,1918,1919],{},[1289,1920,1921,1924],{},[1292,1922,1923],{},"策略",[1292,1925,1297],{},[1299,1927,1928,1938,1948],{},[1289,1929,1930,1935],{},[1304,1931,1932],{},[1191,1933,1934],{},"拒绝",[1304,1936,1937],{},"如果已有同名文件，则不保存新收到的文件。",[1289,1939,1940,1945],{},[1304,1941,1942],{},[1191,1943,1944],{},"覆盖",[1304,1946,1947],{},"用新收到的文件替换现有文件。",[1289,1949,1950,1955],{},[1304,1951,1952],{},[1191,1953,1954],{},"重命名",[1304,1956,1957],{},"保留现有文件，将新收到的文件以其他名称保存。",[1174,1959,1960],{"id":1960},"指定文件名",[1167,1962,1963],{},"上传文件的名称可通过以下两种方法之一指定。",[1178,1965,1966,1972],{},[1181,1967,1968,1969],{},"查询参数：",[1191,1970,1971],{},"?filename=report.json",[1181,1973,1974,1975],{},"HTTP 标头：",[1191,1976,1977],{},"X-Webhook-Filename: report.json",[1167,1979,1980],{},[1210,1981],{"alt":1982,"src":1983},"指定文件名的方法","./_screenshots/webhook-filename-spec_en.png",[1174,1985,1986],{"id":1986},"保存到子文件夹",[1167,1988,1989,1990,1198],{},"通过 Webhook 接收的文件会保存在创建 Webhook 的文件夹的正下方。如果要在文件名中附加子路径，将文件保存到该文件夹下的子文件夹中，请开启 Webhook 的 ",[1191,1991,1986],{},[1204,1993,1994,1997,2005],{},[1181,1995,1996],{},"在 Webhook 列表中展开要设置的 Webhook。",[1181,1998,1216,1999,2001,2002,1198],{},[1191,2000,1986],{}," 中选择 ",[1191,2003,2004],{},"允许",[1181,2006,1234,2007,1198],{},[1191,2008,1913],{},[1167,2010,2011],{},"文件名中指定以 Webhook 文件夹为基准的相对路径。不存在的文件夹会自动创建。",[1178,2013,2014,2019],{},[1181,2015,1968,2016],{},[1191,2017,2018],{},"?filename=releases/1.0/a.zip",[1181,2020,1974,2021],{},[1191,2022,2023],{},"X-Webhook-Filename: releases/1.0/a.zip",[1283,2025,2026,2036],{},[1286,2027,2028],{},[1289,2029,2030,2033],{},[1292,2031,2032],{},"规则",[1292,2034,2035],{},"说明",[1299,2037,2038,2046,2070],{},[1289,2039,2040,2043],{},[1304,2041,2042],{},"深度与长度",[1304,2044,2045],{},"子文件夹最多 8 层，单个名称最长 255 字节。",[1289,2047,2048,2051],{},[1304,2049,2050],{},"不可使用的路径",[1304,2052,2053,2054,2057,2058,2061,2062,2065,2066,2069],{},"包含 ",[1191,2055,2056],{},".."," 的名称、以 ",[1191,2059,2060],{},"/"," 开头或结尾的路径、反斜杠（",[1191,2063,2064],{},"\\","）以及以 ",[1191,2067,2068],{},"."," 开头的文件夹名称会被拒绝。",[1289,2071,2072,2075],{},[1304,2073,2074],{},"路径指定位置",[1304,2076,2077,2078,2081],{},"子路径只能通过查询参数或标头指定。",[1191,2079,2080],{},"multipart/form-data"," 文件项名称中写入的文件夹不会被使用。",[2083,2084,2085],"note",{},[1167,2086,2087,2088,2090,2091,2093,2094,1198],{},"如果无法选择 ",[1191,2089,2004],{},"，并显示管理员未允许保存到子文件夹的提示，则需要管理员在 ",[1185,2092,173],{"href":1187},"中开启 ",[1191,2095,2096],{},"允许保存到子文件夹",[1174,2098,2099],{"id":2099},"查看接收到的数据",[1167,2101,2102],{},"外部发送的数据会以文件形式累积在文件夹中。打开文件夹即可查看接收记录。",[1174,2104,2106],{"id":2105},"暂停和删除-webhook","暂停和删除 Webhook",[1178,2108,2109,2123],{},[1181,2110,2111,2112,1327,2115,2118,2119],{},"可以在文件夹中暂停或删除 Webhook。将鼠标悬停在列表中的 Webhook 上，会出现 ",[1191,2113,2114],{},"暂停",[1191,2116,2117],{},"删除"," 按钮。\n",[1210,2120],{"alt":2121,"src":2122},"Webhook 列表中的暂停·删除按钮","./_screenshots/webhook-list-hover_en.png",[1181,2124,1216,2125,2127,2128,2131],{},[1191,2126,435],{}," 的 ",[1191,2129,2130],{},"我的 Webhook"," 选项卡中，可以一目了然地查看自己在哪些文件夹中设置了 Webhook。在此列表中也可以暂停或删除 Webhook。",[1167,2133,2134],{},[1210,2135],{"alt":2136,"src":2137},"指南","./_screenshots/account-my-webhook_en.png",[2139,2140,2141],"warning",{},[1167,2142,2143,2146],{},[1252,2144,2145],{},"接收地址（URL）中包含访问权限。"," 请妥善管理，避免泄露到外部。",[2148,2149,2150,2154],"use-case",{},[2151,2152,2153],"h3",{"id":2153},"可以这样使用",[1178,2155,2156,2162,2168,2174],{},[1181,2157,2158,2161],{},[1252,2159,2160],{},"网站/页面监控","：可以将 Zapier、n8n、Make 等工具定期截取的网站截图自动累积到文件夹中，以跟踪变更历史。",[1181,2163,2164,2167],{},[1252,2165,2166],{},"保存业务自动化产出物","：将 RPA、自动化工具生成的报告、发票、PDF 等无需人工干预直接保存到文件夹中。",[1181,2169,2170,2173],{},[1252,2171,2172],{},"收集表单提交的附件","：可以将 Google 表单、Typeform 等提交的附件自动汇集到一个文件夹中。",[1181,2175,2176,2179],{},[1252,2177,2178],{},"保存构建/部署产物","：可以自动接收 CI/CD 流水线生成的构建产物或测试报告。",[1174,2181,2182],{"id":2182},"相关文档",[1178,2184,2185],{},[1181,2186,2187],{},[1185,2188,173],{"href":1187},[2190,2191,2192],"style",{},"html pre.shiki code .s8-w5, html code.shiki .s8-w5{--shiki-default:#6A737D;--shiki-dark:#6A737D;--shiki-sepia:#88846F}html pre.shiki code .srTi1, html code.shiki .srTi1{--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .s7F3e, html code.shiki .s7F3e{--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html pre.shiki code .sstjo, html code.shiki .sstjo{--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}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);}html pre.shiki code .sMOD_, html code.shiki .sMOD_{--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .sC2Qs, html code.shiki .sC2Qs{--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .sTrkL, html code.shiki .sTrkL{--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#66D9EF}",{"title":1347,"searchDepth":1361,"depth":1385,"links":2194},[2195,2196,2197,2198,2199,2200,2201,2202,2205],{"id":1176,"depth":1361,"text":1176},{"id":1201,"depth":1361,"text":1202},{"id":1272,"depth":1361,"text":1272},{"id":1907,"depth":1361,"text":1907},{"id":1960,"depth":1361,"text":1960},{"id":1986,"depth":1361,"text":1986},{"id":2099,"depth":1361,"text":2099},{"id":2105,"depth":1361,"text":2106,"children":2203},[2204],{"id":2153,"depth":1385,"text":2153},{"id":2182,"depth":1361,"text":2182},"在 SetFN 工作空间中，文件夹 Webhook 可将外部系统发送的文件自动接收到指定文件夹。","md",{},{"title":2210,"description":2206,"ogType":2211,"twitterCard":2212,"keywords":2213},"文件夹 Webhook | Workspace Docs","article","summary_large_image",[507,1202,2099,2214,2215,2216,2217],"Webhook 管理","SetFN 工作空间","文件夹管理","自动接收外部发送的文件","4EMGTgIJwh9lT_Wx8u3NGCtYavNFnx1zcYxm5P9ARDU",[2220,2221],{"title":502,"path":503,"stem":504,"slug":505,"children":-1},{"title":512,"path":513,"stem":514,"slug":517,"children":-1},{"title":507,"filename":2223,"content":2224},"webhook","# 文件夹 Webhook\n\n可以将外部发送的文件自动接收到指定文件夹。每个文件夹都会生成专属的接收地址，外部向该地址发送数据后，数据会自动保存到文件夹中。\n\n---\n\n## 开始之前\n\n- 管理员设置：需要在[设置 Webhook 策略](../../10.admin/20.service-config/16.webhook-settings.md)中同时开启 `启用入站 Webhook` 和 `允许用户签发 API 密钥`。\n\n## 在文件夹中创建 Webhook\n\n1. 选择要接收 Webhook 的文件夹名称旁的设置（⚙️）图标。\n![文件夹设置](./_screenshots/folder-setting-icon-webhook_en.png)\n\n2. 在 `Webhook 接收` 选项卡中选择 `添加` 按钮。\n\n3. 选择认证方式和冲突策略。这两个值将在下文详细说明。\n![创建 Webhook](./_screenshots/webhook-simple-create_zh.png)\n\n4. 选择 `创建` 按钮后，会生成该文件夹专属的接收地址（`Endpoint URL`）。如果选择了 `Secure`，还会一并生成 `签名密钥`（signing secret）。**这些值只在此时显示，之后无法再次查看，请复制并保存到安全的地方。**\n![使用 Simple 认证创建的 Webhook](./_screenshots/webhook-simple-url-reveal_en.png)\n\n5. 按照界面上显示的接收地址和示例指南，在外部系统中设置 Webhook。各认证方式的请求示例请参见下文\"选择认证方式\"。\n\n6. 已设置 Webhook 的文件夹会显示 :icon{name=\"webhooks-logo\"} 图标。\n\n## 选择认证方式\n\n创建 Webhook 时，选择 `Simple` 或 `Secure`。\n\n| 认证方式 | 行为 |\n|---|---|\n| `Simple` | 接收地址（URL）本身就是认证信息。无需额外签名，只需向发放的地址发送 `POST` 请求即可保存文件。 |\n| `Secure` | 每次请求都必须计算 HMAC 签名，并通过 `X-Webhook-Timestamp`、`X-Webhook-Nonce`、`X-Webhook-Signature` 标头一同发送。即使接收地址泄露到外部，没有签名的请求也会被拒绝。 |\n\n使用 `Simple` 创建的 Webhook 仅凭 URL 即可发送请求。\n\n```bash\n# Upload a file via multipart\ncurl -i -X POST \"https://\u003C接收地址>?filename=photo.jpg\" \\\n  -F \"file=@./photo.jpg\"\n```\n\n使用 `Secure` 创建的 Webhook 必须将请求正文（对整个 multipart 正文，包括边界和各部分标头，计算得到的 SHA-256 哈希值）包含在签名中。\n![Secure Webhook 设置界面](./_screenshots/webhook-secure-settings_en.png)\n\n```bash\n# Upload a file via multipart (with HMAC signature)\nTS=$(date +%s)\nNONCE=$(cat /proc/sys/kernel/random/uuid)\nBOUNDARY=\"------------------------$(cat /proc/sys/kernel/random/uuid)\"\nTMP=$(mktemp /tmp/multipart.XXXXXX)\n\n# Build the raw multipart body first, then hash that body.\nprintf -- --%s$'\\r\\n' \"$BOUNDARY\" > \"$TMP\"\nprintf 'Content-Disposition: form-data; name=\"file\"; filename=\"photo.jpg\"' >> \"$TMP\"\nprintf $'\\r\\n' >> \"$TMP\"\nprintf 'Content-Type: application/octet-stream' >> \"$TMP\"\nprintf $'\\r\\n\\r\\n' >> \"$TMP\"\ncat ./photo.jpg >> \"$TMP\"\nprintf $'\\r\\n' >> \"$TMP\"\nprintf -- --%s--$'\\r\\n' \"$BOUNDARY\" >> \"$TMP\"\n\nBODY_SHA=$(sha256sum \"$TMP\" | awk '{print $1}')\nSIG=$(printf 'POST\\n\u003C接收路径>\\n%s\\n%s\\n%s' \"$TS\" \"$NONCE\" \"$BODY_SHA\" \\\n  | openssl dgst -sha256 -hmac \"$SECRET\" -binary | xxd -p -c 256)\n\ncurl -i -X POST \"https://\u003C接收地址>?filename=photo.jpg\" \\\n  -H \"Content-Type: multipart/form-data; boundary=$BOUNDARY\" \\\n  -H \"X-Webhook-Timestamp: $TS\" \\\n  -H \"X-Webhook-Nonce: $NONCE\" \\\n  -H \"X-Webhook-Signature: sha256=$SIG\" \\\n  --data-binary @\"$TMP\"\n\nrm -f \"$TMP\"\n```\n\n## 选择冲突策略\n\n确定再次收到同名文件时的处理方式。在创建 Webhook 时选择；创建后也可以在同一界面中重新调整并选择 `应用` 来更改。\n\n| 策略 | 行为 |\n|---|---|\n| `拒绝` | 如果已有同名文件，则不保存新收到的文件。 |\n| `覆盖` | 用新收到的文件替换现有文件。 |\n| `重命名` | 保留现有文件，将新收到的文件以其他名称保存。 |\n\n## 指定文件名\n\n上传文件的名称可通过以下两种方法之一指定。\n\n- 查询参数：`?filename=report.json`\n- HTTP 标头：`X-Webhook-Filename: report.json`\n\n![指定文件名的方法](./_screenshots/webhook-filename-spec_en.png)\n\n## 保存到子文件夹\n\n通过 Webhook 接收的文件会保存在创建 Webhook 的文件夹的正下方。如果要在文件名中附加子路径，将文件保存到该文件夹下的子文件夹中，请开启 Webhook 的 `保存到子文件夹`。\n\n1. 在 Webhook 列表中展开要设置的 Webhook。\n2. 在 `保存到子文件夹` 中选择 `允许`。\n3. 选择 `应用`。\n\n文件名中指定以 Webhook 文件夹为基准的相对路径。不存在的文件夹会自动创建。\n\n- 查询参数：`?filename=releases/1.0/a.zip`\n- HTTP 标头：`X-Webhook-Filename: releases/1.0/a.zip`\n\n| 规则 | 说明 |\n|---|---|\n| 深度与长度 | 子文件夹最多 8 层，单个名称最长 255 字节。 |\n| 不可使用的路径 | 包含 `..` 的名称、以 `/` 开头或结尾的路径、反斜杠（`\\`）以及以 `.` 开头的文件夹名称会被拒绝。 |\n| 路径指定位置 | 子路径只能通过查询参数或标头指定。`multipart/form-data` 文件项名称中写入的文件夹不会被使用。 |\n\n::note\n如果无法选择 `允许`，并显示管理员未允许保存到子文件夹的提示，则需要管理员在 [Webhook 设置](../../10.admin/20.service-config/16.webhook-settings.md)中开启 `允许保存到子文件夹`。\n::\n\n## 查看接收到的数据\n\n外部发送的数据会以文件形式累积在文件夹中。打开文件夹即可查看接收记录。\n\n## 暂停和删除 Webhook\n\n- 可以在文件夹中暂停或删除 Webhook。将鼠标悬停在列表中的 Webhook 上，会出现 `暂停`、`删除` 按钮。\n![Webhook 列表中的暂停·删除按钮](./_screenshots/webhook-list-hover_en.png)\n- 在 `账户设置` 的 `我的 Webhook` 选项卡中，可以一目了然地查看自己在哪些文件夹中设置了 Webhook。在此列表中也可以暂停或删除 Webhook。\n\n![指南](./_screenshots/account-my-webhook_en.png)\n\n::warning\n**接收地址（URL）中包含访问权限。** 请妥善管理，避免泄露到外部。\n::\n\n::use-case\n### 可以这样使用\n\n- **网站/页面监控**：可以将 Zapier、n8n、Make 等工具定期截取的网站截图自动累积到文件夹中，以跟踪变更历史。\n- **保存业务自动化产出物**：将 RPA、自动化工具生成的报告、发票、PDF 等无需人工干预直接保存到文件夹中。\n- **收集表单提交的附件**：可以将 Google 表单、Typeform 等提交的附件自动汇集到一个文件夹中。\n- **保存构建/部署产物**：可以自动接收 CI/CD 流水线生成的构建产物或测试报告。\n::\n\n## 相关文档\n\n- [Webhook 设置](../../10.admin/20.service-config/16.webhook-settings.md)\n",1793056641144]