deploy: 4ac2a2f43e1728e42645a683041900797b330a69
This commit is contained in:
parent
616bedd5cf
commit
649dba1ad2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -43,43 +43,43 @@ Table of Contents</button><nav id=toc-mobile><ul class=dropdown-menu><li><ul><li
|
||||
"uid": "用户唯一凭证"
|
||||
}
|
||||
}</code>
|
||||
</pre></div><p><code>FastGPT</code> 将会判断<code>success</code>是否为<code>true</code>决定是允许用户继续操作。<code>message</code>与<code>msg</code>是等同的,你可以选择返回其中一个,当<code>success</code>不为<code>true</code>时,将会提示这个错误。</p><p><code>uid</code>是用户的唯一凭证,将会用于拉取对话记录以及保存对话记录。可参考下方实践案例。</p><h3 id=触发流程>触发流程 <a href=#%e8%a7%a6%e5%8f%91%e6%b5%81%e7%a8%8b class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/sharelink_process.png alt loading=lazy class=medium-zoom-image></p><h2 id=配置教程>配置教程 <a href=#%e9%85%8d%e7%bd%ae%e6%95%99%e7%a8%8b class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><h3 id=1-配置身份校验地址>1. 配置身份校验地址 <a href=#1-%e9%85%8d%e7%bd%ae%e8%ba%ab%e4%bb%bd%e6%a0%a1%e9%aa%8c%e5%9c%b0%e5%9d%80 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/share-setlink.png alt loading=lazy class=medium-zoom-image></p><p>配置校验地址后,在每次分享链接使用时,都会向对应的地址发起校验和上报请求。</p><div class="alert alert-default d-flex" role=alert><div class="flex-shrink-1 alert-icon"><p>🤖</p></div><div class=w-100><p>这里仅需配置根地址,无需具体到完整请求路径。</p></div></div><h3 id=2-分享链接中增加额外-query>2. 分享链接中增加额外 query <a href=#2-%e5%88%86%e4%ba%ab%e9%93%be%e6%8e%a5%e4%b8%ad%e5%a2%9e%e5%8a%a0%e9%a2%9d%e5%a4%96-query class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>在分享链接的地址中,增加一个额外的参数: authToken。例如:</p><p>原始的链接:<code>https://share.tryfastgpt.ai/chat/share?shareId=648aaf5ae121349a16d62192</code></p><p>完整链接: <code>https://share.tryfastgpt.ai/chat/share?shareId=648aaf5ae121349a16d62192&authToken=userid12345</code></p><p>这个<code>authToken</code>通常是你系统生成的用户唯一凭证(Token之类的)。FastGPT 会在鉴权接口的<code>body</code>中携带 token={{authToken}} 的参数。</p><h3 id=3-编写聊天初始化校验接口>3. 编写聊天初始化校验接口 <a href=#3-%e7%bc%96%e5%86%99%e8%81%8a%e5%a4%a9%e5%88%9d%e5%a7%8b%e5%8c%96%e6%a0%a1%e9%aa%8c%e6%8e%a5%e5%8f%a3 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=fdeacbTab data-bs-toggle=tab data-bs-target=#fdeacb type=button role=tab aria-controls=fdeacb aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=feadbcTab data-bs-toggle=tab data-bs-target=#feadbc type=button role=tab aria-controls=feadbc aria-selected=true>鉴权成功</a>
|
||||
<a class=nav-link id=aebdcfTab data-bs-toggle=tab data-bs-target=#aebdcf type=button role=tab aria-controls=aebdcf aria-selected=true>鉴权失败</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=fdeacb role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=39d214b class=language-bash>
|
||||
</pre></div><p><code>FastGPT</code> 将会判断<code>success</code>是否为<code>true</code>决定是允许用户继续操作。<code>message</code>与<code>msg</code>是等同的,你可以选择返回其中一个,当<code>success</code>不为<code>true</code>时,将会提示这个错误。</p><p><code>uid</code>是用户的唯一凭证,将会用于拉取对话记录以及保存对话记录。可参考下方实践案例。</p><h3 id=触发流程>触发流程 <a href=#%e8%a7%a6%e5%8f%91%e6%b5%81%e7%a8%8b class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/sharelink_process.png alt loading=lazy class=medium-zoom-image></p><h2 id=配置教程>配置教程 <a href=#%e9%85%8d%e7%bd%ae%e6%95%99%e7%a8%8b class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><h3 id=1-配置身份校验地址>1. 配置身份校验地址 <a href=#1-%e9%85%8d%e7%bd%ae%e8%ba%ab%e4%bb%bd%e6%a0%a1%e9%aa%8c%e5%9c%b0%e5%9d%80 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/share-setlink.png alt loading=lazy class=medium-zoom-image></p><p>配置校验地址后,在每次分享链接使用时,都会向对应的地址发起校验和上报请求。</p><div class="alert alert-default d-flex" role=alert><div class="flex-shrink-1 alert-icon"><p>🤖</p></div><div class=w-100><p>这里仅需配置根地址,无需具体到完整请求路径。</p></div></div><h3 id=2-分享链接中增加额外-query>2. 分享链接中增加额外 query <a href=#2-%e5%88%86%e4%ba%ab%e9%93%be%e6%8e%a5%e4%b8%ad%e5%a2%9e%e5%8a%a0%e9%a2%9d%e5%a4%96-query class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>在分享链接的地址中,增加一个额外的参数: authToken。例如:</p><p>原始的链接:<code>https://share.tryfastgpt.ai/chat/share?shareId=648aaf5ae121349a16d62192</code></p><p>完整链接: <code>https://share.tryfastgpt.ai/chat/share?shareId=648aaf5ae121349a16d62192&authToken=userid12345</code></p><p>这个<code>authToken</code>通常是你系统生成的用户唯一凭证(Token之类的)。FastGPT 会在鉴权接口的<code>body</code>中携带 token={{authToken}} 的参数。</p><h3 id=3-编写聊天初始化校验接口>3. 编写聊天初始化校验接口 <a href=#3-%e7%bc%96%e5%86%99%e8%81%8a%e5%a4%a9%e5%88%9d%e5%a7%8b%e5%8c%96%e6%a0%a1%e9%aa%8c%e6%8e%a5%e5%8f%a3 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=cdfbeaTab data-bs-toggle=tab data-bs-target=#cdfbea type=button role=tab aria-controls=cdfbea aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=dcbeafTab data-bs-toggle=tab data-bs-target=#dcbeaf type=button role=tab aria-controls=dcbeaf aria-selected=true>鉴权成功</a>
|
||||
<a class=nav-link id=bfadceTab data-bs-toggle=tab data-bs-target=#bfadce type=button role=tab aria-controls=bfadce aria-selected=true>鉴权失败</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=cdfbea role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=39d214b class=language-bash>
|
||||
<code>curl --location --request POST '{{host}}/shareAuth/init' \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data-raw '{
|
||||
"token": "{{authToken}}"
|
||||
}'</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=feadbc role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=d6c7899 class=language-json>
|
||||
</pre></div></div><div class="tab-pane fade" id=dcbeaf role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=d6c7899 class=language-json>
|
||||
<code>{
|
||||
"success": true,
|
||||
"data": {
|
||||
"uid": "用户唯一凭证"
|
||||
}
|
||||
}</code>
|
||||
</pre></div><p>系统会拉取该分享链接下,uid 为 username123 的对话记录。</p></div><div class="tab-pane fade" id=aebdcf role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=3297f92 class=language-json>
|
||||
</pre></div><p>系统会拉取该分享链接下,uid 为 username123 的对话记录。</p></div><div class="tab-pane fade" id=bfadce role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=3297f92 class=language-json>
|
||||
<code>{
|
||||
"success": false,
|
||||
"message": "身份错误",
|
||||
}</code>
|
||||
</pre></div></div></div><h3 id=4-编写对话前校验接口>4. 编写对话前校验接口 <a href=#4-%e7%bc%96%e5%86%99%e5%af%b9%e8%af%9d%e5%89%8d%e6%a0%a1%e9%aa%8c%e6%8e%a5%e5%8f%a3 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=dfceabTab data-bs-toggle=tab data-bs-target=#dfceab type=button role=tab aria-controls=dfceab aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=cfabedTab data-bs-toggle=tab data-bs-target=#cfabed type=button role=tab aria-controls=cfabed aria-selected=true>鉴权成功</a>
|
||||
<a class=nav-link id=afbcdeTab data-bs-toggle=tab data-bs-target=#afbcde type=button role=tab aria-controls=afbcde aria-selected=true>鉴权失败</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=dfceab role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=40c1d59 class=language-bash>
|
||||
</pre></div></div></div><h3 id=4-编写对话前校验接口>4. 编写对话前校验接口 <a href=#4-%e7%bc%96%e5%86%99%e5%af%b9%e8%af%9d%e5%89%8d%e6%a0%a1%e9%aa%8c%e6%8e%a5%e5%8f%a3 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=dcefbaTab data-bs-toggle=tab data-bs-target=#dcefba type=button role=tab aria-controls=dcefba aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=fcadebTab data-bs-toggle=tab data-bs-target=#fcadeb type=button role=tab aria-controls=fcadeb aria-selected=true>鉴权成功</a>
|
||||
<a class=nav-link id=bfeacdTab data-bs-toggle=tab data-bs-target=#bfeacd type=button role=tab aria-controls=bfeacd aria-selected=true>鉴权失败</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=dcefba role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=40c1d59 class=language-bash>
|
||||
<code>curl --location --request POST '{{host}}/shareAuth/start' \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data-raw '{
|
||||
"token": "{{authToken}}",
|
||||
"question": "用户问题",
|
||||
}'</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=cfabed role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=d6c7899 class=language-json>
|
||||
</pre></div></div><div class="tab-pane fade" id=fcadeb role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=d6c7899 class=language-json>
|
||||
<code>{
|
||||
"success": true,
|
||||
"data": {
|
||||
"uid": "用户唯一凭证"
|
||||
}
|
||||
}</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=afbcde role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=23a56e7 class=language-json>
|
||||
</pre></div></div><div class="tab-pane fade" id=bfeacd role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=23a56e7 class=language-json>
|
||||
<code>{
|
||||
"success": false,
|
||||
"message": "身份验证失败",
|
||||
@ -202,9 +202,9 @@ Table of Contents</button><nav id=toc-mobile><ul class=dropdown-menu><li><ul><li
|
||||
|
||||
isElseResult?: boolean; // 判断器结果
|
||||
}</code>
|
||||
</pre></div><h2 id=实践案例>实践案例 <a href=#%e5%ae%9e%e8%b7%b5%e6%a1%88%e4%be%8b class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><p>我们以<a href=https://laf.dev/ rel=external target=_blank>Laf作为服务器为例<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>,简单展示这 3 个接口的使用方式。</p><h3 id=1-创建3个laf接口>1. 创建3个Laf接口 <a href=#1-%e5%88%9b%e5%bb%ba3%e4%b8%aalaf%e6%8e%a5%e5%8f%a3 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/share-auth1.png alt loading=lazy class=medium-zoom-image></p><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=daefbcTab data-bs-toggle=tab data-bs-target=#daefbc type=button role=tab aria-controls=daefbc aria-selected=true>/shareAuth/init</a>
|
||||
<a class=nav-link id=becfdaTab data-bs-toggle=tab data-bs-target=#becfda type=button role=tab aria-controls=becfda aria-selected=true>/shareAuth/start</a>
|
||||
<a class=nav-link id=fecbadTab data-bs-toggle=tab data-bs-target=#fecbad type=button role=tab aria-controls=fecbad aria-selected=true>/shareAuth/finish</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=daefbc role=tabpanel aria-labelledby=nav-1><p>这个接口中,我们设置了<code>token</code>必须等于<code>fastgpt</code>才能通过校验。(实际生产中不建议固定写死)</p><div class=prism-codeblock><pre id=ba0b6c9 class=language-ts>
|
||||
</pre></div><h2 id=实践案例>实践案例 <a href=#%e5%ae%9e%e8%b7%b5%e6%a1%88%e4%be%8b class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><p>我们以<a href=https://laf.dev/ rel=external target=_blank>Laf作为服务器为例<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>,简单展示这 3 个接口的使用方式。</p><h3 id=1-创建3个laf接口>1. 创建3个Laf接口 <a href=#1-%e5%88%9b%e5%bb%ba3%e4%b8%aalaf%e6%8e%a5%e5%8f%a3 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/share-auth1.png alt loading=lazy class=medium-zoom-image></p><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=beadfcTab data-bs-toggle=tab data-bs-target=#beadfc type=button role=tab aria-controls=beadfc aria-selected=true>/shareAuth/init</a>
|
||||
<a class=nav-link id=bcefdaTab data-bs-toggle=tab data-bs-target=#bcefda type=button role=tab aria-controls=bcefda aria-selected=true>/shareAuth/start</a>
|
||||
<a class=nav-link id=ecabdfTab data-bs-toggle=tab data-bs-target=#ecabdf type=button role=tab aria-controls=ecabdf aria-selected=true>/shareAuth/finish</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=beadfc role=tabpanel aria-labelledby=nav-1><p>这个接口中,我们设置了<code>token</code>必须等于<code>fastgpt</code>才能通过校验。(实际生产中不建议固定写死)</p><div class=prism-codeblock><pre id=ba0b6c9 class=language-ts>
|
||||
<code>import cloud from '@lafjs/cloud'
|
||||
|
||||
export default async function (ctx: FunctionContext) {
|
||||
@ -217,7 +217,7 @@ export default async function (ctx: FunctionContext) {
|
||||
|
||||
return { success: false,message:"身份错误" }
|
||||
}</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=becfda role=tabpanel aria-labelledby=nav-1><p>这个接口中,我们设置了<code>token</code>必须等于<code>fastgpt</code>才能通过校验。并且如果问题中包含了<code>你</code>字,则会报错,用于模拟敏感校验。</p><div class=prism-codeblock><pre id=cf82db5 class=language-ts>
|
||||
</pre></div></div><div class="tab-pane fade" id=bcefda role=tabpanel aria-labelledby=nav-1><p>这个接口中,我们设置了<code>token</code>必须等于<code>fastgpt</code>才能通过校验。并且如果问题中包含了<code>你</code>字,则会报错,用于模拟敏感校验。</p><div class=prism-codeblock><pre id=cf82db5 class=language-ts>
|
||||
<code>import cloud from '@lafjs/cloud'
|
||||
|
||||
export default async function (ctx: FunctionContext) {
|
||||
@ -235,7 +235,7 @@ export default async function (ctx: FunctionContext) {
|
||||
|
||||
return { success: true, data: { uid: "user1" } }
|
||||
}</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=fecbad role=tabpanel aria-labelledby=nav-1><p>结果上报接口可自行进行逻辑处理。</p><div class=prism-codeblock><pre id=b3696df class=language-ts>
|
||||
</pre></div></div><div class="tab-pane fade" id=ecabdf role=tabpanel aria-labelledby=nav-1><p>结果上报接口可自行进行逻辑处理。</p><div class=prism-codeblock><pre id=b3696df class=language-ts>
|
||||
<code>import cloud from '@lafjs/cloud'
|
||||
|
||||
export default async function (ctx: FunctionContext) {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -9,7 +9,7 @@ docker-compose pull docker-compose up -d 执行升级初始化脚本 link镜像
|
||||
QA link为什么需要执行升级脚本 link数据表出现大幅度变更,无法通过设置默认值,或复杂度较高时,会通过升级脚本来更新部分数据表字段。 严格按初始化步骤进行操作,不会造成旧数据丢失。但在初始化过程中,如果数据量大,需要初始化的时间较长,这段时间可能会造成服务无法正常使用。
|
||||
{{host}} 是什么 link{{}} 代表变量, {{host}}代表一个名为 host 的变量。指的是你服务器的域名或 IP。
|
||||
Sealos 中,你可以在下图中找到你的域名:
|
||||
如何获取 rootkey link从docker-compose.yml中的environment中获取,对应的是ROOT_KEY的值。</description></item><item><title>V4.9.7(进行中)</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/497/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/497/</guid><description>🚀 新增内容 link⚙️ 优化 link Doc2x 文档解析,增加报错信息捕获,增加超时时长。 调整 PG vector 查询语句,强制使用向量索引。 🐛 修复 link 文件上传分块大小限制,避免超出 MongoDB 限制。</description></item><item><title>V4.9.6</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/496/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/496/</guid><description>🚀 新增内容 link 以 MCP 方式对外提供应用调用。 支持以 MCP SSE 协议创建工具。 批量执行节点支持交互节点,可实现每一轮循环都人工参与。 增加工作台二级菜单,合并工具箱。 增加 grok3、GPT4.1、o系列、Gemini2.5 模型系统配置。 ⚙️ 优化 link 工作流数据类型转化鲁棒性和兼容性增强。 Python sandbox 代码,支持大数据输入。 路径组件支持配置最后一步是否可点击。 知识库工具调用结果,自动补充图片域名。 Github action runner 升级成 unbuntu24 去除飞书、公众号等三方渠道,回复时,可能前后多一个换行的问题。 调整分块策略,大表格时,不进行超大块合并,而是独立拆块。 Iframe 嵌套组件,内置允许麦克风声明。 🐛 修复 link 修复子工作流包含交互节点时,未成功恢复子工作流所有数据。 completion v1 接口,未接受 interactive 参数,导致 API 调用失败。 连续工具调用,上下文截断异常 升级指南 link1. 做好数据备份 link2. 部署 MCP server 服务 linkDocker 部署 link在docker-compose.yml文件中,加入fastgpt-mcp-server服务:
|
||||
如何获取 rootkey link从docker-compose.yml中的environment中获取,对应的是ROOT_KEY的值。</description></item><item><title>V4.9.7(进行中)</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/497/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/497/</guid><description>🚀 新增内容 link⚙️ 优化 link Doc2x 文档解析,增加报错信息捕获,增加超时时长。 调整 PG vector 查询语句,强制使用向量索引。 🐛 修复 link 文件上传分块大小限制,避免超出 MongoDB 限制。 使用记录仪表盘,无法获取指定成员的使用统计。 仪表盘接口,因未考虑时区问题,统计异常。 LLM 模型测试接口,无法测试未启用的 LLM。</description></item><item><title>V4.9.6</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/496/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/496/</guid><description>🚀 新增内容 link 以 MCP 方式对外提供应用调用。 支持以 MCP SSE 协议创建工具。 批量执行节点支持交互节点,可实现每一轮循环都人工参与。 增加工作台二级菜单,合并工具箱。 增加 grok3、GPT4.1、o系列、Gemini2.5 模型系统配置。 ⚙️ 优化 link 工作流数据类型转化鲁棒性和兼容性增强。 Python sandbox 代码,支持大数据输入。 路径组件支持配置最后一步是否可点击。 知识库工具调用结果,自动补充图片域名。 Github action runner 升级成 unbuntu24 去除飞书、公众号等三方渠道,回复时,可能前后多一个换行的问题。 调整分块策略,大表格时,不进行超大块合并,而是独立拆块。 Iframe 嵌套组件,内置允许麦克风声明。 🐛 修复 link 修复子工作流包含交互节点时,未成功恢复子工作流所有数据。 completion v1 接口,未接受 interactive 参数,导致 API 调用失败。 连续工具调用,上下文截断异常 升级指南 link1. 做好数据备份 link2. 部署 MCP server 服务 linkDocker 部署 link在docker-compose.yml文件中,加入fastgpt-mcp-server服务:
|
||||
fastgpt-mcp-server: container_name: fastgpt-mcp-server image: ghcr.io/labring/fastgpt-mcp_server:v4.9.6 ports: - 3005:3000 networks: - fastgpt restart: always environment: - FASTGPT_ENDPOINT=http://fastgpt:3000 Sealos 部署 link直接在应用管理中,增加一个fastgpt-mcp-server应用,镜像为ghcr.</description></item><item><title>V4.9.5</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/495/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/495/</guid><description>升级指南 link1. 做好数据备份 link2. 更新镜像 tag link 更新 FastGPT 镜像 tag: v4.9.5 更新 FastGPT 商业版镜像 tag: v4.9.5 Sandbox 无需更新 AIProxy 无需更新 🚀 新增内容 link 团队成员权限细分,可分别控制是否可创建在根目录应用/知识库以及 API Key 支持交互节点在嵌套工作流中使用。 团队成员操作日志。 用户输入节点支持多选框。 ⚙️ 优化 link 繁体中文翻译。 Arm 镜像打包 🐛 修复 link password 检测规则错误。 分享链接无法隐藏知识库检索结果。 IOS 低版本正则兼容问题。 修复问答提取队列错误后,计数器未清零问题,导致问答提取队列失效。 Debug 模式交互节点下一步可能造成死循环。</description></item><item><title>V4.9.4</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/494/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/494/</guid><description>升级指南 link1. 做好数据备份 link2. 安装 Redis link docker 部署的用户,参考最新的 docker-compose.yml 文件增加 Redis 配置。增加一个 redis 容器,并配置fastgpt,fastgpt-pro的环境变量,增加 REDIS_URL 环境变量。 Sealos 部署的用户,在数据库里新建一个redis数据库,并复制内网地址的 connection 作为 redis 的链接串。然后配置fastgpt,fastgpt-pro的环境变量,增加 REDIS_URL 环境变量。 3. 更新镜像 tag link 更新 FastGPT 镜像 tag: v4.9.4 更新 FastGPT 商业版镜像 tag: v4.9.4 Sandbox 无需更新 AIProxy 无需更新 4. 执行升级脚本 link该脚本仅需商业版用户执行。
|
||||
从任意终端,发起 1 个 HTTP 请求。其中 {{rootkey}} 替换成环境变量里的 rootkey;{{host}} 替换成FastGPT 域名。
|
||||
curl --location --request POST &#39;https://{{host}}/api/admin/initv494&#39; \ --header &#39;rootkey: {{rootkey}}&#39; \ --header &#39;Content-Type: application/json&#39; 脚本功能</description></item><item><title>V4.9.3</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/493/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/493/</guid><description>更新指南 link1. 做好数据库备份 link2. 更新镜像 link 更新 FastGPT 镜像 tag: v4.9.3 更新 FastGPT 商业版镜像 tag: v4.9.3 Sandbox 镜像tag: v4.9.3 AIProxy 镜像tag: v0.1.5 🚀 新增内容 link 工作流 debug 模式支持交互节点。 代码运行支持 Python3 代码。 🐛 修复 link 工作流格式转化异常。</description></item><item><title>V4.9.2</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/492/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/492/</guid><description>更新指南 link可直接升级v4.9.3,v4.9.2存在一个工作流数据类型转化错误。
|
||||
|
||||
@ -160,12 +160,12 @@ Table of Contents</button><nav id=toc-mobile><ul class=dropdown-menu><li><ul><li
|
||||
- OAUTH2_MEMBER_NAME_MAP=
|
||||
# OAuth2 联系方式字段映射(选填)
|
||||
- OAUTH2_CONTACT_MAP=</code>
|
||||
</pre></div><h2 id=标准接口文档>标准接口文档 <a href=#%e6%a0%87%e5%87%86%e6%8e%a5%e5%8f%a3%e6%96%87%e6%a1%a3 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><p>以下是 FastGPT-pro 中,SSO 和成员同步的标准接口文档,如果需要对接非标准系统,可以参考该章节进行开发。</p><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/sso18.png alt loading=lazy class=medium-zoom-image></p><p>FastGPT 提供如下标准接口支持:</p><ol><li><a href=https://example.com/login/oauth/getAuthURL rel=external target=_blank>https://example.com/login/oauth/getAuthURL<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://example.com/login/oauth/getUserInfo?code=xxxxx" rel=external target=_blank>https://example.com/login/oauth/getUserInfo?code=xxxxx<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> 消费 code,换取用户信息</li><li><a href=https://example.com/org/list rel=external target=_blank>https://example.com/org/list<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://example.com/user/list rel=external target=_blank>https://example.com/user/list<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></ol><h3 id=获取-sso-登录重定向地址>获取 SSO 登录重定向地址 <a href=#%e8%8e%b7%e5%8f%96-sso-%e7%99%bb%e5%bd%95%e9%87%8d%e5%ae%9a%e5%90%91%e5%9c%b0%e5%9d%80 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>返回一个重定向登录地址,fastgpt 会自动重定向到该地址。redirect_uri 会自动拼接到该地址的 query中。</p><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=fceabdTab data-bs-toggle=tab data-bs-target=#fceabd type=button role=tab aria-controls=fceabd aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=fbecdaTab data-bs-toggle=tab data-bs-target=#fbecda type=button role=tab aria-controls=fbecda aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=fceabd role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=3970eeb class=language-bash>
|
||||
</pre></div><h2 id=标准接口文档>标准接口文档 <a href=#%e6%a0%87%e5%87%86%e6%8e%a5%e5%8f%a3%e6%96%87%e6%a1%a3 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h2><p>以下是 FastGPT-pro 中,SSO 和成员同步的标准接口文档,如果需要对接非标准系统,可以参考该章节进行开发。</p><p><img src=https://cdn.jsdelivr.net/gh/yangchuansheng/fastgpt-imgs@main/imgs/sso18.png alt loading=lazy class=medium-zoom-image></p><p>FastGPT 提供如下标准接口支持:</p><ol><li><a href=https://example.com/login/oauth/getAuthURL rel=external target=_blank>https://example.com/login/oauth/getAuthURL<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://example.com/login/oauth/getUserInfo?code=xxxxx" rel=external target=_blank>https://example.com/login/oauth/getUserInfo?code=xxxxx<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> 消费 code,换取用户信息</li><li><a href=https://example.com/org/list rel=external target=_blank>https://example.com/org/list<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://example.com/user/list rel=external target=_blank>https://example.com/user/list<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></ol><h3 id=获取-sso-登录重定向地址>获取 SSO 登录重定向地址 <a href=#%e8%8e%b7%e5%8f%96-sso-%e7%99%bb%e5%bd%95%e9%87%8d%e5%ae%9a%e5%90%91%e5%9c%b0%e5%9d%80 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>返回一个重定向登录地址,fastgpt 会自动重定向到该地址。redirect_uri 会自动拼接到该地址的 query中。</p><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=ecbfdaTab data-bs-toggle=tab data-bs-target=#ecbfda type=button role=tab aria-controls=ecbfda aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=fbcedaTab data-bs-toggle=tab data-bs-target=#fbceda type=button role=tab aria-controls=fbceda aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=ecbfda role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=3970eeb class=language-bash>
|
||||
<code>curl -X GET "https://redict.example/login/oauth/getAuthURL?redirect_uri=xxx&state=xxxx" \
|
||||
-H "Authorization: Bearer your_token_here" \
|
||||
-H "Content-Type: application/json"</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=fbecda role=tabpanel aria-labelledby=nav-1><p>成功:</p><div class=prism-codeblock><pre id=8296736 class=language-JSON>
|
||||
</pre></div></div><div class="tab-pane fade" id=fbceda role=tabpanel aria-labelledby=nav-1><p>成功:</p><div class=prism-codeblock><pre id=8296736 class=language-JSON>
|
||||
<code>{
|
||||
"success": true,
|
||||
"message": "",
|
||||
@ -177,12 +177,12 @@ Table of Contents</button><nav id=toc-mobile><ul class=dropdown-menu><li><ul><li
|
||||
"message": "错误信息",
|
||||
"authURL": ""
|
||||
}</code>
|
||||
</pre></div></div></div><h3 id=sso-获取用户信息>SSO 获取用户信息 <a href=#sso-%e8%8e%b7%e5%8f%96%e7%94%a8%e6%88%b7%e4%bf%a1%e6%81%af class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>该接口接受一个 code 参数作为鉴权,消费 code 返回用户信息。</p><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=dfcabeTab data-bs-toggle=tab data-bs-target=#dfcabe type=button role=tab aria-controls=dfcabe aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=cbdefaTab data-bs-toggle=tab data-bs-target=#cbdefa type=button role=tab aria-controls=cbdefa aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=dfcabe role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=532f1a3 class=language-bash>
|
||||
</pre></div></div></div><h3 id=sso-获取用户信息>SSO 获取用户信息 <a href=#sso-%e8%8e%b7%e5%8f%96%e7%94%a8%e6%88%b7%e4%bf%a1%e6%81%af class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><p>该接口接受一个 code 参数作为鉴权,消费 code 返回用户信息。</p><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=bdaefcTab data-bs-toggle=tab data-bs-target=#bdaefc type=button role=tab aria-controls=bdaefc aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=becdafTab data-bs-toggle=tab data-bs-target=#becdaf type=button role=tab aria-controls=becdaf aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=bdaefc role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=532f1a3 class=language-bash>
|
||||
<code>curl -X GET "https://oauth.example/login/oauth/getUserInfo?code=xxxxxx" \
|
||||
-H "Authorization: Bearer your_token_here" \
|
||||
-H "Content-Type: application/json"</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=cbdefa role=tabpanel aria-labelledby=nav-1><p>成功:</p><div class=prism-codeblock><pre id=71afe34 class=language-JSON>
|
||||
</pre></div></div><div class="tab-pane fade" id=becdaf role=tabpanel aria-labelledby=nav-1><p>成功:</p><div class=prism-codeblock><pre id=71afe34 class=language-JSON>
|
||||
<code>{
|
||||
"success": true,
|
||||
"message": "",
|
||||
@ -199,12 +199,12 @@ Table of Contents</button><nav id=toc-mobile><ul class=dropdown-menu><li><ul><li
|
||||
"avatar": "",
|
||||
"contact": ""
|
||||
}</code>
|
||||
</pre></div></div></div><h3 id=获取组织>获取组织 <a href=#%e8%8e%b7%e5%8f%96%e7%bb%84%e7%bb%87 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=dacbefTab data-bs-toggle=tab data-bs-target=#dacbef type=button role=tab aria-controls=dacbef aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=ecdabfTab data-bs-toggle=tab data-bs-target=#ecdabf type=button role=tab aria-controls=ecdabf aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=dacbef role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=d289d9a class=language-bash>
|
||||
</pre></div></div></div><h3 id=获取组织>获取组织 <a href=#%e8%8e%b7%e5%8f%96%e7%bb%84%e7%bb%87 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=fecadbTab data-bs-toggle=tab data-bs-target=#fecadb type=button role=tab aria-controls=fecadb aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=ecdbafTab data-bs-toggle=tab data-bs-target=#ecdbaf type=button role=tab aria-controls=ecdbaf aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=fecadb role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=d289d9a class=language-bash>
|
||||
<code>curl -X GET "https://example.com/org/list" \
|
||||
-H "Authorization: Bearer your_token_here" \
|
||||
-H "Content-Type: application/json"</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=ecdabf role=tabpanel aria-labelledby=nav-1><p>⚠️注意:只能存在一个根部门。如果你的系统中存在多个根部门,需要先进行处理,加一个虚拟的根部门。返回值类型:</p><div class=prism-codeblock><pre id=5634349 class=language-ts>
|
||||
</pre></div></div><div class="tab-pane fade" id=ecdbaf role=tabpanel aria-labelledby=nav-1><p>⚠️注意:只能存在一个根部门。如果你的系统中存在多个根部门,需要先进行处理,加一个虚拟的根部门。返回值类型:</p><div class=prism-codeblock><pre id=5634349 class=language-ts>
|
||||
<code>type OrgListResponseType = {
|
||||
message?: string; // 报错信息
|
||||
success: boolean;
|
||||
@ -231,12 +231,12 @@ Table of Contents</button><nav id=toc-mobile><ul class=dropdown-menu><li><ul><li
|
||||
}
|
||||
]
|
||||
}</code>
|
||||
</pre></div></div></div><h3 id=获取成员>获取成员 <a href=#%e8%8e%b7%e5%8f%96%e6%88%90%e5%91%98 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=adfecbTab data-bs-toggle=tab data-bs-target=#adfecb type=button role=tab aria-controls=adfecb aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=eadcfbTab data-bs-toggle=tab data-bs-target=#eadcfb type=button role=tab aria-controls=eadcfb aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=adfecb role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=bc9e9ec class=language-bash>
|
||||
</pre></div></div></div><h3 id=获取成员>获取成员 <a href=#%e8%8e%b7%e5%8f%96%e6%88%90%e5%91%98 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=cbfdeaTab data-bs-toggle=tab data-bs-target=#cbfdea type=button role=tab aria-controls=cbfdea aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=eacfbdTab data-bs-toggle=tab data-bs-target=#eacfbd type=button role=tab aria-controls=eacfbd aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=cbfdea role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=bc9e9ec class=language-bash>
|
||||
<code>curl -X GET "https://example.com/user/list" \
|
||||
-H "Authorization: Bearer your_token_here" \
|
||||
-H "Content-Type: application/json"</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=eadcfb role=tabpanel aria-labelledby=nav-1><p>返回值类型:</p><div class=prism-codeblock><pre id=3f6bc41 class=language-typescript>
|
||||
</pre></div></div><div class="tab-pane fade" id=eacfbd role=tabpanel aria-labelledby=nav-1><p>返回值类型:</p><div class=prism-codeblock><pre id=3f6bc41 class=language-typescript>
|
||||
<code>type UserListResponseListType = {
|
||||
message?: string; // 报错信息
|
||||
success: boolean;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -50,8 +50,8 @@ type FileListItem = {
|
||||
updateTime: Date;
|
||||
createTime: Date;
|
||||
}</code>
|
||||
</pre></div><h3 id=1-获取文件树>1. 获取文件树 <a href=#1-%e8%8e%b7%e5%8f%96%e6%96%87%e4%bb%b6%e6%a0%91 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=dbcfaeTab data-bs-toggle=tab data-bs-target=#dbcfae type=button role=tab aria-controls=dbcfae aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=dfaecbTab data-bs-toggle=tab data-bs-target=#dfaecb type=button role=tab aria-controls=dfaecb aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=dbcfae role=tabpanel aria-labelledby=nav-1><div class="alert alert-success d-flex" role=alert><div class="flex-shrink-1 alert-icon"></div><div class=w-100><ul><li>parentId - 父级 id,可选,或者 null。</li><li>searchKey - 检索词,可选</li></ul></div></div><div class=prism-codeblock><pre id=04b20e5 class=language-bash>
|
||||
</pre></div><h3 id=1-获取文件树>1. 获取文件树 <a href=#1-%e8%8e%b7%e5%8f%96%e6%96%87%e4%bb%b6%e6%a0%91 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=cdbfaeTab data-bs-toggle=tab data-bs-target=#cdbfae type=button role=tab aria-controls=cdbfae aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=afcedbTab data-bs-toggle=tab data-bs-target=#afcedb type=button role=tab aria-controls=afcedb aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=cdbfae role=tabpanel aria-labelledby=nav-1><div class="alert alert-success d-flex" role=alert><div class="flex-shrink-1 alert-icon"></div><div class=w-100><ul><li>parentId - 父级 id,可选,或者 null。</li><li>searchKey - 检索词,可选</li></ul></div></div><div class=prism-codeblock><pre id=04b20e5 class=language-bash>
|
||||
<code>curl --location --request POST '{{baseURL}}/v1/file/list' \
|
||||
--header 'Authorization: Bearer {{authorization}}' \
|
||||
--header 'Content-Type: application/json' \
|
||||
@ -59,7 +59,7 @@ type FileListItem = {
|
||||
"parentId": null,
|
||||
"searchKey": ""
|
||||
}'</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=dfaecb role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=ee58785 class=language-json>
|
||||
</pre></div></div><div class="tab-pane fade" id=afcedb role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=ee58785 class=language-json>
|
||||
<code>{
|
||||
"code": 200,
|
||||
"success": true,
|
||||
@ -75,12 +75,12 @@ type FileListItem = {
|
||||
}
|
||||
]
|
||||
}</code>
|
||||
</pre></div></div></div><h3 id=2-获取单个文件内容文本内容或访问链接>2. 获取单个文件内容(文本内容或访问链接) <a href=#2-%e8%8e%b7%e5%8f%96%e5%8d%95%e4%b8%aa%e6%96%87%e4%bb%b6%e5%86%85%e5%ae%b9%e6%96%87%e6%9c%ac%e5%86%85%e5%ae%b9%e6%88%96%e8%ae%bf%e9%97%ae%e9%93%be%e6%8e%a5 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=efcdbaTab data-bs-toggle=tab data-bs-target=#efcdba type=button role=tab aria-controls=efcdba aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=cbfedaTab data-bs-toggle=tab data-bs-target=#cbfeda type=button role=tab aria-controls=cbfeda aria-selected=true>响应示例</a>
|
||||
<a class=nav-link id=Tab data-bs-toggle=tab data-bs-target=# type=button role=tab aria-controls aria-selected=true></a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=efcdba role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=1de88d3 class=language-bash>
|
||||
</pre></div></div></div><h3 id=2-获取单个文件内容文本内容或访问链接>2. 获取单个文件内容(文本内容或访问链接) <a href=#2-%e8%8e%b7%e5%8f%96%e5%8d%95%e4%b8%aa%e6%96%87%e4%bb%b6%e5%86%85%e5%ae%b9%e6%96%87%e6%9c%ac%e5%86%85%e5%ae%b9%e6%88%96%e8%ae%bf%e9%97%ae%e9%93%be%e6%8e%a5 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=decfabTab data-bs-toggle=tab data-bs-target=#decfab type=button role=tab aria-controls=decfab aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=bdacfeTab data-bs-toggle=tab data-bs-target=#bdacfe type=button role=tab aria-controls=bdacfe aria-selected=true>响应示例</a>
|
||||
<a class=nav-link id=Tab data-bs-toggle=tab data-bs-target=# type=button role=tab aria-controls aria-selected=true></a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=decfab role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=1de88d3 class=language-bash>
|
||||
<code>curl --location --request GET '{{baseURL}}/v1/file/content?id=xx' \
|
||||
--header 'Authorization: Bearer {{authorization}}'</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=cbfeda role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=bcbc70a class=language-json>
|
||||
</pre></div></div><div class="tab-pane fade" id=bdacfe role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=bcbc70a class=language-json>
|
||||
<code>{
|
||||
"code": 200,
|
||||
"success": true,
|
||||
@ -91,11 +91,11 @@ type FileListItem = {
|
||||
"previewUrl": "xxxx"
|
||||
}
|
||||
}</code>
|
||||
</pre></div><div class="alert alert-success d-flex" role=alert><div class="flex-shrink-1 alert-icon"></div><div class=w-100><ul><li>title - 文件标题。</li><li>content - 文件内容,直接拿来用。</li><li>previewUrl - 文件链接,系统会请求该地址获取文件内容。</li></ul><p><code>content</code>和<code>previewUrl</code>二选一返回,如果同时返回则 <code>content</code> 优先级更高,返回 <code>previewUrl</code>时,则会访问该链接进行文档内容读取。</p></div></div></div></div><h3 id=3-获取文件阅读链接用于查看原文>3. 获取文件阅读链接(用于查看原文) <a href=#3-%e8%8e%b7%e5%8f%96%e6%96%87%e4%bb%b6%e9%98%85%e8%af%bb%e9%93%be%e6%8e%a5%e7%94%a8%e4%ba%8e%e6%9f%a5%e7%9c%8b%e5%8e%9f%e6%96%87 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=dbfcaeTab data-bs-toggle=tab data-bs-target=#dbfcae type=button role=tab aria-controls=dbfcae aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=ebdcfaTab data-bs-toggle=tab data-bs-target=#ebdcfa type=button role=tab aria-controls=ebdcfa aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=dbfcae role=tabpanel aria-labelledby=nav-1><p>id 为文件的 id。</p><div class=prism-codeblock><pre id=3291e95 class=language-bash>
|
||||
</pre></div><div class="alert alert-success d-flex" role=alert><div class="flex-shrink-1 alert-icon"></div><div class=w-100><ul><li>title - 文件标题。</li><li>content - 文件内容,直接拿来用。</li><li>previewUrl - 文件链接,系统会请求该地址获取文件内容。</li></ul><p><code>content</code>和<code>previewUrl</code>二选一返回,如果同时返回则 <code>content</code> 优先级更高,返回 <code>previewUrl</code>时,则会访问该链接进行文档内容读取。</p></div></div></div></div><h3 id=3-获取文件阅读链接用于查看原文>3. 获取文件阅读链接(用于查看原文) <a href=#3-%e8%8e%b7%e5%8f%96%e6%96%87%e4%bb%b6%e9%98%85%e8%af%bb%e9%93%be%e6%8e%a5%e7%94%a8%e4%ba%8e%e6%9f%a5%e7%9c%8b%e5%8e%9f%e6%96%87 class=anchor aria-hidden=true><i class="material-icons align-middle">link</i></a></h3><nav><div class="nav nav-tabs" id=nav-tab role=tablist><a class="nav-link active" id=dbaefcTab data-bs-toggle=tab data-bs-target=#dbaefc type=button role=tab aria-controls=dbaefc aria-selected=true>请求示例</a>
|
||||
<a class=nav-link id=cefadbTab data-bs-toggle=tab data-bs-target=#cefadb type=button role=tab aria-controls=cefadb aria-selected=true>响应示例</a></div></nav><div class=tab-content id=nav-tab-content><div class="tab-pane fade show active" id=dbaefc role=tabpanel aria-labelledby=nav-1><p>id 为文件的 id。</p><div class=prism-codeblock><pre id=3291e95 class=language-bash>
|
||||
<code>curl --location --request GET '{{baseURL}}/v1/file/read?id=xx' \
|
||||
--header 'Authorization: Bearer {{authorization}}'</code>
|
||||
</pre></div></div><div class="tab-pane fade" id=ebdcfa role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=9102b7d class=language-json>
|
||||
</pre></div></div><div class="tab-pane fade" id=cefadb role=tabpanel aria-labelledby=nav-1><div class=prism-codeblock><pre id=9102b7d class=language-json>
|
||||
<code>{
|
||||
"code": 200,
|
||||
"success": true,
|
||||
|
||||
@ -587,7 +587,7 @@ mkdir -p /fastgpt/data/backup 准备好后,后续上传
|
||||
### 新fastgpt环境【B】中也需要建一个,比如/fastgpt/mongobackup目录,注意不要在fastgpt/data目录下建立目录 mkdir -p /fastgpt/mongobackup
|
||||
###2. 正题开始,从fastgpt老环境【A】中导出数据 进入A环境,使用mongodump 导出mongo数据库。 #### 2.</description></item><item><title>Docker 数据库迁移(无脑操作)</title><link>https://doc.tryfastgpt.ai/docs/development/migration/docker_db/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/migration/docker_db/</guid><description>1. 停止服务 link docker-compose down 2. Copy文件夹 linkDocker 部署数据库都会通过 volume 挂载本地的目录进入容器,如果要迁移,直接复制这些目录即可。
|
||||
PG 数据: pg/data Mongo 数据: mongo/data
|
||||
直接把pg 和 mongo目录全部复制走即可。</description></item><item><title>V4.9.7(进行中)</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/497/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/497/</guid><description>🚀 新增内容 link⚙️ 优化 link Doc2x 文档解析,增加报错信息捕获,增加超时时长。 调整 PG vector 查询语句,强制使用向量索引。 🐛 修复 link 文件上传分块大小限制,避免超出 MongoDB 限制。</description></item><item><title>V4.9.6</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/496/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/496/</guid><description>🚀 新增内容 link 以 MCP 方式对外提供应用调用。 支持以 MCP SSE 协议创建工具。 批量执行节点支持交互节点,可实现每一轮循环都人工参与。 增加工作台二级菜单,合并工具箱。 增加 grok3、GPT4.1、o系列、Gemini2.5 模型系统配置。 ⚙️ 优化 link 工作流数据类型转化鲁棒性和兼容性增强。 Python sandbox 代码,支持大数据输入。 路径组件支持配置最后一步是否可点击。 知识库工具调用结果,自动补充图片域名。 Github action runner 升级成 unbuntu24 去除飞书、公众号等三方渠道,回复时,可能前后多一个换行的问题。 调整分块策略,大表格时,不进行超大块合并,而是独立拆块。 Iframe 嵌套组件,内置允许麦克风声明。 🐛 修复 link 修复子工作流包含交互节点时,未成功恢复子工作流所有数据。 completion v1 接口,未接受 interactive 参数,导致 API 调用失败。 连续工具调用,上下文截断异常 升级指南 link1. 做好数据备份 link2. 部署 MCP server 服务 linkDocker 部署 link在docker-compose.yml文件中,加入fastgpt-mcp-server服务:
|
||||
直接把pg 和 mongo目录全部复制走即可。</description></item><item><title>V4.9.7(进行中)</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/497/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/497/</guid><description>🚀 新增内容 link⚙️ 优化 link Doc2x 文档解析,增加报错信息捕获,增加超时时长。 调整 PG vector 查询语句,强制使用向量索引。 🐛 修复 link 文件上传分块大小限制,避免超出 MongoDB 限制。 使用记录仪表盘,无法获取指定成员的使用统计。 仪表盘接口,因未考虑时区问题,统计异常。 LLM 模型测试接口,无法测试未启用的 LLM。</description></item><item><title>V4.9.6</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/496/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/496/</guid><description>🚀 新增内容 link 以 MCP 方式对外提供应用调用。 支持以 MCP SSE 协议创建工具。 批量执行节点支持交互节点,可实现每一轮循环都人工参与。 增加工作台二级菜单,合并工具箱。 增加 grok3、GPT4.1、o系列、Gemini2.5 模型系统配置。 ⚙️ 优化 link 工作流数据类型转化鲁棒性和兼容性增强。 Python sandbox 代码,支持大数据输入。 路径组件支持配置最后一步是否可点击。 知识库工具调用结果,自动补充图片域名。 Github action runner 升级成 unbuntu24 去除飞书、公众号等三方渠道,回复时,可能前后多一个换行的问题。 调整分块策略,大表格时,不进行超大块合并,而是独立拆块。 Iframe 嵌套组件,内置允许麦克风声明。 🐛 修复 link 修复子工作流包含交互节点时,未成功恢复子工作流所有数据。 completion v1 接口,未接受 interactive 参数,导致 API 调用失败。 连续工具调用,上下文截断异常 升级指南 link1. 做好数据备份 link2. 部署 MCP server 服务 linkDocker 部署 link在docker-compose.yml文件中,加入fastgpt-mcp-server服务:
|
||||
fastgpt-mcp-server: container_name: fastgpt-mcp-server image: ghcr.io/labring/fastgpt-mcp_server:v4.9.6 ports: - 3005:3000 networks: - fastgpt restart: always environment: - FASTGPT_ENDPOINT=http://fastgpt:3000 Sealos 部署 link直接在应用管理中,增加一个fastgpt-mcp-server应用,镜像为ghcr.</description></item><item><title>V4.9.5</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/495/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/495/</guid><description>升级指南 link1. 做好数据备份 link2. 更新镜像 tag link 更新 FastGPT 镜像 tag: v4.9.5 更新 FastGPT 商业版镜像 tag: v4.9.5 Sandbox 无需更新 AIProxy 无需更新 🚀 新增内容 link 团队成员权限细分,可分别控制是否可创建在根目录应用/知识库以及 API Key 支持交互节点在嵌套工作流中使用。 团队成员操作日志。 用户输入节点支持多选框。 ⚙️ 优化 link 繁体中文翻译。 Arm 镜像打包 🐛 修复 link password 检测规则错误。 分享链接无法隐藏知识库检索结果。 IOS 低版本正则兼容问题。 修复问答提取队列错误后,计数器未清零问题,导致问答提取队列失效。 Debug 模式交互节点下一步可能造成死循环。</description></item><item><title>V4.9.4</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/494/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/494/</guid><description>升级指南 link1. 做好数据备份 link2. 安装 Redis link docker 部署的用户,参考最新的 docker-compose.yml 文件增加 Redis 配置。增加一个 redis 容器,并配置fastgpt,fastgpt-pro的环境变量,增加 REDIS_URL 环境变量。 Sealos 部署的用户,在数据库里新建一个redis数据库,并复制内网地址的 connection 作为 redis 的链接串。然后配置fastgpt,fastgpt-pro的环境变量,增加 REDIS_URL 环境变量。 3. 更新镜像 tag link 更新 FastGPT 镜像 tag: v4.9.4 更新 FastGPT 商业版镜像 tag: v4.9.4 Sandbox 无需更新 AIProxy 无需更新 4. 执行升级脚本 link该脚本仅需商业版用户执行。
|
||||
从任意终端,发起 1 个 HTTP 请求。其中 {{rootkey}} 替换成环境变量里的 rootkey;{{host}} 替换成FastGPT 域名。
|
||||
curl --location --request POST &#39;https://{{host}}/api/admin/initv494&#39; \ --header &#39;rootkey: {{rootkey}}&#39; \ --header &#39;Content-Type: application/json&#39; 脚本功能</description></item><item><title>V4.9.3</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/493/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/493/</guid><description>更新指南 link1. 做好数据库备份 link2. 更新镜像 link 更新 FastGPT 镜像 tag: v4.9.3 更新 FastGPT 商业版镜像 tag: v4.9.3 Sandbox 镜像tag: v4.9.3 AIProxy 镜像tag: v0.1.5 🚀 新增内容 link 工作流 debug 模式支持交互节点。 代码运行支持 Python3 代码。 🐛 修复 link 工作流格式转化异常。</description></item><item><title>V4.9.2</title><link>https://doc.tryfastgpt.ai/docs/development/upgrading/492/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://doc.tryfastgpt.ai/docs/development/upgrading/492/</guid><description>更新指南 link可直接升级v4.9.3,v4.9.2存在一个工作流数据类型转化错误。
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user