95 lines
73 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!doctype html><script>(function(e,t,n,s,o){e[s]=e[s]||[],e[s].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var a=t.getElementsByTagName(n)[0],i=t.createElement(n),r=s!="dataLayer"?"&l="+s:"";i.async=!0,i.src="https://www.googletagmanager.com/gtm.js?id="+o+r,a.parentNode.insertBefore(i,a)})(window,document,"script","dataLayer","GTM-W9HPZZ22")</script><html lang=zh-cn><head><meta charset=utf-8><title>快速开始本地开发 | FastGPT</title><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="对 FastGPT 进行开发调试"><meta name=keywords content="Documentation,Hugo,Hugo Theme,Bootstrap"><meta name=author content="Colin Wilson - Lotus Labs"><meta name=email content="support@aigis.uk"><meta name=website content="https://lotusdocs.dev"><meta name=Version content="v0.1.0"><link rel=icon href=https://doc.tryfastgpt.ai/favicon.ico sizes=any><link rel=icon type=image/svg+xml href=https://doc.tryfastgpt.ai/favicon.svg><link rel=apple-touch-icon sizes=180x180 href=https://doc.tryfastgpt.ai/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=https://doc.tryfastgpt.ai/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=https://doc.tryfastgpt.ai/favicon-16x16.png><link rel=manifest crossorigin=use-credentials href=https://doc.tryfastgpt.ai/site.webmanifest><meta property="og:title" content="快速开始本地开发"><meta property="og:description" content="对 FastGPT 进行开发调试"><meta property="og:type" content="article"><meta property="og:url" content="https://doc.tryfastgpt.ai/docs/development/intro/"><meta property="og:image" content="https://doc.tryfastgpt.ai/opengraph/card-base-2_hu06b1a92291a380a0d2e0ec03dab66b2f_17642_filter_11394685928641071766.png"><meta property="article:section" content="docs"><meta name=twitter:card content="summary_large_image"><meta name=twitter:image content="https://doc.tryfastgpt.ai/opengraph/card-base-2_hu06b1a92291a380a0d2e0ec03dab66b2f_17642_filter_11394685928641071766.png"><meta name=twitter:title content="快速开始本地开发"><meta name=twitter:description content="对 FastGPT 进行开发调试"><script>(()=>{var t=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,e=localStorage.getItem("theme");t&&e===null&&(localStorage.setItem("theme","dark"),document.documentElement.setAttribute("data-dark-mode","")),t&&e==="dark"&&document.documentElement.setAttribute("data-dark-mode",""),e==="dark"&&document.documentElement.setAttribute("data-dark-mode","")})()</script><link rel=preconnect href=https://gstatic.loli.net/><link rel=preconnect href=https://gstatic.loli.net/ crossorigin><link href="https://fonts.loli.net/css?family=Inter:300,400,600,700|Fira+Code:500,700|JetBrains+Mono:500,700&display=block" rel=stylesheet><link rel=stylesheet href=/docs/scss/style.min.0ec826a837202d1bb0cc402457fc3b09de1d00673bd1fea8591ce85da15706ba66db8c4b0243747a2179524215798bcd.css integrity=sha384-DsgmqDcgLRuwzEAkV/w7Cd4dAGc70f6oWRzoXaFXBrpm24xLAkN0eiF5UkIVeYvN crossorigin=anonymous><script data-id=umami-script async src=https://umami.fastgpt.in/fastgpt data-website-id=69b3f2c6-39a5-4937-b92d-6fdd5c8f5958></script><script type=text/javascript>document.querySelector('script[data-id="umami-script"]').addEventListener("load",function(){const e=document.head.querySelector('meta[property = "og:type"]').getAttribute("content");let t=document.head.querySelector('meta[property = "og:title"]').getAttribute("content"),n=document.head.querySelector('meta[property = "og:url"]').getAttribute("content");umami.track(e+":"+t,{url:n})})</script><script defer>function loadAnalyticsScript(){var e=document.createElement("script");e.async=!0,e.src="https://gaxy.fastgpt.in/gtag/js?id=G-KGYF44Y7TT",document.head.appendChild(e),window.dataLayer=window.dataLayer||[];function t(){dataLayer.push(arguments)}t("js",new Date),t("config","G-KGYF44Y7TT"),window.removeEventListener("scroll",onScrollLoadAnalytics)}function onScrollLoadAnalytics(){window.scrollY>100&&loadAnalyticsScript()}window.addEventListener("scroll",onScrollLoadAnalytics)</script><script defer>function loadScriptOnScroll(){var e,t,n,s=window.scrollY||window.pageYOffset;s>100&&(n=n||[],e=document.createElement("script"),e.src="https://hm.baidu.com/hm.js?537c7867df8f9ae2e7147284ec0dbfdd",t=document.getElementsByTagName("script")[0],t.parentNode.insertBefore(e,t),window.removeEventListener("scroll",loadScriptOnScroll))}window.addEventListener("scroll",loadScriptOnScroll)</script><script defer>function loadClarityScript(){(function(e,t,n,s,o,i,a){e[n]=e[n]||function(){(e[n].q=e[n].q||[]).push(arguments)},i=t.createElement(s),i.async=1,i.src="https://www.clarity.ms/tag/"+o,a=t.getElementsByTagName(s)[0],a.parentNode.insertBefore(i,a)})(window,document,"clarity","script","mjgug8s1pf"),window.removeEventListener("scroll",onScrollLoadClarity)}function onScrollLoadClarity(){window.scrollY>100&&loadClarityScript()}window.addEventListener("scroll",onScrollLoadClarity)</script><link rel=preload href=https://cdn.jsdelivr.net/npm/lxgw-wenkai-screen-webfont@1.1.0/style.css as=style><link rel=stylesheet href=https://cdn.jsdelivr.net/npm/lxgw-wenkai-screen-webfont@1.1.0/style.css></head><body><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W9HPZZ22" height=0 width=0 style=display:none;visibility:hidden></iframe></noscript><div class=content><div class="page-wrapper toggled"><nav id=sidebar class=sidebar-wrapper><div class=sidebar-brand><a href=https://tryfastgpt.ai/ aria-label=HomePage alt=HomePage style=text-transform:unset><svg width="26" height="26" viewBox="0 0 1041 1348" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M340.837.33933 681.068.338989V.455643C684.032.378397 686.999.339702 689.967.339702 735.961.3397 781.504 9.62899 823.997 27.6772 866.49 45.7254 905.099 72.1791 937.622 105.528 970.144 138.877 995.942 178.467 1013.54 222.04 1031.14 265.612 1040.2 312.312 1040.2 359.474H340.836V1347.84C296.157 1347.84 251.914 1338.55 210.636 1320.49 169.357 1302.43 131.85 1275.95 100.257 1242.58 68.6636 1209.21 43.6023 1169.59 26.5041 1125.99 11.3834 1087.43 2.75216 1046.42.957956 1004.81H.605869L.605897 368.098H.70363c-.597878-26.267 1.53378-52.655 6.43943-78.687C20.2709 219.745 52.6748 155.754 100.257 105.528 147.839 55.3017 208.462 21.0975 274.461 7.24017 296.426 2.62833 318.657.339101 340.837.33933z" fill="url(#paint0_linear_1172_228)"/><path d="M633.639 904.645H513.029V576.37H635.422V576.377C678.161 576.607 720.454 585.093 759.951 601.37 799.997 617.874 836.384 642.064 867.033 672.559c30.65 30.495 54.963 66.698 71.55 106.542C955.171 818.944 963.709 861.648 963.709 904.775H633.639V904.645z" fill="url(#paint1_linear_1172_228)"/><defs><linearGradient id="paint0_linear_1172_228" x1="520.404" y1=".338989" x2="520.404" y2="1347.84" gradientUnits="userSpaceOnUse"><stop stop-color="#326dff"/><stop offset="1" stop-color="#8eaeff"/></linearGradient><linearGradient id="paint1_linear_1172_228" x1="738.369" y1="576.37" x2="738.369" y2="904.775" gradientUnits="userSpaceOnUse"><stop stop-color="#326dff"/><stop offset="1" stop-color="#8eaeff"/></linearGradient></defs></svg>&nbsp;
FastGPT</a></div><div class=sidebar-content style="height:calc(100% - 131px)"><ul class=sidebar-menu><li><a class=sidebar-root-link href=https://doc.tryfastgpt.ai/docs/intro/><i class="material-icons me-2">rocket_launch</i>
快速了解 FastGPT</a></li><li class=sidebar-dropdown><button class=btn>
<i class="material-icons me-2">import_contacts</i>
功能介绍</button><div class=sidebar-submenu><ul><li class="sidebar-dropdown nested"><button class=btn>
基础教程</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/course/quick-start/>快速上手</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/course/ai_settings/>AI 相关参数配置说明</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/course/chat_input_guide/>对话问题引导</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/course/collection_tags/>知识库集合标签</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/course/fileinput/>文件输入功能介绍</a></li></ul></div></li><li class="sidebar-dropdown nested"><button class=btn>
工作台</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/basic-mode/>简易模式</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/intro/>工作流&插件</a></li><li class="sidebar-dropdown nested"><button class=btn>
工作流节点</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/ai_chat/>AI 对话</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/dataset_search/>知识库搜索</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/tool/>工具调用&终止</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/question_classify/>问题分类</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/content_extract/>文本内容提取</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/user-selection/>用户选择</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/form_input/>表单输入</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/text_editor/>文本拼接</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/reply/>指定回复</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/document_parsing/>文档解析</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/http/>HTTP 请求</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/tfswitch/>判断器</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/variable_update/>变量更新</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/sandbox/>代码运行</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/loop/>批量运行</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/knowledge_base_search_merge/>知识库搜索引用合并</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/coreferenceresolution/>问题优化</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/laf/>Laf 函数调用</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/workflow/custom_feedback/>自定义反馈</a></li></ul></div></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/mcp_server/>MCP 服务</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/mcp_tools/>MCP 工具集</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dashboard/gapier/>使用 Gapier 快速导入Agent工具</a></li></ul></div></li><li class="sidebar-dropdown nested"><button class=btn>
系统插件</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/plugins/how_to_submit_system_plugin/>如何提交系统插件</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/plugins/searxng_plugin_guide/>SearXNG 搜索插件配置与使用说明</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/plugins/google_search_plugin_guide/>Google 搜索插件填写说明</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/plugins/bing_search_plugin/>Bing 搜索插件填写说明</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/plugins/doc2x_plugin_guide/>Doc2x 插件填写说明</a></li></ul></div></li><li class="sidebar-dropdown nested"><button class=btn>
知识库</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/knowledge_base/rag/>知识库基础原理介绍</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/knowledge_base/dataset_engine/>知识库搜索方案和参数</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/knowledge_base/api_dataset/>API 文件库</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/knowledge_base/lark_dataset/>飞书知识库</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/knowledge_base/yuque_dataset/>语雀文件库</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/knowledge_base/websync/>Web 站点同步</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/knowledge_base/externalfile/>外部文件知识库</a></li></ul></div></li><li class="sidebar-dropdown nested"><button class=btn>
团队与权限</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/team_permissions/team_roles_permissions/>团队&成员组&权限</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/team_permissions/invitation_link/>邀请链接说明文档</a></li></ul></div></li><li class="sidebar-dropdown nested"><button class=btn>
对话框</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dialogboxes/htmlrendering/>对话框与HTML渲染</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/dialogboxes/quotelist/>知识库引用分块阅读器</a></li></ul></div></li><li class="sidebar-dropdown nested"><button class=btn>
商业版后台</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/admin/sso/>SSO & 外部成员同步</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/guide/admin/teammode/>团队模式说明文档</a></li></ul></div></li></ul></div></li><li class=sidebar-dropdown><button class=btn>
<i class="material-icons me-2">cases</i>
使用案例</button><div class=sidebar-submenu><ul><li class="sidebar-dropdown nested"><button class=btn>
外部调用 FastGPT</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/use-cases/external-integration/openapi/>通过 API 访问应用</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/use-cases/external-integration/feishu/>接入飞书机器人教程</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/use-cases/external-integration/dingtalk/>接入钉钉机器人教程</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/use-cases/external-integration/official_account/>接入微信公众号教程</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/use-cases/external-integration/onwechat/>对接 chatgpt-on-wechat</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/use-cases/external-integration/wechat/>接入微信和企业微信</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/use-cases/external-integration/iframe_integration/>iframe 接入</a></li></ul></div></li><li class="sidebar-dropdown nested"><button class=btn>
应用搭建案例</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/use-cases/app-cases/submit_application_template/>如何提交应用模板</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/use-cases/app-cases/translate-subtitle-using-gpt/>长字幕翻译</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/use-cases/app-cases/multi_turn_translation_bot/>多轮翻译机器人</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/use-cases/app-cases/english_essay_correction_bot/>英语作文纠错机器人</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/use-cases/app-cases/fixingevidence/>固定开头和结尾内容</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/use-cases/app-cases/lab_appointment/>实验室预约</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/use-cases/app-cases/dalle3/>Dalle3 绘图</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/use-cases/app-cases/google_search/>接入谷歌搜索</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/use-cases/app-cases/feishu_webhook/>发送飞书webhook通知</a></li></ul></div></li></ul></div></li><li class="sidebar-dropdown current active"><button class=btn>
<i class="material-icons me-2">code_blocks</i>
开发与部署指南</button><div class="sidebar-submenu d-block"><ul><li class=current><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/intro/>快速开始本地开发</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/sealos/>Sealos 一键部署</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/docker/>Docker Compose 快速部署</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/configuration/>配置文件介绍</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/faq/>私有部署常见问题</a></li><li class="sidebar-dropdown nested"><button class=btn>
模型配置方案</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/modelconfig/intro/>FastGPT 模型配置说明</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/modelconfig/ai-proxy/>通过 AI Proxy 接入模型</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/modelconfig/one-api/>通过 OneAPI 接入模型</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/modelconfig/siliconcloud/>通过 SiliconCloud 体验开源模型</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/modelconfig/ppio/>通过 PPIO LLM API 接入模型</a></li></ul></div></li><li class="sidebar-dropdown nested"><button class=btn>
版本更新/升级操作</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/intro/>升级说明</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/498/>V4.9.8</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/497/>V4.9.7</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/496/>V4.9.6</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/495/>V4.9.5</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/494/>V4.9.4</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/493/>V4.9.3</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/492/>V4.9.2</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/491/>V4.9.1</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/490/>V4.9.0(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/4823/>V4.8.23</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/4822/>V4.8.22(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/4821/>V4.8.21</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/4820/>V4.8.20(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/4819/>V4.8.19(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/4818/>V4.8.18(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/4817/>V4.8.17(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/4816/>V4.8.16(更新配置文件)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/4815/>V4.8.15(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/4814/>V4.8.14</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/4813/>V4.8.13</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/4812/>V4.8.12(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/4811/>V4.8.11(商业版初始化)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/4810/>V4.8.10(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/489/>V4.8.9(需要初始化)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/488/>V4.8.8(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/487/>V4.8.7</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/486/>V4.8.6(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/485/>V4.8.5(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/484/>V4.8.4(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/483/>V4.8.3</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/482/>V4.8.2</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/481/>V4.8.1(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/48/>V4.8</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/471/>V4.7.1(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/47/>V4.7(需要初始化)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/469/>V4.6.9(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/468/>V4.6.8(需要初始化)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/467/>V4.6.7(需要初始化)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/466/>V4.6.6(需要改配置文件)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/465/>V4.6.5(需要改配置文件)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/464/>V4.6.4(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/463/>V4.6.3(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/462/>V4.6.2(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/461/>V4.6.1</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/46/>V4.6(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/452/>V4.5.2</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/451/>V4.5.1(需进行初始化)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/45/>V4.5(需进行较为复杂更新)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/447/>V4.4.7(需执行升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/446/>V4.4.6</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/445/>V4.4.5(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/442/>升级到 V4.4.2(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/441/>升级到 V4.4.1(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/44/>升级到 V4.4(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/43/>升级到 V4.3(包含升级脚本)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/421/>升级到 V4.2.1</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/42/>升级到 V4.2</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/41/>升级到 V4.1</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/upgrading/40/>升级到 V4.0</a></li></ul></div></li><li class="sidebar-dropdown nested"><button class=btn>
OpenAPI 接口文档</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/openapi/intro/>OpenAPI 介绍</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/openapi/chat/>对话接口</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/openapi/dataset/>知识库接口</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/openapi/share/>分享链接身份鉴权</a></li></ul></div></li><li class="sidebar-dropdown nested"><button class=btn>
本地模型使用</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/custom-models/marker/>接入 Marker PDF 文档解析</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/custom-models/xinference/>使用 Xinference 接入本地模型</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/custom-models/bge-rerank/>接入 bge-rerank 重排模型</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/custom-models/chatglm2/>接入 ChatGLM2-6B</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/custom-models/m3e/>接入 M3E 向量模型</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/custom-models/chatglm2-m3e/>接入 ChatGLM2-m3e 模型</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/custom-models/ollama/>使用 Ollama 接入本地模型</a></li></ul></div></li><li class="sidebar-dropdown nested"><button class=btn>
代理方案</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/proxy/nginx/>Nginx 中转</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/proxy/http_proxy/>HTTP 代理中转</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/proxy/cloudflare/>Cloudflare Worker 中转</a></li></ul></div></li><li class="sidebar-dropdown nested"><button class=btn>
迁移&备份</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/migration/docker_mongo/>Docker Mongo迁移(dump模式)</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/migration/docker_db/>Docker 数据库迁移(无脑操作)</a></li></ul></div></li><li class="sidebar-dropdown nested"><button class=btn>
设计方案</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/development/design/dataset/>数据集</a></li></ul></div></li></ul></div></li><li class=sidebar-dropdown><button class=btn>
<i class="material-icons me-2">quiz</i>
FAQ</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/faq/docker/>Docker 部署问题</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/faq/privatedeploy/>私有部署常见问题</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/faq/chat/>聊天框问题</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/faq/app/>应用使用问题</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/faq/dataset/>知识库使用问题</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/faq/external_channel_integration/>接入外部渠道</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/faq/error/>报错</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/faq/points_consumption/>积分消耗</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/faq/other/>其他问题</a></li></ul></div></li><li class=sidebar-dropdown><button class=btn>
<i class="material-icons me-2">shopping_cart</i>
收费说明</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/shopping_cart/saas/>线上版定价</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/shopping_cart/intro/>商业版</a></li></ul></div></li><li class=sidebar-dropdown><button class=btn>
<i class="material-icons me-2">handshake</i>
协议</button><div class=sidebar-submenu><ul><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/agreement/open-source/>开源协议</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/agreement/terms/>服务协议</a></li><li><a class=sidebar-nested-link href=https://doc.tryfastgpt.ai/docs/agreement/privacy/>隐私政策</a></li></ul></div></li><li><a class=sidebar-root-link href=https://doc.tryfastgpt.ai/docs/community/><i class="material-icons me-2">forum</i>
加入社区</a></li></ul></div><ul class="sidebar-footer list-unstyled mb-0"></ul></nav><main class="page-content bg-transparent"><div id=top-header class="top-header d-print-none"><div class="header-bar d-flex justify-content-between"><div class="d-flex align-items-center"><a href=https://tryfastgpt.ai/ class="logo-icon me-3" aria-label=HomePage alt=HomePage><div class=small><svg width="26" height="26" viewBox="0 0 1041 1348" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M340.837.33933 681.068.338989V.455643C684.032.378397 686.999.339702 689.967.339702 735.961.3397 781.504 9.62899 823.997 27.6772 866.49 45.7254 905.099 72.1791 937.622 105.528 970.144 138.877 995.942 178.467 1013.54 222.04 1031.14 265.612 1040.2 312.312 1040.2 359.474H340.836V1347.84C296.157 1347.84 251.914 1338.55 210.636 1320.49 169.357 1302.43 131.85 1275.95 100.257 1242.58 68.6636 1209.21 43.6023 1169.59 26.5041 1125.99 11.3834 1087.43 2.75216 1046.42.957956 1004.81H.605869L.605897 368.098H.70363c-.597878-26.267 1.53378-52.655 6.43943-78.687C20.2709 219.745 52.6748 155.754 100.257 105.528 147.839 55.3017 208.462 21.0975 274.461 7.24017 296.426 2.62833 318.657.339101 340.837.33933z" fill="url(#paint0_linear_1172_228)"/><path d="M633.639 904.645H513.029V576.37H635.422V576.377C678.161 576.607 720.454 585.093 759.951 601.37 799.997 617.874 836.384 642.064 867.033 672.559c30.65 30.495 54.963 66.698 71.55 106.542C955.171 818.944 963.709 861.648 963.709 904.775H633.639V904.645z" fill="url(#paint1_linear_1172_228)"/><defs><linearGradient id="paint0_linear_1172_228" x1="520.404" y1=".338989" x2="520.404" y2="1347.84" gradientUnits="userSpaceOnUse"><stop stop-color="#326dff"/><stop offset="1" stop-color="#8eaeff"/></linearGradient><linearGradient id="paint1_linear_1172_228" x1="738.369" y1="576.37" x2="738.369" y2="904.775" gradientUnits="userSpaceOnUse"><stop stop-color="#326dff"/><stop offset="1" stop-color="#8eaeff"/></linearGradient></defs></svg></div><div class=big><svg width="26" height="26" viewBox="0 0 1041 1348" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M340.837.33933 681.068.338989V.455643C684.032.378397 686.999.339702 689.967.339702 735.961.3397 781.504 9.62899 823.997 27.6772 866.49 45.7254 905.099 72.1791 937.622 105.528 970.144 138.877 995.942 178.467 1013.54 222.04 1031.14 265.612 1040.2 312.312 1040.2 359.474H340.836V1347.84C296.157 1347.84 251.914 1338.55 210.636 1320.49 169.357 1302.43 131.85 1275.95 100.257 1242.58 68.6636 1209.21 43.6023 1169.59 26.5041 1125.99 11.3834 1087.43 2.75216 1046.42.957956 1004.81H.605869L.605897 368.098H.70363c-.597878-26.267 1.53378-52.655 6.43943-78.687C20.2709 219.745 52.6748 155.754 100.257 105.528 147.839 55.3017 208.462 21.0975 274.461 7.24017 296.426 2.62833 318.657.339101 340.837.33933z" fill="url(#paint0_linear_1172_228)"/><path d="M633.639 904.645H513.029V576.37H635.422V576.377C678.161 576.607 720.454 585.093 759.951 601.37 799.997 617.874 836.384 642.064 867.033 672.559c30.65 30.495 54.963 66.698 71.55 106.542C955.171 818.944 963.709 861.648 963.709 904.775H633.639V904.645z" fill="url(#paint1_linear_1172_228)"/><defs><linearGradient id="paint0_linear_1172_228" x1="520.404" y1=".338989" x2="520.404" y2="1347.84" gradientUnits="userSpaceOnUse"><stop stop-color="#326dff"/><stop offset="1" stop-color="#8eaeff"/></linearGradient><linearGradient id="paint1_linear_1172_228" x1="738.369" y1="576.37" x2="738.369" y2="904.775" gradientUnits="userSpaceOnUse"><stop stop-color="#326dff"/><stop offset="1" stop-color="#8eaeff"/></linearGradient></defs></svg></div></a><button id=close-sidebar class="btn btn-icon btn-soft">
<span class="material-icons size-20 menu-icon align-middle">menu</span></button>
<span><div id=docsearch></div></span></div><div class="d-flex align-items-center"><ul class="list-unstyled mb-0"><li class="list-inline-item mb-0"><a href=https://github.com/labring/FastGPT alt=github rel="noopener noreferrer" target=_blank><div class="btn btn-icon btn-default border-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><title>GitHub</title><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"/></svg></div></a></li><li class="list-inline-item mb-0"><a href=https://oss.laf.run/htr4n1-images/fastgpt-qr-code.jpg alt=wechat rel="noopener noreferrer" target=_blank><div class="btn btn-icon btn-default border-0"><svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 28 28" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><title>微信群</title><path d="M21.6696 15.9962C21.9464 15.9925 22.2107 15.881 22.4064 15.6853 22.6021 15.4896 22.7137 15.2252 22.7173 14.9485c0-.581-.465500000000002-1.0477-1.0477-1.0477C21.0875 13.9008 20.622 14.3675 20.622 14.9485c0 .583300000000001.4666 1.0477 1.0476 1.0477zm-5.1625.0C16.7839 15.9925 17.0482 15.881 17.2439 15.6853S17.5512 15.2252 17.5548 14.9485c0-.581-.466699999999999-1.0477-1.0477-1.0477C15.9238 13.9008 15.4595 14.3675 15.4595 14.9485c0 .583300000000001.4655 1.0477 1.0476 1.0477zm7.6615 5.88C24.0939 21.9177 24.0342 21.9818 23.9981 22.0594 23.9621 22.1369 23.9515 22.2239 23.968 22.3078 23.968 22.3638 23.968 22.421 23.9971 22.4793c.1144.486500000000003.343 1.2612.343 1.2904C24.3401 23.8548 24.3693 23.912 24.3693 23.9703 24.3693 24.0041 24.3626 24.0376 24.3496 24.0688 24.3367 24.1 24.3177 24.1284 24.2937 24.1522 24.2697 24.1761 24.2413 24.195 24.21 24.2078 24.1788 24.2206 24.1453 24.2272 24.1115 24.227 24.0531 24.227 24.0251 24.199 23.968 24.171L22.2775 23.1957C22.154 23.1277 22.0168 23.0886 21.8761 23.0813 21.791 23.0813 21.7046 23.0813 21.6475 23.1093 20.8448 23.3392 20.0141 23.4535 19.1263 23.4535c-4.27.0-7.7082-2.8665-7.7082-6.4225.0-3.5548 3.4382-6.4225 7.7082-6.4225 4.2688.0 7.707 2.8677 7.707 6.4225.0 1.9215-1.0313 3.6703-2.6647 4.8463V21.8762zM19.4518 9.44883C19.3429 9.44521 19.234 9.44327 19.1251 9.443c-4.8696.0-8.8736 3.3367-8.8736 7.5892.0.6463.0932999999999993 1.2716.266 1.8666H10.4136C9.39426 18.8885 8.38067 18.7442 7.39896 18.4695 7.31263 18.4403 7.22629 18.4403 7.13996 18.4403 6.96754 18.444 6.79921 18.4935 6.65229 18.5838L4.61296 19.7563C4.55463 19.7855 4.49746 19.8147 4.44029 19.8147 4.35703 19.8138 4.27744 19.7803 4.21856 19.7214 4.15968 19.6625 4.1262 19.5829 4.12529 19.4997 4.12529 19.4133 4.15329 19.3562 4.18246 19.2698 4.21046 19.2418 4.46946 18.2968 4.61296 17.7252 4.61296 17.6668 4.64096 17.5817 4.64096 17.5245 4.64065 17.4245 4.61721 17.3259 4.57248 17.2364 4.52775 17.147 4.46295 17.0691 4.38313 17.0088c-1.98217-1.4035-3.2165-3.4918-3.2165-5.8111.0-4.26187 4.165-7.6977 9.27497-7.6977 4.3925.0 8.085 2.5305 9.0102 5.94767V9.44883zM13.4388 9.9365c.6685.0 1.197-.5565 1.197-1.197.0-.6685-.528499999999999-1.197-1.197-1.197S12.2418 8.071 12.2418 8.7395 12.7703 9.9365 13.4388 9.9365zm-6.13667.0c.6685.0 1.19816-.5565 1.19816-1.197.0-.6685-.52966-1.197-1.19816-1.197-.66734.0-1.197.528499999999999-1.197 1.197s.52966 1.197 1.197 1.197z"/></svg></div></a></li><li class="list-inline-item mb-0"><a href=https://oss.laf.run/otnvvf-imgs/fastgpt-feishu1.png alt=lark rel="noopener noreferrer" target=_blank><div class="btn btn-icon btn-default border-0"><svg t="1728884315234" class="icon" viewBox="0 0 1224 1024" xmlns="http://www.w3.org/2000/svg" p-id="4847" width="28" height="28" fill="currentcolor"><path d="M1224.146926 401.768509a50.444385 50.444385.0 00-23.813954-38.631991c-6.095363-3.741292-61.752335-36.782364-141.475481-43.949671A317.253146 317.253146.0 00922.972928 336.16979L746.964061 25.579507A50.444385 50.444385.0 00703.077446.0H284.809419A50.444385 50.444385.0 00248.027055 84.97777c3.236848 3.447033 296.360763 315.739814 426.969683 459.653442-59.734559 55.762064-103.558119 83.800735-127.666331 96.832201L346.435643 500.639504a50.045034 50.045034.0 00-6.97814-4.098606L79.416697 314.205464A50.444385 50.444385.0 00.744475 364.124387c.210185 1.177036 20.619142 118.607361 42.036988 237.635091 44.033744 245.538045 48.994109 257.896919 52.272994 266.11515 5.065457 12.611096 14.334613 24.549601 44.895503 44.538188a595.916337 595.916337.0 0069.361029 38.337733c49.519571 23.603769 128.212812 54.437899 221.59798 67.25918a623.009175 623.009175.0 0085.061845 5.948234c131.491697.0 290.055215-44.138837 418.373119-211.404011 73.564728-96.054517 118.250046-163.944252 154.086578-218.592335 44.033745-67.070014 70.622139-107.551633 118.838564-150.177139a50.444385 50.444385.0 0016.877851-42.015969zM673.693591 100.88877 834.443032 384.638437a413.097477 413.097477.0 00-63.055481 59.356226c-8.743693 10.04684-17.256183 19.568218-25.579507 28.711263-89.559802-98.744884-248.774893-269.373017-344.619225-371.817156zM305.491617 882.125167c-59.86067-22.594881-102.065806-47.85911-118.523287-59.692523-10.299062-45.610132-39.935138-209.638457-65.829922-355.780044l391.238243 274.270325a48.132351 48.132351.0 006.725918 3.951477l189.166445 132.689752A398.300458 398.300458.0 01552.85827 921.702991c-97.336645 7.713787-188.262649-17.277202-247.366653-39.577824zm698.654734-343.442189c-34.932737 53.197808-78.398982 119.385045-149.819824 212.496972a503.371908 503.371908.0 01-58.641598 64.33761L637.499745 704.687042c35.31107-23.813953 81.152405-60.070855 135.905581-114.803013a48.342536 48.342536.0 0014.944149-15.154334c18.790533-19.379051 38.568936-40.859952 59.272153-64.694924 57.086229-65.745849 124.009113-96.243683 198.540692-90.673782a247.639894 247.639894.0 0138.589955 6.011289c-28.290893 33.62959-51.936698 69.63427-80.605924 113.3107z" p-id="4848"/></svg></div></a></li></ul><button id=mode class="btn btn-icon btn-default ms-2" type=button aria-label="Toggle user interface mode">
<span class=toggle-dark><svg xmlns="http://www.w3.org/2000/svg" height="30" width="30" viewBox="0 0 48 48" fill="currentcolor"><path d="M24 42q-7.5.0-12.75-5.25T6 24t5.25-12.75T24 6q.4.0.85.025.45.025 1.15.075-1.8 1.6-2.8 3.95t-1 4.95q0 4.5 3.15 7.65Q28.5 25.8 33 25.8q2.6.0 4.95-.925T41.9 22.3q.05.6.075.975Q42 23.65 42 24q0 7.5-5.25 12.75T24 42zm0-3q5.45.0 9.5-3.375t5.05-7.925q-1.25.55-2.675.825Q34.45 28.8 33 28.8q-5.75.0-9.775-4.025T19.2 15q0-1.2.25-2.575t.9-3.125q-4.9 1.35-8.125 5.475Q9 18.9 9 24q0 6.25 4.375 10.625T24 39zm-.2-14.85z"/></svg></span><span class=toggle-light><svg xmlns="http://www.w3.org/2000/svg" height="30" width="30" viewBox="0 0 48 48" fill="currentcolor"><path d="M24 31q2.9.0 4.95-2.05T31 24t-2.05-4.95T24 17t-4.95 2.05T17 24t2.05 4.95T24 31zm0 3q-4.15.0-7.075-2.925T14 24t2.925-7.075T24 14t7.075 2.925T34 24t-2.925 7.075T24 34zM3.5 25.5q-.65.0-1.075-.425Q2 24.65 2 24t.425-1.075Q2.85 22.5 3.5 22.5h5q.65.0 1.075.425Q10 23.35 10 24t-.425 1.075T8.5 25.5zm36 0q-.65.0-1.075-.425Q38 24.65 38 24t.425-1.075T39.5 22.5h5q.65.0 1.075.425Q46 23.35 46 24t-.425 1.075-1.075.425zM24 10q-.65.0-1.075-.425Q22.5 9.15 22.5 8.5v-5q0-.65.425-1.075Q23.35 2 24 2t1.075.425T25.5 3.5v5q0 .65-.425 1.075Q24.65 10 24 10zm0 36q-.65.0-1.075-.425T22.5 44.5v-5q0-.65.425-1.075Q23.35 38 24 38t1.075.425.425 1.075v5q0 .65-.425 1.075Q24.65 46 24 46zM12 14.1l-2.85-2.8q-.45-.45-.425-1.075.025-.625.425-1.075.45-.45 1.075-.45t1.075.45L14.1 12q.4.45.4 1.05.0.6-.4 1-.4.45-1.025.45T12 14.1zm24.7 24.75L33.9 36q-.4-.45-.4-1.075t.45-1.025q.4-.45 1-.45t1.05.45l2.85 2.8q.45.45.425 1.075-.025.625-.425 1.075-.45.45-1.075.45t-1.075-.45zM33.9 14.1q-.45-.45-.45-1.05.0-.6.45-1.05l2.8-2.85q.45-.45 1.075-.425.625.025 1.075.425.45.45.45 1.075t-.45 1.075L36 14.1q-.4.4-1.025.4t-1.075-.4zM9.15 38.85q-.45-.45-.45-1.075t.45-1.075L12 33.9q.45-.45 1.05-.45.6.0 1.05.45.45.45.45 1.05.0.6-.45 1.05l-2.8 2.85q-.45.45-1.075.425-.625-.025-1.075-.425zM24 24z"/></svg></span></button></div></div></div><div class=container-fluid><div class=layout-spacing><div class="d-md-flex justify-content-between align-items-center"><nav aria-label=breadcrumb class="d-inline-block pb-2 mt-1 mt-sm-0"><ul id=breadcrumbs class="breadcrumb bg-transparent mb-0" itemscope itemtype=https://schema.org/BreadcrumbList><li class="breadcrumb-item text-capitalize active" aria-current=page itemprop=itemListElement itemscope itemtype=https://schema.org/ListItem><a itemprop=item href=/docs/><i class="material-icons size-20 align-text-bottom" itemprop=name>Home</i></a><meta itemprop=position content="1"></li><li class="breadcrumb-item text-capitalize" itemprop=itemListElement itemscope itemtype=https://schema.org/ListItem><a itemprop=item href=/docs/development/><span itemprop=name>开发与部署指南</span></a><meta itemprop=position content="2"></li><li class="breadcrumb-item text-capitalize active" itemprop=itemListElement itemscope itemtype=https://schema.org/ListItem><span itemprop=name>快速开始本地开发</span><meta itemprop=position content="3"></li></ul></nav></div><div class="row flex-xl-nowrap"><div class="docs-toc col-xl-3 d-xl-block"><toc><div class="fw-bold text-uppercase mb-2">快速开始本地开发</div><nav id=toc><ul><li><ul><li><a href=#前置依赖项>前置依赖项</a></li><li><a href=#开始本地开发>开始本地开发</a><ul><li><a href=#1-fork-存储库>1. Fork 存储库</a></li><li><a href=#2-克隆存储库>2. 克隆存储库</a></li><li><a href=#3-安装数据库>3. 安装数据库</a></li><li><a href=#4-初始配置>4. 初始配置</a></li><li><a href=#5-运行>5. 运行</a></li><li><a href=#6-部署打包>6. 部署打包</a></li></ul></li><li><a href=#提交代码至开源仓库>提交代码至开源仓库</a></li><li><a href=#qa>QA</a><ul><li><a href=#本地数据库无法连接>本地数据库无法连接</a></li><li><a href=#sh-scriptspostinstallsh-没权限>sh ./scripts/postinstall.sh 没权限</a></li><li><a href=#typeerror-cannot-read-properties-of-null-reading-usememo->TypeError: Cannot read properties of null (reading &lsquo;useMemo&rsquo; )</a></li><li><a href=#error-response-from-daemon-error-while-creating-mount-source-path-xxx-mkdir-xxx-file-exists>Error response from daemon: error while creating mount source path &lsquo;XXX&rsquo;: mkdir XXX: file exists</a></li></ul></li><li><a href=#加入社区>加入社区</a></li><li><a href=#代码结构说明>代码结构说明</a><ul><li><a href=#nextjs>nextjs</a></li><li><a href=#monorepo>monorepo</a></li><li><a href=#领域驱动模式ddd>领域驱动模式DDD</a></li></ul></li></ul></li></ul></nav></toc></div><div class="docs-toc-mobile d-print-none d-xl-none"><button id=toc-dropdown-btn class="btn-secondary dropdown-toggle" type=button data-bs-toggle=dropdown data-bs-offset=0,0 aria-expanded=false>
Table of Contents</button><nav id=toc-mobile><ul class=dropdown-menu><li><ul><li><a href=#前置依赖项>前置依赖项</a></li><li><a href=#开始本地开发>开始本地开发</a><ul><li><a href=#1-fork-存储库>1. Fork 存储库</a></li><li><a href=#2-克隆存储库>2. 克隆存储库</a></li><li><a href=#3-安装数据库>3. 安装数据库</a></li><li><a href=#4-初始配置>4. 初始配置</a></li><li><a href=#5-运行>5. 运行</a></li><li><a href=#6-部署打包>6. 部署打包</a></li></ul></li><li><a href=#提交代码至开源仓库>提交代码至开源仓库</a></li><li><a href=#qa>QA</a><ul><li><a href=#本地数据库无法连接>本地数据库无法连接</a></li><li><a href=#sh-scriptspostinstallsh-没权限>sh ./scripts/postinstall.sh 没权限</a></li><li><a href=#typeerror-cannot-read-properties-of-null-reading-usememo->TypeError: Cannot read properties of null (reading &lsquo;useMemo&rsquo; )</a></li><li><a href=#error-response-from-daemon-error-while-creating-mount-source-path-xxx-mkdir-xxx-file-exists>Error response from daemon: error while creating mount source path &lsquo;XXX&rsquo;: mkdir XXX: file exists</a></li></ul></li><li><a href=#加入社区>加入社区</a></li><li><a href=#代码结构说明>代码结构说明</a><ul><li><a href=#nextjs>nextjs</a></li><li><a href=#monorepo>monorepo</a></li><li><a href=#领域驱动模式ddd>领域驱动模式DDD</a></li></ul></li></ul></li></ul></nav></div><div class="docs-content col-12 col-xl-9 mt-0"><div class="mb-0 d-flex"><i class="material-icons title-icon me-2">developer_guide</i><h1 class="content-title mb-0">快速开始本地开发</h1></div><p class="lead mb-3">对 FastGPT 进行开发调试</p><div id=content class=main-content data-bs-spy=scroll data-bs-root-margin="0px 0px -65%" data-bs-target=#toc-mobile><div data-prismjs-copy data-prismjs-copy-success data-prismjs-copy-error><p>本文档介绍了如何设置开发环境以构建和测试 <a href=https://tryfastgpt.ai rel=external target=_blank>FastGPT<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a>,。</p><h2 id=前置依赖项>前置依赖项 <a href=#%e5%89%8d%e7%bd%ae%e4%be%9d%e8%b5%96%e9%a1%b9 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><p>您需要在计算机上安装和配置以下依赖项才能构建 <a href=https://tryfastgpt.ai rel=external target=_blank>FastGPT<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a></p><ul><li><a href=http://git-scm.com/ rel=external target=_blank>Git<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a></li><li><a href=https://www.docker.com/ rel=external target=_blank>Docker<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a>(构建镜像)</li><li><a href=http://nodejs.org rel=external target=_blank>Node.js v20.14.0<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a>版本尽量一样可以使用nvm管理node版本</li><li><a href=https://pnpm.io/ rel=external target=_blank>pnpm<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a> 推荐版本 9.4.0 (目前官方的开发环境)</li><li>make命令: 根据不同平台,百度安装 (官方是GNU Make 4.3)</li></ul><h2 id=开始本地开发>开始本地开发 <a href=#%e5%bc%80%e5%a7%8b%e6%9c%ac%e5%9c%b0%e5%bc%80%e5%8f%91 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><div class="alert alert-success d-flex" role=alert><div class="flex-shrink-1 alert-icon"><span class="material-icons size-20 me-2">check_circle</span></div><div class=w-100><ol><li>用户默认的时区为 <code>Asia/Shanghai</code>,非 linux 环境时候,获取系统时间会异常,本地开发时候,可以将用户的时区调整成 UTC+0</li><li>建议先服务器装好<strong>数据库</strong>,再进行本地开发。</li></ol></div></div><h3 id=1-fork-存储库>1. Fork 存储库 <a href=#1-fork-%e5%ad%98%e5%82%a8%e5%ba%93 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>您需要 Fork <a href=https://github.com/labring/FastGPT rel=external target=_blank>存储库<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a></p><h3 id=2-克隆存储库>2. 克隆存储库 <a href=#2-%e5%85%8b%e9%9a%86%e5%ad%98%e5%82%a8%e5%ba%93 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>克隆您在 GitHub 上 Fork 的存储库:</p><div class=prism-codeblock><pre id=e477975 class=language->
<code>git clone git@github.com:&lt;github_username&gt;/FastGPT.git</code>
</pre></div><p><strong>目录简要说明</strong></p><ol><li><code>projects</code> 目录下为 FastGPT 应用代码。其中 <code>app</code> 为 FastGPT 核心应用。(后续可能会引入其他应用)</li><li>NextJS 框架前后端放在一起API 服务位于 <code>src/pages/api</code> 目录内。</li><li><code>packages</code> 目录为共用代码,通过 workspace 被注入到 <code>projects</code> 中,已配置 monorepo 自动注入,无需额外打包。</li></ol><h3 id=3-安装数据库>3. 安装数据库 <a href=#3-%e5%ae%89%e8%a3%85%e6%95%b0%e6%8d%ae%e5%ba%93 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>第一次开发,需要先部署数据库,建议本地开发可以随便找一台 2C2G 的轻量小数据库实践或者新建文件夹并配置相关文件用以运行docker。数据库部署教程<a data-bs-delay='{"hide":300,"show":550}' data-bs-html=true data-bs-title="<a href='/docs/development/docker/'><p>开发与部署指南</p><strong>Docker Compose 快速部署</strong><br>使用 Docker Compose 快速部署 FastGPT</a>" data-bs-toggle=tooltip href=/docs/development/docker/>Docker 快速部署</a>。部署完了,可以本地访问其数据库。</p><div class="alert alert-warning d-flex" role=alert><div class="flex-shrink-1 alert-icon"><span class="material-icons size-20 me-2">warning</span></div><div class=w-100><p>Mongo 数据库需要注意,需要注意在连接地址中增加 <code>directConnection=true</code> 参数,才能连接上副本集的数据库。</p></div></div><h3 id=4-初始配置>4. 初始配置 <a href=#4-%e5%88%9d%e5%a7%8b%e9%85%8d%e7%bd%ae class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>以下文件均在 <code>projects/app</code> 路径下。</p><p><strong>1. 环境变量</strong></p><p>复制<code>.env.template</code>文件,在同级目录下生成一个<code>.env.local</code> 文件,修改<code>.env.local</code> 里内容才是有效的变量。变量说明见 .env.template主要需要修改<code>API_KEY</code>和数据库的地址与端口以及数据库账号的用户名和密码具体配置需要和docker配置文件相同其中用户名和密码如需修改需要修改docker配置文件、数据库和<code>.env.local</code>文件,不能只改一处。</p><p><strong>2. config 配置文件</strong></p><p>复制 <code>data/config.json</code> 文件,生成一个 <code>data/config.local.json</code> 配置文件,具体配置参数说明,可参考 <a data-bs-delay='{"hide":300,"show":550}' data-bs-html=true data-bs-title="<a href='/docs/development/configuration/'><p>开发与部署指南</p><strong>配置文件介绍</strong><br>FastGPT 配置参数介绍</a>" data-bs-toggle=tooltip href=/docs/development/configuration/>config 配置说明</a></p><p><strong>注意json 配置文件不能包含注释,介绍中为了方便看才加入的注释</strong></p><p>这个文件大部分时候不需要修改。只需要关注 <code>systemEnv</code> 里的参数:</p><ul><li><code>vectorMaxProcess</code>: 向量生成最大进程,根据数据库和 key 的并发数来决定,通常单个 120 号2c4g 服务器设置 10~15。</li><li><code>qaMaxProcess</code>: QA 生成最大进程</li><li><code>vlmMaxProcess</code>: 图片理解模型最大进程</li><li><code>hnswEfSearch</code>: 向量搜索参数,仅对 PG 和 OB 生效,越大搜索精度越高但是速度越慢。</li></ul><h3 id=5-运行>5. 运行 <a href=#5-%e8%bf%90%e8%a1%8c class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>可参考项目根目录下的 <code>dev.md</code>,第一次编译运行可能会有点慢,需要点耐心哦</p><div class=prism-codeblock><pre id=d64ca95 class=language-bash>
<code># 代码根目录下执行,会安装根 package、projects 和 packages 内所有依赖
# 如果提示 isolate-vm 安装失败可以参考https://github.com/laverdet/isolated-vm?tab=readme-ov-file#requirements
pnpm i
# 非 Make 运行
cd projects/app
pnpm dev
# Make 运行
make dev name=app</code>
</pre></div><h3 id=6-部署打包>6. 部署打包 <a href=#6-%e9%83%a8%e7%bd%b2%e6%89%93%e5%8c%85 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><div class=prism-codeblock><pre id=cfc2a77 class=language-bash>
<code># Docker cmd: Build image, not proxy
docker build -f ./projects/app/Dockerfile -t registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.8.1 . --build-arg name=app
# Make cmd: Build image, not proxy
make build name=app image=registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.8.1
# Docker cmd: Build image with proxy
docker build -f ./projects/app/Dockerfile -t registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.8.1 . --build-arg name=app --build-arg proxy=taobao
# Make cmd: Build image with proxy
make build name=app image=registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.8.1 proxy=taobao</code>
</pre></div><p>如果不使用 <code>docker</code> 打包,需要手动把 <code>Dockerfile</code> 里 run 阶段的内容全部手动执行一遍(非常不推荐)。</p><h2 id=提交代码至开源仓库>提交代码至开源仓库 <a href=#%e6%8f%90%e4%ba%a4%e4%bb%a3%e7%a0%81%e8%87%b3%e5%bc%80%e6%ba%90%e4%bb%93%e5%ba%93 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><ol><li>确保你的代码是 Fork <a href=https://github.com/labring/FastGPT rel=external target=_blank>FastGPT<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a> 仓库</li><li>尽可能少量的提交代码,每次提交仅解决一个问题。</li><li>向 FastGPT 的 main 分支提交一个 PR提交请求后FastGPT 团队/社区的其他人将与您一起审查它。</li></ol><p>如果遇到问题,比如合并冲突或不知道如何打开拉取请求,请查看 GitHub 的<a href=https://docs.github.com/en/pull-requests/collaborating-with-pull-requests rel=external target=_blank>拉取请求教程<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a>,了解如何解决合并冲突和其他问题。一旦您的 PR 被合并,您将自豪地被列为<a href=https://github.com/labring/FastGPT/graphs/contributors rel=external target=_blank>贡献者表<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentcolor" d="M14 5c-.552.0-1-.448-1-1s.448-1 1-1h6c.552.0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1V6.414l-7.293 7.293c-.391.39-1.024.39-1.414.0-.391-.391-.391-1.024.0-1.414L17.586 5H14zM5 7c-.552.0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552.0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1V19c0 1.657-1.343 3-3 3H5c-1.657.0-3-1.343-3-3V8c0-1.657 1.343-3 3-3h4.563c.552.0 1 .448 1 1s-.448 1-1 1H5z"/></svg></a>中的一员。</p><h2 id=qa>QA <a href=#qa class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><h3 id=本地数据库无法连接>本地数据库无法连接 <a href=#%e6%9c%ac%e5%9c%b0%e6%95%b0%e6%8d%ae%e5%ba%93%e6%97%a0%e6%b3%95%e8%bf%9e%e6%8e%a5 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><ol><li>如果你是连接远程的数据库,先检查对应的端口是否开放。</li><li>如果是本地运行的数据库,可尝试<code>host</code>改成<code>localhost</code><code>127.0.0.1</code></li><li>本地连接远程的 Mongo需要增加 <code>directConnection=true</code> 参数,才能连接上副本集的数据库。</li><li>mongo使用<code>mongocompass</code>客户端进行连接测试和可视化管理。</li><li>pg使用<code>navicat</code>进行连接和管理。</li></ol><h3 id=sh-scriptspostinstallsh-没权限>sh ./scripts/postinstall.sh 没权限 <a href=#sh-scriptspostinstallsh-%e6%b2%a1%e6%9d%83%e9%99%90 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>FastGPT 在<code>pnpm i</code>后会执行<code>postinstall</code>脚本,用于自动生成<code>ChakraUI</code><code>Type</code>。如果没有权限,可以先执行<code>chmod -R +x ./scripts/</code>,再执行<code>pnpm i</code></p><p>仍不可行的话,可以手动执行<code>./scripts/postinstall.sh</code>里的内容。
<em>如果是Windows下的话可以使用git bash给<code>postinstall</code>脚本添加执行权限并执行sh脚本</em></p><h3 id=typeerror-cannot-read-properties-of-null-reading-usememo->TypeError: Cannot read properties of null (reading &lsquo;useMemo&rsquo; ) <a href=#typeerror-cannot-read-properties-of-null-reading-usememo- class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>删除所有的<code>node_modules</code>,用 Node18 重新 install 试试,可能最新的 Node 有问题。 本地开发流程:</p><ol><li>根目录: <code>pnpm i</code></li><li>复制 <code>config.json</code> -> <code>config.local.json</code></li><li>复制 <code>.env.template</code> -> <code>.env.local</code></li><li><code>cd projects/app</code></li><li><code>pnpm dev</code></li></ol><h3 id=error-response-from-daemon-error-while-creating-mount-source-path-xxx-mkdir-xxx-file-exists>Error response from daemon: error while creating mount source path &lsquo;XXX&rsquo;: mkdir XXX: file exists <a href=#error-response-from-daemon-error-while-creating-mount-source-path-xxx-mkdir-xxx-file-exists class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>这个错误可能是之前停止容器时有文件残留导致的首先需要确认相关镜像都全部关闭然后手动删除相关文件或者重启docker即可</p><h2 id=加入社区>加入社区 <a href=#%e5%8a%a0%e5%85%a5%e7%a4%be%e5%8c%ba class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><p>遇到困难了吗?有任何问题吗? 加入飞书群与开发者和用户保持沟通。</p><img width=400px src=https://oss.laf.run/otnvvf-imgs/fastgpt-feishu1.png class=medium-zoom-image><h2 id=代码结构说明>代码结构说明 <a href=#%e4%bb%a3%e7%a0%81%e7%bb%93%e6%9e%84%e8%af%b4%e6%98%8e class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><h3 id=nextjs>nextjs <a href=#nextjs class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>FastGPT 使用了 nextjs 的 page route 作为框架。为了区分好前后端代码,在目录分配上会分成 global, service, web 3个自目录分别对应着 <code>前后端共用</code><code>后端专用</code><code>前端专用</code>的代码。</p><h3 id=monorepo>monorepo <a href=#monorepo class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>FastGPT 采用 pnpm workspace 方式构建 monorepo 项目,主要分为两个部分:</p><ul><li>projects/app - FastGPT 主项目</li><li>packages/ - 子模块<ul><li>global - 共用代码,通常是放一些前后端都能执行的函数、类型声明、常量。</li><li>service - 服务端代码</li><li>web - 前端代码</li><li>plugin - 工作流自定义插件的代码</li></ul></li></ul><h3 id=领域驱动模式ddd>领域驱动模式DDD <a href=#%e9%a2%86%e5%9f%9f%e9%a9%b1%e5%8a%a8%e6%a8%a1%e5%bc%8fddd class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>FastGPT 在代码模块划分时按DDD的思想进行划分主要分为以下几个领域</p><p>core - 核心功能(知识库,工作流,应用,对话)
support - 支撑功能(用户体系,计费,鉴权等)
common - 基础功能(日志管理,文件读写等)</p><details class="last-of-type:mb-0 rounded p-2 mt-4 mb-4 group alert-info"><summary class="p-1 rounded"><strong>代码结构说明</strong></summary><div class=mt-3><pre tabindex=0><code>.
├── .github // github 相关配置
├── .husky // 格式化配置
├── docSite // 文档
├── files // 一些外部文件,例如 docker-compose, helm
├── packages // 子包
│ ├── global // 前后端通用子包
│ ├── plugins // 工作流插件(需要自定义包时候使用到)
│ ├── service // 后端子包
│ └── web // 前端子包
├── projects
│ └── app // FastGPT 主项目
├── python // 存放一些模型代码,和 FastGPT 本身无关
└── scripts // 一些自动化脚本
├── icon // icon预览脚本可以在顶层 pnpm initIcon(把svg写入到代码中), pnpm previewIcon预览icon
└── postinstall.sh // chakraUI自定义theme初始化 ts 类型
├── package.json // 顶层monorepo
├── pnpm-lock.yaml
├── pnpm-workspace.yaml // monorepo 声明
├── Dockerfile
├── LICENSE
├── README.md
├── README_en.md
├── README_ja.md
├── dev.md
</code></pre></div></details></div><div class="gitinfo d-flex flex-wrap justify-content-between align-items-center opacity-85 pt-3"><div id=edit-this-page class=mt-1><a href=https://github.com/labring/FastGPT/blob/main/docSite/content/zh-cn/docs/development/intro.md alt=快速开始本地开发 rel="noopener noreferrer" target=_blank><span class="me-1 align-text-bottom"><svg width="20" height="20" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill="currentcolor"><path d="M16 .396c-8.839.0-16 7.167-16 16 0 7.073 4.584 13.068 10.937 15.183.803.151 1.093-.344 1.093-.772.0-.38-.009-1.385-.015-2.719-4.453.964-5.391-2.151-5.391-2.151-.729-1.844-1.781-2.339-1.781-2.339-1.448-.989.115-.968.115-.968 1.604.109 2.448 1.645 2.448 1.645 1.427 2.448 3.744 1.74 4.661 1.328.14-1.031.557-1.74 1.011-2.135-3.552-.401-7.287-1.776-7.287-7.907.0-1.751.62-3.177 1.645-4.297-.177-.401-.719-2.031.141-4.235.0.0 1.339-.427 4.4 1.641 1.281-.355 2.641-.532 4-.541 1.36.009 2.719.187 4 .541 3.043-2.068 4.381-1.641 4.381-1.641.859 2.204.317 3.833.161 4.235 1.015 1.12 1.635 2.547 1.635 4.297.0 6.145-3.74 7.5-7.296 7.891.556.479 1.077 1.464 1.077 2.959.0 2.14-.02 3.864-.02 4.385.0.416.28.916 1.104.755 6.4-2.093 10.979-8.093 10.979-15.156.0-8.833-7.161-16-16-16z"/></svg></span>编辑此页面</a></div></div></div><div><hr class=doc-hr><div id=doc-nav class=d-print-none><div class="row flex-xl-nowrap"><div class="col-sm-6 pt-2 doc-next"><a href=/docs/use-cases/app-cases/feishu_webhook/><div class="card h-100 my-1"><div class="card-body py-2"><p class="card-title fs-5 fw-semibold lh-base mb-0"><i class="material-icons align-middle">navigate_before</i> 发送飞书webhook通知</p><p class="card-text ms-2">利用工具调用模块发送一个飞书webhook通知</p></div></div></a></div><div class="col-sm-6 pt-2 doc-prev"><a class=ms-auto href=/docs/development/sealos/><div class="card h-100 my-1 text-end"><div class="card-body py-2"><p class="card-title fs-5 fw-semibold lh-base mb-0">Sealos 一键部署 <i class="material-icons align-middle">navigate_next</i></p><p class="card-text me-2">使用 Sealos 一键部署 FastGPT</p></div></div></a></div></div></div></div></div></div></div></div><footer class="shadow py-3 d-print-none"><div class="row align-items-center" style=height:90px><div class=col><div class="text-sm-start text-center mx-md-2"><p class=mb-0>© 2025 the FastGPT Authors.</p><p class=github-badge><span class=badge-subject>云操作系统</span><span class="badge-value bg-blue"><a style=color:#fff href=https://sealos.io/ target=_blank>Sealos</a></span>
<span class=badge-subject>云开发</span><span class="badge-value bg-brightgreen"><a style=color:#fff href=https://laf.run target=_blank>Laf</a></span>
<span class=badge-subject>云原生存储</span><span class="badge-value bg-orange"><a style=color:#fff href=https://github.com/labring/sealfs target=_blank>Sealfs</a></span></p><div id=fixed-box><div class=feedback-btn-wrapper><a href=https://fael3z0zfze.feishu.cn/share/base/form/shrcnRxj3utrzjywsom96Px4sud style=text-decoration:none target=_blank><button id=feedback-btn title="Give feedback"><svg class="inline w-5 h-5" viewBox="0 0 20 20" fill="currentcolor"><path fill-rule="evenodd" d="M18 13V5a2 2 0 00-2-2H4A2 2 0 002 5v8a2 2 0 002 2h3l3 3 3-3h3a2 2 0 002-2zM5 7a1 1 0 011-1h8a1 1 0 110 2H6A1 1 0 015 7zm1 3a1 1 0 100 2h3a1 1 0 100-2H6z" clip-rule="evenodd"/></svg>
<span _msttexthash=6039839 _msthash=295>咨询合作</span></button></a></div></div></div></div></div></footer></main></div></div><button onclick=topFunction() id=back-to-top aria-label="Back to Top Button" class="back-to-top fs-5"><svg width="24" height="24"><path d="M12 10.224l-6.3 6.3-1.38-1.372L12 7.472l7.68 7.68-1.38 1.376z" style="fill:#fff"/></svg></button>
<script>(()=>{var e=document.getElementById("mode");e!==null&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{e.matches?(localStorage.setItem("theme","dark"),document.documentElement.setAttribute("data-dark-mode","")):(localStorage.setItem("theme","light"),document.documentElement.removeAttribute("data-dark-mode"))}),e.addEventListener("click",()=>{document.documentElement.toggleAttribute("data-dark-mode"),localStorage.setItem("theme",document.documentElement.hasAttribute("data-dark-mode")?"dark":"light")}),localStorage.getItem("theme")==="dark"?document.documentElement.setAttribute("data-dark-mode",""):document.documentElement.removeAttribute("data-dark-mode"))})()</script><script src=/docs/js/bootstrap.58faa4dc6cac13820c8a72b1fdd5d716641b3129ef981b1956fa23d69ad59f180fed6d42cb92030ac272ba85e7f8247d.js integrity=sha384-WPqk3GysE4IMinKx/dXXFmQbMSnvmBsZVvoj1prVnxgP7W1Cy5IDCsJyuoXn+CR9 defer></script>
<script type=text/javascript src=https://doc.tryfastgpt.ai/docs/js/bundle.min.68e80f383e0615acc689eae489a8c1d728bea3861d874ec1044cc85566fd9ff1b10385a1feadd324701c587f66e425bc.js integrity=sha384-aOgPOD4GFazGierkiajB1yi+o4Ydh07BBEzIVWb9n/GxA4Wh/q3TJHAcWH9m5CW8 crossorigin=anonymous defer></script>
<script src=https://cdn.jsdelivr.net/npm/medium-zoom/dist/medium-zoom.min.js crossorigin=anonymous referrerpolicy=no-referrer></script>
<script>const images=Array.from(document.querySelectorAll(".medium-zoom-image"));images.forEach(e=>{mediumZoom(e,{margin:0,scrollOffset:40,container:null,template:null,background:"rgba(0, 0, 0, 0.8)"})})</script><script>window.addEventListener("DOMContentLoaded",function(){docsearch({container:"#docsearch",appId:"5BEWEMH0YA",apiKey:"14834e919a87217d919d6d881fcacac3",indexName:"fastgpt",placeholder:"搜索",translations:{button:{buttonText:"搜索",buttonAriaLabel:"搜索"},modal:{startScreen:{noRecentSearchesText:"没有最近搜索"},footer:{selectText:"选中",selectKeyAriaLabel:"Enter key",navigateText:"导航",navigateUpKeyAriaLabel:"Arrow up",navigateDownKeyAriaLabel:"Arrow down",closeText:"关闭",closeKeyAriaLabel:"Escape key",searchByText:"搜索提供"},noResultsScreen:{noResultsText:"没有结果:",suggestedQueryText:"试试搜索",reportMissingResultsText:"Believe this query should return results?",reportMissingResultsLinkText:"Let us know."}}}})})</script></body></html>